erosolar-cli 1.7.20 → 1.7.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -31,6 +31,14 @@ export interface VerifiableClaim {
31
31
  name?: string;
32
32
  url?: string;
33
33
  content?: string;
34
+ key?: string;
35
+ value?: unknown;
36
+ status?: number;
37
+ body?: string;
38
+ input?: string;
39
+ output?: string;
40
+ checkCommand?: string;
41
+ mode?: string;
34
42
  [key: string]: unknown;
35
43
  };
36
44
  }
@@ -87,4 +95,73 @@ export declare function formatVerificationReport(report: VerificationReport): st
87
95
  * Quick verification - returns true if response claims are valid
88
96
  */
89
97
  export declare function quickVerify(response: string): Promise<boolean>;
98
+ /**
99
+ * Verification strategy types
100
+ */
101
+ export type VerificationStrategy = 'runtime' | 'filesystem' | 'network' | 'llm' | 'semantic' | 'comparison' | 'manual';
102
+ /**
103
+ * Extended verification context for complex claims
104
+ */
105
+ export interface VerificationContext {
106
+ workingDirectory: string;
107
+ previousState?: Record<string, unknown>;
108
+ currentState?: Record<string, unknown>;
109
+ conversationHistory?: string[];
110
+ llmVerifier?: (prompt: string) => Promise<string>;
111
+ }
112
+ /**
113
+ * Verify a claim using LLM when runtime verification isn't possible
114
+ */
115
+ export declare function verifyClaimWithLLM(claim: VerifiableClaim, context: VerificationContext): Promise<ClaimVerificationResult>;
116
+ /**
117
+ * Generate verification test for extended claim types
118
+ */
119
+ export declare function generateExtendedVerificationTest(claim: VerifiableClaim, context: VerificationContext): () => Promise<ClaimVerificationResult>;
120
+ /**
121
+ * Comprehensive verification using both runtime and LLM-based strategies
122
+ */
123
+ export declare function verifyResponseComprehensive(response: string, context: VerificationContext, responseId?: string): Promise<VerificationReport>;
124
+ /**
125
+ * Determine the best verification strategy for a claim
126
+ */
127
+ export declare function getVerificationStrategy(claim: VerifiableClaim): VerificationStrategy;
128
+ /**
129
+ * LLM-generated verification test interface
130
+ */
131
+ export interface GeneratedVerificationTest {
132
+ claim: VerifiableClaim;
133
+ testType: 'shell' | 'javascript' | 'api';
134
+ code: string;
135
+ description: string;
136
+ expectedOutcome: string;
137
+ safetyCheck: boolean;
138
+ }
139
+ /**
140
+ * Generate verification code using LLM
141
+ */
142
+ export declare function generateVerificationCode(claim: VerifiableClaim, context: VerificationContext): Promise<GeneratedVerificationTest | null>;
143
+ /**
144
+ * Validate that generated code is safe to execute
145
+ */
146
+ export declare function validateGeneratedCode(test: GeneratedVerificationTest): {
147
+ safe: boolean;
148
+ reason: string;
149
+ };
150
+ /**
151
+ * Execute a generated verification test
152
+ */
153
+ export declare function executeGeneratedTest(test: GeneratedVerificationTest, context: VerificationContext): Promise<ClaimVerificationResult>;
154
+ /**
155
+ * Verify a claim using LLM-generated runtime test
156
+ */
157
+ export declare function verifyWithGeneratedTest(claim: VerifiableClaim, context: VerificationContext): Promise<ClaimVerificationResult>;
158
+ /**
159
+ * Full verification using LLM-generated tests
160
+ * This is the most powerful verification method - LLM decides HOW to verify each claim
161
+ */
162
+ export declare function verifyResponseWithGeneratedTests(response: string, context: VerificationContext, responseId?: string): Promise<VerificationReport>;
163
+ /**
164
+ * Hybrid verification - uses generated tests when available, falls back to predefined tests
165
+ */
166
+ export declare function verifyResponseHybrid(response: string, context: VerificationContext, responseId?: string): Promise<VerificationReport>;
90
167
  //# sourceMappingURL=responseVerifier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"responseVerifier.d.ts","sourceRoot":"","sources":["../../src/core/responseVerifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB,cAAc,GACd,eAAe,GACf,cAAc,GACd,kBAAkB,GAClB,eAAe,GACf,YAAY,GACZ,kBAAkB,GAClB,sBAAsB,GACtB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GAEnB,cAAc,GACd,kBAAkB,GAClB,gBAAgB,GAChB,aAAa,GACb,oBAAoB,GACpB,kBAAkB,GAClB,aAAa,GACb,qBAAqB,GACrB,mBAAmB,GACnB,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,cAAc,EAAE,UAAU,GAAG,oBAAoB,GAAG,YAAY,GAAG,cAAc,CAAC;CACnF;AAgDD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAC5C,OAAO,CAAC,eAAe,EAAE,CAAC,CAgC5B;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,CA8TjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAsWvG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAiD7B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAuC3E;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpE"}
1
+ {"version":3,"file":"responseVerifier.d.ts","sourceRoot":"","sources":["../../src/core/responseVerifier.ts"],"names":[],"mappings":"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"}
@@ -18,40 +18,74 @@ const execAsync = promisify(exec);
18
18
  * LLM-based claim extraction prompt.
19
19
  * Used when pattern matching isn't sufficient.
20
20
  */
21
- const CLAIM_EXTRACTION_PROMPT = `Analyze this assistant response and extract all verifiable claims.
21
+ const CLAIM_EXTRACTION_PROMPT = `Analyze this assistant response and extract ALL verifiable claims - anything the assistant claims to have done or accomplished.
22
22
 
23
23
  For each claim, identify:
24
24
  1. Type: One of these claim types:
25
+
26
+ FILE OPERATIONS:
25
27
  - file_created: A new file was created
26
28
  - file_modified: An existing file was changed
27
29
  - file_deleted: A file was removed
30
+ - content_contains: A file contains specific content
31
+
32
+ BUILD/TEST:
28
33
  - code_compiles: Code builds/compiles without errors
29
34
  - tests_pass: Tests run successfully
35
+
36
+ VERSION CONTROL:
30
37
  - git_committed: Changes were committed to git
31
38
  - package_published: Package was published to npm
39
+
40
+ SYSTEM:
32
41
  - command_executed: A shell command was run
33
42
  - dependency_installed: A package/dependency was installed
34
43
  - service_running: A service/server is running (on a port)
35
44
  - url_accessible: A URL is accessible/working
36
- - content_contains: A file contains specific content
45
+ - env_var_set: Environment variable was set
46
+
47
+ CONFIGURATION:
48
+ - config_changed: Configuration file was updated
49
+ - permission_granted: File permissions were changed
50
+
51
+ API/DATA:
52
+ - api_response: API returned expected response
53
+ - database_updated: Database record was modified
54
+ - data_transformed: Data was transformed correctly
55
+
56
+ SEMANTIC (require deeper analysis):
57
+ - error_fixed: An error/bug was fixed
58
+ - feature_implemented: A feature was implemented
59
+ - refactor_complete: Code was refactored
60
+
61
+ CATCH-ALL:
62
+ - generic: Any other verifiable claim not covered above
37
63
 
38
64
  2. The specific details needed to verify the claim
39
65
 
40
66
  Return a JSON array of claims. Each claim should have:
41
67
  - type: one of the types above
42
- - description: human readable description
68
+ - description: human readable description of what was claimed
43
69
  - params: Object with relevant fields:
44
- - path: file path (for file operations, content_contains)
70
+ - path: file path (for file operations)
45
71
  - command: shell command (for command_executed)
46
72
  - version: version number (for package_published)
47
73
  - hash: git commit hash (for git_committed)
48
74
  - package: package name (for dependency_installed)
49
75
  - port: port number (for service_running)
50
- - name: process/service name (for service_running)
51
- - url: URL (for url_accessible)
76
+ - name: process/service name (for service_running, env_var_set)
77
+ - url: URL (for url_accessible, api_response)
52
78
  - content: text to search for (for content_contains)
79
+ - key: config key path like "server.port" (for config_changed)
80
+ - value: expected value (for config_changed, env_var_set)
81
+ - status: HTTP status code (for api_response)
82
+ - body: expected response body (for api_response)
83
+ - mode: file permission mode like "755" (for permission_granted)
84
+ - checkCommand: command that can verify the claim (for database_updated)
85
+
86
+ IMPORTANT: Extract ALL claims, including semantic ones like "I fixed the bug" or "The feature is now working". Use the 'generic' type for claims that don't fit other categories.
53
87
 
54
- Only include claims that can be objectively verified. Skip opinions, explanations, or future plans.
88
+ Only skip opinions ("I think..."), explanations of what code does, or future plans ("will do", "should work").
55
89
 
56
90
  Response to analyze:
57
91
  ---
@@ -826,4 +860,958 @@ export async function quickVerify(response) {
826
860
  const report = await verifyResponse(response);
827
861
  return report.overallVerdict === 'verified' || report.overallVerdict === 'partially_verified';
828
862
  }
863
+ /**
864
+ * LLM-based verification prompt for claims that can't be programmatically verified
865
+ */
866
+ const LLM_VERIFICATION_PROMPT = `You are a verification assistant. Analyze whether the following claim is likely TRUE or FALSE based on the evidence provided.
867
+
868
+ CLAIM: {CLAIM}
869
+
870
+ EVIDENCE/CONTEXT:
871
+ {CONTEXT}
872
+
873
+ Respond with a JSON object:
874
+ {
875
+ "verdict": "verified" | "unverified" | "inconclusive",
876
+ "confidence": "high" | "medium" | "low",
877
+ "reasoning": "Brief explanation of your analysis",
878
+ "suggested_test": "Optional: A command or check that could verify this claim"
879
+ }
880
+
881
+ Be conservative - only mark as "verified" if there's strong evidence. Mark as "inconclusive" if you can't determine the truth.`;
882
+ /**
883
+ * Verify a claim using LLM when runtime verification isn't possible
884
+ */
885
+ export async function verifyClaimWithLLM(claim, context) {
886
+ const baseResult = {
887
+ claim,
888
+ timestamp: new Date().toISOString()
889
+ };
890
+ if (!context.llmVerifier) {
891
+ return {
892
+ ...baseResult,
893
+ verified: false,
894
+ confidence: 'low',
895
+ evidence: 'No LLM verifier available for semantic verification'
896
+ };
897
+ }
898
+ try {
899
+ // Build context string
900
+ const contextParts = [];
901
+ if (context.previousState) {
902
+ contextParts.push(`Previous state: ${JSON.stringify(context.previousState, null, 2)}`);
903
+ }
904
+ if (context.currentState) {
905
+ contextParts.push(`Current state: ${JSON.stringify(context.currentState, null, 2)}`);
906
+ }
907
+ if (context.conversationHistory?.length) {
908
+ contextParts.push(`Recent conversation:\n${context.conversationHistory.slice(-5).join('\n')}`);
909
+ }
910
+ contextParts.push(`Claim evidence: ${claim.evidence}`);
911
+ contextParts.push(`Claim params: ${JSON.stringify(claim.params)}`);
912
+ const prompt = LLM_VERIFICATION_PROMPT
913
+ .replace('{CLAIM}', claim.description)
914
+ .replace('{CONTEXT}', contextParts.join('\n\n'));
915
+ const result = await context.llmVerifier(prompt);
916
+ // Parse LLM response
917
+ const jsonMatch = result.match(/\{[\s\S]*\}/);
918
+ if (!jsonMatch) {
919
+ return {
920
+ ...baseResult,
921
+ verified: false,
922
+ confidence: 'low',
923
+ evidence: 'LLM verification returned invalid response'
924
+ };
925
+ }
926
+ const parsed = JSON.parse(jsonMatch[0]);
927
+ return {
928
+ ...baseResult,
929
+ verified: parsed.verdict === 'verified',
930
+ confidence: parsed.confidence || 'medium',
931
+ evidence: `LLM Analysis: ${parsed.reasoning}${parsed.suggested_test ? ` (Suggested test: ${parsed.suggested_test})` : ''}`
932
+ };
933
+ }
934
+ catch (err) {
935
+ return {
936
+ ...baseResult,
937
+ verified: false,
938
+ confidence: 'low',
939
+ evidence: 'LLM verification failed',
940
+ error: err instanceof Error ? err.message : 'Unknown error'
941
+ };
942
+ }
943
+ }
944
+ /**
945
+ * Generate verification test for extended claim types
946
+ */
947
+ export function generateExtendedVerificationTest(claim, context) {
948
+ const baseResult = {
949
+ claim,
950
+ timestamp: new Date().toISOString()
951
+ };
952
+ switch (claim.type) {
953
+ case 'api_response':
954
+ return async () => {
955
+ const url = claim.params.url;
956
+ const expectedStatus = claim.params.status;
957
+ const expectedBody = claim.params.body;
958
+ if (!url) {
959
+ return {
960
+ ...baseResult,
961
+ verified: false,
962
+ confidence: 'low',
963
+ evidence: 'No API URL provided'
964
+ };
965
+ }
966
+ try {
967
+ const { stdout } = await execAsync(`curl -s -w "\\n%{http_code}" "${url}" 2>&1`, { timeout: 15000 });
968
+ const lines = stdout.trim().split('\n');
969
+ const statusCode = parseInt(lines.pop() || '0', 10);
970
+ const body = lines.join('\n');
971
+ let verified = true;
972
+ const evidenceParts = [];
973
+ if (expectedStatus && statusCode !== expectedStatus) {
974
+ verified = false;
975
+ evidenceParts.push(`Expected status ${expectedStatus}, got ${statusCode}`);
976
+ }
977
+ else {
978
+ evidenceParts.push(`Status: ${statusCode}`);
979
+ }
980
+ if (expectedBody && !body.includes(expectedBody)) {
981
+ verified = false;
982
+ evidenceParts.push(`Expected body to contain "${expectedBody.slice(0, 50)}..."`);
983
+ }
984
+ return {
985
+ ...baseResult,
986
+ verified,
987
+ confidence: 'high',
988
+ evidence: evidenceParts.join('. ')
989
+ };
990
+ }
991
+ catch (err) {
992
+ return {
993
+ ...baseResult,
994
+ verified: false,
995
+ confidence: 'high',
996
+ evidence: 'API request failed',
997
+ error: err instanceof Error ? err.message : 'Unknown error'
998
+ };
999
+ }
1000
+ };
1001
+ case 'env_var_set':
1002
+ return async () => {
1003
+ const varName = claim.params.name;
1004
+ const expectedValue = claim.params.value;
1005
+ if (!varName) {
1006
+ return {
1007
+ ...baseResult,
1008
+ verified: false,
1009
+ confidence: 'low',
1010
+ evidence: 'No environment variable name provided'
1011
+ };
1012
+ }
1013
+ const actualValue = process.env[varName];
1014
+ if (actualValue === undefined) {
1015
+ return {
1016
+ ...baseResult,
1017
+ verified: false,
1018
+ confidence: 'high',
1019
+ evidence: `Environment variable ${varName} is not set`
1020
+ };
1021
+ }
1022
+ if (expectedValue && actualValue !== expectedValue) {
1023
+ return {
1024
+ ...baseResult,
1025
+ verified: false,
1026
+ confidence: 'high',
1027
+ evidence: `Expected ${varName}="${expectedValue}", got "${actualValue}"`
1028
+ };
1029
+ }
1030
+ return {
1031
+ ...baseResult,
1032
+ verified: true,
1033
+ confidence: 'high',
1034
+ evidence: `${varName} is set${expectedValue ? ` to expected value` : `: ${actualValue.slice(0, 50)}`}`
1035
+ };
1036
+ };
1037
+ case 'config_changed':
1038
+ return async () => {
1039
+ const configPath = claim.params.path;
1040
+ const expectedKey = claim.params.key;
1041
+ const expectedValue = claim.params.value;
1042
+ if (!configPath) {
1043
+ return {
1044
+ ...baseResult,
1045
+ verified: false,
1046
+ confidence: 'low',
1047
+ evidence: 'No config file path provided'
1048
+ };
1049
+ }
1050
+ try {
1051
+ const resolvedPath = path.isAbsolute(configPath)
1052
+ ? configPath
1053
+ : path.resolve(context.workingDirectory, configPath);
1054
+ const content = await fs.readFile(resolvedPath, 'utf-8');
1055
+ // Try to parse as JSON
1056
+ let config;
1057
+ try {
1058
+ config = JSON.parse(content);
1059
+ }
1060
+ catch {
1061
+ // Not JSON, check raw content
1062
+ if (expectedValue && content.includes(String(expectedValue))) {
1063
+ return {
1064
+ ...baseResult,
1065
+ verified: true,
1066
+ confidence: 'medium',
1067
+ evidence: `Config file contains expected value`
1068
+ };
1069
+ }
1070
+ return {
1071
+ ...baseResult,
1072
+ verified: true,
1073
+ confidence: 'low',
1074
+ evidence: 'Config file exists but format unknown'
1075
+ };
1076
+ }
1077
+ if (expectedKey) {
1078
+ const keys = expectedKey.split('.');
1079
+ let value = config;
1080
+ for (const key of keys) {
1081
+ value = value?.[key];
1082
+ }
1083
+ if (expectedValue !== undefined) {
1084
+ const matches = JSON.stringify(value) === JSON.stringify(expectedValue);
1085
+ return {
1086
+ ...baseResult,
1087
+ verified: matches,
1088
+ confidence: 'high',
1089
+ evidence: matches
1090
+ ? `${expectedKey} has expected value`
1091
+ : `${expectedKey} = ${JSON.stringify(value)}, expected ${JSON.stringify(expectedValue)}`
1092
+ };
1093
+ }
1094
+ return {
1095
+ ...baseResult,
1096
+ verified: value !== undefined,
1097
+ confidence: 'high',
1098
+ evidence: value !== undefined
1099
+ ? `${expectedKey} exists: ${JSON.stringify(value).slice(0, 100)}`
1100
+ : `${expectedKey} not found in config`
1101
+ };
1102
+ }
1103
+ return {
1104
+ ...baseResult,
1105
+ verified: true,
1106
+ confidence: 'medium',
1107
+ evidence: 'Config file exists and is valid JSON'
1108
+ };
1109
+ }
1110
+ catch (err) {
1111
+ return {
1112
+ ...baseResult,
1113
+ verified: false,
1114
+ confidence: 'high',
1115
+ evidence: 'Could not read config file',
1116
+ error: err instanceof Error ? err.message : 'Unknown error'
1117
+ };
1118
+ }
1119
+ };
1120
+ case 'error_fixed':
1121
+ case 'feature_implemented':
1122
+ case 'refactor_complete':
1123
+ // These require semantic verification - use LLM if available
1124
+ return async () => {
1125
+ if (context.llmVerifier) {
1126
+ return verifyClaimWithLLM(claim, context);
1127
+ }
1128
+ // Fall back to checking if related files were modified
1129
+ const relatedPath = claim.params.path;
1130
+ if (relatedPath) {
1131
+ try {
1132
+ const resolvedPath = path.isAbsolute(relatedPath)
1133
+ ? relatedPath
1134
+ : path.resolve(context.workingDirectory, relatedPath);
1135
+ const stats = await fs.stat(resolvedPath);
1136
+ const recentlyModified = (Date.now() - stats.mtimeMs) < 10 * 60 * 1000;
1137
+ return {
1138
+ ...baseResult,
1139
+ verified: recentlyModified,
1140
+ confidence: 'low',
1141
+ evidence: recentlyModified
1142
+ ? `Related file ${relatedPath} was recently modified`
1143
+ : `Related file ${relatedPath} exists but wasn't recently modified`
1144
+ };
1145
+ }
1146
+ catch {
1147
+ return {
1148
+ ...baseResult,
1149
+ verified: false,
1150
+ confidence: 'low',
1151
+ evidence: 'Could not verify - no LLM available and related file not found'
1152
+ };
1153
+ }
1154
+ }
1155
+ return {
1156
+ ...baseResult,
1157
+ verified: false,
1158
+ confidence: 'low',
1159
+ evidence: 'Semantic verification required but no LLM verifier available'
1160
+ };
1161
+ };
1162
+ case 'data_transformed':
1163
+ return async () => {
1164
+ // Check if we have before/after state to compare
1165
+ if (context.previousState && context.currentState) {
1166
+ const inputKey = claim.params.input;
1167
+ const outputKey = claim.params.output;
1168
+ if (inputKey && outputKey) {
1169
+ const inputExists = context.previousState[inputKey] !== undefined;
1170
+ const outputExists = context.currentState[outputKey] !== undefined;
1171
+ return {
1172
+ ...baseResult,
1173
+ verified: inputExists && outputExists,
1174
+ confidence: inputExists && outputExists ? 'medium' : 'low',
1175
+ evidence: `Input "${inputKey}" ${inputExists ? 'found' : 'missing'}, Output "${outputKey}" ${outputExists ? 'found' : 'missing'}`
1176
+ };
1177
+ }
1178
+ }
1179
+ // Fall back to LLM verification
1180
+ if (context.llmVerifier) {
1181
+ return verifyClaimWithLLM(claim, context);
1182
+ }
1183
+ return {
1184
+ ...baseResult,
1185
+ verified: false,
1186
+ confidence: 'low',
1187
+ evidence: 'Cannot verify data transformation without state comparison or LLM'
1188
+ };
1189
+ };
1190
+ case 'database_updated':
1191
+ return async () => {
1192
+ // Can't directly verify database changes without connection info
1193
+ // Check if there's a command we can run
1194
+ const checkCommand = claim.params.checkCommand;
1195
+ if (checkCommand) {
1196
+ try {
1197
+ const { stdout } = await execAsync(checkCommand, {
1198
+ timeout: 10000,
1199
+ cwd: context.workingDirectory
1200
+ });
1201
+ return {
1202
+ ...baseResult,
1203
+ verified: true,
1204
+ confidence: 'medium',
1205
+ evidence: `Check command output: ${stdout.slice(0, 200)}`
1206
+ };
1207
+ }
1208
+ catch (err) {
1209
+ return {
1210
+ ...baseResult,
1211
+ verified: false,
1212
+ confidence: 'medium',
1213
+ evidence: 'Database check command failed',
1214
+ error: err instanceof Error ? err.message : 'Unknown error'
1215
+ };
1216
+ }
1217
+ }
1218
+ // Fall back to LLM
1219
+ if (context.llmVerifier) {
1220
+ return verifyClaimWithLLM(claim, context);
1221
+ }
1222
+ return {
1223
+ ...baseResult,
1224
+ verified: false,
1225
+ confidence: 'low',
1226
+ evidence: 'Cannot verify database changes without check command or LLM'
1227
+ };
1228
+ };
1229
+ case 'permission_granted':
1230
+ return async () => {
1231
+ const targetPath = claim.params.path;
1232
+ const expectedMode = claim.params.mode;
1233
+ if (targetPath) {
1234
+ try {
1235
+ const resolvedPath = path.isAbsolute(targetPath)
1236
+ ? targetPath
1237
+ : path.resolve(context.workingDirectory, targetPath);
1238
+ const stats = await fs.stat(resolvedPath);
1239
+ const mode = (stats.mode & 0o777).toString(8);
1240
+ if (expectedMode) {
1241
+ const matches = mode === expectedMode;
1242
+ return {
1243
+ ...baseResult,
1244
+ verified: matches,
1245
+ confidence: 'high',
1246
+ evidence: matches
1247
+ ? `File has expected permissions: ${mode}`
1248
+ : `Expected mode ${expectedMode}, got ${mode}`
1249
+ };
1250
+ }
1251
+ return {
1252
+ ...baseResult,
1253
+ verified: true,
1254
+ confidence: 'medium',
1255
+ evidence: `File permissions: ${mode}`
1256
+ };
1257
+ }
1258
+ catch (err) {
1259
+ return {
1260
+ ...baseResult,
1261
+ verified: false,
1262
+ confidence: 'high',
1263
+ evidence: 'Could not check file permissions',
1264
+ error: err instanceof Error ? err.message : 'Unknown error'
1265
+ };
1266
+ }
1267
+ }
1268
+ // Fall back to LLM
1269
+ if (context.llmVerifier) {
1270
+ return verifyClaimWithLLM(claim, context);
1271
+ }
1272
+ return {
1273
+ ...baseResult,
1274
+ verified: false,
1275
+ confidence: 'low',
1276
+ evidence: 'Cannot verify permission without file path or LLM'
1277
+ };
1278
+ };
1279
+ case 'generic':
1280
+ default:
1281
+ // For generic claims, always try LLM verification first
1282
+ return async () => {
1283
+ if (context.llmVerifier) {
1284
+ return verifyClaimWithLLM(claim, context);
1285
+ }
1286
+ return {
1287
+ ...baseResult,
1288
+ verified: false,
1289
+ confidence: 'low',
1290
+ evidence: 'Generic claim requires LLM verification which is not available'
1291
+ };
1292
+ };
1293
+ }
1294
+ }
1295
+ /**
1296
+ * Comprehensive verification using both runtime and LLM-based strategies
1297
+ */
1298
+ export async function verifyResponseComprehensive(response, context, responseId) {
1299
+ // First extract claims using LLM if available, otherwise pattern matching
1300
+ const claims = context.llmVerifier
1301
+ ? await extractClaimsWithLLM(response, context.llmVerifier)
1302
+ : extractClaims(response);
1303
+ const results = [];
1304
+ for (const claim of claims) {
1305
+ // Check if this is a standard claim type that can be runtime-verified
1306
+ const standardTypes = [
1307
+ 'file_created', 'file_modified', 'file_deleted', 'code_compiles',
1308
+ 'tests_pass', 'git_committed', 'package_published', 'command_executed',
1309
+ 'dependency_installed', 'service_running', 'url_accessible', 'content_contains'
1310
+ ];
1311
+ let test;
1312
+ if (standardTypes.includes(claim.type)) {
1313
+ test = generateVerificationTest(claim);
1314
+ }
1315
+ else {
1316
+ test = generateExtendedVerificationTest(claim, context);
1317
+ }
1318
+ try {
1319
+ const result = await test();
1320
+ results.push(result);
1321
+ }
1322
+ catch (err) {
1323
+ results.push({
1324
+ claim,
1325
+ verified: false,
1326
+ confidence: 'low',
1327
+ evidence: 'Verification test failed to execute',
1328
+ error: err instanceof Error ? err.message : 'Unknown error',
1329
+ timestamp: new Date().toISOString()
1330
+ });
1331
+ }
1332
+ }
1333
+ const verified = results.filter(r => r.verified).length;
1334
+ const failed = results.filter(r => !r.verified && r.confidence === 'high').length;
1335
+ const inconclusive = results.filter(r => !r.verified && r.confidence !== 'high').length;
1336
+ let overallVerdict;
1337
+ if (failed > 0) {
1338
+ overallVerdict = 'contradicted';
1339
+ }
1340
+ else if (verified === claims.length && claims.length > 0) {
1341
+ overallVerdict = 'verified';
1342
+ }
1343
+ else if (verified > 0) {
1344
+ overallVerdict = 'partially_verified';
1345
+ }
1346
+ else {
1347
+ overallVerdict = 'unverified';
1348
+ }
1349
+ return {
1350
+ responseId: responseId || `response-${Date.now()}`,
1351
+ timestamp: new Date().toISOString(),
1352
+ claims,
1353
+ results,
1354
+ summary: {
1355
+ total: claims.length,
1356
+ verified,
1357
+ failed,
1358
+ inconclusive
1359
+ },
1360
+ overallVerdict
1361
+ };
1362
+ }
1363
+ /**
1364
+ * Determine the best verification strategy for a claim
1365
+ */
1366
+ export function getVerificationStrategy(claim) {
1367
+ switch (claim.type) {
1368
+ case 'file_created':
1369
+ case 'file_modified':
1370
+ case 'file_deleted':
1371
+ case 'content_contains':
1372
+ case 'config_changed':
1373
+ case 'permission_granted':
1374
+ return 'filesystem';
1375
+ case 'url_accessible':
1376
+ case 'api_response':
1377
+ case 'service_running':
1378
+ return 'network';
1379
+ case 'code_compiles':
1380
+ case 'tests_pass':
1381
+ case 'command_executed':
1382
+ case 'dependency_installed':
1383
+ case 'git_committed':
1384
+ case 'package_published':
1385
+ case 'env_var_set':
1386
+ return 'runtime';
1387
+ case 'error_fixed':
1388
+ case 'feature_implemented':
1389
+ case 'refactor_complete':
1390
+ case 'data_transformed':
1391
+ return 'semantic';
1392
+ case 'database_updated':
1393
+ return 'comparison';
1394
+ case 'generic':
1395
+ default:
1396
+ return 'llm';
1397
+ }
1398
+ }
1399
+ /**
1400
+ * Prompt for LLM to generate verification code
1401
+ */
1402
+ const VERIFICATION_CODE_GENERATION_PROMPT = `You are a verification code generator. Given a claim that an AI assistant made, generate code to verify if the claim is TRUE.
1403
+
1404
+ CLAIM TO VERIFY:
1405
+ Type: {CLAIM_TYPE}
1406
+ Description: {CLAIM_DESCRIPTION}
1407
+ Evidence: {CLAIM_EVIDENCE}
1408
+ Parameters: {CLAIM_PARAMS}
1409
+
1410
+ WORKING DIRECTORY: {WORKING_DIR}
1411
+
1412
+ Generate a verification test. Choose the most appropriate approach:
1413
+
1414
+ 1. SHELL COMMAND - For file operations, git, npm, system checks
1415
+ 2. JAVASCRIPT - For complex logic, API calls, JSON parsing
1416
+ 3. API - For HTTP endpoints, external services
1417
+
1418
+ IMPORTANT RULES:
1419
+ - Code must be READ-ONLY and NON-DESTRUCTIVE (no writes, no deletes, no modifications)
1420
+ - Code must complete quickly (under 10 seconds)
1421
+ - Code must output a clear result that can be parsed
1422
+ - For shell: output should be parseable (exit code 0 = verified, non-zero = failed)
1423
+ - For JavaScript: must export/return { verified: boolean, evidence: string }
1424
+ - Do NOT use interactive commands
1425
+ - Do NOT access sensitive data or credentials
1426
+
1427
+ Respond with JSON:
1428
+ {
1429
+ "testType": "shell" | "javascript" | "api",
1430
+ "code": "the verification code",
1431
+ "description": "what this test does",
1432
+ "expectedOutcome": "what success looks like",
1433
+ "safeToRun": true | false,
1434
+ "safetyReason": "why it's safe/unsafe"
1435
+ }
1436
+
1437
+ Only output valid JSON, nothing else.`;
1438
+ /**
1439
+ * Generate verification code using LLM
1440
+ */
1441
+ export async function generateVerificationCode(claim, context) {
1442
+ if (!context.llmVerifier) {
1443
+ return null;
1444
+ }
1445
+ try {
1446
+ const prompt = VERIFICATION_CODE_GENERATION_PROMPT
1447
+ .replace('{CLAIM_TYPE}', claim.type)
1448
+ .replace('{CLAIM_DESCRIPTION}', claim.description)
1449
+ .replace('{CLAIM_EVIDENCE}', claim.evidence)
1450
+ .replace('{CLAIM_PARAMS}', JSON.stringify(claim.params, null, 2))
1451
+ .replace('{WORKING_DIR}', context.workingDirectory);
1452
+ const result = await context.llmVerifier(prompt);
1453
+ // Parse the JSON response
1454
+ const jsonMatch = result.match(/\{[\s\S]*\}/);
1455
+ if (!jsonMatch) {
1456
+ return null;
1457
+ }
1458
+ const parsed = JSON.parse(jsonMatch[0]);
1459
+ return {
1460
+ claim,
1461
+ testType: parsed.testType,
1462
+ code: parsed.code,
1463
+ description: parsed.description,
1464
+ expectedOutcome: parsed.expectedOutcome,
1465
+ safetyCheck: parsed.safeToRun
1466
+ };
1467
+ }
1468
+ catch (err) {
1469
+ console.error('Failed to generate verification code:', err);
1470
+ return null;
1471
+ }
1472
+ }
1473
+ /**
1474
+ * Safety patterns to block dangerous code
1475
+ */
1476
+ const DANGEROUS_PATTERNS = [
1477
+ /\brm\s+-rf?\b/i, // rm commands
1478
+ /\brmdir\b/i, // rmdir
1479
+ /\bdd\s+if=/i, // dd (disk destroyer)
1480
+ /\bmkfs\b/i, // format filesystem
1481
+ /\b>\s*\/dev\//i, // write to devices
1482
+ /\bchmod\s+777\b/i, // dangerous permissions
1483
+ /\bsudo\b/i, // sudo commands
1484
+ /\bcurl.*\|\s*sh\b/i, // pipe to shell
1485
+ /\bwget.*\|\s*sh\b/i, // pipe to shell
1486
+ /\beval\s*\(/i, // eval in JS
1487
+ /new\s+Function\s*\(/i, // Function constructor
1488
+ /child_process/i, // subprocess in JS (unless we control it)
1489
+ /\bexec\s*\(/i, // exec calls
1490
+ /\bspawn\s*\(/i, // spawn calls
1491
+ /writeFile/i, // file writes
1492
+ /appendFile/i, // file appends
1493
+ /unlink\s*\(/i, // file deletion
1494
+ /rmSync/i, // sync deletion
1495
+ /fs\.rm/i, // fs remove
1496
+ /DROP\s+TABLE/i, // SQL injection
1497
+ /DELETE\s+FROM/i, // SQL deletion
1498
+ /TRUNCATE/i, // SQL truncate
1499
+ /;\s*--/, // SQL comment injection
1500
+ /process\.exit/i, // process exit
1501
+ /require\s*\(\s*['"]child/i, // require child_process
1502
+ ];
1503
+ /**
1504
+ * Validate that generated code is safe to execute
1505
+ */
1506
+ export function validateGeneratedCode(test) {
1507
+ // First check the LLM's own safety assessment
1508
+ if (!test.safetyCheck) {
1509
+ return { safe: false, reason: 'LLM marked code as unsafe' };
1510
+ }
1511
+ // Check against dangerous patterns
1512
+ for (const pattern of DANGEROUS_PATTERNS) {
1513
+ if (pattern.test(test.code)) {
1514
+ return {
1515
+ safe: false,
1516
+ reason: `Dangerous pattern detected: ${pattern.source}`
1517
+ };
1518
+ }
1519
+ }
1520
+ // Additional checks for shell commands
1521
+ if (test.testType === 'shell') {
1522
+ // Only allow specific safe commands
1523
+ const safeShellPrefixes = [
1524
+ 'ls', 'cat', 'head', 'tail', 'grep', 'find', 'stat', 'file',
1525
+ 'test', 'echo', 'pwd', 'wc', 'diff', 'cmp',
1526
+ 'git log', 'git status', 'git show', 'git diff', 'git branch',
1527
+ 'npm view', 'npm list', 'npm ls',
1528
+ 'node -e', 'node --eval',
1529
+ 'curl -s', 'curl --silent', 'wget -q',
1530
+ 'jq', 'python -c', 'python3 -c',
1531
+ 'lsof', 'netstat', 'ss', 'ps',
1532
+ 'which', 'type', 'command -v',
1533
+ ];
1534
+ const trimmedCode = test.code.trim().toLowerCase();
1535
+ const startsWithSafe = safeShellPrefixes.some(prefix => trimmedCode.startsWith(prefix.toLowerCase()));
1536
+ if (!startsWithSafe) {
1537
+ // Check if it's a simple test/check command
1538
+ if (!trimmedCode.startsWith('[') && !trimmedCode.startsWith('if ')) {
1539
+ return {
1540
+ safe: false,
1541
+ reason: 'Shell command does not start with a known safe prefix'
1542
+ };
1543
+ }
1544
+ }
1545
+ }
1546
+ // For JavaScript, ensure it's a simple expression
1547
+ if (test.testType === 'javascript') {
1548
+ // Check code length - very long code is suspicious
1549
+ if (test.code.length > 2000) {
1550
+ return { safe: false, reason: 'JavaScript code too long' };
1551
+ }
1552
+ }
1553
+ return { safe: true, reason: 'All safety checks passed' };
1554
+ }
1555
+ /**
1556
+ * Execute a generated verification test
1557
+ */
1558
+ export async function executeGeneratedTest(test, context) {
1559
+ const baseResult = {
1560
+ claim: test.claim,
1561
+ timestamp: new Date().toISOString()
1562
+ };
1563
+ // Validate safety first
1564
+ const safetyResult = validateGeneratedCode(test);
1565
+ if (!safetyResult.safe) {
1566
+ return {
1567
+ ...baseResult,
1568
+ verified: false,
1569
+ confidence: 'low',
1570
+ evidence: `Generated test blocked: ${safetyResult.reason}`,
1571
+ error: 'Safety validation failed'
1572
+ };
1573
+ }
1574
+ try {
1575
+ switch (test.testType) {
1576
+ case 'shell': {
1577
+ const { stdout, stderr } = await execAsync(test.code, {
1578
+ cwd: context.workingDirectory,
1579
+ timeout: 10000, // 10 second timeout
1580
+ maxBuffer: 1024 * 1024 // 1MB max output
1581
+ });
1582
+ const output = (stdout + stderr).trim();
1583
+ // Shell convention: exit 0 = success
1584
+ return {
1585
+ ...baseResult,
1586
+ verified: true,
1587
+ confidence: 'high',
1588
+ evidence: `Test passed. Output: ${output.slice(0, 500)}`
1589
+ };
1590
+ }
1591
+ case 'javascript': {
1592
+ // Execute JavaScript in a sandboxed way using node -e
1593
+ const wrappedCode = `
1594
+ const result = (async () => {
1595
+ ${test.code}
1596
+ })();
1597
+ result.then(r => console.log(JSON.stringify(r))).catch(e => {
1598
+ console.log(JSON.stringify({ verified: false, evidence: e.message }));
1599
+ });
1600
+ `;
1601
+ const { stdout } = await execAsync(`node -e ${JSON.stringify(wrappedCode)}`, {
1602
+ cwd: context.workingDirectory,
1603
+ timeout: 10000
1604
+ });
1605
+ try {
1606
+ const result = JSON.parse(stdout.trim());
1607
+ return {
1608
+ ...baseResult,
1609
+ verified: result.verified,
1610
+ confidence: 'high',
1611
+ evidence: result.evidence
1612
+ };
1613
+ }
1614
+ catch {
1615
+ return {
1616
+ ...baseResult,
1617
+ verified: false,
1618
+ confidence: 'medium',
1619
+ evidence: `JavaScript output: ${stdout.slice(0, 500)}`
1620
+ };
1621
+ }
1622
+ }
1623
+ case 'api': {
1624
+ // For API tests, use curl
1625
+ const { stdout } = await execAsync(test.code, {
1626
+ cwd: context.workingDirectory,
1627
+ timeout: 15000
1628
+ });
1629
+ // Try to parse as JSON result
1630
+ try {
1631
+ const result = JSON.parse(stdout.trim());
1632
+ return {
1633
+ ...baseResult,
1634
+ verified: Boolean(result.verified ?? result.success ?? result.ok),
1635
+ confidence: 'high',
1636
+ evidence: `API response: ${JSON.stringify(result).slice(0, 500)}`
1637
+ };
1638
+ }
1639
+ catch {
1640
+ // Non-JSON response - check for success indicators
1641
+ const isSuccess = stdout.includes('200') || stdout.includes('success') || stdout.includes('ok');
1642
+ return {
1643
+ ...baseResult,
1644
+ verified: isSuccess,
1645
+ confidence: 'medium',
1646
+ evidence: `API output: ${stdout.slice(0, 500)}`
1647
+ };
1648
+ }
1649
+ }
1650
+ default:
1651
+ return {
1652
+ ...baseResult,
1653
+ verified: false,
1654
+ confidence: 'low',
1655
+ evidence: `Unknown test type: ${test.testType}`
1656
+ };
1657
+ }
1658
+ }
1659
+ catch (err) {
1660
+ // Command failed (non-zero exit) = verification failed
1661
+ return {
1662
+ ...baseResult,
1663
+ verified: false,
1664
+ confidence: 'high',
1665
+ evidence: `Test failed: ${err instanceof Error ? err.message : 'Unknown error'}`,
1666
+ error: err instanceof Error ? err.message : 'Unknown error'
1667
+ };
1668
+ }
1669
+ }
1670
+ /**
1671
+ * Verify a claim using LLM-generated runtime test
1672
+ */
1673
+ export async function verifyWithGeneratedTest(claim, context) {
1674
+ const baseResult = {
1675
+ claim,
1676
+ timestamp: new Date().toISOString()
1677
+ };
1678
+ // Generate verification code
1679
+ const test = await generateVerificationCode(claim, context);
1680
+ if (!test) {
1681
+ return {
1682
+ ...baseResult,
1683
+ verified: false,
1684
+ confidence: 'low',
1685
+ evidence: 'Failed to generate verification test'
1686
+ };
1687
+ }
1688
+ // Execute the generated test
1689
+ return executeGeneratedTest(test, context);
1690
+ }
1691
+ /**
1692
+ * Full verification using LLM-generated tests
1693
+ * This is the most powerful verification method - LLM decides HOW to verify each claim
1694
+ */
1695
+ export async function verifyResponseWithGeneratedTests(response, context, responseId) {
1696
+ // Extract claims using LLM
1697
+ const claims = context.llmVerifier
1698
+ ? await extractClaimsWithLLM(response, context.llmVerifier)
1699
+ : extractClaims(response);
1700
+ const results = [];
1701
+ for (const claim of claims) {
1702
+ // For each claim, generate and run a custom verification test
1703
+ const result = await verifyWithGeneratedTest(claim, context);
1704
+ results.push(result);
1705
+ }
1706
+ const verified = results.filter(r => r.verified).length;
1707
+ const failed = results.filter(r => !r.verified && r.confidence === 'high').length;
1708
+ const inconclusive = results.filter(r => !r.verified && r.confidence !== 'high').length;
1709
+ let overallVerdict;
1710
+ if (failed > 0) {
1711
+ overallVerdict = 'contradicted';
1712
+ }
1713
+ else if (verified === claims.length && claims.length > 0) {
1714
+ overallVerdict = 'verified';
1715
+ }
1716
+ else if (verified > 0) {
1717
+ overallVerdict = 'partially_verified';
1718
+ }
1719
+ else {
1720
+ overallVerdict = 'unverified';
1721
+ }
1722
+ return {
1723
+ responseId: responseId || `response-${Date.now()}`,
1724
+ timestamp: new Date().toISOString(),
1725
+ claims,
1726
+ results,
1727
+ summary: {
1728
+ total: claims.length,
1729
+ verified,
1730
+ failed,
1731
+ inconclusive
1732
+ },
1733
+ overallVerdict
1734
+ };
1735
+ }
1736
+ /**
1737
+ * Hybrid verification - uses generated tests when available, falls back to predefined tests
1738
+ */
1739
+ export async function verifyResponseHybrid(response, context, responseId) {
1740
+ const claims = context.llmVerifier
1741
+ ? await extractClaimsWithLLM(response, context.llmVerifier)
1742
+ : extractClaims(response);
1743
+ const results = [];
1744
+ for (const claim of claims) {
1745
+ let result;
1746
+ // Try LLM-generated test first if LLM is available
1747
+ if (context.llmVerifier) {
1748
+ const generatedTest = await generateVerificationCode(claim, context);
1749
+ if (generatedTest) {
1750
+ const safety = validateGeneratedCode(generatedTest);
1751
+ if (safety.safe) {
1752
+ // Use generated test
1753
+ result = await executeGeneratedTest(generatedTest, context);
1754
+ results.push(result);
1755
+ continue;
1756
+ }
1757
+ }
1758
+ }
1759
+ // Fall back to predefined verification
1760
+ const standardTypes = [
1761
+ 'file_created', 'file_modified', 'file_deleted', 'code_compiles',
1762
+ 'tests_pass', 'git_committed', 'package_published', 'command_executed',
1763
+ 'dependency_installed', 'service_running', 'url_accessible', 'content_contains'
1764
+ ];
1765
+ let test;
1766
+ if (standardTypes.includes(claim.type)) {
1767
+ test = generateVerificationTest(claim);
1768
+ }
1769
+ else {
1770
+ test = generateExtendedVerificationTest(claim, context);
1771
+ }
1772
+ try {
1773
+ result = await test();
1774
+ }
1775
+ catch (err) {
1776
+ result = {
1777
+ claim,
1778
+ verified: false,
1779
+ confidence: 'low',
1780
+ evidence: 'Verification failed',
1781
+ error: err instanceof Error ? err.message : 'Unknown error',
1782
+ timestamp: new Date().toISOString()
1783
+ };
1784
+ }
1785
+ results.push(result);
1786
+ }
1787
+ const verified = results.filter(r => r.verified).length;
1788
+ const failed = results.filter(r => !r.verified && r.confidence === 'high').length;
1789
+ const inconclusive = results.filter(r => !r.verified && r.confidence !== 'high').length;
1790
+ let overallVerdict;
1791
+ if (failed > 0) {
1792
+ overallVerdict = 'contradicted';
1793
+ }
1794
+ else if (verified === claims.length && claims.length > 0) {
1795
+ overallVerdict = 'verified';
1796
+ }
1797
+ else if (verified > 0) {
1798
+ overallVerdict = 'partially_verified';
1799
+ }
1800
+ else {
1801
+ overallVerdict = 'unverified';
1802
+ }
1803
+ return {
1804
+ responseId: responseId || `response-${Date.now()}`,
1805
+ timestamp: new Date().toISOString(),
1806
+ claims,
1807
+ results,
1808
+ summary: {
1809
+ total: claims.length,
1810
+ verified,
1811
+ failed,
1812
+ inconclusive
1813
+ },
1814
+ overallVerdict
1815
+ };
1816
+ }
829
1817
  //# sourceMappingURL=responseVerifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"responseVerifier.js","sourceRoot":"","sources":["../../src/core/responseVerifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responseVerifier.js","sourceRoot":"","sources":["../../src/core/responseVerifier.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "erosolar-cli",
3
- "version": "1.7.20",
3
+ "version": "1.7.22",
4
4
  "description": "Unified AI agent framework for the command line - Multi-provider support with schema-driven tools, code intelligence, and transparent reasoning",
5
5
  "main": "dist/bin/erosolar-optimized.js",
6
6
  "type": "module",