agentfootprint 6.40.0 → 6.41.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.
- package/dist/adapters/llm/BrowserOpenAIProvider.js +37 -13
- package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/OpenAIProvider.js +49 -20
- package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +37 -13
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/OpenAIProvider.js +49 -20
- package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/esm/observability/contextError/finders/compareFinders.js +22 -0
- package/dist/esm/observability/contextError/finders/compareFinders.js.map +1 -0
- package/dist/esm/observability/contextError/finders/index.js +7 -0
- package/dist/esm/observability/contextError/finders/index.js.map +1 -0
- package/dist/esm/observability/contextError/finders/rankSuspects.js +50 -0
- package/dist/esm/observability/contextError/finders/rankSuspects.js.map +1 -0
- package/dist/esm/observability/contextError/finders/removeAndRetry.js +43 -0
- package/dist/esm/observability/contextError/finders/removeAndRetry.js.map +1 -0
- package/dist/esm/observability/contextError/finders/shrinkToCause.js +87 -0
- package/dist/esm/observability/contextError/finders/shrinkToCause.js.map +1 -0
- package/dist/esm/observability/contextError/finders/testManyCombos.js +94 -0
- package/dist/esm/observability/contextError/finders/testManyCombos.js.map +1 -0
- package/dist/esm/observability/contextError/finders/traceSteps.js +62 -0
- package/dist/esm/observability/contextError/finders/traceSteps.js.map +1 -0
- package/dist/esm/observability/contextError/finders/types.js +2 -0
- package/dist/esm/observability/contextError/finders/types.js.map +1 -0
- package/dist/observability/contextError/finders/compareFinders.js +26 -0
- package/dist/observability/contextError/finders/compareFinders.js.map +1 -0
- package/dist/observability/contextError/finders/index.js +16 -0
- package/dist/observability/contextError/finders/index.js.map +1 -0
- package/dist/observability/contextError/finders/rankSuspects.js +53 -0
- package/dist/observability/contextError/finders/rankSuspects.js.map +1 -0
- package/dist/observability/contextError/finders/removeAndRetry.js +46 -0
- package/dist/observability/contextError/finders/removeAndRetry.js.map +1 -0
- package/dist/observability/contextError/finders/shrinkToCause.js +90 -0
- package/dist/observability/contextError/finders/shrinkToCause.js.map +1 -0
- package/dist/observability/contextError/finders/testManyCombos.js +97 -0
- package/dist/observability/contextError/finders/testManyCombos.js.map +1 -0
- package/dist/observability/contextError/finders/traceSteps.js +65 -0
- package/dist/observability/contextError/finders/traceSteps.js.map +1 -0
- package/dist/observability/contextError/finders/types.js +3 -0
- package/dist/observability/contextError/finders/types.js.map +1 -0
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +7 -0
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts +24 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
- package/dist/types/observability/contextError/finders/compareFinders.d.ts +20 -0
- package/dist/types/observability/contextError/finders/compareFinders.d.ts.map +1 -0
- package/dist/types/observability/contextError/finders/index.d.ts +23 -0
- package/dist/types/observability/contextError/finders/index.d.ts.map +1 -0
- package/dist/types/observability/contextError/finders/rankSuspects.d.ts +3 -0
- package/dist/types/observability/contextError/finders/rankSuspects.d.ts.map +1 -0
- package/dist/types/observability/contextError/finders/removeAndRetry.d.ts +12 -0
- package/dist/types/observability/contextError/finders/removeAndRetry.d.ts.map +1 -0
- package/dist/types/observability/contextError/finders/shrinkToCause.d.ts +12 -0
- package/dist/types/observability/contextError/finders/shrinkToCause.d.ts.map +1 -0
- package/dist/types/observability/contextError/finders/testManyCombos.d.ts +12 -0
- package/dist/types/observability/contextError/finders/testManyCombos.d.ts.map +1 -0
- package/dist/types/observability/contextError/finders/traceSteps.d.ts +3 -0
- package/dist/types/observability/contextError/finders/traceSteps.d.ts.map +1 -0
- package/dist/types/observability/contextError/finders/types.d.ts +89 -0
- package/dist/types/observability/contextError/finders/types.d.ts.map +1 -0
- package/package.json +6 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context-error finders — the plain, pluggable public surface for context-bug
|
|
3
|
+
* localization. A `Finder` answers one question: "which piece of context made the
|
|
4
|
+
* agent's answer wrong?" Each finder is a thin, named adapter over the engines in
|
|
5
|
+
* `src/lib/context-bisect` + `src/lib/influence-core`; the academic method + citation
|
|
6
|
+
* live in `meta`, never in the import name.
|
|
7
|
+
*
|
|
8
|
+
* Taxonomy (area / category / thing): observability / contextError / finders.
|
|
9
|
+
* Tree-shakeable: one finder = one file = one named export; import only what you use.
|
|
10
|
+
*/
|
|
11
|
+
import type { Embedder } from '../../../lib/influence-core/index.js';
|
|
12
|
+
/** How sure the finder is. `guessed` = ranked by a similarity proxy only;
|
|
13
|
+
* `proven` = a removal/re-run actually flipped the outcome (counterfactual). */
|
|
14
|
+
export type Evidence = 'guessed' | 'proven';
|
|
15
|
+
/** What the finder points at. `piece` = a context element; `step` = an agent step. */
|
|
16
|
+
export type Granularity = 'piece' | 'step';
|
|
17
|
+
/** A removable piece of context the finder can suspect. */
|
|
18
|
+
export interface ContextPiece {
|
|
19
|
+
readonly id: string;
|
|
20
|
+
readonly text: string;
|
|
21
|
+
}
|
|
22
|
+
/** One agent step (a tool-call), for finders that work at step granularity. */
|
|
23
|
+
export interface StepInput {
|
|
24
|
+
readonly id: string;
|
|
25
|
+
/** Human-readable label, e.g. `get_promo@L1`. */
|
|
26
|
+
readonly label: string;
|
|
27
|
+
readonly text: string;
|
|
28
|
+
}
|
|
29
|
+
/** Everything a finder may need. Light finders use `embedder`; counterfactual
|
|
30
|
+
* finders use `rerun`; step finders use `steps`. A finder throws if a field it
|
|
31
|
+
* needs is missing. */
|
|
32
|
+
export interface FindInput {
|
|
33
|
+
/** The removable context pieces to consider. */
|
|
34
|
+
readonly suspects: readonly ContextPiece[];
|
|
35
|
+
/** The wrong answer to explain. */
|
|
36
|
+
readonly wrongOutput: string;
|
|
37
|
+
/** Embedder for similarity-ranking finders. */
|
|
38
|
+
readonly embedder?: Embedder;
|
|
39
|
+
/** Re-run with the given pieces removed; `recovered` = the outcome flipped back. */
|
|
40
|
+
readonly rerun?: (removedIds: readonly string[]) => Promise<{
|
|
41
|
+
recovered: boolean;
|
|
42
|
+
outcome?: string;
|
|
43
|
+
}>;
|
|
44
|
+
/** The agent's steps, for step-granularity finders. */
|
|
45
|
+
readonly steps?: readonly StepInput[];
|
|
46
|
+
/** For testManyCombos: how many on/off combinations to sample (default ~4×#suspects). */
|
|
47
|
+
readonly samples?: number;
|
|
48
|
+
}
|
|
49
|
+
/** One suspect in the finder's ranked output. */
|
|
50
|
+
export interface ScoredSuspect {
|
|
51
|
+
readonly id: string;
|
|
52
|
+
/** Higher = more suspicious. Absent for finders that don't score. */
|
|
53
|
+
readonly score?: number;
|
|
54
|
+
}
|
|
55
|
+
/** What a finder returns. Plain fields, namespace-independent. */
|
|
56
|
+
export interface FindResult {
|
|
57
|
+
/** Which finder produced this. */
|
|
58
|
+
readonly finder: string;
|
|
59
|
+
/** Suspects, most-to-least suspicious. */
|
|
60
|
+
readonly suspects: readonly ScoredSuspect[];
|
|
61
|
+
/** The single top suspect, if any. */
|
|
62
|
+
readonly lead?: string;
|
|
63
|
+
/** The small set worth confirming when there is no clear single winner. */
|
|
64
|
+
readonly shortlist: readonly string[];
|
|
65
|
+
/** `guessed` (proxy) vs `proven` (counterfactual). */
|
|
66
|
+
readonly evidence: Evidence;
|
|
67
|
+
/** `piece` vs `step`. */
|
|
68
|
+
readonly granularity: Granularity;
|
|
69
|
+
/** How many times the finder re-ran the agent (the honest cost). 0 = free. */
|
|
70
|
+
readonly checks: number;
|
|
71
|
+
/** A self-explaining narrative of how the finder reached its answer. */
|
|
72
|
+
readonly explanation: string;
|
|
73
|
+
}
|
|
74
|
+
/** Attribution — kept off the import name, surfaced in docs / leaderboards. */
|
|
75
|
+
export interface FinderMeta {
|
|
76
|
+
/** Plain one-liner for a leaderboard row. */
|
|
77
|
+
readonly label: string;
|
|
78
|
+
/** The precise technique, for experts. */
|
|
79
|
+
readonly method: string;
|
|
80
|
+
/** Citation, if the finder reimplements a published method. */
|
|
81
|
+
readonly paper?: string;
|
|
82
|
+
}
|
|
83
|
+
/** A pluggable context-error finder. */
|
|
84
|
+
export interface Finder {
|
|
85
|
+
readonly name: string;
|
|
86
|
+
readonly meta: FinderMeta;
|
|
87
|
+
find(input: FindInput): Promise<FindResult>;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAErE;iFACiF;AACjF,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5C,sFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;wBAEwB;AACxB,MAAM,WAAW,SAAS;IACxB,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,mCAAmC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,oFAAoF;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,CACf,UAAU,EAAE,SAAS,MAAM,EAAE,KAC1B,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,uDAAuD;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,yFAAyF;IACzF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,kEAAkE;AAClE,MAAM,WAAW,UAAU;IACzB,kCAAkC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,sCAAsC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,yBAAyB;IACzB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,+EAA+E;AAC/E,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wCAAwC;AACxC,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentfootprint",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.41.0",
|
|
4
4
|
"description": "The explainable agent framework — build AI agents you can explain, audit, and trust. Built on footprintjs.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Sanjay Krishna Anbalagan",
|
|
@@ -122,6 +122,11 @@
|
|
|
122
122
|
"import": "./dist/esm/observe.js",
|
|
123
123
|
"require": "./dist/observe.js"
|
|
124
124
|
},
|
|
125
|
+
"./observability/contextError/finders": {
|
|
126
|
+
"types": "./dist/types/observability/contextError/finders/index.d.ts",
|
|
127
|
+
"import": "./dist/esm/observability/contextError/finders/index.js",
|
|
128
|
+
"require": "./dist/observability/contextError/finders/index.js"
|
|
129
|
+
},
|
|
125
130
|
"./resilience": {
|
|
126
131
|
"types": "./dist/types/resilience/index.d.ts",
|
|
127
132
|
"import": "./dist/esm/resilience/index.js",
|