agentfootprint 7.7.0 → 7.9.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/CLAUDE.md +2 -1
- package/dist/adapters/llm/AnthropicProvider.js +5 -4
- package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BedrockProvider.js +5 -4
- package/dist/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserAnthropicProvider.js +5 -4
- package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserOpenAIProvider.js +13 -10
- package/dist/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/adapters/llm/OpenAIProvider.js +8 -6
- package/dist/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/core/Agent.js +10 -0
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/LLMCall.js +10 -1
- package/dist/core/LLMCall.js.map +1 -1
- package/dist/core/RunnerBase.js +42 -12
- package/dist/core/RunnerBase.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +7 -3
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildAgentMessageApiChart.js +18 -1
- package/dist/core/agent/buildAgentMessageApiChart.js.map +1 -1
- package/dist/core/agent/buildMessageApiChart.js +4 -1
- package/dist/core/agent/buildMessageApiChart.js.map +1 -1
- package/dist/core/agent/stages/callLLM.js +18 -2
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core-flow/Parallel.js +9 -1
- package/dist/core-flow/Parallel.js.map +1 -1
- package/dist/embedders/index.js +74 -26
- package/dist/embedders/index.js.map +1 -1
- package/dist/esm/adapters/llm/AnthropicProvider.d.ts +3 -3
- package/dist/esm/adapters/llm/AnthropicProvider.js +5 -4
- package/dist/esm/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BedrockProvider.d.ts +3 -3
- package/dist/esm/adapters/llm/BedrockProvider.js +5 -4
- package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.d.ts +3 -3
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +5 -4
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.d.ts +5 -5
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js +13 -10
- package/dist/esm/adapters/llm/BrowserOpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/llm/OpenAIProvider.d.ts +3 -3
- package/dist/esm/adapters/llm/OpenAIProvider.js +8 -6
- package/dist/esm/adapters/llm/OpenAIProvider.js.map +1 -1
- package/dist/esm/adapters/types.d.ts +95 -2
- package/dist/esm/core/Agent.js +10 -0
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/LLMCall.js +10 -1
- package/dist/esm/core/LLMCall.js.map +1 -1
- package/dist/esm/core/RunnerBase.d.ts +22 -1
- package/dist/esm/core/RunnerBase.js +42 -12
- package/dist/esm/core/RunnerBase.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.d.ts +7 -3
- package/dist/esm/core/agent/buildAgentChart.js +7 -3
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildAgentMessageApiChart.js +18 -1
- package/dist/esm/core/agent/buildAgentMessageApiChart.js.map +1 -1
- package/dist/esm/core/agent/buildMessageApiChart.js +4 -1
- package/dist/esm/core/agent/buildMessageApiChart.js.map +1 -1
- package/dist/esm/core/agent/stages/callLLM.js +18 -2
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/runner.d.ts +40 -5
- package/dist/esm/core-flow/Parallel.js +9 -1
- package/dist/esm/core-flow/Parallel.js.map +1 -1
- package/dist/esm/embedders/index.d.ts +96 -1
- package/dist/esm/embedders/index.js +74 -26
- package/dist/esm/embedders/index.js.map +1 -1
- package/dist/esm/index.js +9 -9
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/context-bisect/types.d.ts +9 -0
- package/dist/esm/lib/context-bisect/types.js.map +1 -1
- package/dist/esm/lib/recorded-chat/recordedChat.js +10 -1
- package/dist/esm/lib/recorded-chat/recordedChat.js.map +1 -1
- package/dist/esm/lib/recorded-chat/types.d.ts +10 -0
- package/dist/esm/observe.d.ts +3 -1
- package/dist/esm/observe.js +13 -1
- package/dist/esm/observe.js.map +1 -1
- package/dist/esm/providers.d.ts +1 -1
- package/dist/esm/recorders/core/EmitBridge.d.ts +9 -3
- package/dist/esm/recorders/core/EmitBridge.js +4 -3
- package/dist/esm/recorders/core/EmitBridge.js.map +1 -1
- package/dist/esm/recorders/core/ResilienceRecorder.d.ts +32 -0
- package/dist/esm/recorders/core/ResilienceRecorder.js +41 -0
- package/dist/esm/recorders/core/ResilienceRecorder.js.map +1 -0
- package/dist/esm/recorders/core/resilienceHooks.d.ts +34 -0
- package/dist/esm/recorders/core/resilienceHooks.js +74 -0
- package/dist/esm/recorders/core/resilienceHooks.js.map +1 -0
- package/dist/esm/recorders/core/typedEmit.d.ts +1 -2
- package/dist/esm/recorders/observability/BoundaryRecorder.d.ts +176 -12
- package/dist/esm/recorders/observability/BoundaryRecorder.js +119 -8
- package/dist/esm/recorders/observability/BoundaryRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/FlowchartRecorder.d.ts +13 -2
- package/dist/esm/recorders/observability/FlowchartRecorder.js +14 -3
- package/dist/esm/recorders/observability/FlowchartRecorder.js.map +1 -1
- package/dist/esm/recorders/observability/localObservability.d.ts +66 -6
- package/dist/esm/recorders/observability/localObservability.js +27 -7
- package/dist/esm/recorders/observability/localObservability.js.map +1 -1
- package/dist/esm/recorders/observability/recordRun.d.ts +143 -0
- package/dist/esm/recorders/observability/recordRun.js +133 -0
- package/dist/esm/recorders/observability/recordRun.js.map +1 -0
- package/dist/esm/recorders/observability/trace.d.ts +65 -13
- package/dist/esm/recorders/observability/trace.js +36 -9
- package/dist/esm/recorders/observability/trace.js.map +1 -1
- package/dist/esm/reliability/buildReliabilityGateChart.d.ts +23 -9
- package/dist/esm/reliability/buildReliabilityGateChart.js +37 -10
- package/dist/esm/reliability/buildReliabilityGateChart.js.map +1 -1
- package/dist/esm/resilience/withCircuitBreaker.d.ts +15 -5
- package/dist/esm/resilience/withCircuitBreaker.js +14 -7
- package/dist/esm/resilience/withCircuitBreaker.js.map +1 -1
- package/dist/esm/resilience/withFallback.d.ts +7 -1
- package/dist/esm/resilience/withFallback.js +30 -11
- package/dist/esm/resilience/withFallback.js.map +1 -1
- package/dist/esm/resilience/withRetry.d.ts +10 -5
- package/dist/esm/resilience/withRetry.js +53 -3
- package/dist/esm/resilience/withRetry.js.map +1 -1
- package/dist/esm/tool-providers/index.js +2 -2
- package/dist/esm/tool-providers/index.js.map +1 -1
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/lib/context-bisect/types.js.map +1 -1
- package/dist/lib/recorded-chat/recordedChat.js +10 -1
- package/dist/lib/recorded-chat/recordedChat.js.map +1 -1
- package/dist/observe.js +16 -2
- package/dist/observe.js.map +1 -1
- package/dist/recorders/core/EmitBridge.js +4 -3
- package/dist/recorders/core/EmitBridge.js.map +1 -1
- package/dist/recorders/core/ResilienceRecorder.js +45 -0
- package/dist/recorders/core/ResilienceRecorder.js.map +1 -0
- package/dist/recorders/core/resilienceHooks.js +78 -0
- package/dist/recorders/core/resilienceHooks.js.map +1 -0
- package/dist/recorders/observability/BoundaryRecorder.js +119 -8
- package/dist/recorders/observability/BoundaryRecorder.js.map +1 -1
- package/dist/recorders/observability/FlowchartRecorder.js +14 -3
- package/dist/recorders/observability/FlowchartRecorder.js.map +1 -1
- package/dist/recorders/observability/localObservability.js +27 -7
- package/dist/recorders/observability/localObservability.js.map +1 -1
- package/dist/recorders/observability/recordRun.js +137 -0
- package/dist/recorders/observability/recordRun.js.map +1 -0
- package/dist/recorders/observability/trace.js +36 -9
- package/dist/recorders/observability/trace.js.map +1 -1
- package/dist/reliability/buildReliabilityGateChart.js +37 -10
- package/dist/reliability/buildReliabilityGateChart.js.map +1 -1
- package/dist/resilience/withCircuitBreaker.js +14 -7
- package/dist/resilience/withCircuitBreaker.js.map +1 -1
- package/dist/resilience/withFallback.js +30 -11
- package/dist/resilience/withFallback.js.map +1 -1
- package/dist/resilience/withRetry.js +53 -3
- package/dist/resilience/withRetry.js.map +1 -1
- package/dist/tool-providers/index.js +2 -2
- package/dist/tool-providers/index.js.map +1 -1
- package/dist/types/adapters/llm/AnthropicProvider.d.ts +3 -3
- package/dist/types/adapters/llm/AnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BedrockProvider.d.ts +3 -3
- package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts +3 -3
- package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts +5 -5
- package/dist/types/adapters/llm/BrowserOpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/llm/OpenAIProvider.d.ts +3 -3
- package/dist/types/adapters/llm/OpenAIProvider.d.ts.map +1 -1
- package/dist/types/adapters/types.d.ts +95 -2
- package/dist/types/adapters/types.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/LLMCall.d.ts.map +1 -1
- package/dist/types/core/RunnerBase.d.ts +22 -1
- package/dist/types/core/RunnerBase.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts +7 -3
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentMessageApiChart.d.ts.map +1 -1
- package/dist/types/core/agent/buildMessageApiChart.d.ts.map +1 -1
- package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/runner.d.ts +40 -5
- package/dist/types/core/runner.d.ts.map +1 -1
- package/dist/types/core-flow/Parallel.d.ts.map +1 -1
- package/dist/types/embedders/index.d.ts +96 -1
- package/dist/types/embedders/index.d.ts.map +1 -1
- package/dist/types/lib/context-bisect/types.d.ts +9 -0
- package/dist/types/lib/context-bisect/types.d.ts.map +1 -1
- package/dist/types/lib/recorded-chat/recordedChat.d.ts.map +1 -1
- package/dist/types/lib/recorded-chat/types.d.ts +10 -0
- package/dist/types/lib/recorded-chat/types.d.ts.map +1 -1
- package/dist/types/observe.d.ts +3 -1
- package/dist/types/observe.d.ts.map +1 -1
- package/dist/types/providers.d.ts +1 -1
- package/dist/types/providers.d.ts.map +1 -1
- package/dist/types/recorders/core/EmitBridge.d.ts +9 -3
- package/dist/types/recorders/core/EmitBridge.d.ts.map +1 -1
- package/dist/types/recorders/core/ResilienceRecorder.d.ts +33 -0
- package/dist/types/recorders/core/ResilienceRecorder.d.ts.map +1 -0
- package/dist/types/recorders/core/resilienceHooks.d.ts +35 -0
- package/dist/types/recorders/core/resilienceHooks.d.ts.map +1 -0
- package/dist/types/recorders/core/typedEmit.d.ts +1 -2
- package/dist/types/recorders/core/typedEmit.d.ts.map +1 -1
- package/dist/types/recorders/observability/BoundaryRecorder.d.ts +176 -12
- package/dist/types/recorders/observability/BoundaryRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/FlowchartRecorder.d.ts +13 -2
- package/dist/types/recorders/observability/FlowchartRecorder.d.ts.map +1 -1
- package/dist/types/recorders/observability/localObservability.d.ts +66 -6
- package/dist/types/recorders/observability/localObservability.d.ts.map +1 -1
- package/dist/types/recorders/observability/recordRun.d.ts +144 -0
- package/dist/types/recorders/observability/recordRun.d.ts.map +1 -0
- package/dist/types/recorders/observability/trace.d.ts +65 -13
- package/dist/types/recorders/observability/trace.d.ts.map +1 -1
- package/dist/types/reliability/buildReliabilityGateChart.d.ts +23 -9
- package/dist/types/reliability/buildReliabilityGateChart.d.ts.map +1 -1
- package/dist/types/resilience/withCircuitBreaker.d.ts +15 -5
- package/dist/types/resilience/withCircuitBreaker.d.ts.map +1 -1
- package/dist/types/resilience/withFallback.d.ts +7 -1
- package/dist/types/resilience/withFallback.d.ts.map +1 -1
- package/dist/types/resilience/withRetry.d.ts +10 -5
- package/dist/types/resilience/withRetry.d.ts.map +1 -1
- package/package.json +4 -1
|
@@ -35,11 +35,16 @@ export interface WithRetryOptions {
|
|
|
35
35
|
*/
|
|
36
36
|
readonly shouldRetry?: (error: unknown, attempt: number) => boolean;
|
|
37
37
|
/**
|
|
38
|
-
* Hook invoked before each retry. Useful for logging
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
38
|
+
* Hook invoked before each retry. Useful for logging in standalone
|
|
39
|
+
* (non-agentfootprint) use. Receives the attempt number that's about
|
|
40
|
+
* to start (so attempt 2 = first retry).
|
|
41
|
+
*
|
|
42
|
+
* You do NOT need this to get retry telemetry inside a run: since v7.8
|
|
43
|
+
* the in-run LLM call sites hand this decorator an `LLMCallHooks` and
|
|
44
|
+
* translate its reports into `agentfootprint.error.retried` /
|
|
45
|
+
* `agentfootprint.error.recovered` events, stamped with the real
|
|
46
|
+
* `runId`/`runtimeStageId`. This hook is the consumer-owned escape
|
|
47
|
+
* hatch and its contract is unchanged.
|
|
43
48
|
*/
|
|
44
49
|
readonly onRetry?: (error: unknown, attempt: number, delayMs: number) => void;
|
|
45
50
|
}
|
|
@@ -39,11 +39,26 @@ export function withRetry(provider, options = {}) {
|
|
|
39
39
|
const onRetry = options.onRetry;
|
|
40
40
|
const wrapped = {
|
|
41
41
|
name: `${provider.name}+retry`,
|
|
42
|
-
async complete(req) {
|
|
42
|
+
async complete(req, hooks) {
|
|
43
43
|
let lastError;
|
|
44
|
+
// t0 for the `recovered` report's totalDurationMs. New
|
|
45
|
+
// instrumentation (the decorator did not measure this before v7.8),
|
|
46
|
+
// not a recovered fact.
|
|
47
|
+
const startedMs = Date.now();
|
|
44
48
|
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
45
49
|
try {
|
|
46
|
-
|
|
50
|
+
const res = await provider.complete(req, hooks);
|
|
51
|
+
// Only a success that FOLLOWED a failure is a recovery — a
|
|
52
|
+
// first-try success reports nothing (mirrors the rules loop's
|
|
53
|
+
// guard in reliabilityExecution.ts).
|
|
54
|
+
if (attempt > 1) {
|
|
55
|
+
hooks?.onResilience?.({
|
|
56
|
+
kind: 'recovered',
|
|
57
|
+
attempt,
|
|
58
|
+
totalDurationMs: Date.now() - startedMs,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return res;
|
|
47
62
|
}
|
|
48
63
|
catch (err) {
|
|
49
64
|
lastError = err;
|
|
@@ -52,6 +67,14 @@ export function withRetry(provider, options = {}) {
|
|
|
52
67
|
}
|
|
53
68
|
const delay = Math.min(maxDelayMs, initialDelayMs * Math.pow(backoffFactor, attempt - 1));
|
|
54
69
|
onRetry?.(err, attempt + 1, delay);
|
|
70
|
+
hooks?.onResilience?.({
|
|
71
|
+
kind: 'retried',
|
|
72
|
+
attempt: attempt + 1,
|
|
73
|
+
maxAttempts,
|
|
74
|
+
lastError: err instanceof Error ? err.message : String(err),
|
|
75
|
+
backoffMs: delay,
|
|
76
|
+
reason: classifyRetryReason(err),
|
|
77
|
+
});
|
|
55
78
|
await sleep(delay, req.signal);
|
|
56
79
|
}
|
|
57
80
|
}
|
|
@@ -61,13 +84,40 @@ export function withRetry(provider, options = {}) {
|
|
|
61
84
|
};
|
|
62
85
|
// Pass-through `stream()` if the underlying provider supports it.
|
|
63
86
|
// No retry on streams (mid-stream resumption is provider-specific).
|
|
87
|
+
// `hooks` must still be FORWARDED: a stacked inner decorator (e.g.
|
|
88
|
+
// withRetry(withFallback(...))) would otherwise go dark on the stream
|
|
89
|
+
// path.
|
|
64
90
|
if (provider.stream) {
|
|
91
|
+
wrapped.stream = (req, hooks) =>
|
|
65
92
|
// Guarded by `if (provider.stream)` above; assertion safe.
|
|
66
93
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
67
|
-
|
|
94
|
+
provider.stream(req, hooks);
|
|
68
95
|
}
|
|
69
96
|
return wrapped;
|
|
70
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Classify the ERROR that caused a retry, for `ResilienceReport.reason`.
|
|
100
|
+
*
|
|
101
|
+
* Reads exactly the fields `defaultShouldRetry` inspects, so the label
|
|
102
|
+
* always describes the same signal the default policy acted on. Note this
|
|
103
|
+
* is a classification of the error, NOT of the predicate's reasoning —
|
|
104
|
+
* `shouldRetry` returns a bare boolean, so a custom predicate's rationale
|
|
105
|
+
* is unknowable here. `'http-4xx'` is only reachable via a custom
|
|
106
|
+
* predicate (the default rejects non-429 4xx), which itself is a useful
|
|
107
|
+
* signal.
|
|
108
|
+
*/
|
|
109
|
+
function classifyRetryReason(err) {
|
|
110
|
+
const status = err?.status ?? err?.statusCode;
|
|
111
|
+
if (typeof status !== 'number')
|
|
112
|
+
return 'no-status';
|
|
113
|
+
if (status === 429)
|
|
114
|
+
return 'http-429';
|
|
115
|
+
if (status >= 500)
|
|
116
|
+
return 'http-5xx';
|
|
117
|
+
if (status >= 400)
|
|
118
|
+
return 'http-4xx';
|
|
119
|
+
return `http-${status}`;
|
|
120
|
+
}
|
|
71
121
|
// ── Defaults ────────────────────────────────────────────────────────
|
|
72
122
|
/**
|
|
73
123
|
* Skip retry for AbortError + 4xx-class errors. Retry on everything
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withRetry.js","sourceRoot":"","sources":["../../../src/resilience/withRetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"withRetry.js","sourceRoot":"","sources":["../../../src/resilience/withRetry.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export { staticTools } from './staticTools.js';
|
|
|
37
37
|
export { gatedTools } from './gatedTools.js';
|
|
38
38
|
export { skillScopedTools } from './skillScopedTools.js';
|
|
39
39
|
// Re-export tool sources from the MCP module so consumers find them in
|
|
40
|
-
// one place.
|
|
41
|
-
//
|
|
40
|
+
// one place. This subpath is the ONLY place `mcpClient` is public — the
|
|
41
|
+
// top-level barrel does not re-export it.
|
|
42
42
|
export { mcpClient, mockMcpClient } from '../lib/mcp/index.js';
|
|
43
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tool-providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,uEAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tool-providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,uEAAuE;AACvE,wEAAwE;AACxE,0CAA0C;AAC1C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -203,15 +203,15 @@ __exportStar(require("./patterns/index.js"), exports);
|
|
|
203
203
|
var index_js_1 = require("./lib/rag/index.js");
|
|
204
204
|
Object.defineProperty(exports, "defineRAG", { enumerable: true, get: function () { return index_js_1.defineRAG; } });
|
|
205
205
|
Object.defineProperty(exports, "indexDocuments", { enumerable: true, get: function () { return index_js_1.indexDocuments; } });
|
|
206
|
-
// MCP
|
|
207
|
-
//
|
|
208
|
-
//
|
|
209
|
-
//
|
|
210
|
-
//
|
|
211
|
-
//
|
|
212
|
-
//
|
|
213
|
-
//
|
|
214
|
-
//
|
|
206
|
+
// MCP + tool dispatch. Tool sources — `mcpClient` / `mockMcpClient`,
|
|
207
|
+
// which connect to a Model Context Protocol server and expose its tools
|
|
208
|
+
// as agentfootprint `Tool[]` for `agent.tools(...)` — and the dispatch
|
|
209
|
+
// primitives `staticTools` / `gatedTools` / `skillScopedTools` live
|
|
210
|
+
// ONLY under `agentfootprint/tool-providers`: one subpath for
|
|
211
|
+
// everything tool-related, so the main barrel stays focused on the core
|
|
212
|
+
// agent API. NONE of them are re-exported here.
|
|
213
|
+
// `@modelcontextprotocol/sdk` stays a lazy-required peer-dep, so an app
|
|
214
|
+
// that never touches MCP pays nothing for the subpath existing.
|
|
215
215
|
// Cross-cutting authorization (v2.5+). `agentfootprint/security` is the
|
|
216
216
|
// dedicated subpath; the root barrel also re-exports `PermissionPolicy`
|
|
217
217
|
// so existing v2.4 consumers find it at the top level.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/context-bisect/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;AA0aH,wEAAwE;AAE3D,QAAA,uBAAuB,GAAG;IACrC,uDAAuD;IACvD,QAAQ,EAAE,EAAE;IACZ,sDAAsD;IACtD,QAAQ,EAAE,EAAE;IACZ,0CAA0C;IAC1C,WAAW,EAAE,EAAE;IACf,4DAA4D;IAC5D,YAAY,EAAE,IAAI;IAClB,yEAAyE;IACzE,OAAO,EAAE,CAAC;IACV,mEAAmE;IACnE,aAAa,EAAE,GAAG;IAClB,mDAAmD;IACnD,SAAS,EAAE,EAAE;IACb,8DAA8D;IAC9D,WAAW,EAAE,CAAC;CACN,CAAC"}
|
|
@@ -138,7 +138,16 @@ class RecordedChatSession {
|
|
|
138
138
|
reply: out,
|
|
139
139
|
message,
|
|
140
140
|
transcriptBefore,
|
|
141
|
-
artifacts: Object.freeze({
|
|
141
|
+
artifacts: Object.freeze({
|
|
142
|
+
snapshot,
|
|
143
|
+
events: Object.freeze(events),
|
|
144
|
+
// The third piece of a recording: the chart. Captured from the
|
|
145
|
+
// per-turn agent HERE, because that agent is discarded on the next
|
|
146
|
+
// line and its spec goes with it — and nothing can reproduce the
|
|
147
|
+
// chart from a finished run. With it, a stored turn both localizes
|
|
148
|
+
// AND draws.
|
|
149
|
+
structure: agent.getSpec().buildTimeStructure,
|
|
150
|
+
}),
|
|
142
151
|
lastLlmCallId,
|
|
143
152
|
identity: options?.identity,
|
|
144
153
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recordedChat.js","sourceRoot":"","sources":["../../../src/lib/recorded-chat/recordedChat.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"recordedChat.js","sourceRoot":"","sources":["../../../src/lib/recorded-chat/recordedChat.ts"],"names":[],"mappings":"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"}
|
package/dist/observe.js
CHANGED
|
@@ -46,7 +46,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
46
46
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
47
47
|
};
|
|
48
48
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
exports.ledgerGated = exports.ledgerEntryScorer = exports.ledgerToolGate = exports.contextLedger = exports.formatRouteHop = exports.routeRecorder = exports.toolChoiceRecorder = exports.buildChoiceContext = exports.typedEmit = exports.agentThinkingTrace = exports.toolLineageRecorder = exports.attachStatus = exports.LoggingDomains = exports.attachLogging = exports.skillRecorder = exports.permissionRecorder = exports.memoryRecorder = exports.evalRecorder = exports.contextEvaluatedRecorder = exports.toolsRecorder = exports.costRecorder = exports.LiveAgentTurnTracker = exports.LiveToolTracker = exports.LiveLLMTracker = exports.LiveStateRecorder = exports.liveStateRecorder = exports.attachLocalObservability = exports.traceToStepGraph = exports.redactContent = exports.serializeTrace = exports.buildStepGraphFromEvents = exports.buildStepGraph = exports.attachFlowchart = exports.runStepRecorder = exports.RunStepRecorder = exports.buildRunSteps = exports.BoundaryRecorder = exports.boundaryRecorder = exports.agentRecorder = exports.compositionRecorder = exports.streamRecorder = exports.ContextRecorder = void 0;
|
|
49
|
+
exports.ledgerGated = exports.ledgerEntryScorer = exports.ledgerToolGate = exports.contextLedger = exports.formatRouteHop = exports.routeRecorder = exports.toolChoiceRecorder = exports.buildChoiceContext = exports.typedEmit = exports.agentThinkingTrace = exports.toolLineageRecorder = exports.attachStatus = exports.LoggingDomains = exports.attachLogging = exports.resilienceRecorder = exports.skillRecorder = exports.permissionRecorder = exports.memoryRecorder = exports.evalRecorder = exports.contextEvaluatedRecorder = exports.toolsRecorder = exports.costRecorder = exports.LiveAgentTurnTracker = exports.LiveToolTracker = exports.LiveLLMTracker = exports.LiveStateRecorder = exports.liveStateRecorder = exports.attachLocalObservability = exports.traceToStepGraph = exports.redactContent = exports.serializeTrace = exports.recordRun = exports.buildStepGraphFromEvents = exports.buildStepGraph = exports.attachFlowchart = exports.runStepRecorder = exports.RunStepRecorder = exports.buildRunSteps = exports.BoundaryRecorder = exports.boundaryRecorder = exports.agentRecorder = exports.compositionRecorder = exports.streamRecorder = exports.ContextRecorder = void 0;
|
|
50
50
|
// Tier 1 — context + stream
|
|
51
51
|
var ContextRecorder_js_1 = require("./recorders/core/ContextRecorder.js");
|
|
52
52
|
Object.defineProperty(exports, "ContextRecorder", { enumerable: true, get: function () { return ContextRecorder_js_1.ContextRecorder; } });
|
|
@@ -68,6 +68,12 @@ var FlowchartRecorder_js_1 = require("./recorders/observability/FlowchartRecorde
|
|
|
68
68
|
Object.defineProperty(exports, "attachFlowchart", { enumerable: true, get: function () { return FlowchartRecorder_js_1.attachFlowchart; } });
|
|
69
69
|
Object.defineProperty(exports, "buildStepGraph", { enumerable: true, get: function () { return FlowchartRecorder_js_1.buildStepGraph; } });
|
|
70
70
|
Object.defineProperty(exports, "buildStepGraphFromEvents", { enumerable: true, get: function () { return FlowchartRecorder_js_1.buildStepGraphFromEvents; } });
|
|
71
|
+
// recordRun — save a run so a viewer can show it later. THE producer for
|
|
72
|
+
// `{ snapshot, events, structure }`: the timeline, the state, and the chart,
|
|
73
|
+
// which is the shape the UIs consume (lens's `observeRecording`) and the one
|
|
74
|
+
// every integration used to assemble by hand, each missing a different piece.
|
|
75
|
+
var recordRun_js_1 = require("./recorders/observability/recordRun.js");
|
|
76
|
+
Object.defineProperty(exports, "recordRun", { enumerable: true, get: function () { return recordRun_js_1.recordRun; } });
|
|
71
77
|
// Offline replay: freeze a live run model into a UI-free, JSON-lossless Trace
|
|
72
78
|
// (redaction applied at the serialize boundary). agentfootprint-lens's <Replay>
|
|
73
79
|
// rehydrates it. See docs/design/local-observability-and-pii.md.
|
|
@@ -75,7 +81,9 @@ var trace_js_1 = require("./recorders/observability/trace.js");
|
|
|
75
81
|
Object.defineProperty(exports, "serializeTrace", { enumerable: true, get: function () { return trace_js_1.serializeTrace; } });
|
|
76
82
|
Object.defineProperty(exports, "redactContent", { enumerable: true, get: function () { return trace_js_1.redactContent; } });
|
|
77
83
|
Object.defineProperty(exports, "traceToStepGraph", { enumerable: true, get: function () { return trace_js_1.traceToStepGraph; } });
|
|
78
|
-
// localObservability — Tier-3 retain: live
|
|
84
|
+
// localObservability — Tier-3 retain: live onLive(graph) + offline
|
|
85
|
+
// getTrace()/onRecorded. NOT a Lens recorder — to render a run in Lens, use
|
|
86
|
+
// `recordRun` above and lens's `observeRecording`.
|
|
79
87
|
var localObservability_js_1 = require("./recorders/observability/localObservability.js");
|
|
80
88
|
Object.defineProperty(exports, "attachLocalObservability", { enumerable: true, get: function () { return localObservability_js_1.attachLocalObservability; } });
|
|
81
89
|
var LiveStateRecorder_js_1 = require("./recorders/observability/LiveStateRecorder.js");
|
|
@@ -99,6 +107,12 @@ var PermissionRecorder_js_1 = require("./recorders/core/PermissionRecorder.js");
|
|
|
99
107
|
Object.defineProperty(exports, "permissionRecorder", { enumerable: true, get: function () { return PermissionRecorder_js_1.permissionRecorder; } });
|
|
100
108
|
var SkillRecorder_js_1 = require("./recorders/core/SkillRecorder.js");
|
|
101
109
|
Object.defineProperty(exports, "skillRecorder", { enumerable: true, get: function () { return SkillRecorder_js_1.skillRecorder; } });
|
|
110
|
+
// Provider-decorator telemetry (fallback.triggered / error.retried /
|
|
111
|
+
// error.recovered). Attached automatically by Agent / LLMCall / Parallel;
|
|
112
|
+
// exported so consumers running the public message-api charts on a bare
|
|
113
|
+
// FlowChartExecutor can wire the bridge themselves.
|
|
114
|
+
var ResilienceRecorder_js_1 = require("./recorders/core/ResilienceRecorder.js");
|
|
115
|
+
Object.defineProperty(exports, "resilienceRecorder", { enumerable: true, get: function () { return ResilienceRecorder_js_1.resilienceRecorder; } });
|
|
102
116
|
var LoggingRecorder_js_1 = require("./recorders/observability/LoggingRecorder.js");
|
|
103
117
|
Object.defineProperty(exports, "attachLogging", { enumerable: true, get: function () { return LoggingRecorder_js_1.attachLogging; } });
|
|
104
118
|
Object.defineProperty(exports, "LoggingDomains", { enumerable: true, get: function () { return LoggingRecorder_js_1.LoggingDomains; } });
|
package/dist/observe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;;;;;;;;;;;;;;;;AAEH,4BAA4B;AAC5B,0EAAmG;AAA1F,qHAAA,eAAe,OAAA;AACxB,wEAAgG;AAAvF,mHAAA,cAAc,OAAA;AAEvB,+BAA+B;AAC/B,kFAGiD;AAF/C,6HAAA,mBAAmB,OAAA;AAGrB,sEAA6F;AAApF,iHAAA,aAAa,OAAA;AACtB,
|
|
1
|
+
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../src/observe.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;;;;;;;;;;;;;;;;;AAEH,4BAA4B;AAC5B,0EAAmG;AAA1F,qHAAA,eAAe,OAAA;AACxB,wEAAgG;AAAvF,mHAAA,cAAc,OAAA;AAEvB,+BAA+B;AAC/B,kFAGiD;AAF/C,6HAAA,mBAAmB,OAAA;AAGrB,sEAA6F;AAApF,iHAAA,aAAa,OAAA;AACtB,qFAoBuD;AAnBrD,uHAAA,gBAAgB,OAAA;AAChB,uHAAA,gBAAgB,OAAA;AAmBlB,mFAWsD;AAVpD,mHAAA,aAAa,OAAA;AACb,qHAAA,eAAe,OAAA;AACf,qHAAA,eAAe,OAAA;AASjB,uFAWwD;AAVtD,uHAAA,eAAe,OAAA;AACf,sHAAA,cAAc,OAAA;AACd,gIAAA,wBAAwB,OAAA;AAU1B,yEAAyE;AACzE,6EAA6E;AAC7E,6EAA6E;AAC7E,8EAA8E;AAC9E,uEAKgD;AAJ9C,yGAAA,SAAS,OAAA;AAMX,8EAA8E;AAC9E,gFAAgF;AAChF,iEAAiE;AACjE,+DAQ4C;AAP1C,0GAAA,cAAc,OAAA;AACd,yGAAA,aAAa,OAAA;AACb,4GAAA,gBAAgB,OAAA;AAOlB,mEAAmE;AACnE,4EAA4E;AAC5E,mDAAmD;AACnD,yFAIyD;AAHvD,iIAAA,wBAAwB,OAAA;AAK1B,uFAUwD;AATtD,yHAAA,iBAAiB,OAAA;AACjB,yHAAA,iBAAiB,OAAA;AACjB,sHAAA,cAAc,OAAA;AACd,uHAAA,eAAe,OAAA;AACf,4HAAA,oBAAoB,OAAA;AAOtB,6BAA6B;AAC7B,oEAA0F;AAAjF,+GAAA,YAAY,OAAA;AACrB,sEAA6F;AAApF,iHAAA,aAAa,OAAA;AACtB,4FAGsD;AAFpD,uIAAA,wBAAwB,OAAA;AAG1B,oEAA0F;AAAjF,+GAAA,YAAY,OAAA;AACrB,wEAAgG;AAAvF,mHAAA,cAAc,OAAA;AACvB,gFAGgD;AAF9C,2HAAA,kBAAkB,OAAA;AAGpB,sEAA6F;AAApF,iHAAA,aAAa,OAAA;AACtB,qEAAqE;AACrE,0EAA0E;AAC1E,wEAAwE;AACxE,oDAAoD;AACpD,gFAGgD;AAF9C,2HAAA,kBAAkB,OAAA;AAGpB,mFAMsD;AALpD,mHAAA,aAAa,OAAA;AACb,oHAAA,cAAc,OAAA;AAKhB,iFAIqD;AAHnD,iHAAA,YAAY,OAAA;AAId,4EAA4E;AAC5E,gFAAgF;AAChF,2FAO0D;AANxD,6HAAA,mBAAmB,OAAA;AAOrB,gFAAgF;AAChF,gFAAgF;AAChF,yGASiE;AAR/D,mIAAA,kBAAkB,OAAA;AAUpB,uDAAuD;AACvD,8DAA0D;AAAjD,yGAAA,SAAS,OAAA;AAElB,kEAAkE;AAClE,uEAAuE;AACvE,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,wEAAwE;AACxE,6CAA2B;AAC3B,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AACrE,oEAAoE;AACpE,yFASyD;AARvD,2HAAA,kBAAkB,OAAA;AAClB,2HAAA,kBAAkB,OAAA;AASpB,+EASoD;AARlD,iHAAA,aAAa,OAAA;AACb,kHAAA,cAAc,OAAA;AAShB,sEAAsE;AACtE,4EAA4E;AAC5E,+CAA+C;AAC/C,0DAKuC;AAJrC,yGAAA,aAAa,OAAA;AACb,0GAAA,cAAc,OAAA;AACd,6GAAA,iBAAiB,OAAA;AACjB,uGAAA,WAAW,OAAA"}
|
|
@@ -16,18 +16,19 @@ const eventMeta_js_1 = require("../../bridge/eventMeta.js");
|
|
|
16
16
|
class EmitBridge {
|
|
17
17
|
id;
|
|
18
18
|
dispatcher;
|
|
19
|
-
|
|
19
|
+
prefixes;
|
|
20
20
|
getRunContext;
|
|
21
21
|
constructor(options) {
|
|
22
22
|
this.dispatcher = options.dispatcher;
|
|
23
23
|
this.id = options.id;
|
|
24
|
-
this.
|
|
24
|
+
this.prefixes = typeof options.prefix === 'string' ? [options.prefix] : options.prefix;
|
|
25
25
|
this.getRunContext = options.getRunContext;
|
|
26
26
|
}
|
|
27
27
|
onEmit(event) {
|
|
28
28
|
if (typeof event.name !== 'string')
|
|
29
29
|
return;
|
|
30
|
-
|
|
30
|
+
const name = event.name;
|
|
31
|
+
if (!this.prefixes.some((p) => name.startsWith(p)))
|
|
31
32
|
return;
|
|
32
33
|
const type = event.name;
|
|
33
34
|
if (!this.dispatcher.hasListenersFor(type))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmitBridge.js","sourceRoot":"","sources":["../../../src/recorders/core/EmitBridge.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAKH,4DAA4E;
|
|
1
|
+
{"version":3,"file":"EmitBridge.js","sourceRoot":"","sources":["../../../src/recorders/core/EmitBridge.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAKH,4DAA4E;AAiB5E,MAAa,UAAU;IACZ,EAAE,CAAS;IACH,UAAU,CAAkB;IAC5B,QAAQ,CAAoB;IAC5B,aAAa,CAAmB;IAEjD,YAAY,OAA0B;QACpC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,KAAgB;QACrB,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO;QAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,IAA+B,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC;YAAE,OAAO;QAEnD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAqE,CAAC;QAC5F,MAAM,IAAI,GAAG,IAAA,6BAAc,EACzB,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,EACxE,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YACvB,IAAI;YACJ,OAAO;YACP,IAAI;SAC8C,CAAC,CAAC;IACxD,CAAC;CACF;AAhCD,gCAgCC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ResilienceRecorder — forwards the provider-decorator telemetry family
|
|
4
|
+
* to the dispatcher.
|
|
5
|
+
*
|
|
6
|
+
* Pattern: Factory (GoF) returning an EmitBridge instance.
|
|
7
|
+
* Role: Bridges the three events the resilience decorators source
|
|
8
|
+
* (`fallback.triggered` / `error.retried` / `error.recovered`,
|
|
9
|
+
* emitted in-run by `resilienceHooks` via `typedEmit`) to the
|
|
10
|
+
* EventDispatcher so typed consumer listeners
|
|
11
|
+
* (`agent.on('agentfootprint.error.retried', …)`) fire. Without
|
|
12
|
+
* this bridge those emits hit the footprintjs emit channel but
|
|
13
|
+
* never reach the dispatcher.
|
|
14
|
+
* Emits: agentfootprint.fallback.triggered
|
|
15
|
+
* agentfootprint.error.retried
|
|
16
|
+
* agentfootprint.error.recovered
|
|
17
|
+
*
|
|
18
|
+
* Matched on EXACT full event names rather than the broader
|
|
19
|
+
* `agentfootprint.error.` prefix. `error.fatal` is dispatched directly by
|
|
20
|
+
* ErrorBridge (from footprintjs's `onRunFailed`, never via `$emit`), so a
|
|
21
|
+
* broad prefix would be harmless today — the exact names close the
|
|
22
|
+
* double-dispatch trap outright if that ever changes.
|
|
23
|
+
*
|
|
24
|
+
* NOTE: this is the DECORATOR family (fixed `maxAttempts` + exponential
|
|
25
|
+
* backoff). The rules-based reliability loop's dynamic decisions ride the
|
|
26
|
+
* `reliability.*` family and its own bridge — the two legitimately
|
|
27
|
+
* interleave in one stage but stay distinct. See docs/MENTAL_MODEL.md §14.
|
|
28
|
+
*/
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.resilienceRecorder = void 0;
|
|
31
|
+
const EmitBridge_js_1 = require("./EmitBridge.js");
|
|
32
|
+
function resilienceRecorder(options) {
|
|
33
|
+
return new EmitBridge_js_1.EmitBridge({
|
|
34
|
+
id: options.id ?? 'agentfootprint.resilience-recorder',
|
|
35
|
+
prefix: [
|
|
36
|
+
'agentfootprint.fallback.triggered',
|
|
37
|
+
'agentfootprint.error.retried',
|
|
38
|
+
'agentfootprint.error.recovered',
|
|
39
|
+
],
|
|
40
|
+
dispatcher: options.dispatcher,
|
|
41
|
+
getRunContext: options.getRunContext,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
exports.resilienceRecorder = resilienceRecorder;
|
|
45
|
+
//# sourceMappingURL=ResilienceRecorder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResilienceRecorder.js","sourceRoot":"","sources":["../../../src/recorders/core/ResilienceRecorder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;;;AAEH,mDAAqE;AAMrE,SAAgB,kBAAkB,CAAC,OAAkC;IACnE,OAAO,IAAI,0BAAU,CAAC;QACpB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,oCAAoC;QACtD,MAAM,EAAE;YACN,mCAAmC;YACnC,8BAA8B;YAC9B,gCAAgC;SACjC;QACD,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;AACL,CAAC;AAXD,gDAWC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* resilienceHooks — turns a resilience decorator's `ResilienceReport`
|
|
4
|
+
* into an already-declared typed event, emitted from inside the run.
|
|
5
|
+
*
|
|
6
|
+
* Pattern: Adapter (GoF) — one translation function, fact → event.
|
|
7
|
+
* Role: The seam between `src/resilience/` (which knows nothing about
|
|
8
|
+
* runs, scopes or events) and the in-run LLM call sites (which
|
|
9
|
+
* hold a live scope). The decorator REPORTS; this maps the
|
|
10
|
+
* report to `typedEmit`, so correlation ids come from
|
|
11
|
+
* footprintjs's traversal rather than being synthesized.
|
|
12
|
+
* Emits: agentfootprint.fallback.triggered
|
|
13
|
+
* agentfootprint.error.retried
|
|
14
|
+
* agentfootprint.error.recovered
|
|
15
|
+
*
|
|
16
|
+
* Why here and not in the decorators: a decorator is constructed by the
|
|
17
|
+
* consumer BEFORE any run exists, so it can never reach a scope. Passing
|
|
18
|
+
* the hooks object per call is what lets the report cross that boundary.
|
|
19
|
+
*
|
|
20
|
+
* Every declared payload field is filled from a report field of the same
|
|
21
|
+
* name — nothing is synthesized. `FallbackTriggeredPayload.kind` is the
|
|
22
|
+
* literal `'provider'`; its `'tool'`/`'skill'` arms stay unused.
|
|
23
|
+
*/
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.resilienceHooks = void 0;
|
|
26
|
+
const typedEmit_js_1 = require("./typedEmit.js");
|
|
27
|
+
/**
|
|
28
|
+
* Build the per-call hooks object for one stage. Hoist it once per stage
|
|
29
|
+
* rather than per attempt — it is stateless and safe to reuse across
|
|
30
|
+
* reliability-loop iterations.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* const providerHooks = resilienceHooks(scope);
|
|
34
|
+
* const response = await provider.complete(request, providerHooks);
|
|
35
|
+
*/
|
|
36
|
+
function resilienceHooks(scope) {
|
|
37
|
+
return {
|
|
38
|
+
onResilience(report) {
|
|
39
|
+
// The library owns THIS sink, and it is the only one that runs
|
|
40
|
+
// in-run — so guard it once here. Telemetry must never break an
|
|
41
|
+
// LLM call (footprintjs's "recorder errors never abort traversal"
|
|
42
|
+
// invariant). A CONSUMER-supplied onResilience is deliberately
|
|
43
|
+
// unguarded, matching onRetry/onFallback/onStateChange.
|
|
44
|
+
try {
|
|
45
|
+
switch (report.kind) {
|
|
46
|
+
case 'fell-back':
|
|
47
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.fallback.triggered', {
|
|
48
|
+
kind: 'provider',
|
|
49
|
+
primary: report.primary,
|
|
50
|
+
fallback: report.fallback,
|
|
51
|
+
reason: report.reason,
|
|
52
|
+
});
|
|
53
|
+
return;
|
|
54
|
+
case 'retried':
|
|
55
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.error.retried', {
|
|
56
|
+
attempt: report.attempt,
|
|
57
|
+
maxAttempts: report.maxAttempts,
|
|
58
|
+
lastError: report.lastError,
|
|
59
|
+
backoffMs: report.backoffMs,
|
|
60
|
+
reason: report.reason,
|
|
61
|
+
});
|
|
62
|
+
return;
|
|
63
|
+
case 'recovered':
|
|
64
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.error.recovered', {
|
|
65
|
+
attempt: report.attempt,
|
|
66
|
+
totalDurationMs: report.totalDurationMs,
|
|
67
|
+
});
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// Swallowed by design — see the comment above.
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
exports.resilienceHooks = resilienceHooks;
|
|
78
|
+
//# sourceMappingURL=resilienceHooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resilienceHooks.js","sourceRoot":"","sources":["../../../src/recorders/core/resilienceHooks.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAGH,iDAA+D;AAE/D;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAAC,KAAoB;IAClD,OAAO;QACL,YAAY,CAAC,MAAM;YACjB,+DAA+D;YAC/D,gEAAgE;YAChE,kEAAkE;YAClE,+DAA+D;YAC/D,wDAAwD;YACxD,IAAI,CAAC;gBACH,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,WAAW;wBACd,IAAA,wBAAS,EAAC,KAAK,EAAE,mCAAmC,EAAE;4BACpD,IAAI,EAAE,UAAU;4BAChB,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,MAAM,EAAE,MAAM,CAAC,MAAM;yBACtB,CAAC,CAAC;wBACH,OAAO;oBACT,KAAK,SAAS;wBACZ,IAAA,wBAAS,EAAC,KAAK,EAAE,8BAA8B,EAAE;4BAC/C,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;yBACtB,CAAC,CAAC;wBACH,OAAO;oBACT,KAAK,WAAW;wBACd,IAAA,wBAAS,EAAC,KAAK,EAAE,gCAAgC,EAAE;4BACjD,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,eAAe,EAAE,MAAM,CAAC,eAAe;yBACxC,CAAC,CAAC;wBACH,OAAO;gBACX,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,+CAA+C;YACjD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAvCD,0CAuCC"}
|