@strands-agents/sdk 1.12.0 → 1.14.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/src/agent/agent-as-tool.d.ts.map +1 -1
- package/dist/src/agent/agent-as-tool.js +8 -2
- package/dist/src/agent/agent-as-tool.js.map +1 -1
- package/dist/src/agent/agent.d.ts +27 -7
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +141 -38
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/agent/continuation.d.ts +36 -0
- package/dist/src/agent/continuation.d.ts.map +1 -0
- package/dist/src/agent/continuation.js +126 -0
- package/dist/src/agent/continuation.js.map +1 -0
- package/dist/src/agent/tool-caller.d.ts.map +1 -1
- package/dist/src/agent/tool-caller.js +1 -0
- package/dist/src/agent/tool-caller.js.map +1 -1
- package/dist/src/context-manager/context-manager.d.ts +30 -0
- package/dist/src/context-manager/context-manager.d.ts.map +1 -0
- package/dist/src/context-manager/context-manager.js +89 -0
- package/dist/src/context-manager/context-manager.js.map +1 -0
- package/dist/src/context-manager/methods/summarize.d.ts +41 -0
- package/dist/src/context-manager/methods/summarize.d.ts.map +1 -0
- package/dist/src/context-manager/methods/summarize.js +108 -0
- package/dist/src/context-manager/methods/summarize.js.map +1 -0
- package/dist/src/context-manager/methods/truncate.d.ts +36 -0
- package/dist/src/context-manager/methods/truncate.d.ts.map +1 -0
- package/dist/src/context-manager/methods/truncate.js +86 -0
- package/dist/src/context-manager/methods/truncate.js.map +1 -0
- package/dist/src/context-manager/modes/agentic/agentic-context.d.ts +1 -2
- package/dist/src/context-manager/modes/agentic/agentic-context.d.ts.map +1 -1
- package/dist/src/context-manager/modes/agentic/agentic-context.js +6 -3
- package/dist/src/context-manager/modes/agentic/agentic-context.js.map +1 -1
- package/dist/src/context-manager/strategies/offload/base.d.ts +140 -0
- package/dist/src/context-manager/strategies/offload/base.d.ts.map +1 -0
- package/dist/src/context-manager/strategies/offload/base.js +376 -0
- package/dist/src/context-manager/strategies/offload/base.js.map +1 -0
- package/dist/src/context-manager/strategies/offload/drop.d.ts +19 -0
- package/dist/src/context-manager/strategies/offload/drop.d.ts.map +1 -0
- package/dist/src/context-manager/strategies/offload/drop.js +31 -0
- package/dist/src/context-manager/strategies/offload/drop.js.map +1 -0
- package/dist/src/context-manager/strategies/offload/index.d.ts +43 -0
- package/dist/src/context-manager/strategies/offload/index.d.ts.map +1 -0
- package/dist/src/context-manager/strategies/offload/index.js +37 -0
- package/dist/src/context-manager/strategies/offload/index.js.map +1 -0
- package/dist/src/context-manager/strategies/offload/summarize.d.ts +22 -0
- package/dist/src/context-manager/strategies/offload/summarize.d.ts.map +1 -0
- package/dist/src/context-manager/strategies/offload/summarize.js +104 -0
- package/dist/src/context-manager/strategies/offload/summarize.js.map +1 -0
- package/dist/src/context-manager/strategies/offload/truncate.d.ts +21 -0
- package/dist/src/context-manager/strategies/offload/truncate.d.ts.map +1 -0
- package/dist/src/context-manager/strategies/offload/truncate.js +66 -0
- package/dist/src/context-manager/strategies/offload/truncate.js.map +1 -0
- package/dist/src/context-manager/types.d.ts +50 -0
- package/dist/src/context-manager/types.d.ts.map +1 -0
- package/dist/src/context-manager/types.js +5 -0
- package/dist/src/context-manager/types.js.map +1 -0
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +25 -0
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js +90 -2
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/injection/message-injection.d.ts +12 -9
- package/dist/src/injection/message-injection.d.ts.map +1 -1
- package/dist/src/injection/message-injection.js +17 -16
- package/dist/src/injection/message-injection.js.map +1 -1
- package/dist/src/mcp/client.d.ts.map +1 -1
- package/dist/src/mcp/client.js +9 -0
- package/dist/src/mcp/client.js.map +1 -1
- package/dist/src/middleware/stages.d.ts +15 -2
- package/dist/src/middleware/stages.d.ts.map +1 -1
- package/dist/src/middleware/stages.js.map +1 -1
- package/dist/src/mime.d.ts +1 -0
- package/dist/src/mime.d.ts.map +1 -1
- package/dist/src/mime.js.map +1 -1
- package/dist/src/models/anthropic.d.ts +26 -1
- package/dist/src/models/anthropic.d.ts.map +1 -1
- package/dist/src/models/anthropic.js +178 -54
- package/dist/src/models/anthropic.js.map +1 -1
- package/dist/src/models/bedrock.d.ts +51 -19
- package/dist/src/models/bedrock.d.ts.map +1 -1
- package/dist/src/models/bedrock.js +239 -30
- package/dist/src/models/bedrock.js.map +1 -1
- package/dist/src/models/model.d.ts +73 -5
- package/dist/src/models/model.d.ts.map +1 -1
- package/dist/src/models/model.js +15 -0
- package/dist/src/models/model.js.map +1 -1
- package/dist/src/models/openai/model.d.ts.map +1 -1
- package/dist/src/models/openai/model.js +5 -0
- package/dist/src/models/openai/model.js.map +1 -1
- package/dist/src/multiagent/plugins.d.ts +3 -1
- package/dist/src/multiagent/plugins.d.ts.map +1 -1
- package/dist/src/multiagent/plugins.js +6 -1
- package/dist/src/multiagent/plugins.js.map +1 -1
- package/dist/src/plugins/registry.d.ts +3 -1
- package/dist/src/plugins/registry.d.ts.map +1 -1
- package/dist/src/plugins/registry.js +6 -1
- package/dist/src/plugins/registry.js.map +1 -1
- package/dist/src/sandbox/docker.js +1 -1
- package/dist/src/sandbox/docker.js.map +1 -1
- package/dist/src/sandbox/ssh.js +1 -1
- package/dist/src/sandbox/ssh.js.map +1 -1
- package/dist/src/storage/in-memory-storage.d.ts +8 -1
- package/dist/src/storage/in-memory-storage.d.ts.map +1 -1
- package/dist/src/storage/in-memory-storage.js +10 -0
- package/dist/src/storage/in-memory-storage.js.map +1 -1
- package/dist/src/storage/local-file-storage.d.ts +8 -1
- package/dist/src/storage/local-file-storage.d.ts.map +1 -1
- package/dist/src/storage/local-file-storage.js +10 -0
- package/dist/src/storage/local-file-storage.js.map +1 -1
- package/dist/src/storage/s3-storage.d.ts +8 -1
- package/dist/src/storage/s3-storage.d.ts.map +1 -1
- package/dist/src/storage/s3-storage.js +10 -0
- package/dist/src/storage/s3-storage.js.map +1 -1
- package/dist/src/storage/search/index.d.ts +13 -0
- package/dist/src/storage/search/index.d.ts.map +1 -0
- package/dist/src/storage/search/index.js +11 -0
- package/dist/src/storage/search/index.js.map +1 -0
- package/dist/src/storage/search/keyword.d.ts +23 -0
- package/dist/src/storage/search/keyword.d.ts.map +1 -0
- package/dist/src/storage/search/keyword.js +53 -0
- package/dist/src/storage/search/keyword.js.map +1 -0
- package/dist/src/storage/search/types.d.ts +24 -0
- package/dist/src/storage/search/types.d.ts.map +1 -0
- package/dist/src/storage/search/types.js +2 -0
- package/dist/src/storage/search/types.js.map +1 -0
- package/dist/src/storage/storage.d.ts +46 -1
- package/dist/src/storage/storage.d.ts.map +1 -1
- package/dist/src/storage/storage.js +22 -0
- package/dist/src/storage/storage.js.map +1 -1
- package/dist/src/tools/executors/executor.d.ts +2 -0
- package/dist/src/tools/executors/executor.d.ts.map +1 -1
- package/dist/src/tools/executors/executor.js +6 -4
- package/dist/src/tools/executors/executor.js.map +1 -1
- package/dist/src/tools/executors/sequential.d.ts +1 -1
- package/dist/src/tools/executors/sequential.js +2 -2
- package/dist/src/tools/executors/sequential.js.map +1 -1
- package/dist/src/tools/mcp-tool.d.ts +2 -1
- package/dist/src/tools/mcp-tool.d.ts.map +1 -1
- package/dist/src/tools/mcp-tool.js +2 -1
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/tool.d.ts +2 -0
- package/dist/src/tools/tool.d.ts.map +1 -1
- package/dist/src/tools/tool.js.map +1 -1
- package/dist/src/tools/types.d.ts +8 -0
- package/dist/src/tools/types.d.ts.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/agent.d.ts +2 -2
- package/dist/src/types/media.d.ts +65 -3
- package/dist/src/types/media.d.ts.map +1 -1
- package/dist/src/types/media.js +68 -1
- package/dist/src/types/media.js.map +1 -1
- package/dist/src/types/messages.d.ts +6 -4
- package/dist/src/types/messages.d.ts.map +1 -1
- package/dist/src/types/messages.js +4 -1
- package/dist/src/types/messages.js.map +1 -1
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts +11 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts.map +1 -1
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js +53 -3
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js.map +1 -1
- package/dist/src/vended-memory-stores/file-memory-store/index.d.ts +3 -0
- package/dist/src/vended-memory-stores/file-memory-store/index.d.ts.map +1 -0
- package/dist/src/vended-memory-stores/file-memory-store/index.js +2 -0
- package/dist/src/vended-memory-stores/file-memory-store/index.js.map +1 -0
- package/dist/src/vended-memory-stores/file-memory-store/store.d.ts +82 -0
- package/dist/src/vended-memory-stores/file-memory-store/store.d.ts.map +1 -0
- package/dist/src/vended-memory-stores/file-memory-store/store.js +219 -0
- package/dist/src/vended-memory-stores/file-memory-store/store.js.map +1 -0
- package/dist/src/vended-memory-stores/test-memory-store/store.d.ts.map +1 -1
- package/dist/src/vended-memory-stores/test-memory-store/store.js +2 -25
- package/dist/src/vended-memory-stores/test-memory-store/store.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/plugin.js +2 -8
- package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
- package/dist/src/vended-tools/bash/index.d.ts +13 -7
- package/dist/src/vended-tools/bash/index.d.ts.map +1 -1
- package/dist/src/vended-tools/bash/index.js +13 -6
- package/dist/src/vended-tools/bash/index.js.map +1 -1
- package/dist/src/vended-tools/bash/types.d.ts +4 -24
- package/dist/src/vended-tools/bash/types.d.ts.map +1 -1
- package/dist/src/vended-tools/bash/types.js +4 -31
- package/dist/src/vended-tools/bash/types.js.map +1 -1
- package/dist/src/vended-tools/http-request/http-request.d.ts +1 -1
- package/dist/src/vended-tools/http-request/http-request.js +2 -2
- package/dist/src/vended-tools/http-request/http-request.js.map +1 -1
- package/dist/src/vended-tools/index.d.ts +1 -0
- package/dist/src/vended-tools/index.d.ts.map +1 -1
- package/dist/src/vended-tools/index.js +1 -0
- package/dist/src/vended-tools/index.js.map +1 -1
- package/dist/src/vended-tools/notebook/notebook.d.ts +1 -1
- package/dist/src/vended-tools/notebook/notebook.d.ts.map +1 -1
- package/dist/src/vended-tools/notebook/notebook.js +20 -6
- package/dist/src/vended-tools/notebook/notebook.js.map +1 -1
- package/dist/src/vended-tools/notebook/types.d.ts +15 -1
- package/dist/src/vended-tools/notebook/types.d.ts.map +1 -1
- package/dist/src/vended-tools/shell/index.d.ts +15 -0
- package/dist/src/vended-tools/shell/index.d.ts.map +1 -0
- package/dist/src/vended-tools/shell/index.js +13 -0
- package/dist/src/vended-tools/shell/index.js.map +1 -0
- package/dist/src/vended-tools/{bash → shell}/make-shell.d.ts +7 -8
- package/dist/src/vended-tools/shell/make-shell.d.ts.map +1 -0
- package/dist/src/vended-tools/{bash → shell}/make-shell.js +16 -9
- package/dist/src/vended-tools/shell/make-shell.js.map +1 -0
- package/dist/src/vended-tools/shell/types.d.ts +47 -0
- package/dist/src/vended-tools/shell/types.d.ts.map +1 -0
- package/dist/src/vended-tools/shell/types.js +34 -0
- package/dist/src/vended-tools/shell/types.js.map +1 -0
- package/dist/src/vended-tools/sleep/make-sleep.d.ts +4 -6
- package/dist/src/vended-tools/sleep/make-sleep.d.ts.map +1 -1
- package/dist/src/vended-tools/sleep/make-sleep.js +5 -7
- package/dist/src/vended-tools/sleep/make-sleep.js.map +1 -1
- package/package.json +15 -2
- package/dist/src/vended-tools/bash/make-shell.d.ts.map +0 -1
- package/dist/src/vended-tools/bash/make-shell.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3-storage.js","sourceRoot":"","sources":["../../../src/storage/s3-storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"s3-storage.js","sourceRoot":"","sources":["../../../src/storage/s3-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pluggable search strategies for storage backends.
|
|
3
|
+
*
|
|
4
|
+
* Each strategy encapsulates a single approach to searching stored content.
|
|
5
|
+
* Storage backends use {@link KeywordSearchStrategy} by default; consumers
|
|
6
|
+
* (memory stores, context offloaders) can override with a different strategy.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
export type { SearchStrategy } from './types.js';
|
|
11
|
+
export type { StorageSearchResult } from '../storage.js';
|
|
12
|
+
export { KeywordSearchStrategy } from './keyword.js';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/search/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pluggable search strategies for storage backends.
|
|
3
|
+
*
|
|
4
|
+
* Each strategy encapsulates a single approach to searching stored content.
|
|
5
|
+
* Storage backends use {@link KeywordSearchStrategy} by default; consumers
|
|
6
|
+
* (memory stores, context offloaders) can override with a different strategy.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
export { KeywordSearchStrategy } from './keyword.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/search/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SearchStrategy } from './types.js';
|
|
2
|
+
/** Split text into a set of lowercased word tokens for keyword matching. */
|
|
3
|
+
export declare function tokenize(text: string): Set<string>;
|
|
4
|
+
/** Lexical relevance score: distinct query tokens that appear in the content. Returns 0 when there is no overlap. */
|
|
5
|
+
export declare function tokenOverlapScore(queryTokens: Set<string>, content: string): number;
|
|
6
|
+
/**
|
|
7
|
+
* Keyword search strategy using token-overlap scoring.
|
|
8
|
+
*
|
|
9
|
+
* Tokenizes the query and each stored entry (key + content), then scores by the
|
|
10
|
+
* number of distinct query tokens that appear. Works on any storage backend with
|
|
11
|
+
* `list()` and `read()` — no index or embedding model required.
|
|
12
|
+
*
|
|
13
|
+
* This is the default search strategy for all shipped storage backends.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { KeywordSearchStrategy } from '@strands-agents/sdk/storage/search'
|
|
18
|
+
*
|
|
19
|
+
* const results = await KeywordSearchStrategy.search(storage, 'dark mode toggle')
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare const KeywordSearchStrategy: SearchStrategy;
|
|
23
|
+
//# sourceMappingURL=keyword.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyword.d.ts","sourceRoot":"","sources":["../../../../src/storage/search/keyword.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAOlD;AAED,qHAAqH;AACrH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAMnF;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,EAAE,cAkBnC,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** Split text into a set of lowercased word tokens for keyword matching. */
|
|
2
|
+
export function tokenize(text) {
|
|
3
|
+
return new Set(text
|
|
4
|
+
.toLowerCase()
|
|
5
|
+
.split(/[^\p{L}\p{N}_]+/u)
|
|
6
|
+
.filter(Boolean));
|
|
7
|
+
}
|
|
8
|
+
/** Lexical relevance score: distinct query tokens that appear in the content. Returns 0 when there is no overlap. */
|
|
9
|
+
export function tokenOverlapScore(queryTokens, content) {
|
|
10
|
+
let score = 0;
|
|
11
|
+
for (const token of tokenize(content)) {
|
|
12
|
+
if (queryTokens.has(token))
|
|
13
|
+
score++;
|
|
14
|
+
}
|
|
15
|
+
return score;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Keyword search strategy using token-overlap scoring.
|
|
19
|
+
*
|
|
20
|
+
* Tokenizes the query and each stored entry (key + content), then scores by the
|
|
21
|
+
* number of distinct query tokens that appear. Works on any storage backend with
|
|
22
|
+
* `list()` and `read()` — no index or embedding model required.
|
|
23
|
+
*
|
|
24
|
+
* This is the default search strategy for all shipped storage backends.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* import { KeywordSearchStrategy } from '@strands-agents/sdk/storage/search'
|
|
29
|
+
*
|
|
30
|
+
* const results = await KeywordSearchStrategy.search(storage, 'dark mode toggle')
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export const KeywordSearchStrategy = {
|
|
34
|
+
async search(storage, query) {
|
|
35
|
+
const queryTokens = tokenize(query);
|
|
36
|
+
if (queryTokens.size === 0)
|
|
37
|
+
return [];
|
|
38
|
+
const allKeys = await storage.list('');
|
|
39
|
+
const scored = [];
|
|
40
|
+
for (const key of allKeys) {
|
|
41
|
+
const bytes = await storage.read(key);
|
|
42
|
+
if (!bytes)
|
|
43
|
+
continue;
|
|
44
|
+
const content = new TextDecoder().decode(bytes);
|
|
45
|
+
const score = tokenOverlapScore(queryTokens, `${key} ${content}`);
|
|
46
|
+
if (score > 0)
|
|
47
|
+
scored.push({ key, score });
|
|
48
|
+
}
|
|
49
|
+
scored.sort((a, b) => b.score - a.score);
|
|
50
|
+
return scored;
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=keyword.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../../src/storage/search/keyword.ts"],"names":[],"mappings":"AAGA,4EAA4E;AAC5E,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI,GAAG,CACZ,IAAI;SACD,WAAW,EAAE;SACb,KAAK,CAAC,kBAAkB,CAAC;SACzB,MAAM,CAAC,OAAO,CAAC,CACnB,CAAA;AACH,CAAC;AAED,qHAAqH;AACrH,MAAM,UAAU,iBAAiB,CAAC,WAAwB,EAAE,OAAe;IACzE,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;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,KAAK,CAAC,MAAM,CAAC,OAAgB,EAAE,KAAa;QAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAErC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtC,MAAM,MAAM,GAA0B,EAAE,CAAA;QACxC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACrC,IAAI,CAAC,KAAK;gBAAE,SAAQ;YACpB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC/C,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,EAAE,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC,CAAA;YACjE,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QAC5C,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QACxC,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Storage, StorageSearchResult } from '../storage.js';
|
|
2
|
+
/**
|
|
3
|
+
* A pluggable search strategy for storage backends.
|
|
4
|
+
*
|
|
5
|
+
* Strategies encapsulate a single approach to searching stored content —
|
|
6
|
+
* keyword/lexical scan, vector similarity, full-text index, etc.
|
|
7
|
+
* Storage backends delegate their `search()` to a strategy, and consumers
|
|
8
|
+
* (memory stores, context offloaders) can override the default.
|
|
9
|
+
*
|
|
10
|
+
* The `SearchQuery` type parameter controls what the strategy accepts. It defaults
|
|
11
|
+
* to `string` (a natural-language query). Strategies that support richer queries
|
|
12
|
+
* (e.g. a pre-computed embedding vector with metadata filters) can widen this type.
|
|
13
|
+
*/
|
|
14
|
+
export interface SearchStrategy<SearchQuery = string> {
|
|
15
|
+
/**
|
|
16
|
+
* Searches content in `storage` matching `query`.
|
|
17
|
+
*
|
|
18
|
+
* @param storage - The storage to search over
|
|
19
|
+
* @param query - A string query or strategy-specific query object
|
|
20
|
+
* @returns Matched keys with relevance scores, ranked best-first
|
|
21
|
+
*/
|
|
22
|
+
search(storage: Storage, query: SearchQuery): Promise<StorageSearchResult[]>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/storage/search/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEjE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc,CAAC,WAAW,GAAG,MAAM;IAClD;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;CAC7E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/storage/search/types.ts"],"names":[],"mappings":""}
|
|
@@ -31,6 +31,19 @@ export declare function normalizeKey(key: string): string;
|
|
|
31
31
|
* @throws {@link StorageError} if the prefix contains a `..` segment
|
|
32
32
|
*/
|
|
33
33
|
export declare function normalizePrefix(prefix: string): string;
|
|
34
|
+
/** A single result from a {@link Storage.search} call. */
|
|
35
|
+
export interface StorageSearchResult {
|
|
36
|
+
/** Storage key of the matched item. */
|
|
37
|
+
key: string;
|
|
38
|
+
/**
|
|
39
|
+
* Relevance score, normalized so that higher values indicate greater relevance.
|
|
40
|
+
* Backends using distance-based scoring (e.g. vector distance) must invert to
|
|
41
|
+
* similarity before returning results.
|
|
42
|
+
*/
|
|
43
|
+
score: number;
|
|
44
|
+
/** Stored bytes, present only when the backend includes them. */
|
|
45
|
+
data?: Uint8Array;
|
|
46
|
+
}
|
|
34
47
|
/**
|
|
35
48
|
* A backend for storing and retrieving raw bytes under string keys.
|
|
36
49
|
*
|
|
@@ -45,10 +58,15 @@ export declare function normalizePrefix(prefix: string): string;
|
|
|
45
58
|
* widen it to accept a richer query object (e.g. a DynamoDB partition/sort-key
|
|
46
59
|
* filter) while still accepting a plain string for SDK-internal callers.
|
|
47
60
|
*
|
|
61
|
+
* The `SearchQuery` type parameter controls what `search` accepts. It defaults to
|
|
62
|
+
* `string` (a natural-language query), which every backend interprets in its own way
|
|
63
|
+
* (keyword scan, vector similarity, full-text index). Implementations may widen it to
|
|
64
|
+
* accept a richer query object (e.g. a pre-computed embedding vector with filters).
|
|
65
|
+
*
|
|
48
66
|
* Implement this to add a custom backend; the SDK ships {@link InMemoryStorage},
|
|
49
67
|
* {@link LocalFileStorage}, and {@link S3Storage}.
|
|
50
68
|
*/
|
|
51
|
-
export interface Storage<ListQuery = string> {
|
|
69
|
+
export interface Storage<ListQuery = string, SearchQuery = string> {
|
|
52
70
|
/**
|
|
53
71
|
* Stores `data` under `key`, overwriting any existing value.
|
|
54
72
|
*
|
|
@@ -97,6 +115,22 @@ export interface Storage<ListQuery = string> {
|
|
|
97
115
|
* @returns A Storage view scoped to the given prefix
|
|
98
116
|
*/
|
|
99
117
|
namespace?(prefix: string): Storage;
|
|
118
|
+
/**
|
|
119
|
+
* Searches stored content by query.
|
|
120
|
+
*
|
|
121
|
+
* When `SearchQuery` is `string` (the default), the query is a natural-language string
|
|
122
|
+
* and how it is interpreted is backend-specific: keyword/lexical scan, full-text index,
|
|
123
|
+
* or vector similarity (the backend embeds the query internally).
|
|
124
|
+
*
|
|
125
|
+
* Implementations may accept richer query objects (e.g. a pre-computed embedding vector
|
|
126
|
+
* with metadata filters) while still accepting a plain string for SDK-internal callers.
|
|
127
|
+
*
|
|
128
|
+
* Optional — when absent, consumers fall back to client-side search.
|
|
129
|
+
*
|
|
130
|
+
* @param query - A string query or backend-specific query object
|
|
131
|
+
* @returns Matched keys with relevance scores, ranked best-first
|
|
132
|
+
*/
|
|
133
|
+
search?(query: SearchQuery): Promise<StorageSearchResult[]>;
|
|
100
134
|
}
|
|
101
135
|
/**
|
|
102
136
|
* Returns a {@link Storage} view with all keys prefixed by `prefix`.
|
|
@@ -112,4 +146,15 @@ export interface Storage<ListQuery = string> {
|
|
|
112
146
|
* @returns A namespaced Storage view
|
|
113
147
|
*/
|
|
114
148
|
export declare function namespace(storage: Storage, prefix: string): Storage;
|
|
149
|
+
/**
|
|
150
|
+
* Returns a namespaced view of `storage` under `prefix`, unless the storage is already namespaced.
|
|
151
|
+
*
|
|
152
|
+
* Consolidates the common pattern: if already marked with {@link NAMESPACED}, return as-is;
|
|
153
|
+
* otherwise delegate to the storage's own `namespace()` method or the standalone `namespace` helper.
|
|
154
|
+
*
|
|
155
|
+
* @param storage - The storage to scope
|
|
156
|
+
* @param prefix - Prefix to apply
|
|
157
|
+
* @returns A namespaced Storage view (or the original if already namespaced)
|
|
158
|
+
*/
|
|
159
|
+
export declare function resolveNamespace(storage: Storage, prefix: string): Storage;
|
|
115
160
|
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/storage/storage.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,OAAO,MAAiD,CAAA;AAEjF;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAShD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAStD;AAED
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/storage/storage.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,OAAO,MAAiD,CAAA;AAEjF;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAShD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAStD;AAED,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAA;IACX;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,iEAAiE;IACjE,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,OAAO,CAAC,SAAS,GAAG,MAAM,EAAE,WAAW,GAAG,MAAM;IAC/D;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEnD;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IAE7C;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAElC;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAEzC;;;;;;;;OAQG;IACH,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;IAEnC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;CAC5D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAoBnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAI1E"}
|
|
@@ -74,6 +74,28 @@ export function namespace(storage, prefix) {
|
|
|
74
74
|
namespace: (sub) => namespace(storage, `${p}${sub}`),
|
|
75
75
|
[NAMESPACED]: true,
|
|
76
76
|
};
|
|
77
|
+
if (storage.search) {
|
|
78
|
+
view.search = (query) => storage.search(query).then((results) => results
|
|
79
|
+
.filter((result) => result.key.startsWith(p))
|
|
80
|
+
.map((result) => ({ ...result, key: result.key.slice(p.length) })));
|
|
81
|
+
}
|
|
77
82
|
return view;
|
|
78
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Returns a namespaced view of `storage` under `prefix`, unless the storage is already namespaced.
|
|
86
|
+
*
|
|
87
|
+
* Consolidates the common pattern: if already marked with {@link NAMESPACED}, return as-is;
|
|
88
|
+
* otherwise delegate to the storage's own `namespace()` method or the standalone `namespace` helper.
|
|
89
|
+
*
|
|
90
|
+
* @param storage - The storage to scope
|
|
91
|
+
* @param prefix - Prefix to apply
|
|
92
|
+
* @returns A namespaced Storage view (or the original if already namespaced)
|
|
93
|
+
*/
|
|
94
|
+
export function resolveNamespace(storage, prefix) {
|
|
95
|
+
if (NAMESPACED in storage)
|
|
96
|
+
return storage;
|
|
97
|
+
if (storage.namespace)
|
|
98
|
+
return storage.namespace(prefix);
|
|
99
|
+
return namespace(storage, prefix);
|
|
100
|
+
}
|
|
79
101
|
//# sourceMappingURL=storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/storage/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAkB,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAEjF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,YAAY,CAAC,+BAA+B,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,wBAAwB,GAAG,uCAAuC,CAAC,CAAA;IAC5F,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,2BAA2B,MAAM,uCAAuC,CAAC,CAAA;IAClG,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;IACnF,OAAO,UAAU,CAAA;AACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/storage/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,8 @@ export interface ToolExecutorOptions {
|
|
|
19
19
|
readonly tracer: Tracer;
|
|
20
20
|
/** Meter used to record tool-call metrics. */
|
|
21
21
|
readonly meter: Meter;
|
|
22
|
+
/** Cancellation signal scoped to this executor invocation. */
|
|
23
|
+
readonly cancelSignal: AbortSignal;
|
|
22
24
|
}
|
|
23
25
|
/**
|
|
24
26
|
* Input for executing the tool calls from one model turn.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../src/tools/executors/executor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAa,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,KAAK,EAAyC,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC1G,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG7E,OAAO,KAAK,EAAE,OAAO,EAAuB,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGzF;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,oDAAoD;IACpD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../src/tools/executors/executor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAa,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,KAAK,EAAyC,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC1G,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG7E,OAAO,KAAK,EAAE,OAAO,EAAuB,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGzF;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,oDAAoD;IACpD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAA;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAA;IAC/C,4FAA4F;IAC5F,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAA;IAC5C,wDAAwD;IACxD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,uDAAuD;IACvD,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CACrE;AAED;;;;GAIG;AACH,8BAAsB,YAAY;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CACd,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,kBAAkB,GACxB,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,SAAS,CAAC;cAInC,WAAW,CAC1B,OAAO,EAAE,mBAAmB,EAC5B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,GAC/B,cAAc,CAAC,gBAAgB,EAAE,eAAe,EAAE,SAAS,CAAC;IA6E/D,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,sBAAsB;IAe9B,SAAS,CAAC,0BAA0B,CAClC,OAAO,EAAE,mBAAmB,EAC5B,gBAAgB,EAAE,OAAO,EACzB,oBAAoB,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,GACzD,IAAI;YAWQ,0BAA0B;YAuC1B,gBAAgB;CA+EhC"}
|
|
@@ -53,7 +53,7 @@ export class ToolExecutor {
|
|
|
53
53
|
invocationState,
|
|
54
54
|
});
|
|
55
55
|
yield afterToolCallEvent;
|
|
56
|
-
if (this._shouldRetry(options.
|
|
56
|
+
if (this._shouldRetry(afterToolCallEvent, options.cancelSignal)) {
|
|
57
57
|
continue;
|
|
58
58
|
}
|
|
59
59
|
return this._normalizeToolResultId(afterToolCallEvent.result, toolUseBlock.toolUseId);
|
|
@@ -69,7 +69,7 @@ export class ToolExecutor {
|
|
|
69
69
|
...(error !== undefined && { error }),
|
|
70
70
|
});
|
|
71
71
|
yield afterToolCallEvent;
|
|
72
|
-
if (this._shouldRetry(options.
|
|
72
|
+
if (this._shouldRetry(afterToolCallEvent, options.cancelSignal)) {
|
|
73
73
|
continue;
|
|
74
74
|
}
|
|
75
75
|
// Return the hook-transformed result so downstream events and the model
|
|
@@ -77,8 +77,8 @@ export class ToolExecutor {
|
|
|
77
77
|
return this._normalizeToolResultId(afterToolCallEvent.result, toolUseBlock.toolUseId);
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
_shouldRetry(
|
|
81
|
-
return afterToolCallEvent.retry === true && !
|
|
80
|
+
_shouldRetry(afterToolCallEvent, cancelSignal) {
|
|
81
|
+
return afterToolCallEvent.retry === true && !cancelSignal.aborted;
|
|
82
82
|
}
|
|
83
83
|
_normalizeToolResultId(result, toolUseId) {
|
|
84
84
|
if (result.toolUseId === toolUseId) {
|
|
@@ -109,6 +109,7 @@ export class ToolExecutor {
|
|
|
109
109
|
tool,
|
|
110
110
|
toolUse: deepCopy(toolUse),
|
|
111
111
|
invocationState,
|
|
112
|
+
cancelSignal: options.cancelSignal,
|
|
112
113
|
interrupt: createMiddlewareInterrupt(options.agent._interruptState, `middleware:executeTool:${toolUse.toolUseId}`),
|
|
113
114
|
};
|
|
114
115
|
// async function* does not bind lexical `this`; capture the executor for the terminal callback.
|
|
@@ -142,6 +143,7 @@ export class ToolExecutor {
|
|
|
142
143
|
},
|
|
143
144
|
agent: options.agent,
|
|
144
145
|
invocationState,
|
|
146
|
+
cancelSignal: options.cancelSignal,
|
|
145
147
|
interrupt: (params) => interruptFromAgent(options.agent, `tool:${toolUse.toolUseId}:${params.name}`, params, 'tool'),
|
|
146
148
|
};
|
|
147
149
|
// Iterate manually to wrap raw tool events at the agent boundary and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/tools/executors/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACtG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/tools/executors/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ import type { ToolExecutionInput, ToolExecutorOptions } from './executor.js';
|
|
|
17
17
|
*/
|
|
18
18
|
export declare class SequentialToolExecutor extends ToolExecutor {
|
|
19
19
|
/**
|
|
20
|
-
* Executes tool calls in source order, honoring
|
|
20
|
+
* Executes tool calls in source order, honoring the execution cancellation signal between
|
|
21
21
|
* calls to short-circuit tools that have not started.
|
|
22
22
|
*
|
|
23
23
|
* @param options - Agent dependencies used to execute tools
|
|
@@ -18,7 +18,7 @@ import { ToolExecutor } from './executor.js';
|
|
|
18
18
|
*/
|
|
19
19
|
export class SequentialToolExecutor extends ToolExecutor {
|
|
20
20
|
/**
|
|
21
|
-
* Executes tool calls in source order, honoring
|
|
21
|
+
* Executes tool calls in source order, honoring the execution cancellation signal between
|
|
22
22
|
* calls to short-circuit tools that have not started.
|
|
23
23
|
*
|
|
24
24
|
* @param options - Agent dependencies used to execute tools
|
|
@@ -38,7 +38,7 @@ export class SequentialToolExecutor extends ToolExecutor {
|
|
|
38
38
|
toolResultBlocks.push(completedResult);
|
|
39
39
|
continue;
|
|
40
40
|
}
|
|
41
|
-
if (options.
|
|
41
|
+
if (options.cancelSignal.aborted) {
|
|
42
42
|
const cancelBlock = new ToolResultBlock({
|
|
43
43
|
toolUseId: toolUseBlock.toolUseId,
|
|
44
44
|
status: 'error',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequential.js","sourceRoot":"","sources":["../../../../src/tools/executors/sequential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAK5C;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IACtD;;;;;;;;OAQG;IACM,KAAK,CAAC,CAAC,OAAO,CACrB,OAA4B,EAC5B,KAAyB;QAEzB,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,GAAG,KAAK,CAAA;QAE1G,qEAAqE;QACrE,2BAA2B;QAC3B,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAA0B,oBAAoB,CAAC,CAAA;QAEjF,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,eAAe,GAAG,oBAAoB,EAAE,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;YACzE,IAAI,eAAe,EAAE,CAAC;gBACpB,iFAAiF;gBACjF,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBACtC,SAAQ;YACV,CAAC;YAED,IAAI,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"sequential.js","sourceRoot":"","sources":["../../../../src/tools/executors/sequential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAK5C;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IACtD;;;;;;;;OAQG;IACM,KAAK,CAAC,CAAC,OAAO,CACrB,OAA4B,EAC5B,KAAyB;QAEzB,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,GAAG,KAAK,CAAA;QAE1G,qEAAqE;QACrE,2BAA2B;QAC3B,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAA0B,oBAAoB,CAAC,CAAA;QAEjF,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,eAAe,GAAG,oBAAoB,EAAE,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;YACzE,IAAI,eAAe,EAAE,CAAC;gBACpB,iFAAiF;gBACjF,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBACtC,SAAQ;YACV,CAAC;YAED,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;oBACtC,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;iBACrD,CAAC,CAAA;gBACF,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAClC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;gBAC3D,MAAM,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAA;gBACzF,SAAQ;YACV,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,eAAe,CAAC,CAAA;gBACvF,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;gBACtC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;gBAC/D,MAAM,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,CAAA;YAC/F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;oBACpC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;gBAChF,CAAC;gBACD,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Tool, type ToolContext, type ToolStreamGenerator } from './tool.js';
|
|
2
2
|
import type { ToolSpec } from './types.js';
|
|
3
|
-
import type { JSONSchema } from '../types/json.js';
|
|
3
|
+
import type { JSONSchema, JSONValue } from '../types/json.js';
|
|
4
4
|
import type { McpClient } from '../mcp/index.js';
|
|
5
5
|
export interface McpToolConfig {
|
|
6
6
|
name: string;
|
|
7
7
|
description: string;
|
|
8
8
|
inputSchema: JSONSchema;
|
|
9
9
|
outputSchema?: JSONSchema;
|
|
10
|
+
annotations?: Record<string, JSONValue | undefined>;
|
|
10
11
|
client: McpClient;
|
|
11
12
|
}
|
|
12
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/mcp-tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAC/F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"mcp-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/mcp-tool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,IAAI,EAAE,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAC/F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAI7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,UAAU,CAAA;IACvB,YAAY,CAAC,EAAE,UAAU,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;IACnD,MAAM,EAAE,SAAS,CAAA;CAClB;AAED;;;;;;GAMG;AACH,qBAAa,OAAQ,SAAQ,IAAI;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;gBAEzB,MAAM,EAAE,aAAa;IAe1B,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB;IAkD5D;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAyBtB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IA6B/B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,cAAc;CAGvB"}
|
|
@@ -25,6 +25,7 @@ export class McpTool extends Tool {
|
|
|
25
25
|
description: config.description,
|
|
26
26
|
inputSchema: config.inputSchema,
|
|
27
27
|
...(config.outputSchema !== undefined && { outputSchema: config.outputSchema }),
|
|
28
|
+
...(config.annotations !== undefined && { annotations: config.annotations }),
|
|
28
29
|
};
|
|
29
30
|
this.mcpClient = config.client;
|
|
30
31
|
}
|
|
@@ -33,7 +34,7 @@ export class McpTool extends Tool {
|
|
|
33
34
|
const { toolUseId, input } = toolContext.toolUse;
|
|
34
35
|
try {
|
|
35
36
|
const rawResult = await this.mcpClient.callTool(this, input, {
|
|
36
|
-
signal: toolContext.
|
|
37
|
+
signal: toolContext.cancelSignal,
|
|
37
38
|
});
|
|
38
39
|
if (!this._isMcpToolResult(rawResult)) {
|
|
39
40
|
throw new Error('Invalid tool result from MCP Client: missing content array');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tool.js","sourceRoot":"","sources":["../../../src/tools/mcp-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAA;AAErG,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAA8C,MAAM,WAAW,CAAA;AAG/F,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAA;AACpG,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAoB,MAAM,YAAY,CAAA;AAE3E,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"mcp-tool.js","sourceRoot":"","sources":["../../../src/tools/mcp-tool.ts"],"names":[],"mappings":"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"}
|
package/dist/src/tools/tool.d.ts
CHANGED
|
@@ -28,6 +28,8 @@ export interface ToolContext extends Interruptible {
|
|
|
28
28
|
* deep-copied on read/write.
|
|
29
29
|
*/
|
|
30
30
|
invocationState: InvocationState;
|
|
31
|
+
/** Execution-scoped cancellation signal for this tool call. */
|
|
32
|
+
cancelSignal: AbortSignal;
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
33
35
|
* Data for a tool stream event.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAa,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAA;IAEhB;;;OAGG;IACH,KAAK,EAAE,UAAU,CAAA;IAEjB;;;;;;;;OAQG;IACH,eAAe,EAAE,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAa,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAA;IAEhB;;;OAGG;IACH,KAAK,EAAE,UAAU,CAAA;IAEjB;;;;;;;;OAQG;IACH,eAAe,EAAE,eAAe,CAAA;IAEhC,+DAA+D;IAC/D,YAAY,EAAE,WAAW,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,iBAAiB,CAAA;IAEvB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAgB,YAAW,mBAAmB;IACzD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAG,iBAAiB,CAAS;IAE1C;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;gBAEX,SAAS,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;CAK1C;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC,eAAe,EAAE,eAAe,EAAE,SAAS,CAAC,CAAA;AAE7F;;;;;;;;GAQG;AACH,8BAAsB,IAAI;IACxB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB;CAC/D;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa,CAAC,MAAM,EAAE,OAAO,CAAE,SAAQ,IAAI;IAC1D;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAUpF;AAKD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAqD7C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,eAAe;IAC1B;;OAEG;IACM,IAAI,GAAG,iBAA0B,CAAA;IAE1C;;;OAGG;IACM,IAAI,CAAU;IAEvB,YAAY,SAA6B;QACvC,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC5B,CAAC;IACH,CAAC;CACF;AAQD;;;;;;;;GAQG;AACH,MAAM,OAAgB,IAAI;CAqDzB;AAyBD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc,EAAE,SAAiB;IACjE,0DAA0D;IAC1D,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;IAEzC,OAAO,IAAI,eAAe,CAAC;QACzB,SAAS;QACT,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,UAAU,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,KAAK,EAAE,WAAW;KACnB,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAA;AAC5C,MAAM,oBAAoB,GAAG,EAAE,CAAA;AAE/B;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,oBAAoB,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC/F,CAAC"}
|
|
@@ -27,6 +27,14 @@ export interface ToolSpec {
|
|
|
27
27
|
* JSON Schema defining the expected output structure for the tool.
|
|
28
28
|
*/
|
|
29
29
|
outputSchema?: JSONSchema;
|
|
30
|
+
/**
|
|
31
|
+
* Untrusted tool-behavior hints (e.g. MCP `readOnlyHint`, `destructiveHint`); never a security boundary.
|
|
32
|
+
*
|
|
33
|
+
* Not sent to model provider APIs. A missing key means unknown, not `false` — per MCP spec
|
|
34
|
+
* `destructiveHint` and `openWorldHint` default to `true` when absent — and the field is absent
|
|
35
|
+
* entirely for non-MCP tools.
|
|
36
|
+
*/
|
|
37
|
+
annotations?: Record<string, JSONValue | undefined>;
|
|
30
38
|
}
|
|
31
39
|
/**
|
|
32
40
|
* Represents a tool usage request from the model.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE7D;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAA;AAElD;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,CAAA;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE7D;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAA;AAElD;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,CAAA;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,UAAU,CAAA;IAEzB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC,CAAA;CACpD;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,KAAK,EAAE,SAAS,CAAA;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAA"}
|