fulldata
This commit is contained in:
@@ -1594,6 +1594,7 @@ class AIQueryInterface {
|
||||
const exportData = {
|
||||
metadata: {
|
||||
timestamp: new Date().toISOString(),
|
||||
version: '2.0',
|
||||
toolsDataHash: toolsDataHash,
|
||||
aiModel: aiModel,
|
||||
aiParameters: aiParameters,
|
||||
@@ -1607,8 +1608,7 @@ class AIQueryInterface {
|
||||
auditTrail: undefined
|
||||
},
|
||||
auditTrail: this.currentRecommendation.auditTrail || [],
|
||||
rawContext: rawContext,
|
||||
checksum: this.calculateDataChecksum(this.currentRecommendation)
|
||||
rawContext: rawContext
|
||||
};
|
||||
|
||||
const blob = new Blob([JSON.stringify(exportData, null, 2)], {
|
||||
@@ -1622,42 +1622,16 @@ class AIQueryInterface {
|
||||
a.click();
|
||||
URL.revokeObjectURL(url);
|
||||
|
||||
console.log('[AI Interface] Analysis downloaded with enhanced structure:', {
|
||||
version: '1.1',
|
||||
console.log('[AI Interface] Analysis downloaded with verified hash structure:', {
|
||||
version: '2.0',
|
||||
aiModel,
|
||||
toolsDataHash: toolsDataHash.slice(0, 8) + '...',
|
||||
toolsDataHash: toolsDataHash.slice(0, 12) + '...',
|
||||
tokensUsed: aiParameters.totalTokensUsed,
|
||||
auditEntries: exportData.auditTrail.length,
|
||||
checksum: exportData.checksum.slice(0, 8) + '...'
|
||||
hashVerifiable: toolsDataHash !== 'unknown'
|
||||
});
|
||||
}
|
||||
|
||||
calculateDataChecksum(data) {
|
||||
if (!data) return 'empty';
|
||||
|
||||
try {
|
||||
const keyData = {
|
||||
recommendedToolsCount: data.recommended_tools?.length || 0,
|
||||
backgroundKnowledgeCount: data.background_knowledge?.length || 0,
|
||||
hasScenarioAnalysis: !!(data.scenario_analysis || data.problem_analysis),
|
||||
hasApproach: !!data.investigation_approach,
|
||||
processingTimeMs: data.processingStats?.processingTimeMs || 0
|
||||
};
|
||||
|
||||
const dataString = JSON.stringify(keyData);
|
||||
let hash = 0;
|
||||
for (let i = 0; i < dataString.length; i++) {
|
||||
const char = dataString.charCodeAt(i);
|
||||
hash = ((hash << 5) - hash) + char;
|
||||
hash = hash & hash;
|
||||
}
|
||||
return Math.abs(hash).toString(36);
|
||||
} catch (error) {
|
||||
console.error('[AI Interface] Checksum calculation failed:', error);
|
||||
return 'error';
|
||||
}
|
||||
}
|
||||
|
||||
validateUploadStructure(data) {
|
||||
try {
|
||||
const isValid = !!(
|
||||
|
||||
Reference in New Issue
Block a user