agentfootprint 6.40.0 → 6.42.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/adapters/memory/agentcore.js +176 -156
- package/dist/adapters/memory/agentcore.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +6 -2
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +6 -2
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/memoryRecallInjections.js +59 -0
- package/dist/core/agent/memoryRecallInjections.js.map +1 -0
- 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/adapters/memory/agentcore.js +176 -156
- package/dist/esm/adapters/memory/agentcore.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.js +6 -2
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +6 -2
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/memoryRecallInjections.js +54 -0
- package/dist/esm/core/agent/memoryRecallInjections.js.map +1 -0
- 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/adapters/memory/agentcore.d.ts +74 -86
- package/dist/types/adapters/memory/agentcore.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/memoryRecallInjections.d.ts +9 -0
- package/dist/types/core/agent/memoryRecallInjections.d.ts.map +1 -0
- 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 +11 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildDynamicAgentChart.js","sourceRoot":"","sources":["../../../../src/core/agent/buildDynamicAgentChart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildDynamicAgentChart.js","sourceRoot":"","sources":["../../../../src/core/agent/buildDynamicAgentChart.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bridge memory recall into the injection-engine model.
|
|
3
|
+
*
|
|
4
|
+
* Each memory's READ subflow writes its formatted recall to the per-id scope key
|
|
5
|
+
* `memoryInjection_<id>` (an array of `{ role, content }`). The slot composers
|
|
6
|
+
* (`buildSystemPromptSlot` / `buildMessagesSlot`) only iterate `activeInjections` —
|
|
7
|
+
* so on the Agent path the recall was read, formatted, and persisted but NEVER
|
|
8
|
+
* composed into the prompt (a dead-end key). This turns those recalls into
|
|
9
|
+
* `'memory'`-flavored `ActiveInjection`s so the existing composers inject them:
|
|
10
|
+
* system-role content → the system slot (`inject.systemPrompt`), everything else →
|
|
11
|
+
* the messages slot (`inject.messages`).
|
|
12
|
+
*/
|
|
13
|
+
import { memoryInjectionKey } from '../../memory/define.types.js';
|
|
14
|
+
/** Build `'memory'`-flavored ActiveInjections from the per-id recall keys in `parent`. */
|
|
15
|
+
export function memoryRecallInjections(parent, memoryIds) {
|
|
16
|
+
const out = [];
|
|
17
|
+
for (const id of memoryIds) {
|
|
18
|
+
const recall = parent[memoryInjectionKey(id)];
|
|
19
|
+
if (!Array.isArray(recall) || recall.length === 0)
|
|
20
|
+
continue;
|
|
21
|
+
const msgs = recall;
|
|
22
|
+
const systemContent = msgs
|
|
23
|
+
.filter((m) => m.role === 'system')
|
|
24
|
+
.map((m) => m.content)
|
|
25
|
+
.join('\n\n');
|
|
26
|
+
const messages = msgs
|
|
27
|
+
.filter((m) => m.role !== 'system')
|
|
28
|
+
.map((m) => ({ role: m.role, content: m.content }));
|
|
29
|
+
if (!systemContent && messages.length === 0)
|
|
30
|
+
continue;
|
|
31
|
+
out.push({
|
|
32
|
+
id: `memory:${id}`,
|
|
33
|
+
flavor: 'memory',
|
|
34
|
+
description: `recall from memory '${id}'`,
|
|
35
|
+
inject: {
|
|
36
|
+
...(systemContent ? { systemPrompt: systemContent } : {}),
|
|
37
|
+
...(messages.length > 0 ? { messages } : {}),
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return out;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Append memory recalls to the active-injection set a slot-fork inputMapper hands to
|
|
45
|
+
* the system / messages slot subflows. No-op when the agent has no memories.
|
|
46
|
+
*/
|
|
47
|
+
export function withMemoryRecall(activeInjections, parent, memoryIds) {
|
|
48
|
+
const base = activeInjections ?? [];
|
|
49
|
+
if (memoryIds.length === 0)
|
|
50
|
+
return base;
|
|
51
|
+
const recall = memoryRecallInjections(parent, memoryIds);
|
|
52
|
+
return recall.length === 0 ? base : [...base, ...recall];
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=memoryRecallInjections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryRecallInjections.js","sourceRoot":"","sources":["../../../../src/core/agent/memoryRecallInjections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AASlE,0FAA0F;AAC1F,MAAM,UAAU,sBAAsB,CACpC,MAA+B,EAC/B,SAA4B;IAE5B,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC5D,MAAM,IAAI,GAAG,MAAkC,CAAC;QAChD,MAAM,aAAa,GAAG,IAAI;aACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACrB,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,IAAI;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACtD,GAAG,CAAC,IAAI,CAAC;YACP,EAAE,EAAE,UAAU,EAAE,EAAE;YAClB,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,uBAAuB,EAAE,GAAG;YACzC,MAAM,EAAE;gBACN,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,gBAAwD,EACxD,MAA+B,EAC/B,SAA4B;IAE5B,MAAM,IAAI,GAAG,gBAAgB,IAAI,EAAE,CAAC;IACpC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run each finder on `input`; a finder that throws (e.g. missing a dep it needs)
|
|
3
|
+
* becomes a row with `result: null` and `error` set, so one finder cannot abort
|
|
4
|
+
* the comparison.
|
|
5
|
+
*/
|
|
6
|
+
export async function compareFinders(finders, input) {
|
|
7
|
+
const rows = [];
|
|
8
|
+
for (const f of finders) {
|
|
9
|
+
try {
|
|
10
|
+
rows.push({ finder: f.name, result: await f.find(input) });
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
rows.push({
|
|
14
|
+
finder: f.name,
|
|
15
|
+
result: null,
|
|
16
|
+
error: e instanceof Error ? e.message : String(e),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return rows;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=compareFinders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compareFinders.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/compareFinders.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA0B,EAC1B,KAAgB;IAEhB,MAAM,IAAI,GAAiB,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC;gBACR,MAAM,EAAE,CAAC,CAAC,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aAClD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { rankSuspects } from './rankSuspects.js';
|
|
2
|
+
export { removeAndRetry } from './removeAndRetry.js';
|
|
3
|
+
export { traceSteps } from './traceSteps.js';
|
|
4
|
+
export { testManyCombos } from './testManyCombos.js';
|
|
5
|
+
export { shrinkToCause } from './shrinkToCause.js';
|
|
6
|
+
export { compareFinders } from './compareFinders.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/index.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAmB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* rankSuspects — the free, instant finder. Ranks context pieces by embedding
|
|
3
|
+
* influence on the wrong answer and says when it cannot confidently pick one
|
|
4
|
+
* (escalate). Zero model tokens (embeddings only); a guess, not a verdict.
|
|
5
|
+
*
|
|
6
|
+
* Method: four-signal embedding-influence composite + ranking-confidence escalation.
|
|
7
|
+
* Thin adapter over `scoreInfluence` / `rankingConfidence` (influence-core).
|
|
8
|
+
*/
|
|
9
|
+
import { rankingConfidence, scoreInfluence } from '../../../lib/influence-core/index.js';
|
|
10
|
+
export const rankSuspects = {
|
|
11
|
+
name: 'rankSuspects',
|
|
12
|
+
meta: {
|
|
13
|
+
label: 'Ranks context pieces by how much each resembles the wrong answer (free)',
|
|
14
|
+
method: 'four-signal embedding-influence composite + ranking-confidence escalation',
|
|
15
|
+
paper: 'this work',
|
|
16
|
+
},
|
|
17
|
+
async find(input) {
|
|
18
|
+
if (!input.embedder)
|
|
19
|
+
throw new Error('rankSuspects needs input.embedder');
|
|
20
|
+
const evidence = input.suspects.map((s) => ({
|
|
21
|
+
id: s.id,
|
|
22
|
+
text: s.text,
|
|
23
|
+
ancestorTexts: [],
|
|
24
|
+
}));
|
|
25
|
+
const scores = await scoreInfluence({
|
|
26
|
+
evidence,
|
|
27
|
+
finalAnswerText: input.wrongOutput,
|
|
28
|
+
embedder: input.embedder,
|
|
29
|
+
});
|
|
30
|
+
const conf = rankingConfidence(scores);
|
|
31
|
+
const explanation = [
|
|
32
|
+
`rankSuspects: scored ${scores.length} context pieces by embedding influence on the wrong answer.`,
|
|
33
|
+
conf.clearWinner
|
|
34
|
+
? `Clear lead: ${conf.lead ?? '(none)'}.`
|
|
35
|
+
: `No clear winner → escalate; shortlist: ${conf.shortlist.join(', ') || '(none)'}.`,
|
|
36
|
+
`This is a guess (similarity proxy), not proof — confirm with removeAndRetry.`,
|
|
37
|
+
].join('\n');
|
|
38
|
+
return {
|
|
39
|
+
finder: 'rankSuspects',
|
|
40
|
+
suspects: scores.map((s) => ({ id: s.id, score: s.score })),
|
|
41
|
+
lead: conf.lead,
|
|
42
|
+
shortlist: [...conf.shortlist],
|
|
43
|
+
evidence: 'guessed',
|
|
44
|
+
granularity: 'piece',
|
|
45
|
+
checks: 0,
|
|
46
|
+
explanation,
|
|
47
|
+
};
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=rankSuspects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rankSuspects.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/rankSuspects.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGzF,MAAM,CAAC,MAAM,YAAY,GAAW;IAClC,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE;QACJ,KAAK,EAAE,yEAAyE;QAChF,MAAM,EAAE,2EAA2E;QACnF,KAAK,EAAE,WAAW;KACnB;IACD,KAAK,CAAC,IAAI,CAAC,KAAgB;QACzB,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,aAAa,EAAE,EAAc;SAC9B,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;YAClC,QAAQ;YACR,eAAe,EAAE,KAAK,CAAC,WAAW;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG;YAClB,wBAAwB,MAAM,CAAC,MAAM,6DAA6D;YAClG,IAAI,CAAC,WAAW;gBACd,CAAC,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,QAAQ,GAAG;gBACzC,CAAC,CAAC,0CAA0C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG;YACtF,8EAA8E;SAC/E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3D,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,QAAQ,EAAE,SAAS;YACnB,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,CAAC;YACT,WAAW;SACZ,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export const removeAndRetry = {
|
|
2
|
+
name: 'removeAndRetry',
|
|
3
|
+
meta: {
|
|
4
|
+
label: 'Removes each piece and re-runs; keeps the ones whose removal fixes the answer',
|
|
5
|
+
method: 'leave-one-out ablation (counterfactual necessity)',
|
|
6
|
+
paper: 'CausalArmor (Kim 2026) / ContextCite (Cohen-Wang 2024)',
|
|
7
|
+
},
|
|
8
|
+
async find(input) {
|
|
9
|
+
if (!input.rerun)
|
|
10
|
+
throw new Error('removeAndRetry needs input.rerun');
|
|
11
|
+
const rerun = input.rerun;
|
|
12
|
+
const results = [];
|
|
13
|
+
for (const s of input.suspects) {
|
|
14
|
+
const r = await rerun([s.id]);
|
|
15
|
+
results.push({ id: s.id, recovered: r.recovered });
|
|
16
|
+
}
|
|
17
|
+
const flippers = results.filter((r) => r.recovered).map((r) => r.id);
|
|
18
|
+
// flippers first (causally necessary); stable for ties
|
|
19
|
+
const ranked = [...results].sort((a, b) => Number(b.recovered) - Number(a.recovered));
|
|
20
|
+
const explanation = [
|
|
21
|
+
`removeAndRetry: removed each of ${input.suspects.length} pieces and re-ran (${results.length} checks).`,
|
|
22
|
+
flippers.length
|
|
23
|
+
? `Removing these flipped the outcome (causally necessary): ${flippers.join(', ')}.`
|
|
24
|
+
: `No single removal flipped the outcome — possible over-determination (no necessary single cause).`,
|
|
25
|
+
flippers.length > 1
|
|
26
|
+
? `NOTE: ${flippers.length} pieces each flip — multiple necessary causes or incidental reroutes; narrow with a slice (rankSuspects) first.`
|
|
27
|
+
: '',
|
|
28
|
+
]
|
|
29
|
+
.filter(Boolean)
|
|
30
|
+
.join('\n');
|
|
31
|
+
return {
|
|
32
|
+
finder: 'removeAndRetry',
|
|
33
|
+
suspects: ranked.map((r) => ({ id: r.id })),
|
|
34
|
+
lead: flippers[0],
|
|
35
|
+
shortlist: flippers,
|
|
36
|
+
evidence: 'proven',
|
|
37
|
+
granularity: 'piece',
|
|
38
|
+
checks: results.length,
|
|
39
|
+
explanation,
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=removeAndRetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeAndRetry.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/removeAndRetry.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE;QACJ,KAAK,EAAE,+EAA+E;QACtF,MAAM,EAAE,mDAAmD;QAC3D,KAAK,EAAE,wDAAwD;KAChE;IACD,KAAK,CAAC,IAAI,CAAC,KAAgB;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,MAAM,OAAO,GAAyC,EAAE,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,uDAAuD;QACvD,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACtF,MAAM,WAAW,GAAG;YAClB,mCAAmC,KAAK,CAAC,QAAQ,CAAC,MAAM,uBAAuB,OAAO,CAAC,MAAM,WAAW;YACxG,QAAQ,CAAC,MAAM;gBACb,CAAC,CAAC,4DAA4D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACpF,CAAC,CAAC,kGAAkG;YACtG,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACjB,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,iHAAiH;gBAC3I,CAAC,CAAC,EAAE;SACP;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;YACL,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YACjB,SAAS,EAAE,QAAQ;YACnB,QAAQ,EAAE,QAAQ;YAClB,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW;SACZ,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export const shrinkToCause = {
|
|
2
|
+
name: 'shrinkToCause',
|
|
3
|
+
meta: {
|
|
4
|
+
label: 'Shrinks the suspect set to the smallest whose removal still fixes the answer',
|
|
5
|
+
method: 'delta-debugging minimization (ddmin) to the minimal recovering set',
|
|
6
|
+
paper: 'BugDoc, Lourenço et al. 2020 (SIGMOD)',
|
|
7
|
+
},
|
|
8
|
+
async find(input) {
|
|
9
|
+
if (!input.rerun)
|
|
10
|
+
throw new Error('shrinkToCause needs input.rerun');
|
|
11
|
+
const rerun = input.rerun;
|
|
12
|
+
const ids = input.suspects.map((s) => s.id);
|
|
13
|
+
let checks = 0;
|
|
14
|
+
const recovers = async (removed) => {
|
|
15
|
+
checks++;
|
|
16
|
+
return (await rerun(removed)).recovered;
|
|
17
|
+
};
|
|
18
|
+
// Precondition: removing everything must recover, else there is no removable cause here.
|
|
19
|
+
if (ids.length === 0 || !(await recovers(ids))) {
|
|
20
|
+
return {
|
|
21
|
+
finder: 'shrinkToCause',
|
|
22
|
+
suspects: ids.map((id) => ({ id })),
|
|
23
|
+
shortlist: [],
|
|
24
|
+
lead: undefined,
|
|
25
|
+
evidence: 'guessed',
|
|
26
|
+
granularity: 'piece',
|
|
27
|
+
checks,
|
|
28
|
+
explanation: `shrinkToCause: removing all ${ids.length} pieces did not recover — no single removable cause (over-determined or absent).`,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
// ddmin: minimize the removal set that still recovers.
|
|
32
|
+
let candidates = [...ids];
|
|
33
|
+
let n = 2;
|
|
34
|
+
while (candidates.length > 1) {
|
|
35
|
+
const size = Math.ceil(candidates.length / n);
|
|
36
|
+
let reduced = false;
|
|
37
|
+
// a single chunk's removal already recovers → narrow to it
|
|
38
|
+
for (let i = 0; i < candidates.length; i += size) {
|
|
39
|
+
const chunk = candidates.slice(i, i + size);
|
|
40
|
+
if (chunk.length && (await recovers(chunk))) {
|
|
41
|
+
candidates = chunk;
|
|
42
|
+
n = 2;
|
|
43
|
+
reduced = true;
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (!reduced) {
|
|
48
|
+
// removing a complement recovers → drop that chunk
|
|
49
|
+
for (let i = 0; i < candidates.length; i += size) {
|
|
50
|
+
const complement = [...candidates.slice(0, i), ...candidates.slice(i + size)];
|
|
51
|
+
if (complement.length && (await recovers(complement))) {
|
|
52
|
+
candidates = complement;
|
|
53
|
+
n = Math.max(n - 1, 2);
|
|
54
|
+
reduced = true;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (!reduced) {
|
|
60
|
+
if (n >= candidates.length)
|
|
61
|
+
break;
|
|
62
|
+
n = Math.min(candidates.length, n * 2);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const rest = ids.filter((id) => !candidates.includes(id));
|
|
66
|
+
const explanation = [
|
|
67
|
+
`shrinkToCause: delta-debugging minimization over ${ids.length} pieces in ${checks} checks.`,
|
|
68
|
+
`Minimal recovering set: ${candidates.join(', ')} (removing it flips the outcome; nothing smaller does).`,
|
|
69
|
+
checks < ids.length
|
|
70
|
+
? `Reached the cause in fewer checks than leave-one-out (${checks} vs ${ids.length}).`
|
|
71
|
+
: '',
|
|
72
|
+
]
|
|
73
|
+
.filter(Boolean)
|
|
74
|
+
.join('\n');
|
|
75
|
+
return {
|
|
76
|
+
finder: 'shrinkToCause',
|
|
77
|
+
suspects: [...candidates, ...rest].map((id) => ({ id })),
|
|
78
|
+
shortlist: candidates,
|
|
79
|
+
lead: candidates[0],
|
|
80
|
+
evidence: 'proven',
|
|
81
|
+
granularity: 'piece',
|
|
82
|
+
checks,
|
|
83
|
+
explanation,
|
|
84
|
+
};
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=shrinkToCause.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shrinkToCause.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/shrinkToCause.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/** Deterministic LCG so the masking is reproducible across runs (and in tests). */
|
|
2
|
+
function lcg(seed) {
|
|
3
|
+
let s = seed >>> 0;
|
|
4
|
+
return () => {
|
|
5
|
+
s = (Math.imul(s, 1664525) + 1013904223) >>> 0;
|
|
6
|
+
return s / 0x100000000;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export const testManyCombos = {
|
|
10
|
+
name: 'testManyCombos',
|
|
11
|
+
meta: {
|
|
12
|
+
label: 'Turns pieces on/off in many combinations and learns which drive the answer',
|
|
13
|
+
method: 'random-subset ablation + linear-surrogate attribution, then one confirming ablation',
|
|
14
|
+
paper: 'ContextCite, Cohen-Wang et al. 2024 (arXiv:2409.00729)',
|
|
15
|
+
},
|
|
16
|
+
async find(input) {
|
|
17
|
+
if (!input.rerun)
|
|
18
|
+
throw new Error('testManyCombos needs input.rerun');
|
|
19
|
+
const rerun = input.rerun;
|
|
20
|
+
const ids = input.suspects.map((s) => s.id);
|
|
21
|
+
if (ids.length === 0) {
|
|
22
|
+
return {
|
|
23
|
+
finder: 'testManyCombos',
|
|
24
|
+
suspects: [],
|
|
25
|
+
shortlist: [],
|
|
26
|
+
evidence: 'guessed',
|
|
27
|
+
granularity: 'piece',
|
|
28
|
+
checks: 0,
|
|
29
|
+
explanation: 'testManyCombos: no suspects to test.',
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
const samples = Math.max(4, input.samples ?? Math.min(40, ids.length * 4));
|
|
33
|
+
const rand = lcg(0x9e3779b9 ^ ids.length);
|
|
34
|
+
// per-id recovery rate when the piece is removed vs kept
|
|
35
|
+
const stat = new Map(ids.map((id) => [id, { remHits: 0, remN: 0, keepHits: 0, keepN: 0 }]));
|
|
36
|
+
for (let k = 0; k < samples; k++) {
|
|
37
|
+
const removed = ids.filter(() => rand() < 0.5);
|
|
38
|
+
const removedSet = new Set(removed);
|
|
39
|
+
const recovered = (await rerun(removed)).recovered ? 1 : 0;
|
|
40
|
+
for (const id of ids) {
|
|
41
|
+
const st = stat.get(id);
|
|
42
|
+
if (removedSet.has(id)) {
|
|
43
|
+
st.remHits += recovered;
|
|
44
|
+
st.remN++;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
st.keepHits += recovered;
|
|
48
|
+
st.keepN++;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// coefficient = P(recover | removed) − P(recover | kept): high ⇒ removing it fixes the answer
|
|
53
|
+
const scored = ids
|
|
54
|
+
.map((id) => {
|
|
55
|
+
const st = stat.get(id);
|
|
56
|
+
const remMean = st.remN ? st.remHits / st.remN : 0;
|
|
57
|
+
const keepMean = st.keepN ? st.keepHits / st.keepN : 0;
|
|
58
|
+
return { id, score: remMean - keepMean };
|
|
59
|
+
})
|
|
60
|
+
.sort((a, b) => b.score - a.score);
|
|
61
|
+
const lead = scored[0]?.id;
|
|
62
|
+
// confirm the top candidate with one clean single-piece ablation
|
|
63
|
+
let evidence = 'guessed';
|
|
64
|
+
let checks = samples;
|
|
65
|
+
if (lead) {
|
|
66
|
+
const r = await rerun([lead]);
|
|
67
|
+
checks++;
|
|
68
|
+
// 'proven' requires BOTH a positive learned contrast AND the lead flipping alone —
|
|
69
|
+
// guards against a degenerate rerun that recovers for every subset (no real signal,
|
|
70
|
+
// every score 0), which would otherwise falsely convict an arbitrary innocent.
|
|
71
|
+
evidence = r.recovered && (scored[0]?.score ?? 0) > 0 ? 'proven' : 'guessed';
|
|
72
|
+
}
|
|
73
|
+
const cutoff = Math.max(0.25, (scored[0]?.score ?? 0) / 2);
|
|
74
|
+
const shortlist = scored.filter((s) => s.score >= cutoff).map((s) => s.id);
|
|
75
|
+
const explanation = [
|
|
76
|
+
`testManyCombos: ran ${samples} random on/off combinations + 1 confirming check.`,
|
|
77
|
+
`Strongest learned effect: ${lead ?? '(none)'} (removing it most increases recovery).`,
|
|
78
|
+
evidence === 'proven'
|
|
79
|
+
? `Confirmed: removing ${lead} alone recovers the outcome.`
|
|
80
|
+
: `The top candidate did not confirm alone — treat as a guess (possible over-determination).`,
|
|
81
|
+
].join('\n');
|
|
82
|
+
return {
|
|
83
|
+
finder: 'testManyCombos',
|
|
84
|
+
suspects: scored,
|
|
85
|
+
lead,
|
|
86
|
+
shortlist: shortlist.length ? shortlist : lead ? [lead] : [],
|
|
87
|
+
evidence,
|
|
88
|
+
granularity: 'piece',
|
|
89
|
+
checks,
|
|
90
|
+
explanation,
|
|
91
|
+
};
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=testManyCombos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testManyCombos.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/testManyCombos.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* traceSteps — the step-level finder. Traces backward through the agent's steps
|
|
3
|
+
* (tool-calls) from the failure to the most suspicious step, then optionally checks
|
|
4
|
+
* whether correcting that step recovers the outcome. Its UNIT is the STEP: if the
|
|
5
|
+
* root cause is a context element (an injected fact/instruction), that is outside
|
|
6
|
+
* this finder's vocabulary — pair it with rankSuspects/removeAndRetry for elements.
|
|
7
|
+
*
|
|
8
|
+
* Method: dependency-guided backward search + step-recovery counterfactual.
|
|
9
|
+
*/
|
|
10
|
+
import { scoreInfluence } from '../../../lib/influence-core/index.js';
|
|
11
|
+
export const traceSteps = {
|
|
12
|
+
name: 'traceSteps',
|
|
13
|
+
meta: {
|
|
14
|
+
label: 'Traces backward through the agent steps to the one that led to the wrong answer',
|
|
15
|
+
method: 'dependency-guided backward search + step-recovery counterfactual (step granularity)',
|
|
16
|
+
paper: 'FALAT, Rafi et al. 2026 (arXiv:2606.00765)',
|
|
17
|
+
},
|
|
18
|
+
async find(input) {
|
|
19
|
+
if (!input.steps || !input.embedder)
|
|
20
|
+
throw new Error('traceSteps needs input.steps and input.embedder');
|
|
21
|
+
const evidence = input.steps.map((s) => ({
|
|
22
|
+
id: s.id,
|
|
23
|
+
text: s.text,
|
|
24
|
+
ancestorTexts: [],
|
|
25
|
+
}));
|
|
26
|
+
const ranked = await scoreInfluence({
|
|
27
|
+
evidence,
|
|
28
|
+
finalAnswerText: input.wrongOutput,
|
|
29
|
+
embedder: input.embedder,
|
|
30
|
+
});
|
|
31
|
+
const topId = ranked[0]?.id;
|
|
32
|
+
const step = input.steps.find((s) => s.id === topId);
|
|
33
|
+
let recovers;
|
|
34
|
+
let checks = 0;
|
|
35
|
+
if (input.rerun && topId) {
|
|
36
|
+
const r = await input.rerun([topId]);
|
|
37
|
+
recovers = r.recovered;
|
|
38
|
+
checks = 1;
|
|
39
|
+
}
|
|
40
|
+
const explanation = [
|
|
41
|
+
`traceSteps: backward dependency search over ${input.steps.length} agent steps.`,
|
|
42
|
+
`Most suspicious step: ${step?.label ?? topId ?? '(none)'}.`,
|
|
43
|
+
recovers === undefined
|
|
44
|
+
? ''
|
|
45
|
+
: `Correcting that step ${recovers ? 'recovered' : 'did NOT recover'} the outcome.`,
|
|
46
|
+
`Granularity is the STEP — if the root cause is a context element, it is outside this finder's vocabulary.`,
|
|
47
|
+
]
|
|
48
|
+
.filter(Boolean)
|
|
49
|
+
.join('\n');
|
|
50
|
+
return {
|
|
51
|
+
finder: 'traceSteps',
|
|
52
|
+
suspects: ranked.map((s) => ({ id: s.id, score: s.score })),
|
|
53
|
+
lead: topId,
|
|
54
|
+
shortlist: topId ? [topId] : [],
|
|
55
|
+
evidence: input.rerun ? 'proven' : 'guessed',
|
|
56
|
+
granularity: 'step',
|
|
57
|
+
checks,
|
|
58
|
+
explanation,
|
|
59
|
+
};
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=traceSteps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traceSteps.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/traceSteps.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAGtE,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE;QACJ,KAAK,EAAE,iFAAiF;QACxF,MAAM,EAAE,qFAAqF;QAC7F,KAAK,EAAE,4CAA4C;KACpD;IACD,KAAK,CAAC,IAAI,CAAC,KAAgB;QACzB,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ;YACjC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,aAAa,EAAE,EAAc;SAC9B,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;YAClC,QAAQ;YACR,eAAe,EAAE,KAAK,CAAC,WAAW;YAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;QACrD,IAAI,QAA6B,CAAC;QAClC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC;YACvB,MAAM,GAAG,CAAC,CAAC;QACb,CAAC;QACD,MAAM,WAAW,GAAG;YAClB,+CAA+C,KAAK,CAAC,KAAK,CAAC,MAAM,eAAe;YAChF,yBAAyB,IAAI,EAAE,KAAK,IAAI,KAAK,IAAI,QAAQ,GAAG;YAC5D,QAAQ,KAAK,SAAS;gBACpB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,wBAAwB,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,eAAe;YACrF,2GAA2G;SAC5G;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3D,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/B,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC5C,WAAW,EAAE,MAAM;YACnB,MAAM;YACN,WAAW;SACZ,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/observability/contextError/finders/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compareFinders = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Run each finder on `input`; a finder that throws (e.g. missing a dep it needs)
|
|
6
|
+
* becomes a row with `result: null` and `error` set, so one finder cannot abort
|
|
7
|
+
* the comparison.
|
|
8
|
+
*/
|
|
9
|
+
async function compareFinders(finders, input) {
|
|
10
|
+
const rows = [];
|
|
11
|
+
for (const f of finders) {
|
|
12
|
+
try {
|
|
13
|
+
rows.push({ finder: f.name, result: await f.find(input) });
|
|
14
|
+
}
|
|
15
|
+
catch (e) {
|
|
16
|
+
rows.push({
|
|
17
|
+
finder: f.name,
|
|
18
|
+
result: null,
|
|
19
|
+
error: e instanceof Error ? e.message : String(e),
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return rows;
|
|
24
|
+
}
|
|
25
|
+
exports.compareFinders = compareFinders;
|
|
26
|
+
//# sourceMappingURL=compareFinders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compareFinders.js","sourceRoot":"","sources":["../../../../src/observability/contextError/finders/compareFinders.ts"],"names":[],"mappings":";;;AAeA;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAClC,OAA0B,EAC1B,KAAgB;IAEhB,MAAM,IAAI,GAAiB,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC;gBACR,MAAM,EAAE,CAAC,CAAC,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;aAClD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAjBD,wCAiBC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compareFinders = exports.shrinkToCause = exports.testManyCombos = exports.traceSteps = exports.removeAndRetry = exports.rankSuspects = void 0;
|
|
4
|
+
var rankSuspects_js_1 = require("./rankSuspects.js");
|
|
5
|
+
Object.defineProperty(exports, "rankSuspects", { enumerable: true, get: function () { return rankSuspects_js_1.rankSuspects; } });
|
|
6
|
+
var removeAndRetry_js_1 = require("./removeAndRetry.js");
|
|
7
|
+
Object.defineProperty(exports, "removeAndRetry", { enumerable: true, get: function () { return removeAndRetry_js_1.removeAndRetry; } });
|
|
8
|
+
var traceSteps_js_1 = require("./traceSteps.js");
|
|
9
|
+
Object.defineProperty(exports, "traceSteps", { enumerable: true, get: function () { return traceSteps_js_1.traceSteps; } });
|
|
10
|
+
var testManyCombos_js_1 = require("./testManyCombos.js");
|
|
11
|
+
Object.defineProperty(exports, "testManyCombos", { enumerable: true, get: function () { return testManyCombos_js_1.testManyCombos; } });
|
|
12
|
+
var shrinkToCause_js_1 = require("./shrinkToCause.js");
|
|
13
|
+
Object.defineProperty(exports, "shrinkToCause", { enumerable: true, get: function () { return shrinkToCause_js_1.shrinkToCause; } });
|
|
14
|
+
var compareFinders_js_1 = require("./compareFinders.js");
|
|
15
|
+
Object.defineProperty(exports, "compareFinders", { enumerable: true, get: function () { return compareFinders_js_1.compareFinders; } });
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/observability/contextError/finders/index.ts"],"names":[],"mappings":";;;AA2BA,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AACrB,yDAAqD;AAA5C,mHAAA,cAAc,OAAA;AACvB,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AACnB,yDAAqD;AAA5C,mHAAA,cAAc,OAAA;AACvB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AACtB,yDAAsE;AAA7D,mHAAA,cAAc,OAAA"}
|