truthguard-ai 0.2.0 → 0.3.0

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.

Potentially problematic release.


This version of truthguard-ai might be problematic. Click here for more details.

Files changed (53) hide show
  1. package/dist-npm/Claims/index.d.ts +73 -0
  2. package/dist-npm/Claims/index.d.ts.map +1 -0
  3. package/dist-npm/Claims/index.js +1669 -0
  4. package/dist-npm/Claims/index.js.map +1 -0
  5. package/dist-npm/Config/index.d.ts +41 -0
  6. package/dist-npm/Config/index.d.ts.map +1 -0
  7. package/dist-npm/Config/index.js +129 -0
  8. package/dist-npm/Config/index.js.map +1 -0
  9. package/dist-npm/Grounding/index.d.ts +40 -0
  10. package/dist-npm/Grounding/index.d.ts.map +1 -0
  11. package/dist-npm/Grounding/index.js +1433 -0
  12. package/dist-npm/Grounding/index.js.map +1 -0
  13. package/dist-npm/L2/index.d.ts +93 -0
  14. package/dist-npm/L2/index.d.ts.map +1 -0
  15. package/dist-npm/L2/index.js +1773 -0
  16. package/dist-npm/L2/index.js.map +1 -0
  17. package/dist-npm/Matchers/index.d.ts +101 -0
  18. package/dist-npm/Matchers/index.d.ts.map +1 -0
  19. package/dist-npm/Matchers/index.js +690 -0
  20. package/dist-npm/Matchers/index.js.map +1 -0
  21. package/dist-npm/Mode/index.d.ts +87 -0
  22. package/dist-npm/Mode/index.d.ts.map +1 -0
  23. package/dist-npm/Mode/index.js +117 -0
  24. package/dist-npm/Mode/index.js.map +1 -0
  25. package/dist-npm/Policy/index.d.ts +89 -0
  26. package/dist-npm/Policy/index.d.ts.map +1 -0
  27. package/dist-npm/Policy/index.js +143 -0
  28. package/dist-npm/Policy/index.js.map +1 -0
  29. package/dist-npm/Registry/index.d.ts +93 -0
  30. package/dist-npm/Registry/index.d.ts.map +1 -0
  31. package/dist-npm/Registry/index.js +818 -0
  32. package/dist-npm/Registry/index.js.map +1 -0
  33. package/dist-npm/Rules/index.d.ts +587 -0
  34. package/dist-npm/Rules/index.d.ts.map +1 -0
  35. package/dist-npm/Rules/index.js +6236 -0
  36. package/dist-npm/Rules/index.js.map +1 -0
  37. package/dist-npm/Rules/intents.d.ts +22 -0
  38. package/dist-npm/Rules/intents.d.ts.map +1 -0
  39. package/dist-npm/Rules/intents.js +242 -0
  40. package/dist-npm/Rules/intents.js.map +1 -0
  41. package/dist-npm/TraceReadiness/index.d.ts +42 -0
  42. package/dist-npm/TraceReadiness/index.d.ts.map +1 -0
  43. package/dist-npm/TraceReadiness/index.js +169 -0
  44. package/dist-npm/TraceReadiness/index.js.map +1 -0
  45. package/dist-npm/i18n/index.d.ts +44 -0
  46. package/dist-npm/i18n/index.d.ts.map +1 -0
  47. package/dist-npm/i18n/index.js +124 -0
  48. package/dist-npm/i18n/index.js.map +1 -0
  49. package/package.json +5 -17
  50. package/dist/cli/index.d.ts +0 -15
  51. package/dist/cli/index.d.ts.map +0 -1
  52. package/dist/cli/index.js +0 -807
  53. package/dist/cli/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Registry/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,587 @@
1
+ /**
2
+ * Grounding Rules
3
+ *
4
+ * Implements V1 detection logic for the five grounding failure types:
5
+ *
6
+ * grounding.empty_fabrication — tool returned empty, LLM fabricated facts
7
+ * grounding.no_tool_call — factual question answered without any tool call
8
+ * grounding.math_error — tool returned correct data, LLM computed incorrectly
9
+ * grounding.data_ignored — tool returned correct data, LLM ignored/altered it
10
+ * grounding.wrong_query — tool called with wrong parameters
11
+ * grounding.incomplete_response— response is empty/truncated despite tool data
12
+ *
13
+ * Each rule is a pure function: (trace, claims, verdicts) → DetectedFailure | null
14
+ */
15
+ import type { Claim, ClaimVerdict, DetectedFailure, FailureConfidence, FailureType, Trace } from '../types';
16
+ export interface TracePattern {
17
+ totalSteps: number;
18
+ toolCallCount: number;
19
+ toolOutputCount: number;
20
+ uniqueTools: string[];
21
+ repeatedTools: Map<string, number>;
22
+ hasFinalResponse: boolean;
23
+ finalResponseLength: number;
24
+ lastStepRole: string;
25
+ /** True when the last step is tool_output or tool_call — agent stopped mid-execution */
26
+ stoppedMidExecution: boolean;
27
+ /** Tools called >1 time (comparison/multi-entity pattern) */
28
+ comparisonPattern: boolean;
29
+ /** Distinct entities searched (heuristic: unique params for same tool) */
30
+ distinctParamSets: number;
31
+ }
32
+ /** Analyze a trace's structural patterns without evaluating claims. */
33
+ export declare function analyzeTracePatterns(trace: Trace): TracePattern;
34
+ /**
35
+ * Raw rule result before orchestration enrichment.
36
+ * Individual rule functions return this shape; runAllRules() promotes
37
+ * them to full DetectedFailure with severity and role.
38
+ */
39
+ export interface RawFailure {
40
+ type: FailureType;
41
+ description: string;
42
+ claimIds: string[];
43
+ confidence: FailureConfidence;
44
+ diagnosis?: string;
45
+ suggestedFix?: string;
46
+ }
47
+ /**
48
+ * Detects when tools returned empty results (or no results at all) but
49
+ * the LLM response contains UNGROUNDED claims (potential fabrication).
50
+ *
51
+ * Covers two cases:
52
+ * 1. Tool outputs exist but are all empty ([], null, {})
53
+ * 2. Tool calls were made but no tool_output steps were recorded
54
+ * (missing instrumentation or tool failure)
55
+ */
56
+ export declare function detectEmptyFabrication(trace: Trace, claims: Claim[], verdicts: ClaimVerdict[]): RawFailure | null;
57
+ /**
58
+ * Detects when the trace contains no tool calls at all but the final response
59
+ * makes specific factual claims (numbers, dates, counts).
60
+ */
61
+ export declare function detectNoToolCall(trace: Trace, claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
62
+ /**
63
+ * Detects when tools WERE called but specific factual claims in the response
64
+ * could not be verified against any tool output.
65
+ *
66
+ * This is semantically different from `no_tool_call`:
67
+ * - `no_tool_call` = agent didn't call any tools at all (hallucinating from training data)
68
+ * - `unverified_value` = agent called tools but produced values not found in outputs
69
+ *
70
+ * Fires when: tools were called AND at least 2 UNGROUNDED factual claims exist
71
+ * AND the ratio of ungrounded/total exceeds 50% (not just a single borderline miss).
72
+ */
73
+ export declare function detectUnverifiedValue(trace: Trace, claims: Claim[], verdicts: ClaimVerdict[]): RawFailure | null;
74
+ /**
75
+ * Detects when tool outputs returned correct data but the LLM
76
+ * computed/aggregated them incorrectly.
77
+ *
78
+ * Strategy: if there are multiple numeric values in tool outputs,
79
+ * compute expected aggregations (sum, average). If an UNGROUNDED
80
+ * number/count claim is close to (but not equal to) an expected
81
+ * aggregation, flag it as a math error.
82
+ */
83
+ export declare function detectMathError(trace: Trace, _claims: Claim[], verdicts: ClaimVerdict[]): RawFailure | null;
84
+ /**
85
+ * Detects when tool outputs returned correct data but the LLM's response
86
+ * claims values that directly contradict the tool outputs (not just aggregations).
87
+ *
88
+ * Specifically: UNGROUNDED claims where the source value IS present in tool outputs
89
+ * (i.e., the deviation is small but direction is wrong) OR where different values
90
+ * that ARE in the tool output were ignored in favour of fabricated ones.
91
+ */
92
+ export declare function detectDataIgnored(_trace: Trace, _claims: Claim[], verdicts: ClaimVerdict[]): RawFailure | null;
93
+ /**
94
+ * Detects when the agent called tools with parameters that don't match the
95
+ * user's apparent intent.
96
+ *
97
+ * Checks:
98
+ * 1. Date mismatch — dates in user input vs dates in tool parameters
99
+ * 2. Entity mismatch — quoted strings or proper nouns in user input
100
+ * that don't appear in tool parameters
101
+ */
102
+ export declare function detectWrongQuery(trace: Trace, claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
103
+ /**
104
+ * Detects entity mismatch between user input and tool parameters.
105
+ * This is a heuristic — proper nouns or quoted strings in user input
106
+ * may not directly correspond to tool parameter values (IDs, normalized
107
+ * forms, partial matches). Returns low confidence.
108
+ */
109
+ export declare function detectEntityMismatch(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
110
+ /**
111
+ * Detects when the final response is empty, very short, or contains no
112
+ * verifiable claims despite tools having returned meaningful data.
113
+ *
114
+ * This catches truncated/cut-off responses that would otherwise get a
115
+ * vacuous 100% score due to having nothing to verify.
116
+ */
117
+ export declare function detectIncompleteResponse(trace: Trace, claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
118
+ /**
119
+ * Detects when fragments of the system prompt appear in the final response.
120
+ * This indicates the LLM is leaking internal instructions to the user.
121
+ *
122
+ * Strategy: extract meaningful phrases (5+ words) from the system prompt
123
+ * and check if any appear verbatim in the final response.
124
+ */
125
+ export declare function detectPromptLeak(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
126
+ /**
127
+ * Detects when a tool returned an error/exception but the agent responded
128
+ * as if the data was valid.
129
+ *
130
+ * Strategy: scan tool outputs for error patterns. If found, check if the
131
+ * final response acknowledges the error. If not → the agent silently
132
+ * ignored a tool failure.
133
+ */
134
+ export declare function detectToolErrorIgnored(trace: Trace, _claims: Claim[], verdicts: ClaimVerdict[]): RawFailure | null;
135
+ /**
136
+ * Detects when the response contains claims that contradict each other —
137
+ * same entity/subject with conflicting values.
138
+ *
139
+ * Strategy: group claims by their normalized subject text, then compare
140
+ * values within each group. If two claims reference the same entity but
141
+ * state different values for the same attribute, flag as contradiction.
142
+ */
143
+ export declare function detectContradictoryClaims(trace: Trace, claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
144
+ /**
145
+ * Detects when the agent calls the same tool with the same parameters
146
+ * multiple times — a retry storm or infinite loop pattern.
147
+ *
148
+ * Strategy: group tool calls by (toolName, stringified parameters).
149
+ * If any combination appears 3+ times, flag it.
150
+ */
151
+ export declare function detectExcessiveToolCalls(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
152
+ /**
153
+ * Detects when the user asked a multi-part question but the agent only
154
+ * addressed some parts — leaving portions of the query unanswered.
155
+ *
156
+ * Strategy: extract question marks / enumerated items from user input,
157
+ * then check whether the response contains content for each part.
158
+ */
159
+ export declare function detectPartialAnswer(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
160
+ /**
161
+ * Detects when the agent's response contains sensitive data patterns
162
+ * (SSN, credit cards, passwords, API keys, private keys).
163
+ *
164
+ * Strategy: scan the final response for known sensitive data formats.
165
+ * Tool outputs may legitimately contain such data, but the response
166
+ * should redact or omit it.
167
+ */
168
+ export declare function detectSensitiveDataExposure(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
169
+ /**
170
+ * Detects when the agent's response contains temporal references that
171
+ * conflict with the tool output — e.g., tool returns 2024 data but
172
+ * the response states it's from 2023, or uses "as of" with a wrong date.
173
+ *
174
+ * Also flags when the user asks about a specific time period and the
175
+ * tool was queried for a different one (complementing detectWrongQuery
176
+ * but focusing on temporal staleness in the response itself).
177
+ */
178
+ export declare function detectStaleKnowledge(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
179
+ /**
180
+ * Detects when the agent draws a global/universal conclusion from data
181
+ * that is clearly a subset — e.g., tool returns 5 records from one
182
+ * department but the response says "across the entire company".
183
+ *
184
+ * Strategy:
185
+ * 1. Check tool call params for scope-limiting indicators (limit, offset,
186
+ * specific department/team/date filters).
187
+ * 2. Check tool output for small result sets (arrays with few items).
188
+ * 3. Check response for global/universal language.
189
+ * If the tool scope is narrow but the response scope is broad → flag.
190
+ */
191
+ export declare function detectScopeMismatch(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
192
+ /**
193
+ * Detects when the agent uses high-certainty language but the evidence
194
+ * is weak — e.g., ungrounded/unverifiable claims combined with "exactly".
195
+ *
196
+ * Strategy:
197
+ * 1. Count ungrounded + unverifiable verdicts.
198
+ * 2. Check response for certainty language.
199
+ * 3. If certainty language is present but evidence quality is low → flag.
200
+ */
201
+ export declare function detectOverconfidentLanguage(trace: Trace, _claims: Claim[], verdicts: ClaimVerdict[]): RawFailure | null;
202
+ /**
203
+ * Detects when the tool returned data that has nothing to do with the
204
+ * user's question, but the agent used it to formulate a response anyway.
205
+ *
206
+ * This is the "wrong chunk" / "retrieval mismatch" pattern from RAG
207
+ * evaluations (Arize Phoenix), generalized for tool-calling agents.
208
+ *
209
+ * Strategy:
210
+ * 1. Extract key terms from the user query (nouns, entities).
211
+ * 2. Extract key terms from tool output data.
212
+ * 3. Check overlap - if very low, the tool data is probably irrelevant.
213
+ * 4. If the agent still made factual claims → flag.
214
+ */
215
+ export declare function detectIrrelevantContext(trace: Trace, claims: Claim[], verdicts: ClaimVerdict[]): RawFailure | null;
216
+ /**
217
+ * Detects when the agent's final response mentions person/entity names
218
+ * that are NOT found in any tool output or system prompt.
219
+ */
220
+ export declare function detectHallucinatedEntity(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
221
+ /**
222
+ * Detects when the agent's response omits a significant portion of data
223
+ * returned by tools, without explicit summarization context.
224
+ *
225
+ * Tier B (warn-grade) by default. Escalates to high confidence when the
226
+ * user or system prompt contains explicit completeness triggers
227
+ * like "navedi sve", "list all", etc.
228
+ */
229
+ export declare function detectSelectiveOmission(trace: Trace, claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
230
+ /**
231
+ * Detects when the user asks for an aggregation (sum, average, min, max,
232
+ * difference) in any of the top 10 world languages + Serbian, but the
233
+ * agent responds with individual data values without computing the
234
+ * requested operation.
235
+ *
236
+ * Strategy:
237
+ * 1. Scan user input for multilingual aggregation keywords.
238
+ * 2. Group numeric values from tool outputs by field name.
239
+ * 3. Compute expected aggregate per field (sum, avg, min, max, diff).
240
+ * 4. Fire if individual values appear in the response but the
241
+ * expected aggregate does not.
242
+ */
243
+ export declare function detectQuestionNotAnswered(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
244
+ /**
245
+ * Detects when tool calls have empty or structurally invalid input,
246
+ * causing API validation errors (e.g. HTTP 400 "input should be a valid dictionary").
247
+ *
248
+ * Root cause: agent framework serializes empty params as [] instead of {},
249
+ * or omits required fields entirely. The API rejects the call, and the
250
+ * agent either loops or falls back to an error message.
251
+ *
252
+ * Strategy:
253
+ * 1. Find tool_call steps with empty parameters ({}).
254
+ * 2. Check subsequent tool_output for input validation error patterns.
255
+ * 3. High confidence when validation error explicitly mentions input/params.
256
+ * 4. Medium confidence when empty params + generic error.
257
+ */
258
+ export declare function detectMalformedToolInput(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
259
+ /**
260
+ * Detects when the final response contains raw tool call markup (XML or JSON)
261
+ * instead of a user-facing answer.
262
+ */
263
+ export declare function detectRawOutputLeak(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
264
+ /**
265
+ * Detects when the final response is intermediate LLM reasoning or planning text
266
+ * rather than a synthesized answer.
267
+ */
268
+ export declare function detectIntermediateResponseLeak(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
269
+ /**
270
+ * Detects when the LLM response was truncated because it hit the token limit.
271
+ */
272
+ export declare function detectTokenLimitTruncation(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
273
+ /**
274
+ * Detects when an API rate limit (429) caused the agent to degrade.
275
+ */
276
+ export declare function detectRateLimitDegradation(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
277
+ /**
278
+ * Detects when an API quota/billing error (402, 403 with quota message)
279
+ * caused the agent to produce an empty or fabricated response.
280
+ */
281
+ export declare function detectQuotaExhaustion(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
282
+ /**
283
+ * Detects when the trace shows a different model was used than what was
284
+ * requested (silent model downgrade).
285
+ */
286
+ export declare function detectModelFallback(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
287
+ /**
288
+ * Detect when the AI responds in a different language than the user's input.
289
+ *
290
+ * Detection strategy:
291
+ * 1. Cyrillic user input + Latin-only response → HIGH confidence
292
+ * 2. Serbian Latin (diacritics/words) + English response → MEDIUM confidence
293
+ * 3. trace.metadata.lang hint used to boost confidence
294
+ */
295
+ export declare function detectLanguageMismatch(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
296
+ /**
297
+ * Detects when user input steps are duplicated in a multi-turn trace.
298
+ *
299
+ * Common patterns this catches:
300
+ * 1. Consecutive identical user_input steps — the framework sends the
301
+ * same message twice (e.g. once as history, once as the new input).
302
+ * 2. A short conversation “title” or greeting appears as the first
303
+ * user_input in every turn, inflating the exchange count.
304
+ *
305
+ * This is an instrumentation quality issue — it does not affect LLM
306
+ * output correctness, but inflates conversation metrics and can confuse
307
+ * monitoring dashboards.
308
+ */
309
+ export declare function detectDuplicateUserInput(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
310
+ /**
311
+ * Detects when values belonging to different entities are swapped in the response.
312
+ * E.g. tool says Jelena: 211h, Aca: 194h but response says Jelena: 194h, Aca: 211h.
313
+ *
314
+ * Strategy:
315
+ * 1. Find tool outputs with multi-record arrays (2+ entities)
316
+ * 2. Build entity→value map from tool data (name-field → numeric-field pairs)
317
+ * 3. Find UNGROUNDED entity-scoped claims in response
318
+ * 4. Check if the claimed value belongs to a DIFFERENT entity in the tool data
319
+ */
320
+ export declare function detectEntityValueSwap(trace: Trace, _claims: Claim[], verdicts: ClaimVerdict[]): RawFailure | null;
321
+ /**
322
+ * Detects inline arithmetic/conversion errors in the response.
323
+ * E.g. "255 minuta (4.3 sata)" — but 255/60 = 4.25, not 4.3.
324
+ *
325
+ * Strategy:
326
+ * 1. Find claim pairs in close proximity that have different units
327
+ * 2. Verify the conversion: does valueA × conversionFactor ≈ valueB?
328
+ * 3. Also check parenthetical conversions: "X unit (Y other_unit)"
329
+ */
330
+ export declare function detectArithmeticError(trace: Trace, claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
331
+ /**
332
+ * Detects when the response violates explicit system prompt directives.
333
+ *
334
+ * Focuses on deterministically checkable rules:
335
+ * - Forbidden content (technical identifiers, tool names, programming terms)
336
+ * - Required patterns (if checkable via regex)
337
+ *
338
+ * Does NOT duplicate language checking (handled by detectLanguageMismatch).
339
+ */
340
+ export declare function detectInstructionViolation(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
341
+ /**
342
+ * Detects when a tool returned empty/zero results for a query that the user
343
+ * clearly expected to succeed, AND the final response acknowledges the
344
+ * inability to find data. This signals a tool capability gap — the tool
345
+ * doesn’t support the kind of search the user asked for (e.g. searching
346
+ * employees by job position when the tool only searches by name).
347
+ *
348
+ * Requires:
349
+ * 1. At least one tool call with non-trivial parameters
350
+ * 2. The paired tool output indicates empty results (total: 0, empty array,
351
+ * "no results", etc.)
352
+ * 3. The final response contains an admission of failure
353
+ */
354
+ export declare function detectToolCapabilityGap(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
355
+ /**
356
+ * Detects when the AI response in the current turn contains specific numeric
357
+ * values that can be traced to tool outputs from previous conversation turns
358
+ * but NOT to any tool output in the current turn.
359
+ *
360
+ * This matters because system prompts typically instruct: “Always use tool
361
+ * results, never rely on memory.” If the agent re-uses stale numbers from
362
+ * an earlier turn, the data may be outdated or refer to a different question.
363
+ *
364
+ * Only fires for multi-turn traces.
365
+ */
366
+ export declare function detectStaleCrossTurnReuse(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
367
+ /**
368
+ * Detects when a tool was called with date-range parameters but the output
369
+ * contains data for dates outside that range. This means the tool itself
370
+ * (or the backend API) is buggy — the agent asked correctly but got wrong-
371
+ * period data. Different from wrong_query, which flags wrong *parameters*.
372
+ *
373
+ * Signal:
374
+ * 1. Extract date params from tool_call (from_date/to_date, startDate/endDate, etc.).
375
+ * 2. Extract ISO dates from the paired tool_output content.
376
+ * 3. If any output date falls outside the requested range, fire.
377
+ */
378
+ export declare function detectToolPeriodMismatch(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
379
+ /**
380
+ * Detects when the agent hit a platform-imposed tool-call limit before
381
+ * completing the task. Signals:
382
+ * 1. A user_input or tool_output step whose content contains a
383
+ * budget-limit message injected by the platform (e.g.
384
+ * "Dostignut je limit poziva alata", "tool call limit reached").
385
+ * 2. The final_response follows shortly after, meaning the agent was
386
+ * forced to answer with whatever data it had gathered so far.
387
+ *
388
+ * This is different from quota_exhaustion (HTTP 402/429 billing errors).
389
+ */
390
+ export declare function detectToolBudgetExhaustion(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
391
+ /**
392
+ * Detects when the response labels data as belonging to a specific period
393
+ * (e.g. "Q1 2024", "March 2024", "H1") but the dates in tool output
394
+ * actually correspond to a different period.
395
+ *
396
+ * Common in finance/HR: user asks for Q1, tool returns correct data,
397
+ * but AI labels it as Q2 — or vice versa.
398
+ *
399
+ * Strategy:
400
+ * 1. Scan response for period labels (Q1-Q4, H1/H2, month+year).
401
+ * 2. For each label, compute expected date bounds.
402
+ * 3. Extract ISO dates from tool output.
403
+ * 4. If tool dates predominantly fall outside the labeled period → fire.
404
+ */
405
+ export declare function detectPeriodLabelMismatch(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
406
+ /**
407
+ * Detects when the user requests an aggregation for a specific period
408
+ * but the agent computes the aggregation over data from a different or
409
+ * broader period.
410
+ *
411
+ * Example: User asks "total salary for March 2024", tool returns data
412
+ * for Jan-Jun 2024, AI sums all 6 months instead of filtering to March.
413
+ *
414
+ * Strategy:
415
+ * 1. Detect aggregation intent in user input (reuse AGGREGATION_INTENTS).
416
+ * 2. Extract period from user input using parsePeriodBounds.
417
+ * 3. Extract dates + numeric values from tool output records.
418
+ * 4. Compute expected aggregate for the user's period only.
419
+ * 5. If response contains the full-data aggregate but NOT the
420
+ * period-scoped aggregate → fire.
421
+ */
422
+ export declare function detectAggregationScopeError(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
423
+ /**
424
+ * Detects when the user asks for results grouped by some dimension
425
+ * (e.g. "by department", "po sektoru", "per team") but the response
426
+ * provides only a single flat aggregate without the breakdown.
427
+ *
428
+ * Strategy:
429
+ * 1. Scan user input for grouping prepositions (GROUPING_INTENTS).
430
+ * 2. Extract the dimension word after the preposition.
431
+ * 3. Check if tool output contains a field matching that dimension.
432
+ * 4. Check if the response contains multiple distinct values for
433
+ * that dimension — or just a single aggregate.
434
+ * 5. Fire if the tool output has groupable data but the response
435
+ * only shows one number (flat aggregate).
436
+ */
437
+ export declare function detectMissingGroupingDimension(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
438
+ /**
439
+ * Detects when the user's question implies a business-logic transformation
440
+ * (e.g. "net salary", "after tax", "with discount", "attrition rate")
441
+ * but the response appears to use raw/untransformed values from tool output.
442
+ *
443
+ * TG cannot verify the transformation itself (it would need domain knowledge),
444
+ * but it CAN flag when:
445
+ * 1. The user's question contains a transformational keyword.
446
+ * 2. The tool output contains raw numeric values.
447
+ * 3. The response uses those exact raw values (no transformation applied).
448
+ *
449
+ * This is an advisory rule (observe), not a blocker.
450
+ */
451
+ export declare function detectTransformationalIntent(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
452
+ /**
453
+ * Detects when the user asks for a specific aggregation type (e.g. average)
454
+ * but the response contains a DIFFERENT aggregation (e.g. sum) from the
455
+ * same data.
456
+ *
457
+ * Example: User asks "prosečna plata" (average salary), tool returns
458
+ * [3000, 4000, 5000], response says "12000" (the sum, not avg 4000).
459
+ *
460
+ * Strategy:
461
+ * 1. Detect the user's aggregation intent (sum/avg/max/min/diff).
462
+ * 2. Compute ALL possible aggregates from tool output.
463
+ * 3. Check if response contains a DIFFERENT aggregate than requested.
464
+ * 4. Fire only when: requested aggregate is ABSENT and a wrong one
465
+ * is PRESENT — this is a substitution, not just a missing answer.
466
+ */
467
+ export declare function detectMetricMismatch(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
468
+ /**
469
+ * Detects when the user asks about a period that is currently ongoing
470
+ * (e.g. "this month", "this quarter", YTD, MTD) and the response presents
471
+ * data without acknowledging that the period is incomplete.
472
+ *
473
+ * This is an advisory finding — the data itself may be correct for the
474
+ * partial period, but the user should be informed that numbers will change
475
+ * by period end.
476
+ */
477
+ export declare function detectPartialPeriodRisk(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
478
+ /**
479
+ * Detects when the AI service was unavailable and only an error message
480
+ * was returned to the user. This covers:
481
+ * - API errors (timeout, 500, 502, 503, 429)
482
+ * - Quota/credit exhaustion on the client side (app catches before calling AI)
483
+ * - Any scenario where final_response contains only an error marker
484
+ *
485
+ * Fires when:
486
+ * - final_response metadata has `apiError: true`, OR
487
+ * - final_response content matches `[API Error]` prefix, OR
488
+ * - final_response content matches common "service unavailable" patterns
489
+ * AND there are no tool_call steps (the AI never got a chance to work)
490
+ */
491
+ export declare function detectAIUnavailable(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
492
+ /**
493
+ * Detects when the AI explicitly refuses or states it cannot answer the
494
+ * user's question, despite having attempted tool calls.
495
+ *
496
+ * Distinct from ai_unavailable (service error) — here the AI *did* respond
497
+ * but the response content is an admission of failure rather than an answer.
498
+ *
499
+ * Fires when:
500
+ * - final_response contains refusal markers (❌, "ne mogu da potvrdim", etc.)
501
+ * - AND the trace has at least one tool_call (AI tried, but gave up)
502
+ * - AND the response is short (< 600 chars) — long answers with a caveat
503
+ * are not refusals
504
+ */
505
+ export declare function detectAnswerRefusal(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
506
+ /**
507
+ * Detects when the AI repeatedly called the same tool(s) ineffectively,
508
+ * suggesting poor tool selection strategy.
509
+ *
510
+ * Fires when:
511
+ * - The same tool was called 3+ times with similar/identical inputs
512
+ * - OR tool_budget_exhaustion fired AND >50% of tool calls were to the
513
+ * same tool without getting useful data
514
+ *
515
+ * This catches the pattern where the AI keeps trying the same approach
516
+ * instead of selecting a different tool or strategy.
517
+ */
518
+ export declare function detectToolSelectionError(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
519
+ /**
520
+ * Detects SQL errors, runtime exceptions, and other explicit error messages
521
+ * in tool outputs that indicate the tool call itself was malformed or the
522
+ * underlying system had a problem.
523
+ *
524
+ * Distinct from tool_error_ignored (grounding rule) which checks if the
525
+ * agent *acknowledged* the error. This rule focuses on *detecting* the error
526
+ * itself as an orchestration quality issue.
527
+ *
528
+ * Fires when:
529
+ * - Tool output contains SQL-specific errors (SQLSTATE, syntax error, column not found)
530
+ * - OR tool output contains stack traces or runtime exceptions
531
+ * - OR tool output contains explicit error JSON structures
532
+ */
533
+ export declare function detectToolOutputError(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
534
+ /**
535
+ * Detects when the AI fabricated entity identifier parameters (e.g.
536
+ * person_key, employee_id) in tool calls. The fabricated values do not
537
+ * appear in any prior tool output in the conversation, and the tool
538
+ * returned "not found" or error responses for them.
539
+ *
540
+ * This is a critical failure mode: the AI invents short IDs like "U26"
541
+ * when the real format is "U1768812079496" (13+ digit), wasting all
542
+ * tool calls and leaving the user with no answer.
543
+ *
544
+ * Strategy:
545
+ * 1. Collect ALL string/number values from ALL tool outputs in the
546
+ * entire conversation (not just active turn).
547
+ * 2. For each tool call, check ID-like parameters against this corpus.
548
+ * 3. If the parameter value is NOT in the corpus AND the tool returned
549
+ * an error for that call → count as fabricated.
550
+ * 4. Fire if 2+ fabricated parameter values detected.
551
+ */
552
+ export declare function detectFabricatedToolInput(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
553
+ /**
554
+ * Detects when the LLM computes percentages incorrectly.
555
+ *
556
+ * Checks:
557
+ * 1. Percentage-of-total: "X is Y% of Z" — verifies Y ≈ (X/Z)*100
558
+ * 2. Percentage change: "increased by Y%" — verifies Y ≈ ((new-old)/old)*100
559
+ * 3. Share/proportion as percentage: response says "45%" but actual share from
560
+ * tool data computes to a different percentage.
561
+ */
562
+ export declare function detectPercentageError(trace: Trace, _claims: Claim[], verdicts: ClaimVerdict[]): RawFailure | null;
563
+ /**
564
+ * Detects when the LLM states a ratio or proportion that doesn't match
565
+ * the tool output data.
566
+ *
567
+ * Checks:
568
+ * 1. Explicit ratio "X:Y" — verifies against numeric pairs from tool data
569
+ * 2. "X out of Y" / "X od Y" — verifies X ≤ Y and that (X, Y) exist in data
570
+ * 3. Count-based ratios — "3 out of 5 employees" with tool data showing different counts
571
+ */
572
+ export declare function detectRatioError(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
573
+ /**
574
+ * Detects when the LLM computes a multiplication or division incorrectly.
575
+ *
576
+ * Strategies:
577
+ * 1. Explicit "A × B = C" or "A / B = C" in response text — verify the arithmetic.
578
+ * 2. Known field triples from tool data — e.g. unit_price × quantity should equal total.
579
+ * 3. Per-unit calculations — e.g. total / count should equal per-unit value.
580
+ */
581
+ export declare function detectMultiplicationError(trace: Trace, _claims: Claim[], _verdicts: ClaimVerdict[]): RawFailure | null;
582
+ /**
583
+ * Run all V1 grounding rules, then orchestrate: assign severity,
584
+ * detect primary vs. secondary failures, and suppress redundant ones.
585
+ */
586
+ export declare function runAllRules(trace: Trace, claims: Claim[], verdicts: ClaimVerdict[], fullTrace?: Trace): DetectedFailure[];
587
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Rules/index.ts"],"names":[],"mappings":"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"}