@strands-agents/sdk 1.11.2 → 1.12.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.
Files changed (110) hide show
  1. package/README.md +0 -1
  2. package/dist/src/agent/agent.d.ts +20 -4
  3. package/dist/src/agent/agent.d.ts.map +1 -1
  4. package/dist/src/agent/agent.js +26 -6
  5. package/dist/src/agent/agent.js.map +1 -1
  6. package/dist/src/context-manager/modes/agentic/agentic-context.d.ts +5 -0
  7. package/dist/src/context-manager/modes/agentic/agentic-context.d.ts.map +1 -1
  8. package/dist/src/context-manager/modes/agentic/agentic-context.js +6 -1
  9. package/dist/src/context-manager/modes/agentic/agentic-context.js.map +1 -1
  10. package/dist/src/conversation-manager/conversation-manager.d.ts +0 -2
  11. package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -1
  12. package/dist/src/conversation-manager/conversation-manager.js +2 -10
  13. package/dist/src/conversation-manager/conversation-manager.js.map +1 -1
  14. package/dist/src/index.d.ts +1 -1
  15. package/dist/src/index.d.ts.map +1 -1
  16. package/dist/src/index.js.map +1 -1
  17. package/dist/src/mcp/client.d.ts +35 -1
  18. package/dist/src/mcp/client.d.ts.map +1 -1
  19. package/dist/src/mcp/client.js +64 -11
  20. package/dist/src/mcp/client.js.map +1 -1
  21. package/dist/src/mcp/config.d.ts +15 -0
  22. package/dist/src/mcp/config.d.ts.map +1 -1
  23. package/dist/src/mcp/config.js.map +1 -1
  24. package/dist/src/mcp/config.node.d.ts.map +1 -1
  25. package/dist/src/mcp/config.node.js +24 -0
  26. package/dist/src/mcp/config.node.js.map +1 -1
  27. package/dist/src/mcp/index.d.ts +2 -2
  28. package/dist/src/mcp/index.d.ts.map +1 -1
  29. package/dist/src/mcp/index.js.map +1 -1
  30. package/dist/src/middleware/interrupt.d.ts +4 -1
  31. package/dist/src/middleware/interrupt.d.ts.map +1 -1
  32. package/dist/src/middleware/interrupt.js +4 -2
  33. package/dist/src/middleware/interrupt.js.map +1 -1
  34. package/dist/src/models/defaults.d.ts +2 -0
  35. package/dist/src/models/defaults.d.ts.map +1 -1
  36. package/dist/src/models/defaults.js +16 -0
  37. package/dist/src/models/defaults.js.map +1 -1
  38. package/dist/src/models/model.d.ts +10 -0
  39. package/dist/src/models/model.d.ts.map +1 -1
  40. package/dist/src/models/model.js +19 -1
  41. package/dist/src/models/model.js.map +1 -1
  42. package/dist/src/models/openai/mantle.d.ts +10 -8
  43. package/dist/src/models/openai/mantle.d.ts.map +1 -1
  44. package/dist/src/models/openai/mantle.js +22 -17
  45. package/dist/src/models/openai/mantle.js.map +1 -1
  46. package/dist/src/multiagent/swarm.d.ts +18 -0
  47. package/dist/src/multiagent/swarm.d.ts.map +1 -1
  48. package/dist/src/multiagent/swarm.js +57 -1
  49. package/dist/src/multiagent/swarm.js.map +1 -1
  50. package/dist/src/sandbox/docker.js +4 -4
  51. package/dist/src/sandbox/docker.js.map +1 -1
  52. package/dist/src/sandbox/ssh.js +4 -4
  53. package/dist/src/sandbox/ssh.js.map +1 -1
  54. package/dist/src/session/file-storage.d.ts +1 -1
  55. package/dist/src/session/file-storage.d.ts.map +1 -1
  56. package/dist/src/session/file-storage.js +3 -2
  57. package/dist/src/session/file-storage.js.map +1 -1
  58. package/dist/src/session/s3-storage.d.ts.map +1 -1
  59. package/dist/src/session/s3-storage.js +2 -1
  60. package/dist/src/session/s3-storage.js.map +1 -1
  61. package/dist/src/session/session-manager.d.ts +6 -2
  62. package/dist/src/session/session-manager.d.ts.map +1 -1
  63. package/dist/src/session/session-manager.js +17 -1
  64. package/dist/src/session/session-manager.js.map +1 -1
  65. package/dist/src/session/validation.d.ts +10 -0
  66. package/dist/src/session/validation.d.ts.map +1 -1
  67. package/dist/src/session/validation.js +14 -0
  68. package/dist/src/session/validation.js.map +1 -1
  69. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  70. package/dist/src/telemetry/tracer.js +11 -0
  71. package/dist/src/telemetry/tracer.js.map +1 -1
  72. package/dist/src/tsconfig.tsbuildinfo +1 -1
  73. package/dist/src/types/agent.d.ts +9 -0
  74. package/dist/src/types/agent.d.ts.map +1 -1
  75. package/dist/src/types/agent.js.map +1 -1
  76. package/dist/src/vended-interventions/hitl/classifier.d.ts +33 -0
  77. package/dist/src/vended-interventions/hitl/classifier.d.ts.map +1 -0
  78. package/dist/src/vended-interventions/hitl/classifier.js +63 -0
  79. package/dist/src/vended-interventions/hitl/classifier.js.map +1 -0
  80. package/dist/src/vended-interventions/hitl/hitl.d.ts +32 -4
  81. package/dist/src/vended-interventions/hitl/hitl.d.ts.map +1 -1
  82. package/dist/src/vended-interventions/hitl/hitl.js +62 -12
  83. package/dist/src/vended-interventions/hitl/hitl.js.map +1 -1
  84. package/dist/src/vended-interventions/hitl/index.d.ts +1 -0
  85. package/dist/src/vended-interventions/hitl/index.d.ts.map +1 -1
  86. package/dist/src/vended-memory-stores/test-memory-store/store.d.ts +4 -2
  87. package/dist/src/vended-memory-stores/test-memory-store/store.d.ts.map +1 -1
  88. package/dist/src/vended-memory-stores/test-memory-store/store.js +4 -2
  89. package/dist/src/vended-memory-stores/test-memory-store/store.js.map +1 -1
  90. package/dist/src/vended-plugins/context-offloader/plugin.d.ts +7 -3
  91. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
  92. package/dist/src/vended-plugins/context-offloader/plugin.js +20 -11
  93. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
  94. package/dist/src/vended-tools/bash/index.d.ts +8 -4
  95. package/dist/src/vended-tools/bash/index.d.ts.map +1 -1
  96. package/dist/src/vended-tools/bash/index.js +7 -3
  97. package/dist/src/vended-tools/bash/index.js.map +1 -1
  98. package/dist/src/vended-tools/bash/make-shell.d.ts +36 -0
  99. package/dist/src/vended-tools/bash/make-shell.d.ts.map +1 -0
  100. package/dist/src/vended-tools/bash/make-shell.js +51 -0
  101. package/dist/src/vended-tools/bash/make-shell.js.map +1 -0
  102. package/dist/src/vended-tools/bash/types.d.ts +23 -1
  103. package/dist/src/vended-tools/bash/types.d.ts.map +1 -1
  104. package/dist/src/vended-tools/bash/types.js +30 -2
  105. package/dist/src/vended-tools/bash/types.js.map +1 -1
  106. package/package.json +2 -2
  107. package/dist/src/vended-tools/bash/make-bash.d.ts +0 -22
  108. package/dist/src/vended-tools/bash/make-bash.d.ts.map +0 -1
  109. package/dist/src/vended-tools/bash/make-bash.js +0 -40
  110. package/dist/src/vended-tools/bash/make-bash.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import type { Sandbox } from '../sandbox/base.js';
2
+ import type { Storage } from '../storage/storage.js';
2
3
  import type { StateStore } from '../state-store.js';
3
4
  import type { ContentBlock, ContentBlockData, Message, MessageData, StopReason, SystemPrompt } from './messages.js';
4
5
  import type { Interrupt } from '../interrupt.js';
@@ -228,6 +229,14 @@ export interface LocalAgent {
228
229
  * environment (e.g. browsers, where no host default is registered).
229
230
  */
230
231
  readonly sandbox: Sandbox;
232
+ /**
233
+ * Default storage backend for agent subsystems.
234
+ *
235
+ * When set, subsystems that do not have their own explicit storage (e.g.,
236
+ * SessionManager, ContextOffloader) resolve from this. Each subsystem
237
+ * auto-namespaces under its own prefix to avoid key collisions.
238
+ */
239
+ readonly storage?: Storage | undefined;
231
240
  /**
232
241
  * Aggregated metrics for the agent's loop execution.
233
242
  * Tracks cycle counts, token usage, tool execution stats, and model latency.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { BeforeToolCallEvent } from '../../hooks/events.js';
2
+ import type { Model } from '../../models/model.js';
3
+ /**
4
+ * Result from a {@link HumanInTheLoopClassifier}.
5
+ */
6
+ export interface ClassifierResult {
7
+ /** Whether the tool call requires human-in-the-loop approval. */
8
+ requiresHumanInTheLoop: boolean;
9
+ /** Reason shown to the human in the approval prompt. */
10
+ reason?: string;
11
+ }
12
+ /**
13
+ * Function (sync or async) that decides whether a tool call requires human approval.
14
+ */
15
+ export type HumanInTheLoopClassifier = (event: BeforeToolCallEvent) => ClassifierResult | Promise<ClassifierResult>;
16
+ /**
17
+ * Configuration for the built-in LLM risk classifier (used when `classifier: true`).
18
+ */
19
+ export interface LlmClassifierConfig {
20
+ /** System prompt describing risk criteria. Defaults to a general-purpose risk prompt. */
21
+ systemPrompt?: string;
22
+ /** Model for risk evaluation. Defaults to the parent agent's model. */
23
+ model?: Model;
24
+ }
25
+ /**
26
+ * Creates the built-in LLM risk classifier used when `classifier: true`.
27
+ *
28
+ * @internal
29
+ * @param config - Optional configuration for the classifier.
30
+ * @returns A classifier function that uses an inner LLM agent to evaluate risk.
31
+ */
32
+ export declare function createLlmRiskClassifier(config?: LlmClassifierConfig): HumanInTheLoopClassifier;
33
+ //# sourceMappingURL=classifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../../../src/vended-interventions/hitl/classifier.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAElD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,sBAAsB,EAAE,OAAO,CAAA;IAC/B,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAEnH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAkCD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,wBAAwB,CA4B9F"}
@@ -0,0 +1,63 @@
1
+ import { z } from 'zod';
2
+ import { Agent } from '../../agent/agent.js';
3
+ const RISK_DECISION = z.object({
4
+ requiresApproval: z.boolean().describe('Whether this tool call requires human approval before executing'),
5
+ reason: z.string().describe('Brief reason (under 10 words) why approval is or is not required'),
6
+ });
7
+ const DEFAULT_SYSTEM_PROMPT = `You are a risk evaluator for an AI agent's tool calls. Your job is to decide whether each tool call requires human approval before executing.
8
+
9
+ ## When to require approval
10
+
11
+ Require approval when the tool call:
12
+ - Is destructive or irreversible (deleting data, dropping tables, revoking access)
13
+ - Modifies important state in production or shared environments
14
+ - Accesses or transmits sensitive data (credentials, PII, financial records)
15
+ - Communicates externally (sending emails, posting messages, making payments)
16
+ - Has a large blast radius (affecting many records, users, or systems)
17
+
18
+ ## When approval is NOT needed
19
+
20
+ Do not require approval when the tool call:
21
+ - Is read-only AND does not access sensitive data (listing non-sensitive files, querying public data, searching)
22
+ - Operates on local or temporary resources
23
+ - Has easily reversible effects
24
+ - Is scoped to a single non-critical resource
25
+
26
+ Note: even read-only operations that access credentials, secrets, PII, or financial data still require approval.
27
+
28
+ ## Instructions
29
+
30
+ Evaluate the tool name and its input arguments. Consider what could go wrong if this specific call executes with these specific arguments. When uncertain, require approval.
31
+
32
+ Keep your reason under 10 words — it is shown to a human in a CLI prompt.`;
33
+ /**
34
+ * Creates the built-in LLM risk classifier used when `classifier: true`.
35
+ *
36
+ * @internal
37
+ * @param config - Optional configuration for the classifier.
38
+ * @returns A classifier function that uses an inner LLM agent to evaluate risk.
39
+ */
40
+ export function createLlmRiskClassifier(config) {
41
+ const systemPrompt = config?.systemPrompt ?? DEFAULT_SYSTEM_PROMPT;
42
+ const configuredModel = config?.model;
43
+ return async (event) => {
44
+ const model = configuredModel ?? event.agent.model;
45
+ if (!model) {
46
+ throw new Error('LLM risk classifier has no model — pass `model` in `classifier: { model }`, or ensure the parent agent has a model.');
47
+ }
48
+ const inner = new Agent({
49
+ model,
50
+ systemPrompt,
51
+ structuredOutputSchema: RISK_DECISION,
52
+ printer: false,
53
+ });
54
+ const prompt = `Should this tool call require human approval?\n\nTool: ${event.toolUse.name}\nInput: ${JSON.stringify(event.toolUse.input, null, 2)}`;
55
+ const result = await inner.invoke(prompt);
56
+ const decision = RISK_DECISION.parse(result.structuredOutput);
57
+ return {
58
+ requiresHumanInTheLoop: decision.requiresApproval,
59
+ reason: decision.reason,
60
+ };
61
+ };
62
+ }
63
+ //# sourceMappingURL=classifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classifier.js","sourceRoot":"","sources":["../../../../src/vended-interventions/hitl/classifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AA6B5C,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;IACzG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;CAChG,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;0EAyB4C,CAAA;AAE1E;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAA4B;IAClE,MAAM,YAAY,GAAG,MAAM,EAAE,YAAY,IAAI,qBAAqB,CAAA;IAClE,MAAM,eAAe,GAAG,MAAM,EAAE,KAAK,CAAA;IAErC,OAAO,KAAK,EAAE,KAA0B,EAA6B,EAAE;QACrE,MAAM,KAAK,GAAG,eAAe,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAA;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAA;QACH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;YACtB,KAAK;YACL,YAAY;YACZ,sBAAsB,EAAE,aAAa;YACrC,OAAO,EAAE,KAAK;SACf,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,0DAA0D,KAAK,CAAC,OAAO,CAAC,IAAI,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;QACrJ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAE7D,OAAO;YACL,sBAAsB,EAAE,QAAQ,CAAC,gBAAgB;YACjD,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { InterventionHandler } from '../../interventions/handler.js';
2
+ import type { HumanInTheLoopClassifier, LlmClassifierConfig } from './classifier.js';
2
3
  import type { InterventionAction } from '../../interventions/actions.js';
3
4
  import type { BeforeToolCallEvent } from '../../hooks/events.js';
4
5
  import type { JSONValue } from '../../types/json.js';
@@ -7,10 +8,13 @@ import type { JSONValue } from '../../types/json.js';
7
8
  */
8
9
  export interface HumanInTheLoopConfig {
9
10
  /**
10
- * Tools that can execute WITHOUT human approval. All other tools require approval.
11
+ * Tools that can execute WITHOUT human approval.
11
12
  *
12
13
  * - Use `'*'` to allow all tools.
13
- * - Prefix with `!` to exclude specific tools from `'*'` (they still require approval).
14
+ * - Prefix with `!` to exclude specific tools (they always require approval).
15
+ *
16
+ * When used with a `classifier`, listed tools bypass classification entirely
17
+ * (fast path). Negated tools still override everything.
14
18
  *
15
19
  * @example
16
20
  * ```typescript
@@ -25,6 +29,15 @@ export interface HumanInTheLoopConfig {
25
29
  * ```
26
30
  */
27
31
  allowedTools?: string[];
32
+ /**
33
+ * Determines how approval decisions are made for tools not in `allowedTools`.
34
+ *
35
+ * - **Omitted / `false`**: all non-allowed tools require approval (default behavior).
36
+ * - **`true`**: uses the built-in LLM risk classifier with defaults.
37
+ * - **Config object** (`{ systemPrompt?, model? }`): built-in LLM classifier with custom settings.
38
+ * - **Custom function**: your own sync or async classification logic.
39
+ */
40
+ classifier?: boolean | LlmClassifierConfig | HumanInTheLoopClassifier;
28
41
  /**
29
42
  * When true, trust responses approve the tool AND remember it
30
43
  * in `agent.appState` for the rest of the session (won't ask again).
@@ -32,6 +45,9 @@ export interface HumanInTheLoopConfig {
32
45
  *
33
46
  * Negated tools (`!tool`) cannot be trusted.
34
47
  *
48
+ * With a `classifier`, trusting a tool disables argument-level risk
49
+ * classification for that tool name for the rest of the session.
50
+ *
35
51
  * Defaults to `false`.
36
52
  */
37
53
  enableTrust?: boolean;
@@ -78,6 +94,14 @@ export interface HumanInTheLoopConfig {
78
94
  * interventions: [new HumanInTheLoop({ allowedTools: ['readFile'] })],
79
95
  * })
80
96
  *
97
+ * // LLM-driven risk classification — only risky calls get escalated
98
+ * const agent = new Agent({
99
+ * interventions: [new HumanInTheLoop({
100
+ * allowedTools: ['readFile', 'listDir'],
101
+ * classifier: true,
102
+ * })],
103
+ * })
104
+ *
81
105
  * // CLI mode — prompts in terminal inline
82
106
  * const agent = new Agent({
83
107
  * interventions: [new HumanInTheLoop({ ask: 'stdio' })],
@@ -94,10 +118,12 @@ export interface HumanInTheLoopConfig {
94
118
  export declare class HumanInTheLoop extends InterventionHandler {
95
119
  readonly name = "strands:human-in-the-loop";
96
120
  private readonly _allowedTools;
121
+ private readonly _classifier;
97
122
  private readonly _enableTrust;
98
123
  private readonly _evaluateTrust;
99
124
  private readonly _evaluate;
100
125
  private readonly _ask;
126
+ private readonly _classifiedToolUseIds;
101
127
  constructor(config?: HumanInTheLoopConfig);
102
128
  beforeToolCall(event: BeforeToolCallEvent): Promise<InterventionAction>;
103
129
  /**
@@ -105,11 +131,13 @@ export declare class HumanInTheLoop extends InterventionHandler {
105
131
  * 1. Negated (`!tool`) → always requires approval (cannot be trusted)
106
132
  * 2. Trusted at runtime via 't' response (stored in agent.appState) → runs freely
107
133
  * 3. Wildcard (`*`) → runs freely
108
- * 4. Explicitly listed → runs freely
109
- * 5. Defaultrequires approval
134
+ * 4. Explicitly listed in allowedTools → runs freely
135
+ * 5. Classifier (if provided) its decision
136
+ * 6. Default (no classifier) → requires approval
110
137
  */
111
138
  private _requiresApproval;
112
139
  private _trustTool;
140
+ private _resolveClassifier;
113
141
  private _isTrustResponse;
114
142
  }
115
143
  //# sourceMappingURL=hitl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hitl.d.ts","sourceRoot":"","sources":["../../../../src/vended-interventions/hitl/hitl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAEpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AA6BpD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,CAAA;IAEhD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,CAAA;IAE3C;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,OAAO,CAAA;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;IACrD,QAAQ,CAAC,IAAI,+BAA8B;IAE3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgD;IAC1E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsD;gBAE/D,MAAM,CAAC,EAAE,oBAAoB;IAS1B,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmCtF;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,gBAAgB;CAIzB"}
1
+ {"version":3,"file":"hitl.d.ts","sourceRoot":"","sources":["../../../../src/vended-interventions/hitl/hitl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAIpE,OAAO,KAAK,EAAoB,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACtG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AA6BpD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,mBAAmB,GAAG,wBAAwB,CAAA;IAErE;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,CAAA;IAEhD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,CAAA;IAE3C;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,OAAO,CAAA;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;IACrD,QAAQ,CAAC,IAAI,+BAA8B;IAE3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgD;IAC1E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsD;IAC3E,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAyB;gBAEnD,MAAM,CAAC,EAAE,oBAAoB;IAa1B,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuCtF;;;;;;;;OAQG;YACW,iBAAiB;IAsC/B,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,gBAAgB;CAIzB"}
@@ -1,5 +1,7 @@
1
1
  import { InterventionHandler } from '../../interventions/handler.js';
2
2
  import { confirm, proceed, defaultEvaluate } from '../../interventions/actions.js';
3
+ import { logger } from '../../logging/logger.js';
4
+ import { createLlmRiskClassifier } from './classifier.js';
3
5
  const TRUST_RESPONSES = new Set(['t', 'trust']);
4
6
  const TRUSTED_TOOLS_KEY = 'hitl:trustedTools';
5
7
  /**
@@ -47,6 +49,14 @@ function createStdioAsk(includeTrust) {
47
49
  * interventions: [new HumanInTheLoop({ allowedTools: ['readFile'] })],
48
50
  * })
49
51
  *
52
+ * // LLM-driven risk classification — only risky calls get escalated
53
+ * const agent = new Agent({
54
+ * interventions: [new HumanInTheLoop({
55
+ * allowedTools: ['readFile', 'listDir'],
56
+ * classifier: true,
57
+ * })],
58
+ * })
59
+ *
50
60
  * // CLI mode — prompts in terminal inline
51
61
  * const agent = new Agent({
52
62
  * interventions: [new HumanInTheLoop({ ask: 'stdio' })],
@@ -63,13 +73,19 @@ function createStdioAsk(includeTrust) {
63
73
  export class HumanInTheLoop extends InterventionHandler {
64
74
  name = 'strands:human-in-the-loop';
65
75
  _allowedTools;
76
+ _classifier;
66
77
  _enableTrust;
67
78
  _evaluateTrust;
68
79
  _evaluate;
69
80
  _ask;
81
+ _classifiedToolUseIds = new Set();
70
82
  constructor(config) {
71
83
  super();
72
84
  this._allowedTools = new Set(config?.allowedTools ?? []);
85
+ this._classifier = this._resolveClassifier(config?.classifier);
86
+ if (this._classifier && this._allowedTools.has('*')) {
87
+ logger.warn('classifier has no effect when allowedTools contains "*" — all tools are already allowed');
88
+ }
73
89
  this._enableTrust = config?.enableTrust ?? false;
74
90
  this._evaluateTrust = config?.evaluateTrust ?? ((r) => this._isTrustResponse(r));
75
91
  this._evaluate = config?.evaluate;
@@ -77,10 +93,13 @@ export class HumanInTheLoop extends InterventionHandler {
77
93
  }
78
94
  async beforeToolCall(event) {
79
95
  const toolName = event.toolUse.name;
80
- if (!this._requiresApproval(event)) {
96
+ const classifierResult = await this._requiresApproval(event);
97
+ if (!classifierResult.requiresHumanInTheLoop) {
81
98
  return proceed();
82
99
  }
83
- const prompt = `Tool "${toolName}" requires human approval. Input: ${JSON.stringify(event.toolUse.input)}`;
100
+ const reason = classifierResult.reason ? ` ${classifierResult.reason}` : '';
101
+ const input = JSON.stringify(event.toolUse.input);
102
+ const prompt = `Approve "${toolName}"${reason}?\n Input: ${input}`;
84
103
  const isNegated = this._allowedTools.has(`!${toolName}`);
85
104
  const evaluate = (response) => {
86
105
  if (!isNegated && this._enableTrust && this._evaluateTrust(response)) {
@@ -107,21 +126,43 @@ export class HumanInTheLoop extends InterventionHandler {
107
126
  * 1. Negated (`!tool`) → always requires approval (cannot be trusted)
108
127
  * 2. Trusted at runtime via 't' response (stored in agent.appState) → runs freely
109
128
  * 3. Wildcard (`*`) → runs freely
110
- * 4. Explicitly listed → runs freely
111
- * 5. Defaultrequires approval
129
+ * 4. Explicitly listed in allowedTools → runs freely
130
+ * 5. Classifier (if provided) its decision
131
+ * 6. Default (no classifier) → requires approval
112
132
  */
113
- _requiresApproval(event) {
133
+ async _requiresApproval(event) {
114
134
  const toolName = event.toolUse.name;
115
- if (this._allowedTools.has(`!${toolName}`))
116
- return true;
135
+ if (this._allowedTools.has(`!${toolName}`)) {
136
+ return { requiresHumanInTheLoop: true };
137
+ }
117
138
  const trusted = event.agent.appState.get(TRUSTED_TOOLS_KEY) ?? [];
118
- if (trusted.includes(toolName))
119
- return false;
139
+ if (trusted.includes(toolName)) {
140
+ return { requiresHumanInTheLoop: false };
141
+ }
120
142
  if (this._allowedTools.has('*'))
121
- return false;
143
+ return { requiresHumanInTheLoop: false };
122
144
  if (this._allowedTools.has(toolName))
123
- return false;
124
- return true;
145
+ return { requiresHumanInTheLoop: false };
146
+ if (this._classifier) {
147
+ const toolUseId = event.toolUse.toolUseId;
148
+ if (this._classifiedToolUseIds.has(toolUseId)) {
149
+ return { requiresHumanInTheLoop: true };
150
+ }
151
+ this._classifiedToolUseIds.add(toolUseId);
152
+ try {
153
+ const result = await this._classifier(event);
154
+ if (typeof result?.requiresHumanInTheLoop !== 'boolean') {
155
+ logger.warn(`tool=<${toolName}> | classifier returned malformed result, defaulting to approval required`);
156
+ return { requiresHumanInTheLoop: true };
157
+ }
158
+ return result;
159
+ }
160
+ catch (error) {
161
+ logger.warn(`tool=<${toolName}> | classifier failed, defaulting to approval required`, error);
162
+ return { requiresHumanInTheLoop: true };
163
+ }
164
+ }
165
+ return { requiresHumanInTheLoop: true };
125
166
  }
126
167
  _trustTool(event, toolName) {
127
168
  const trusted = event.agent.appState.get(TRUSTED_TOOLS_KEY) ?? [];
@@ -129,6 +170,15 @@ export class HumanInTheLoop extends InterventionHandler {
129
170
  event.agent.appState.set(TRUSTED_TOOLS_KEY, [...trusted, toolName]);
130
171
  }
131
172
  }
173
+ _resolveClassifier(classifier) {
174
+ if (!classifier)
175
+ return undefined;
176
+ if (classifier === true)
177
+ return createLlmRiskClassifier();
178
+ if (typeof classifier === 'function')
179
+ return classifier;
180
+ return createLlmRiskClassifier(classifier);
181
+ }
132
182
  _isTrustResponse(response) {
133
183
  if (typeof response === 'string')
134
184
  return TRUST_RESPONSES.has(response.toLowerCase().trim());
@@ -1 +1 @@
1
- {"version":3,"file":"hitl.js","sourceRoot":"","sources":["../../../../src/vended-interventions/hitl/hitl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hitl.js","sourceRoot":"","sources":["../../../../src/vended-interventions/hitl/hitl.ts"],"names":[],"mappings":"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"}
@@ -21,4 +21,5 @@
21
21
  */
22
22
  export { HumanInTheLoop } from './hitl.js';
23
23
  export type { HumanInTheLoopConfig } from './hitl.js';
24
+ export type { HumanInTheLoopClassifier, LlmClassifierConfig } from './classifier.js';
24
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vended-interventions/hitl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vended-interventions/hitl/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AACrD,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA"}
@@ -38,8 +38,10 @@ export interface TestMemoryAddResult {
38
38
  * Each {@link add} rewrites the whole file, so this fits modest volumes, not fit for high volume
39
39
  * production workloads. Use a managed store like {@link BedrockKnowledgeBaseStore} for that.
40
40
  *
41
- * Persistence is backed by the unified `Storage` interface: `persist: true` (the default) uses a
42
- * `LocalFileStorage`, `persist: false` an ephemeral `InMemoryStorage`.
41
+ * Persistence is backed by the unified `Storage` interface internally: `persist: true` (the default)
42
+ * uses a `LocalFileStorage`, `persist: false` an ephemeral `InMemoryStorage`. Unlike other
43
+ * subsystems (SessionManager, ContextOffloader), this store does not accept an external `Storage`
44
+ * or resolve from the agent-level `storage` — it manages its own backend via `persist` and `path`.
43
45
  *
44
46
  * The on-disk format is shared with the Python SDK's `TestMemoryStore`: records use the same
45
47
  * camelCase keys (`id`, `content`, `metadata`, `createdAt`) and the same timestamp shape, so a
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/vended-memory-stores/test-memory-store/store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACvG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAoBpD;;;;;GAKG;AACH,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAA;CACX;AAyCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,eAAgB,YAAW,WAAW;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAA;IAEhD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,6GAA6G;IAC7G,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD;;;;OAIG;IACH,OAAO,CAAC,SAAS,CAA+C;IAChE,2FAA2F;IAC3F,OAAO,CAAC,WAAW,CAAsC;gBAE7C,OAAO,EAAE,qBAAqB;IAyB1C;;;;;;;;;;;;OAYG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA2B5E;;;;;;;;;;;;;;OAcG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiC9F;;;;;OAKG;YACW,QAAQ;IAqBtB;;;;;;;OAOG;YACW,KAAK;IA4CnB;;;;OAIG;YACW,MAAM;CAKrB"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/vended-memory-stores/test-memory-store/store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACvG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAoBpD;;;;;GAKG;AACH,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,EAAE,EAAE,MAAM,CAAA;CACX;AAyCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,eAAgB,YAAW,WAAW;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAA;IAEhD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,6GAA6G;IAC7G,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD;;;;OAIG;IACH,OAAO,CAAC,SAAS,CAA+C;IAChE,2FAA2F;IAC3F,OAAO,CAAC,WAAW,CAAsC;gBAE7C,OAAO,EAAE,qBAAqB;IAyB1C;;;;;;;;;;;;OAYG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IA2B5E;;;;;;;;;;;;;;OAcG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiC9F;;;;;OAKG;YACW,QAAQ;IAqBtB;;;;;;;OAOG;YACW,KAAK;IA4CnB;;;;OAIG;YACW,MAAM;CAKrB"}
@@ -52,8 +52,10 @@ function tokenOverlapScore(queryTokens, content) {
52
52
  * Each {@link add} rewrites the whole file, so this fits modest volumes, not fit for high volume
53
53
  * production workloads. Use a managed store like {@link BedrockKnowledgeBaseStore} for that.
54
54
  *
55
- * Persistence is backed by the unified `Storage` interface: `persist: true` (the default) uses a
56
- * `LocalFileStorage`, `persist: false` an ephemeral `InMemoryStorage`.
55
+ * Persistence is backed by the unified `Storage` interface internally: `persist: true` (the default)
56
+ * uses a `LocalFileStorage`, `persist: false` an ephemeral `InMemoryStorage`. Unlike other
57
+ * subsystems (SessionManager, ContextOffloader), this store does not accept an external `Storage`
58
+ * or resolve from the agent-level `storage` — it manages its own backend via `persist` and `path`.
57
59
  *
58
60
  * The on-disk format is shared with the Python SDK's `TestMemoryStore`: records use the same
59
61
  * camelCase keys (`id`, `content`, `metadata`, `createdAt`) and the same timestamp shape, so a
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/vended-memory-stores/test-memory-store/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAMtE,MAAM,0BAA0B,GAAG,EAAE,CAAA;AAErC;;GAEG;AACH,MAAM,mBAAmB,GAAG,iBAAiB,CAAA;AAwC7C;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI;SACR,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,GAAG,CACZ,IAAI;SACD,WAAW,EAAE;SACb,KAAK,CAAC,kBAAkB,CAAC;SACzB,MAAM,CAAC,OAAO,CAAC,CACnB,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,WAAwB,EAAE,OAAe;IAClE,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,KAAK,EAAE,CAAA;IACrC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,eAAe;IACjB,IAAI,CAAQ;IACZ,WAAW,CAAS;IACpB,gBAAgB,CAAS;IACzB,QAAQ,CAAS;IACjB,UAAU,CAA6B;IAE/B,QAAQ,CAAS;IAClC,6GAA6G;IAC5F,aAAa,CAAoB;IAClD;;;;OAIG;IACK,SAAS,CAA+C;IAChE,2FAA2F;IACnF,WAAW,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAA;IAEzD,YAAY,OAA8B;QACxC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;QAE5F,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC7D,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC7D,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;YAC1E,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAC1C,CAAC;QACD,wCAAwC;QACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAA;QAChC,IAAI,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAE1D,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC7D,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,CAAA;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;IAC3B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAAuB;QACjD,IAAI,OAAO,EAAE,gBAAgB,KAAK,SAAS,IAAI,OAAO,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;QAC1E,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,EAAE,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,IAAI,0BAA0B,CAAA;QAE9F,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAErC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAElC,MAAM,MAAM,GAAuD,EAAE,CAAA;QACrE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;YAC5D,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/C,CAAC;QAED,MAAM,CAAC,IAAI,CACT,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CACzG,CAAA;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE;SAC/D,CAAC,CAAC,CAAA;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,QAAoC;QAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAA;QAC1G,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAChE,CAAC;QAED,iGAAiG;QACjG,8FAA8F;QAC9F,gGAAgG;QAChG,kFAAkF;QAClF,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAElC,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;YACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,iBAAiB,CAAC,CAAA;YACtF,IAAI,QAAQ;gBAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAA;YAExC,MAAM,MAAM,GAAqB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAA;YAC/F,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;YAEtD,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;YACvC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,+FAA+F;QAC/F,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CACzB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,QAAQ;QACpB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAA;QACvD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,GAAG,EAAE,OAAO,EAAE,IAAI,eAAe,EAAE,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QAC7F,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;YACtC,IAAI,CAAC,SAAS,GAAG;gBACf,OAAO,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC/D,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;aACvC,CAAA;QACH,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;YAClC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;YACtC,IAAI,CAAC,SAAS,GAAG;gBACf,OAAO,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAC5E,GAAG,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;aACvC,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,KAAK;QACjB,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC9C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,EAAE,CAAA;QAE7B,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAClD,IAAI,UAAmB,CAAA;QACvB,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACrC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9E,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,oCAAoC,CAAC,CAAA;QACnG,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,IACE,MAAM,KAAK,IAAI;gBACf,OAAO,MAAM,KAAK,QAAQ;gBAC1B,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ;gBAC7B,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;gBAClC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EACpC,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,yCAAyC,GAAG,IAAI;oBAC9C,sEAAsE,CACzE,CAAA;YACH,CAAC;YACD,yFAAyF;YACzF,wFAAwF;YACxF,IACE,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAC7B,MAAM,CAAC,QAAQ,KAAK,IAAI;gBACxB,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EACvE,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,yCAAyC,GAAG,IAAI;oBAC9C,4DAA4D,CAC/D,CAAA;YACH,CAAC;QACH,CAAC;QACD,OAAO,UAAgC,CAAA;IACzC,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,MAAM,CAAC,OAA2B;QAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC9C,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACxE,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/vended-memory-stores/test-memory-store/store.ts"],"names":[],"mappings":"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"}
@@ -17,8 +17,11 @@ export interface ContextOffloaderConfig {
17
17
  * unless the storage is already namespaced. If the resolved storage exposes a
18
18
  * `forSandbox(sandbox)` method (as `LocalFileStorage` and its namespace views do),
19
19
  * the plugin auto-routes I/O through the agent's sandbox.
20
+ *
21
+ * When omitted, resolves from the agent-level `storage` during initialization.
22
+ * If no agent-level storage is available either, falls back to in-memory storage.
20
23
  */
21
- storage: Storage | OffloaderStorage;
24
+ storage?: Storage | OffloaderStorage;
22
25
  /** Token threshold above which tool results are offloaded. Defaults to 2,500. */
23
26
  maxResultTokens?: number;
24
27
  /** Number of tokens to keep as an inline preview. Defaults to 1,000. */
@@ -60,8 +63,8 @@ export interface ContextOffloaderConfig {
60
63
  export declare class ContextOffloader implements Plugin {
61
64
  readonly name = "strands:context-offloader";
62
65
  private static readonly _DEFAULT_EVICT_AFTER_CYCLES;
63
- private readonly _sandboxableStorage;
64
- private readonly _storage;
66
+ private _sandboxableStorage;
67
+ private _storage;
65
68
  private readonly _maxResultTokens;
66
69
  private readonly _previewTokens;
67
70
  private readonly _includeRetrievalTool;
@@ -70,6 +73,7 @@ export declare class ContextOffloader implements Plugin {
70
73
  private readonly _keyStoredAt;
71
74
  private _retrievalTool;
72
75
  constructor(config: ContextOffloaderConfig);
76
+ private _resolveAndSetStorage;
73
77
  initAgent(agent: LocalAgent): void;
74
78
  private _evict;
75
79
  getTools(): Tool[];
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/vended-plugins/context-offloader/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAWtD,OAAO,EAAyD,KAAK,OAAO,IAAI,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACtH,OAAO,EAAyB,KAAK,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAyI9E,6DAA6D;AAC7D,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;OAYG;IACH,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAAA;IACnC,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mFAAmF;IACnF,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,gBAAiB,YAAW,MAAM;IAC7C,QAAQ,CAAC,IAAI,+BAA8B;IAE3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAK;IAExD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuD;IAC3F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAe;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwD;IACxF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,cAAc,CAAkB;gBAE5B,MAAM,EAAE,sBAAsB;IAiC1C,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAiBlC,OAAO,CAAC,MAAM;IAiBd,QAAQ,IAAI,IAAI,EAAE;IAMlB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,oBAAoB;YAmDd,WAAW;IAkCzB,OAAO,CAAC,iBAAiB;YAiCX,iBAAiB;CAwEhC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/vended-plugins/context-offloader/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAWtD,OAAO,EAAyD,KAAK,OAAO,IAAI,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACtH,OAAO,EAAyB,KAAK,OAAO,EAAE,MAAM,0BAA0B,CAAA;AA0I9E,6DAA6D;AAC7D,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAA;IACpC,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mFAAmF;IACnF,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,gBAAiB,YAAW,MAAM;IAC7C,QAAQ,CAAC,IAAI,+BAA8B;IAE3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAK;IAExD,OAAO,CAAC,mBAAmB,CAAuD;IAClF,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAe;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwD;IACxF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,cAAc,CAAkB;gBAE5B,MAAM,EAAE,sBAAsB;IAuB1C,OAAO,CAAC,qBAAqB;IAgB7B,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAoBlC,OAAO,CAAC,MAAM;IAiBd,QAAQ,IAAI,IAAI,EAAE;IAMlB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,oBAAoB;YAmDd,WAAW;IAkCzB,OAAO,CAAC,iBAAiB;YAiCX,iBAAiB;CAwEhC"}
@@ -6,6 +6,7 @@ import { z } from 'zod';
6
6
  import { logger } from '../../logging/logger.js';
7
7
  import { FileStorage, InMemoryStorage as LegacyInMemoryStorage } from './storage.js';
8
8
  import { NAMESPACED, namespace } from '../../storage/storage.js';
9
+ import { InMemoryStorage } from '../../storage/in-memory-storage.js';
9
10
  import { isSearchableContent, searchContent } from './search.js';
10
11
  import { AgentAsTool } from '../../agent/agent-as-tool.js';
11
12
  function isOffloaderStorage(storage) {
@@ -178,28 +179,36 @@ export class ContextOffloader {
178
179
  if (evictAfterCycles !== null && (!Number.isInteger(evictAfterCycles) || evictAfterCycles < 1)) {
179
180
  throw new Error('evictAfterCycles must be a positive integer');
180
181
  }
181
- if (isOffloaderStorage(config.storage)) {
182
- this._storage = config.storage;
182
+ if (config.storage) {
183
+ this._resolveAndSetStorage(config.storage);
183
184
  }
184
- else if (NAMESPACED in config.storage) {
185
- this._storage = config.storage;
185
+ this._maxResultTokens = maxResultTokens;
186
+ this._previewTokens = previewTokens;
187
+ this._includeRetrievalTool = config.includeRetrievalTool ?? true;
188
+ this._evictAfterCycles = evictAfterCycles;
189
+ }
190
+ _resolveAndSetStorage(storage) {
191
+ if (isOffloaderStorage(storage)) {
192
+ this._storage = storage;
193
+ }
194
+ else if (NAMESPACED in storage) {
195
+ this._storage = storage;
186
196
  }
187
- else if (config.storage.namespace) {
188
- this._storage = config.storage.namespace('offloader');
197
+ else if (storage.namespace) {
198
+ this._storage = storage.namespace('offloader');
189
199
  }
190
200
  else {
191
- this._storage = namespace(config.storage, 'offloader');
201
+ this._storage = namespace(storage, 'offloader');
192
202
  }
193
203
  this._sandboxableStorage =
194
204
  !isOffloaderStorage(this._storage) && 'forSandbox' in this._storage
195
205
  ? this._storage
196
206
  : undefined;
197
- this._maxResultTokens = maxResultTokens;
198
- this._previewTokens = previewTokens;
199
- this._includeRetrievalTool = config.includeRetrievalTool ?? true;
200
- this._evictAfterCycles = evictAfterCycles;
201
207
  }
202
208
  initAgent(agent) {
209
+ if (!this._storage) {
210
+ this._resolveAndSetStorage(agent.storage ?? new InMemoryStorage());
211
+ }
203
212
  if (this._storage instanceof LegacyInMemoryStorage) {
204
213
  this._storage._bind(agent, this._evictAfterCycles);
205
214
  }