@deepagents/context 0.39.0 → 2.1.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/README.md +44 -11
- package/dist/browser.js +171 -15
- package/dist/browser.js.map +3 -3
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3037 -1573
- package/dist/index.js.map +4 -4
- package/dist/lib/agent.d.ts +6 -0
- package/dist/lib/agent.d.ts.map +1 -1
- package/dist/lib/chain-summary.d.ts +18 -0
- package/dist/lib/chain-summary.d.ts.map +1 -0
- package/dist/lib/engine.d.ts +25 -6
- package/dist/lib/engine.d.ts.map +1 -1
- package/dist/lib/fragments/message/user.d.ts +21 -2
- package/dist/lib/fragments/message/user.d.ts.map +1 -1
- package/dist/lib/fragments.d.ts +8 -3
- package/dist/lib/fragments.d.ts.map +1 -1
- package/dist/lib/resolvers/async-resolver.d.ts +8 -0
- package/dist/lib/resolvers/async-resolver.d.ts.map +1 -0
- package/dist/lib/resolvers/function-resolver.d.ts +8 -0
- package/dist/lib/resolvers/function-resolver.d.ts.map +1 -0
- package/dist/lib/resolvers/generator-resolver.d.ts +13 -0
- package/dist/lib/resolvers/generator-resolver.d.ts.map +1 -0
- package/dist/lib/resolvers/index.d.ts +10 -0
- package/dist/lib/resolvers/index.d.ts.map +1 -0
- package/dist/lib/resolvers/iterable-resolver.d.ts +12 -0
- package/dist/lib/resolvers/iterable-resolver.d.ts.map +1 -0
- package/dist/lib/resolvers/loader-resolver.d.ts +13 -0
- package/dist/lib/resolvers/loader-resolver.d.ts.map +1 -0
- package/dist/lib/resolvers/promise-resolver.d.ts +7 -0
- package/dist/lib/resolvers/promise-resolver.d.ts.map +1 -0
- package/dist/lib/resolvers/types.d.ts +45 -0
- package/dist/lib/resolvers/types.d.ts.map +1 -0
- package/dist/lib/sandbox/abort.d.ts +24 -0
- package/dist/lib/sandbox/abort.d.ts.map +1 -0
- package/dist/lib/sandbox/agent-os-sandbox.d.ts +3 -6
- package/dist/lib/sandbox/agent-os-sandbox.d.ts.map +1 -1
- package/dist/lib/sandbox/ast-utils.d.ts +5 -2
- package/dist/lib/sandbox/ast-utils.d.ts.map +1 -1
- package/dist/lib/sandbox/bash-tool.d.ts +29 -16
- package/dist/lib/sandbox/bash-tool.d.ts.map +1 -1
- package/dist/lib/sandbox/container-tool.d.ts +47 -21
- package/dist/lib/sandbox/container-tool.d.ts.map +1 -1
- package/dist/lib/sandbox/docker-sandbox-errors.d.ts +74 -0
- package/dist/lib/sandbox/docker-sandbox-errors.d.ts.map +1 -0
- package/dist/lib/sandbox/docker-sandbox.d.ts +148 -371
- package/dist/lib/sandbox/docker-sandbox.d.ts.map +1 -1
- package/dist/lib/sandbox/file-events.d.ts +24 -38
- package/dist/lib/sandbox/file-events.d.ts.map +1 -1
- package/dist/lib/sandbox/index.d.ts +3 -7
- package/dist/lib/sandbox/index.d.ts.map +1 -1
- package/dist/lib/sandbox/installers/github-release.d.ts +46 -0
- package/dist/lib/sandbox/installers/github-release.d.ts.map +1 -0
- package/dist/lib/sandbox/installers/index.d.ts +7 -0
- package/dist/lib/sandbox/installers/index.d.ts.map +1 -0
- package/dist/lib/sandbox/installers/installer.d.ts +44 -0
- package/dist/lib/sandbox/installers/installer.d.ts.map +1 -0
- package/dist/lib/sandbox/installers/npm.d.ts +32 -0
- package/dist/lib/sandbox/installers/npm.d.ts.map +1 -0
- package/dist/lib/sandbox/installers/package-manager.d.ts +19 -0
- package/dist/lib/sandbox/installers/package-manager.d.ts.map +1 -0
- package/dist/lib/sandbox/installers/pip.d.ts +37 -0
- package/dist/lib/sandbox/installers/pip.d.ts.map +1 -0
- package/dist/lib/sandbox/installers/url-binary.d.ts +41 -0
- package/dist/lib/sandbox/installers/url-binary.d.ts.map +1 -0
- package/dist/lib/sandbox/subcommand.d.ts +11 -11
- package/dist/lib/sandbox/subcommand.d.ts.map +1 -1
- package/dist/lib/sandbox/types.d.ts +51 -6
- package/dist/lib/sandbox/types.d.ts.map +1 -1
- package/dist/lib/sandbox/upload-skills.d.ts +6 -0
- package/dist/lib/sandbox/upload-skills.d.ts.map +1 -1
- package/dist/lib/sandbox/virtual-sandbox.d.ts +10 -0
- package/dist/lib/sandbox/virtual-sandbox.d.ts.map +1 -0
- package/dist/lib/save/reminder-target-handler.d.ts +36 -0
- package/dist/lib/save/reminder-target-handler.d.ts.map +1 -0
- package/dist/lib/save/save-pipeline.d.ts +28 -0
- package/dist/lib/save/save-pipeline.d.ts.map +1 -0
- package/dist/lib/save/tool-output-target-handler.d.ts +7 -0
- package/dist/lib/save/tool-output-target-handler.d.ts.map +1 -0
- package/dist/lib/save/user-target-handler.d.ts +7 -0
- package/dist/lib/save/user-target-handler.d.ts.map +1 -0
- package/dist/lib/stream/change-source.d.ts +11 -0
- package/dist/lib/stream/change-source.d.ts.map +1 -0
- package/dist/lib/stream/ddl.stream.postgres-notify.d.ts +3 -0
- package/dist/lib/stream/ddl.stream.postgres-notify.d.ts.map +1 -0
- package/dist/lib/stream/ddl.stream.postgres.d.ts +2 -0
- package/dist/lib/stream/ddl.stream.postgres.d.ts.map +1 -0
- package/dist/lib/stream/polling-change-source.d.ts +27 -0
- package/dist/lib/stream/polling-change-source.d.ts.map +1 -0
- package/dist/lib/stream/polling-policy.d.ts +0 -1
- package/dist/lib/stream/polling-policy.d.ts.map +1 -1
- package/dist/lib/stream/postgres-notify-change-source.d.ts +15 -0
- package/dist/lib/stream/postgres-notify-change-source.d.ts.map +1 -0
- package/dist/lib/stream/postgres.stream-store.d.ts +29 -0
- package/dist/lib/stream/postgres.stream-store.d.ts.map +1 -0
- package/dist/lib/stream/stream-manager.d.ts +8 -27
- package/dist/lib/stream/stream-manager.d.ts.map +1 -1
- package/dist/lib/ui-message-guards.d.ts +10 -0
- package/dist/lib/ui-message-guards.d.ts.map +1 -0
- package/package.json +4 -17
- package/dist/lib/sandbox/extension.d.ts +0 -39
- package/dist/lib/sandbox/extension.d.ts.map +0 -1
- package/dist/lib/sandbox/openapi/demo.d.ts +0 -2
- package/dist/lib/sandbox/openapi/demo.d.ts.map +0 -1
- package/dist/lib/sandbox/openapi/extension.d.ts +0 -19
- package/dist/lib/sandbox/openapi/extension.d.ts.map +0 -1
- package/dist/lib/sandbox/openapi/format.d.ts +0 -11
- package/dist/lib/sandbox/openapi/format.d.ts.map +0 -1
- package/dist/lib/sandbox/openapi/schema.d.ts +0 -9
- package/dist/lib/sandbox/openapi/schema.d.ts.map +0 -1
- package/dist/lib/sandbox/openapi/skill/index.d.ts +0 -6
- package/dist/lib/sandbox/openapi/skill/index.d.ts.map +0 -1
- package/dist/lib/sandbox/openapi/skill/index.js +0 -14
- package/dist/lib/sandbox/openapi/skill/index.js.map +0 -7
- package/dist/lib/sandbox/openapi/skill/openapi-cli/SKILL.md +0 -109
- package/dist/lib/sandbox/openapi/validate.d.ts +0 -7
- package/dist/lib/sandbox/openapi/validate.d.ts.map +0 -1
- package/dist/lib/sandbox/routing-sandbox.d.ts +0 -28
- package/dist/lib/sandbox/routing-sandbox.d.ts.map +0 -1
- package/dist/lib/sandboxes/openai.d.ts +0 -6
- package/dist/lib/sandboxes/openai.d.ts.map +0 -1
package/dist/lib/agent.d.ts
CHANGED
|
@@ -74,6 +74,12 @@ export interface StructuredOutputOptions<TSchema extends FlexibleSchema> {
|
|
|
74
74
|
context?: ContextEngine;
|
|
75
75
|
model?: AgentModel;
|
|
76
76
|
schema: TSchema;
|
|
77
|
+
/**
|
|
78
|
+
* Optional sandbox forwarded to context.resolve(). Required only when the
|
|
79
|
+
* referenced context contains values that dispatch to resolvers declaring
|
|
80
|
+
* `requiresSandbox` (e.g. async/sync/generator function loaders).
|
|
81
|
+
*/
|
|
82
|
+
sandbox?: AgentSandbox;
|
|
77
83
|
providerOptions?: Parameters<typeof generateText>[0]['providerOptions'];
|
|
78
84
|
experimental_telemetry?: Parameters<typeof generateText>[0]['experimental_telemetry'];
|
|
79
85
|
tools?: ToolSet;
|
package/dist/lib/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/lib/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,MAAM,EACN,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,OAAO,EAMZ,YAAY,EAKb,MAAM,IAAI,CAAC;AAIZ,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,gBAAgB,EAMtB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,KAAK,SAAS,EAGf,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG,CAC9B,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,KACrC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9B,MAAM,WAAW,WAAW,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9C,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACxE,sBAAsB,CAAC,EAAE,UAAU,CACjC,OAAO,YAAY,CACpB,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,cAAM,KAAK,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG;;IAGzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;gBACnB,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC;IAS9B,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,EACpC,gBAAgB,EAAE,GAAG,EACrB,MAAM,CAAC,EAAE;QACP,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GACA,OAAO,CACR,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CACpE;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/lib/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { UIMessage } from 'ai';
|
|
2
|
+
import type { ContextFragment } from './fragments.ts';
|
|
3
|
+
import type { MessageData } from './store/store.ts';
|
|
4
|
+
export interface ChainSummary {
|
|
5
|
+
turn: number;
|
|
6
|
+
messageCount: number;
|
|
7
|
+
lastMessageAt?: number;
|
|
8
|
+
lastMessage?: UIMessage;
|
|
9
|
+
lastAssistantMessage?: UIMessage;
|
|
10
|
+
lastAssistantMessages?: UIMessage[];
|
|
11
|
+
}
|
|
12
|
+
export declare class ChainSummaryBuilder {
|
|
13
|
+
#private;
|
|
14
|
+
ingestStored(msg: MessageData): void;
|
|
15
|
+
ingestPending(fragment: ContextFragment): void;
|
|
16
|
+
build(): ChainSummary;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=chain-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-summary.d.ts","sourceRoot":"","sources":["../../src/lib/chain-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,qBAAqB,CAAC,EAAE,SAAS,EAAE,CAAC;CACrC;AAED,qBAAa,mBAAmB;;IAQ9B,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAyBpC,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAK9C,KAAK,IAAI,YAAY;CAUtB"}
|
package/dist/lib/engine.d.ts
CHANGED
|
@@ -3,8 +3,12 @@ import { type EstimateResult } from './estimate.ts';
|
|
|
3
3
|
import { type ChatMessage, type ContextFragment } from './fragments.ts';
|
|
4
4
|
import type { Models } from './models.generated.ts';
|
|
5
5
|
import { type ContextRenderer } from './renderers/abstract.renderer.ts';
|
|
6
|
+
import { type ValueResolver } from './resolvers/index.ts';
|
|
7
|
+
import type { AgentSandbox } from './sandbox/types.ts';
|
|
8
|
+
import { type SaveResult } from './save/save-pipeline.ts';
|
|
6
9
|
import type { SkillPathMapping } from './skills/types.ts';
|
|
7
10
|
import { type BranchInfo, type CheckpointInfo, ContextStore, type GraphData, type MessageData, type StoredChatData } from './store/store.ts';
|
|
11
|
+
export type { SaveResult } from './save/save-pipeline.ts';
|
|
8
12
|
/**
|
|
9
13
|
* Result of resolving context - ready for AI SDK consumption.
|
|
10
14
|
*/
|
|
@@ -20,12 +24,15 @@ export interface ResolveResult {
|
|
|
20
24
|
export interface ResolveOptions {
|
|
21
25
|
/** Renderer to use for system prompt (defaults to XmlRenderer) */
|
|
22
26
|
renderer: ContextRenderer;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Sandbox forwarded to resolvers that declare `requiresSandbox`. Optional —
|
|
29
|
+
* required only if fragments contain values that dispatch to such resolvers
|
|
30
|
+
* (default chain: AsyncResolver, FunctionResolver, GeneratorResolver). Walker
|
|
31
|
+
* throws pre-dispatch with the fragment path otherwise.
|
|
32
|
+
*/
|
|
33
|
+
sandbox?: AgentSandbox;
|
|
34
|
+
/** Optional cancellation signal forwarded to loaders */
|
|
35
|
+
signal?: AbortSignal;
|
|
29
36
|
}
|
|
30
37
|
/**
|
|
31
38
|
* Options for creating a ContextEngine.
|
|
@@ -39,6 +46,8 @@ export interface ContextEngineOptions {
|
|
|
39
46
|
userId: string;
|
|
40
47
|
/** Optional initial metadata for the chat (merged with existing if chat exists) */
|
|
41
48
|
metadata?: Record<string, unknown>;
|
|
49
|
+
/** Custom resolver chain (defaults to async, generator, function, promise, iterable) */
|
|
50
|
+
resolvers?: ValueResolver[];
|
|
42
51
|
}
|
|
43
52
|
/**
|
|
44
53
|
* Options for context inspection.
|
|
@@ -48,6 +57,14 @@ export interface InspectOptions {
|
|
|
48
57
|
modelId: Models;
|
|
49
58
|
/** Renderer for estimation (required) */
|
|
50
59
|
renderer: ContextRenderer;
|
|
60
|
+
/**
|
|
61
|
+
* Sandbox forwarded to the resolver chain via estimate(). Optional —
|
|
62
|
+
* required only if fragments contain values that dispatch to resolvers
|
|
63
|
+
* declaring `requiresSandbox`.
|
|
64
|
+
*/
|
|
65
|
+
sandbox?: AgentSandbox;
|
|
66
|
+
/** Optional cancellation signal forwarded to loaders */
|
|
67
|
+
signal?: AbortSignal;
|
|
51
68
|
}
|
|
52
69
|
/**
|
|
53
70
|
* Result of inspecting context state.
|
|
@@ -211,6 +228,8 @@ export declare class ContextEngine {
|
|
|
211
228
|
*/
|
|
212
229
|
estimate(modelId: Models, options?: {
|
|
213
230
|
renderer?: ContextRenderer;
|
|
231
|
+
sandbox?: AgentSandbox;
|
|
232
|
+
signal?: AbortSignal;
|
|
214
233
|
}): Promise<EstimateResult>;
|
|
215
234
|
/**
|
|
216
235
|
* Rewind to a specific message by ID.
|
package/dist/lib/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/lib/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,SAAS,EAGf,MAAM,IAAI,CAAC;AAGZ,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EAKrB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/lib/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type LanguageModelUsage, type UIMessage } from 'ai';
|
|
1
|
+
import { type LanguageModelUsage, type ToolUIPart, type UIMessage } from 'ai';
|
|
2
2
|
import { type ContextFragment, type MessageFragment } from '../../fragments.ts';
|
|
3
3
|
import type { StoredChatData } from '../../store/store.ts';
|
|
4
4
|
export interface ReminderContext {
|
|
@@ -35,22 +35,27 @@ export interface WhenContext {
|
|
|
35
35
|
lastAssistantMessages?: UIMessage[];
|
|
36
36
|
}
|
|
37
37
|
export type WhenPredicate = (ctx: WhenContext) => boolean | Promise<boolean>;
|
|
38
|
+
export type ReminderTarget = 'user' | 'tool-output';
|
|
38
39
|
export interface UserReminderOptions {
|
|
39
40
|
asPart?: boolean;
|
|
41
|
+
target?: 'user';
|
|
40
42
|
}
|
|
41
43
|
export interface UserReminder {
|
|
42
44
|
text: SyncReminderText;
|
|
43
45
|
asPart: boolean;
|
|
46
|
+
target: 'user';
|
|
44
47
|
metadata?: Record<string, unknown>;
|
|
45
48
|
}
|
|
46
49
|
export interface ConditionalReminderOptions {
|
|
47
50
|
when: WhenPredicate;
|
|
48
51
|
asPart?: boolean;
|
|
52
|
+
target?: ReminderTarget;
|
|
49
53
|
}
|
|
50
54
|
export interface ConditionalReminder {
|
|
51
55
|
text: ReminderText;
|
|
52
56
|
when: WhenPredicate;
|
|
53
57
|
asPart: boolean;
|
|
58
|
+
target: ReminderTarget;
|
|
54
59
|
}
|
|
55
60
|
export declare function isConditionalReminder(fragment: ContextFragment): fragment is ContextFragment & {
|
|
56
61
|
metadata: {
|
|
@@ -60,16 +65,21 @@ export declare function isConditionalReminder(fragment: ContextFragment): fragme
|
|
|
60
65
|
export interface UserReminderMetadata {
|
|
61
66
|
id: string;
|
|
62
67
|
text: string;
|
|
68
|
+
target: ReminderTarget;
|
|
63
69
|
partIndex: number;
|
|
64
70
|
start: number;
|
|
65
71
|
end: number;
|
|
66
|
-
mode: 'inline' | 'part';
|
|
72
|
+
mode: 'inline' | 'part' | 'tool-output';
|
|
67
73
|
}
|
|
68
74
|
export type ReminderRange = {
|
|
69
75
|
partIndex: number;
|
|
70
76
|
start: number;
|
|
71
77
|
end: number;
|
|
72
78
|
};
|
|
79
|
+
type OutputAvailableToolPart = ToolUIPart & {
|
|
80
|
+
state: 'output-available';
|
|
81
|
+
output: unknown;
|
|
82
|
+
};
|
|
73
83
|
export declare function getReminderRanges(metadata: Record<string, unknown> | undefined): ReminderRange[];
|
|
74
84
|
export declare function stripTextByRanges(text: string, ranges: Array<{
|
|
75
85
|
start: number;
|
|
@@ -103,6 +113,14 @@ export declare function applyReminderToMessage(message: UIMessage, item: {
|
|
|
103
113
|
asPart: boolean;
|
|
104
114
|
metadata?: Record<string, unknown>;
|
|
105
115
|
}, ctx: ReminderContext): UserReminderMetadata | null;
|
|
116
|
+
export declare function findSingleOutputAvailableToolPart(message: UIMessage): {
|
|
117
|
+
partIndex: number;
|
|
118
|
+
part: OutputAvailableToolPart;
|
|
119
|
+
} | null;
|
|
120
|
+
export declare function applyToolOutputRemindersToMessage(message: UIMessage, reminders: Array<{
|
|
121
|
+
text: string;
|
|
122
|
+
metadata?: Record<string, unknown>;
|
|
123
|
+
}>): UserReminderMetadata[];
|
|
106
124
|
export declare function mergeReminderMetadata(message: UIMessage, addedReminders: UserReminderMetadata[]): void;
|
|
107
125
|
/**
|
|
108
126
|
* Create an immediate reminder for use inside `user()`.
|
|
@@ -193,4 +211,5 @@ export declare function reminder(fragment: ContextFragment, options: Conditional
|
|
|
193
211
|
export declare function user(content: string | (UIMessage & {
|
|
194
212
|
role: 'user';
|
|
195
213
|
}), ...reminders: UserReminder[]): MessageFragment;
|
|
214
|
+
export {};
|
|
196
215
|
//# sourceMappingURL=user.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/lib/fragments/message/user.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/lib/fragments/message/user.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,SAAS,EAGf,MAAM,IAAI,CAAC;AAEZ,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,eAAe,EAErB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,CAAC,CAAC,GAAG,EAAE,eAAe,KAAK,MAAM,GAAG,kBAAkB,CAAC,CAAC;AAE5D,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,CAAC,CACC,GAAG,EAAE,eAAe,KACjB,MAAM,GAAG,kBAAkB,GAAG,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC;AAE7E,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,cAAc,EAAE,SAAS,CAAC;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,qBAAqB,CAAC,EAAE,SAAS,EAAE,CAAC;CACrC;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE7E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,aAAa,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,eAAe,GACxB,QAAQ,IAAI,eAAe,GAAG;IAC/B,QAAQ,EAAE;QAAE,QAAQ,EAAE,mBAAmB,CAAA;KAAE,CAAC;CAC7C,CAEA;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;CACzC;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAUF,KAAK,uBAAuB,GAAG,UAAU,GAAG;IAC1C,KAAK,EAAE,kBAAkB,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC5C,aAAa,EAAE,CAMjB;AAiFD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5C,MAAM,CAkCR;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAkF5D;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAoCD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,MAAM,GACZ,oBAAoB,CAqBtB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,MAAM,GACZ,oBAAoB,CActB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,EAChC,GAAG,EAAE,eAAe,GACnB,MAAM,CAER;AAgBD,wBAAgB,eAAe,CAC7B,IAAI,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EACpE,GAAG,EAAE,eAAe,GACnB,kBAAkB,GAAG,IAAI,CAiB3B;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAChE,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAapC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,EAClB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,IAAI,CAON;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE;IACJ,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,EACD,GAAG,EAAE,eAAe,GACnB,oBAAoB,GAAG,IAAI,CAW7B;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,SAAS,GACjB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,uBAAuB,CAAA;CAAE,GAAG,IAAI,CAW7D;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,GACrE,oBAAoB,EAAE,CAuDxB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,SAAS,EAClB,cAAc,EAAE,oBAAoB,EAAE,GACrC,IAAI,CAMN;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,gBAAgB,EACtB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,YAAY,CAAC;AAChB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,0BAA0B,GAClC,eAAe,CAAC;AACnB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,YAAY,CAAC;AAChB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,0BAA0B,GAClC,eAAe,CAAC;AA4CnB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,IAAI,CAClB,OAAO,EAAE,MAAM,GAAG,CAAC,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAChD,GAAG,SAAS,EAAE,YAAY,EAAE,GAC3B,eAAe,CAoCjB"}
|
package/dist/lib/fragments.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type UIMessage } from 'ai';
|
|
2
2
|
import type { FragmentCodec } from './codec/codec.ts';
|
|
3
|
+
import type { LoadContext } from './resolvers/types.ts';
|
|
3
4
|
/**
|
|
4
5
|
* Fragment type identifier.
|
|
5
6
|
* - 'fragment': Regular context fragment (default)
|
|
@@ -38,11 +39,13 @@ export interface ContextFragment<T extends FragmentData = FragmentData> {
|
|
|
38
39
|
metadata?: Record<string, unknown>;
|
|
39
40
|
}
|
|
40
41
|
/**
|
|
41
|
-
* Fragment data can be a primitive, array, object,
|
|
42
|
+
* Fragment data can be a primitive, array, object, nested fragment, or a
|
|
43
|
+
* lazy value (function, generator, promise, iterable) that is materialized
|
|
44
|
+
* by the resolver chain at engine.resolve() time.
|
|
42
45
|
*/
|
|
43
46
|
export type FragmentData = string | number | null | undefined | boolean | ContextFragment | FragmentData[] | {
|
|
44
47
|
[key: string]: FragmentData;
|
|
45
|
-
}
|
|
48
|
+
} | ((ctx: LoadContext) => FragmentData | Promise<FragmentData> | Iterable<FragmentData> | AsyncIterable<FragmentData>) | Promise<FragmentData> | Iterable<FragmentData> | AsyncIterable<FragmentData>;
|
|
46
49
|
/**
|
|
47
50
|
* Type guard to check if data is a ContextFragment.
|
|
48
51
|
*/
|
|
@@ -52,7 +55,9 @@ export declare function isFragment(data: unknown): data is ContextFragment;
|
|
|
52
55
|
*/
|
|
53
56
|
export type FragmentObject = Record<string, FragmentData>;
|
|
54
57
|
/**
|
|
55
|
-
* Type guard
|
|
58
|
+
* Type guard for plain objects in fragment data. The resolver chain dispatches
|
|
59
|
+
* Promises/iterables to handlers first, so this guard would not normally see them.
|
|
60
|
+
* Kept defensive so direct render paths that bypass the resolver still reject lazy values.
|
|
56
61
|
*/
|
|
57
62
|
export declare function isFragmentObject(data: unknown): data is FragmentObject;
|
|
58
63
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragments.d.ts","sourceRoot":"","sources":["../../src/lib/fragments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,IAAI,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"fragments.d.ts","sourceRoot":"","sources":["../../src/lib/fragments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,IAAI,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IACpE;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,CAAC,CAAC;IACT;;;OAGG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,MAAM,GACN,IAAI,GACJ,SAAS,GACT,OAAO,GACP,eAAe,GACf,YAAY,EAAE,GACd;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;CAAE,GAC/B,CAAC,CACC,GAAG,EAAE,WAAW,KAEd,YAAY,GACZ,OAAO,CAAC,YAAY,CAAC,GACrB,QAAQ,CAAC,YAAY,CAAC,GACtB,aAAa,CAAC,YAAY,CAAC,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC,GACrB,QAAQ,CAAC,YAAY,CAAC,GACtB,aAAa,CAAC,YAAY,CAAC,CAAC;AAEhC;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,eAAe,CAQjE;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,cAAc,CAOtE;AAED;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,aAAa,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,eAAe,GACxB,QAAQ,IAAI,eAAe,CAE7B;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,CAUvE;AAED,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,GAAG,QAAQ,EAAE,YAAY,EAAE,GAC1B,eAAe,CAKjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,GAAG,eAAe,CAe7D;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC;AAEtD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,CAKpE;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAuBpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,eAAe,CAOjB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { LoadContext, ValueResolver } from './types.ts';
|
|
2
|
+
export declare class AsyncResolver implements ValueResolver {
|
|
3
|
+
readonly name = "AsyncResolver";
|
|
4
|
+
readonly requiresSandbox = true;
|
|
5
|
+
canResolve(value: unknown): boolean;
|
|
6
|
+
resolve(value: unknown, ctx: LoadContext): Promise<unknown>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=async-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-resolver.d.ts","sourceRoot":"","sources":["../../../src/lib/resolvers/async-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EACX,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,qBAAa,aAAc,YAAW,aAAa;IACjD,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,eAAe,QAAQ;IAEhC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAMnC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;CAG5D"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { LoadContext, ValueResolver } from './types.ts';
|
|
2
|
+
export declare class FunctionResolver implements ValueResolver {
|
|
3
|
+
readonly name = "FunctionResolver";
|
|
4
|
+
readonly requiresSandbox = true;
|
|
5
|
+
canResolve(value: unknown): boolean;
|
|
6
|
+
resolve(value: unknown, ctx: LoadContext): Promise<unknown>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=function-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"function-resolver.d.ts","sourceRoot":"","sources":["../../../src/lib/resolvers/function-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,qBAAa,gBAAiB,YAAW,aAAa;IACpD,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,eAAe,QAAQ;IAEhC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI7B,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;CAIlE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { LoadContext, ValueResolver } from './types.ts';
|
|
2
|
+
export interface GeneratorResolverOptions {
|
|
3
|
+
maxItems?: number;
|
|
4
|
+
}
|
|
5
|
+
export declare class GeneratorResolver implements ValueResolver {
|
|
6
|
+
#private;
|
|
7
|
+
readonly name = "GeneratorResolver";
|
|
8
|
+
readonly requiresSandbox = true;
|
|
9
|
+
constructor(options?: GeneratorResolverOptions);
|
|
10
|
+
canResolve(value: unknown): boolean;
|
|
11
|
+
resolve(value: unknown, ctx: LoadContext): Promise<unknown>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=generator-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator-resolver.d.ts","sourceRoot":"","sources":["../../../src/lib/resolvers/generator-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EACX,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AASD,qBAAa,iBAAkB,YAAW,aAAa;;IACrD,QAAQ,CAAC,IAAI,uBAAuB;IACpC,QAAQ,CAAC,eAAe,QAAQ;gBAGpB,OAAO,GAAE,wBAA6B;IAIlD,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAO7B,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;CAclE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ValueResolver } from './types.ts';
|
|
2
|
+
export { AsyncResolver } from './async-resolver.ts';
|
|
3
|
+
export { FunctionResolver } from './function-resolver.ts';
|
|
4
|
+
export { GeneratorResolver } from './generator-resolver.ts';
|
|
5
|
+
export { IterableResolver } from './iterable-resolver.ts';
|
|
6
|
+
export { PromiseResolver } from './promise-resolver.ts';
|
|
7
|
+
export { FragmentLoaderResolver, type FragmentLoaderResolverOptions, } from './loader-resolver.ts';
|
|
8
|
+
export type { AsyncFragmentLoader, GeneratorFragmentLoader, LoadContext, SyncFragmentLoader, ValueResolver, } from './types.ts';
|
|
9
|
+
export declare function defaultResolvers(): ValueResolver[];
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/resolvers/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,KAAK,6BAA6B,GACnC,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,wBAAgB,gBAAgB,IAAI,aAAa,EAAE,CAQlD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { LoadContext, ValueResolver } from './types.ts';
|
|
2
|
+
export interface IterableResolverOptions {
|
|
3
|
+
maxItems?: number;
|
|
4
|
+
}
|
|
5
|
+
export declare class IterableResolver implements ValueResolver {
|
|
6
|
+
#private;
|
|
7
|
+
readonly name = "IterableResolver";
|
|
8
|
+
constructor(options?: IterableResolverOptions);
|
|
9
|
+
canResolve(value: unknown): boolean;
|
|
10
|
+
resolve(value: unknown, _ctx: LoadContext): Promise<unknown>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=iterable-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterable-resolver.d.ts","sourceRoot":"","sources":["../../../src/lib/resolvers/iterable-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAgBD,qBAAa,gBAAiB,YAAW,aAAa;;IACpD,QAAQ,CAAC,IAAI,sBAAsB;gBAGvB,OAAO,GAAE,uBAA4B;IAIjD,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAU7B,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;CAcnE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ContextFragment } from '../fragments.ts';
|
|
2
|
+
import type { LoadContext, ValueResolver } from './types.ts';
|
|
3
|
+
export interface FragmentLoaderResolverOptions {
|
|
4
|
+
maxDepth?: number;
|
|
5
|
+
}
|
|
6
|
+
declare const ROOT_PATH = "<root>";
|
|
7
|
+
export declare class FragmentLoaderResolver {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(resolvers: ValueResolver[], options?: FragmentLoaderResolverOptions);
|
|
10
|
+
resolve(fragments: ContextFragment[], ctx: LoadContext): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export { ROOT_PATH };
|
|
13
|
+
//# sourceMappingURL=loader-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader-resolver.d.ts","sourceRoot":"","sources":["../../../src/lib/resolvers/loader-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EAKrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,QAAA,MAAM,SAAS,WAAW,CAAC;AAE3B,qBAAa,sBAAsB;;gBAK/B,SAAS,EAAE,aAAa,EAAE,EAC1B,OAAO,GAAE,6BAAkC;IAMvC,OAAO,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAwI7E;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { LoadContext, ValueResolver } from './types.ts';
|
|
2
|
+
export declare class PromiseResolver implements ValueResolver {
|
|
3
|
+
readonly name = "PromiseResolver";
|
|
4
|
+
canResolve(value: unknown): boolean;
|
|
5
|
+
resolve(value: unknown, _ctx: LoadContext): Promise<unknown>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=promise-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promise-resolver.d.ts","sourceRoot":"","sources":["../../../src/lib/resolvers/promise-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE7D,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,IAAI,qBAAqB;IAElC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAInC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;CAG7D"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ContextEngine } from '../engine.ts';
|
|
2
|
+
import type { AgentSandbox } from '../sandbox/types.ts';
|
|
3
|
+
export interface LoadContext {
|
|
4
|
+
/**
|
|
5
|
+
* Sandbox available to loaders for IO. Optional — required only when a
|
|
6
|
+
* resolver with `requiresSandbox = true` is dispatched. The walker throws a
|
|
7
|
+
* clear error in that case if the sandbox is absent.
|
|
8
|
+
*/
|
|
9
|
+
sandbox?: AgentSandbox;
|
|
10
|
+
/**
|
|
11
|
+
* The owning engine. Optional in `LoadContext` so unit tests of resolvers
|
|
12
|
+
* don't need to construct a real engine — production callsites (engine.resolve
|
|
13
|
+
* and engine.estimate) always pass `this`, so loaders can safely use
|
|
14
|
+
* `ctx.context!` when they need it.
|
|
15
|
+
*/
|
|
16
|
+
context?: ContextEngine;
|
|
17
|
+
signal?: AbortSignal;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Loader functions return `unknown` (not `FragmentData`) because `FragmentData`'s
|
|
21
|
+
* inclusion of `Promise<unknown>`/`AsyncIterable<unknown>` makes TypeScript's
|
|
22
|
+
* recursive-promise inference blow up at the boundary. The walker re-feeds every
|
|
23
|
+
* loader result through `walkData`, so any nested lazy values still get materialized.
|
|
24
|
+
*/
|
|
25
|
+
export type AsyncFragmentLoader = (ctx: LoadContext) => Promise<unknown>;
|
|
26
|
+
export type SyncFragmentLoader = (ctx: LoadContext) => unknown;
|
|
27
|
+
export type GeneratorFragmentLoader = (ctx: LoadContext) => AsyncIterable<unknown> | Iterable<unknown>;
|
|
28
|
+
export interface ValueResolver {
|
|
29
|
+
readonly name: string;
|
|
30
|
+
/**
|
|
31
|
+
* When true, the walker throws if this resolver is dispatched without a
|
|
32
|
+
* sandbox in `LoadContext`. Default false (Promise/Iterable resolvers don't
|
|
33
|
+
* touch the sandbox). Function-bodied resolvers (async/sync/generator) set
|
|
34
|
+
* this to true so loaders can safely access `ctx.sandbox` in their bodies.
|
|
35
|
+
*/
|
|
36
|
+
readonly requiresSandbox?: boolean;
|
|
37
|
+
canResolve(value: unknown): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Returns the materialized value. Typed `unknown` (not `FragmentData`) to avoid
|
|
40
|
+
* TypeScript's recursive-promise inference blowup — callers cast at the boundary.
|
|
41
|
+
* The walker re-feeds this through `walkData`, so recursive lazy values are still resolved.
|
|
42
|
+
*/
|
|
43
|
+
resolve(value: unknown, ctx: LoadContext): Promise<unknown>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/resolvers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AACzE,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC;AAC/D,MAAM,MAAM,uBAAuB,GAAG,CACpC,GAAG,EAAE,WAAW,KACb,aAAa,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IACpC;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7D"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { DisposableSandbox } from './types.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Set the ambient abort signal for the duration of `fn`. Inside `fn`,
|
|
4
|
+
* any sandbox call going through `withAbortSignal` will receive this
|
|
5
|
+
* signal via its `executeCommand` options.
|
|
6
|
+
*
|
|
7
|
+
* Use at the boundary where an external abort signal becomes available
|
|
8
|
+
* (e.g. a tool's `execute` callback). The signal then propagates down
|
|
9
|
+
* the decorator chain without explicit parameter threading.
|
|
10
|
+
*/
|
|
11
|
+
export declare function runWithAbortSignal<T>(signal: AbortSignal | undefined, fn: () => Promise<T>): Promise<T>;
|
|
12
|
+
/**
|
|
13
|
+
* Decorator: when `executeCommand` is called without an explicit signal,
|
|
14
|
+
* fills in the ambient signal set by `runWithAbortSignal`. Explicit
|
|
15
|
+
* caller-provided signals take precedence. Has no effect outside a
|
|
16
|
+
* `runWithAbortSignal` scope.
|
|
17
|
+
*
|
|
18
|
+
* Bridges the signature mismatch between upstream `bash-tool` (which
|
|
19
|
+
* calls `sandbox.executeCommand(command)` with no options) and backends
|
|
20
|
+
* that can honor cancellation. The decorator goes between upstream and
|
|
21
|
+
* the inner sandbox.
|
|
22
|
+
*/
|
|
23
|
+
export declare function withAbortSignal(sandbox: DisposableSandbox): DisposableSandbox;
|
|
24
|
+
//# sourceMappingURL=abort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abort.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/abort.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAIpD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,iBAAiB,CAW7E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { DisposableSandbox } from './types.ts';
|
|
2
2
|
export declare class AgentOsSandboxError extends Error {
|
|
3
3
|
constructor(message: string);
|
|
4
4
|
}
|
|
@@ -27,9 +27,6 @@ export interface AgentOsSandboxOptions {
|
|
|
27
27
|
*/
|
|
28
28
|
moduleAccessCwd?: string;
|
|
29
29
|
}
|
|
30
|
-
export interface AgentOsSandbox extends Sandbox {
|
|
31
|
-
dispose(): Promise<void>;
|
|
32
|
-
}
|
|
33
30
|
/**
|
|
34
31
|
* Creates a WASM-based sandbox backed by Agent OS.
|
|
35
32
|
*
|
|
@@ -63,7 +60,7 @@ export interface AgentOsSandbox extends Sandbox {
|
|
|
63
60
|
* await sandbox.dispose();
|
|
64
61
|
* ```
|
|
65
62
|
*/
|
|
66
|
-
export declare function createAgentOsSandbox(options?: AgentOsSandboxOptions): Promise<
|
|
63
|
+
export declare function createAgentOsSandbox(options?: AgentOsSandboxOptions): Promise<DisposableSandbox>;
|
|
67
64
|
/**
|
|
68
65
|
* Run a function with an Agent OS sandbox that auto-disposes on completion.
|
|
69
66
|
*
|
|
@@ -80,5 +77,5 @@ export declare function createAgentOsSandbox(options?: AgentOsSandboxOptions): P
|
|
|
80
77
|
* );
|
|
81
78
|
* ```
|
|
82
79
|
*/
|
|
83
|
-
export declare function useAgentOsSandbox<T>(options: AgentOsSandboxOptions, fn: (sandbox:
|
|
80
|
+
export declare function useAgentOsSandbox<T>(options: AgentOsSandboxOptions, fn: (sandbox: DisposableSandbox) => Promise<T>): Promise<T>;
|
|
84
81
|
//# sourceMappingURL=agent-os-sandbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-os-sandbox.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/agent-os-sandbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-os-sandbox.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/agent-os-sandbox.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAwBpD,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,wBAAyB,SAAQ,mBAAmB;gBACnD,KAAK,CAAC,EAAE,KAAK;CAO1B;AAED,qBAAa,oBAAqB,SAAQ,mBAAmB;gBAC/C,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAK3C;AAED,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,sCAAsC;IACtC,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtE,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,gDAAgD;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAyE5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE,qBAAqB,EAC9B,EAAE,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC,CAOZ"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { WordNode } from 'just-bash';
|
|
2
|
-
export
|
|
3
|
-
|
|
2
|
+
export interface StaticWordTextOptions {
|
|
3
|
+
preserveLegacyBackticks?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function asStaticWordText(word: WordNode | null | undefined, options?: StaticWordTextOptions): string | null;
|
|
6
|
+
export declare function asStaticWordPartText(parts: Array<Record<string, unknown>>, options?: StaticWordTextOptions): string | null;
|
|
4
7
|
//# sourceMappingURL=ast-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/ast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/ast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGtD,MAAM,WAAW,qBAAqB;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EACjC,OAAO,GAAE,qBAA0B,GAClC,MAAM,GAAG,IAAI,CAQf;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACrC,OAAO,GAAE,qBAA0B,GAClC,MAAM,GAAG,IAAI,CA0Cf"}
|
|
@@ -1,27 +1,40 @@
|
|
|
1
1
|
import { type CreateBashToolOptions } from 'bash-tool';
|
|
2
|
-
import type { AgentSandbox, SkillUploadInput } from './types.ts';
|
|
3
|
-
export interface CreateBashToolWithSkillsOptions extends CreateBashToolOptions {
|
|
2
|
+
import type { AgentSandbox, DisposableSandbox, SkillUploadInput } from './types.ts';
|
|
3
|
+
export interface CreateBashToolWithSkillsOptions extends Omit<CreateBashToolOptions, 'sandbox'> {
|
|
4
|
+
/**
|
|
5
|
+
* Backend satisfying `DisposableSandbox`. Callers pick the backend
|
|
6
|
+
* explicitly via `createVirtualSandbox`, `createDockerSandbox`, or
|
|
7
|
+
* `createAgentOsSandbox`. `@vercel/sandbox` is intentionally not
|
|
8
|
+
* accepted; if it's needed, wrap it to `DisposableSandbox` first.
|
|
9
|
+
*/
|
|
10
|
+
sandbox: DisposableSandbox;
|
|
4
11
|
/**
|
|
5
12
|
* Skill directories to upload into the sandbox at startup. Each entry's
|
|
6
13
|
* contents are copied to `sandbox` (files + subdirectories) and each
|
|
7
14
|
* subdirectory containing a SKILL.md is parsed into `sandbox.skills`.
|
|
8
15
|
*/
|
|
9
16
|
skills?: SkillUploadInput[];
|
|
17
|
+
/**
|
|
18
|
+
* Working directory + file-event observation root. Defaults to
|
|
19
|
+
* `/workspace` (matching upstream `bash-tool`). `drainFileEvents()`
|
|
20
|
+
* reports activity rooted here.
|
|
21
|
+
*/
|
|
22
|
+
destination?: string;
|
|
10
23
|
}
|
|
11
24
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
+
* Composes an `AgentSandbox` from a backend by layering decorators:
|
|
26
|
+
*
|
|
27
|
+
* backend → observeSandboxFileEvents → withBashExceptionCatch
|
|
28
|
+
*
|
|
29
|
+
* The composed sandbox is handed to upstream `bash-tool`; upstream's
|
|
30
|
+
* internal `bash` / `readFile` / `writeFile` tools therefore close over
|
|
31
|
+
* the decorated methods. The outer `bash` tool adds:
|
|
32
|
+
*
|
|
33
|
+
* - `reasoning` input on the schema.
|
|
34
|
+
* - Generic meta channel (`useBashMeta()`): `setHidden(patch)` attaches
|
|
35
|
+
* host-only metadata; `setReminder(text)` surfaces a model-visible
|
|
36
|
+
* nudge. `meta` is stripped from model output via `toModelOutput`.
|
|
37
|
+
* - Single-shot `skills` upload populating `sandbox.skills`.
|
|
25
38
|
*/
|
|
26
|
-
export declare function createBashTool(options
|
|
39
|
+
export declare function createBashTool(options: CreateBashToolWithSkillsOptions): Promise<AgentSandbox>;
|
|
27
40
|
//# sourceMappingURL=bash-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bash-tool.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/bash-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"bash-tool.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/bash-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,WAAW,CAAC;AAOnB,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AA8BpB,MAAM,WAAW,+BAAgC,SAAQ,IAAI,CAC3D,qBAAqB,EACrB,SAAS,CACV;IACC;;;;;OAKG;IACH,OAAO,EAAE,iBAAiB,CAAC;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,YAAY,CAAC,CA6FvB"}
|