@deepagents/context 0.39.0 → 1.0.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 +2309 -1233
- 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/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.map +1 -1
- package/dist/lib/sandbox/container-tool.d.ts +32 -8
- package/dist/lib/sandbox/container-tool.d.ts.map +1 -1
- package/dist/lib/sandbox/docker-sandbox-errors.d.ts +58 -0
- package/dist/lib/sandbox/docker-sandbox-errors.d.ts.map +1 -0
- package/dist/lib/sandbox/docker-sandbox.d.ts +69 -357
- package/dist/lib/sandbox/docker-sandbox.d.ts.map +1 -1
- package/dist/lib/sandbox/index.d.ts +2 -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/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 +2 -7
- 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/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":"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"}
|
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"}
|
|
@@ -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 +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;AAKnB,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,+BAAgC,SAAQ,qBAAqB;IAC5E;;;;OAIG;IACH,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,YAAY,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;AAKnB,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,+BAAgC,SAAQ,qBAAqB;IAC5E;;;;OAIG;IACH,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,YAAY,CAAC,CAkGvB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CreateBashToolOptions } from 'bash-tool';
|
|
2
|
-
import { type
|
|
2
|
+
import { type DockerMount, type DockerResources, type DockerSandbox } from './docker-sandbox.ts';
|
|
3
|
+
import type { Installer } from './installers/installer.ts';
|
|
3
4
|
import type { AgentSandbox, SkillUploadInput } from './types.ts';
|
|
4
5
|
/**
|
|
5
6
|
* Base options shared by RuntimeContainerToolOptions and DockerfileContainerToolOptions.
|
|
@@ -24,10 +25,31 @@ interface BaseContainerToolOptions extends Omit<CreateBashToolOptions, 'sandbox'
|
|
|
24
25
|
export interface RuntimeContainerToolOptions extends BaseContainerToolOptions {
|
|
25
26
|
/** Docker image to use (default: 'alpine:latest') */
|
|
26
27
|
image?: string;
|
|
27
|
-
/**
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Ordered list of installers run after the container starts.
|
|
30
|
+
*
|
|
31
|
+
* Built-in factory helpers:
|
|
32
|
+
* - `pkg([...])` — OS packages (apk/apt-get auto-detected)
|
|
33
|
+
* - `urlBinary({ name, url, binaryPath? })` — pre-built binary from a URL
|
|
34
|
+
* - `npm(name, { ensureRuntime?, version? })` — global npm install
|
|
35
|
+
* - `pip(name, { ensureRuntime?, version? })` — pip install
|
|
36
|
+
* - `githubRelease({ owner, repo, version, name, asset })` — GitHub release asset
|
|
37
|
+
*
|
|
38
|
+
* For anything else, subclass `Installer` and pass an instance directly.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* import { pkg, urlBinary, npm } from '@deepagents/context';
|
|
43
|
+
*
|
|
44
|
+
* createContainerTool({
|
|
45
|
+
* installers: [
|
|
46
|
+
* pkg(['curl', 'jq']),
|
|
47
|
+
* npm('prettier', { ensureRuntime: true }),
|
|
48
|
+
* ],
|
|
49
|
+
* });
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
installers?: Installer[];
|
|
31
53
|
}
|
|
32
54
|
/**
|
|
33
55
|
* Options for container tool using DockerfileStrategy.
|
|
@@ -89,8 +111,10 @@ export type ContainerToolResult = Omit<AgentSandbox, 'sandbox'> & {
|
|
|
89
111
|
*
|
|
90
112
|
* @example RuntimeStrategy (default)
|
|
91
113
|
* ```typescript
|
|
114
|
+
* import { createContainerTool, pkg } from '@deepagents/context';
|
|
115
|
+
*
|
|
92
116
|
* const sandbox = await createContainerTool({
|
|
93
|
-
*
|
|
117
|
+
* installers: [pkg(['curl', 'jq'])],
|
|
94
118
|
* mounts: [{
|
|
95
119
|
* hostPath: process.cwd(),
|
|
96
120
|
* containerPath: '/workspace',
|
|
@@ -112,7 +136,7 @@ export type ContainerToolResult = Omit<AgentSandbox, 'sandbox'> & {
|
|
|
112
136
|
* @example RuntimeStrategy with skills
|
|
113
137
|
* ```typescript
|
|
114
138
|
* const sandbox = await createContainerTool({
|
|
115
|
-
*
|
|
139
|
+
* installers: [pkg(['curl', 'jq'])],
|
|
116
140
|
* skills: [
|
|
117
141
|
* { host: './skills', sandbox: '/workspace/skills' },
|
|
118
142
|
* ],
|
|
@@ -149,7 +173,7 @@ export type ContainerToolResult = Omit<AgentSandbox, 'sandbox'> & {
|
|
|
149
173
|
* @example With hooks for logging
|
|
150
174
|
* ```typescript
|
|
151
175
|
* const sandbox = await createContainerTool({
|
|
152
|
-
*
|
|
176
|
+
* installers: [pkg(['python3'])],
|
|
153
177
|
* onBeforeBashCall: ({ command }) => {
|
|
154
178
|
* console.log('Running:', command);
|
|
155
179
|
* },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-tool.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/container-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"container-tool.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/container-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,EAKnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjE;;GAEG;AACH,UAAU,wBAAyB,SAAQ,IAAI,CAC7C,qBAAqB,EACrB,SAAS,GAAG,iBAAiB,CAC9B;IACC,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,wCAAwC;IACxC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA4B,SAAQ,wBAAwB;IAC3E,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC9E,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,2BAA4B,SAAQ,IAAI,CACvD,qBAAqB,EACrB,SAAS,GAAG,iBAAiB,CAC9B;IACC,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAC5B,2BAA2B,GAC3B,8BAA8B,GAC9B,2BAA2B,CAAC;AAEhC;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG;IAChE,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAoD9B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export declare class DockerSandboxError extends Error {
|
|
2
|
+
readonly containerId?: string;
|
|
3
|
+
constructor(message: string, containerId?: string);
|
|
4
|
+
}
|
|
5
|
+
export declare class DockerNotAvailableError extends DockerSandboxError {
|
|
6
|
+
constructor();
|
|
7
|
+
}
|
|
8
|
+
export declare class ContainerCreationError extends DockerSandboxError {
|
|
9
|
+
readonly image: string;
|
|
10
|
+
cause?: Error;
|
|
11
|
+
constructor(message: string, image: string, cause?: Error);
|
|
12
|
+
}
|
|
13
|
+
export declare class PackageInstallError extends DockerSandboxError {
|
|
14
|
+
readonly packages: string[];
|
|
15
|
+
readonly image: string;
|
|
16
|
+
readonly packageManager: 'apk' | 'apt-get';
|
|
17
|
+
readonly stderr: string;
|
|
18
|
+
constructor(packages: string[], image: string, packageManager: 'apk' | 'apt-get', stderr: string, containerId?: string);
|
|
19
|
+
}
|
|
20
|
+
export type InstallSource = 'url' | 'npm' | 'pypi' | 'github-release';
|
|
21
|
+
export interface InstallErrorOptions {
|
|
22
|
+
/** Logical name of the thing being installed (e.g. `'prettier'`, `'presenterm'`). */
|
|
23
|
+
target: string;
|
|
24
|
+
/** Where it was being fetched from. */
|
|
25
|
+
source: InstallSource;
|
|
26
|
+
/** Underlying failure message (typically stderr). */
|
|
27
|
+
reason: string;
|
|
28
|
+
/** Resolved URL when applicable (URL binary / GitHub release). */
|
|
29
|
+
url?: string;
|
|
30
|
+
containerId?: string;
|
|
31
|
+
}
|
|
32
|
+
export declare class InstallError extends DockerSandboxError {
|
|
33
|
+
readonly target: string;
|
|
34
|
+
readonly source: InstallSource;
|
|
35
|
+
readonly reason: string;
|
|
36
|
+
readonly url?: string;
|
|
37
|
+
constructor(opts: InstallErrorOptions);
|
|
38
|
+
}
|
|
39
|
+
export declare class MissingRuntimeError extends DockerSandboxError {
|
|
40
|
+
readonly runtime: string;
|
|
41
|
+
readonly required: string[];
|
|
42
|
+
constructor(runtime: string, required: string[], details?: string, containerId?: string);
|
|
43
|
+
}
|
|
44
|
+
export declare class MountPathError extends DockerSandboxError {
|
|
45
|
+
readonly hostPath: string;
|
|
46
|
+
readonly containerPath: string;
|
|
47
|
+
constructor(hostPath: string, containerPath: string);
|
|
48
|
+
}
|
|
49
|
+
export declare class DockerfileBuildError extends DockerSandboxError {
|
|
50
|
+
readonly stderr: string;
|
|
51
|
+
constructor(stderr: string);
|
|
52
|
+
}
|
|
53
|
+
export declare class ComposeStartError extends DockerSandboxError {
|
|
54
|
+
readonly composeFile: string;
|
|
55
|
+
readonly stderr: string;
|
|
56
|
+
constructor(composeFile: string, stderr: string);
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=docker-sandbox-errors.d.ts.map
|