@deepagents/context 0.38.1 → 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 +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2584 -1361
- 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 +22 -2
- package/dist/lib/fragments/message/user.d.ts.map +1 -1
- package/dist/lib/fragments/reminders/combinators.d.ts +23 -0
- package/dist/lib/fragments/reminders/combinators.d.ts.map +1 -1
- package/dist/lib/fragments/reminders/message-predicates.d.ts +10 -0
- package/dist/lib/fragments/reminders/message-predicates.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/temporal/elapsed.d.ts +3 -0
- package/dist/lib/fragments/reminders/temporal/elapsed.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/temporal/index.d.ts +1 -0
- package/dist/lib/fragments/reminders/temporal/index.d.ts.map +1 -1
- package/dist/lib/fragments/reminders/tool-predicates.d.ts +17 -0
- package/dist/lib/fragments/reminders/tool-predicates.d.ts.map +1 -0
- package/dist/lib/fragments/reminders/usage-predicates.d.ts +3 -0
- package/dist/lib/fragments/reminders/usage-predicates.d.ts.map +1 -0
- 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 +8 -13
- 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 {
|
|
@@ -32,24 +32,30 @@ export interface WhenContext {
|
|
|
32
32
|
elapsed?: number;
|
|
33
33
|
messageCount: number;
|
|
34
34
|
lastAssistantMessage?: UIMessage;
|
|
35
|
+
lastAssistantMessages?: UIMessage[];
|
|
35
36
|
}
|
|
36
37
|
export type WhenPredicate = (ctx: WhenContext) => boolean | Promise<boolean>;
|
|
38
|
+
export type ReminderTarget = 'user' | 'tool-output';
|
|
37
39
|
export interface UserReminderOptions {
|
|
38
40
|
asPart?: boolean;
|
|
41
|
+
target?: 'user';
|
|
39
42
|
}
|
|
40
43
|
export interface UserReminder {
|
|
41
44
|
text: SyncReminderText;
|
|
42
45
|
asPart: boolean;
|
|
46
|
+
target: 'user';
|
|
43
47
|
metadata?: Record<string, unknown>;
|
|
44
48
|
}
|
|
45
49
|
export interface ConditionalReminderOptions {
|
|
46
50
|
when: WhenPredicate;
|
|
47
51
|
asPart?: boolean;
|
|
52
|
+
target?: ReminderTarget;
|
|
48
53
|
}
|
|
49
54
|
export interface ConditionalReminder {
|
|
50
55
|
text: ReminderText;
|
|
51
56
|
when: WhenPredicate;
|
|
52
57
|
asPart: boolean;
|
|
58
|
+
target: ReminderTarget;
|
|
53
59
|
}
|
|
54
60
|
export declare function isConditionalReminder(fragment: ContextFragment): fragment is ContextFragment & {
|
|
55
61
|
metadata: {
|
|
@@ -59,16 +65,21 @@ export declare function isConditionalReminder(fragment: ContextFragment): fragme
|
|
|
59
65
|
export interface UserReminderMetadata {
|
|
60
66
|
id: string;
|
|
61
67
|
text: string;
|
|
68
|
+
target: ReminderTarget;
|
|
62
69
|
partIndex: number;
|
|
63
70
|
start: number;
|
|
64
71
|
end: number;
|
|
65
|
-
mode: 'inline' | 'part';
|
|
72
|
+
mode: 'inline' | 'part' | 'tool-output';
|
|
66
73
|
}
|
|
67
74
|
export type ReminderRange = {
|
|
68
75
|
partIndex: number;
|
|
69
76
|
start: number;
|
|
70
77
|
end: number;
|
|
71
78
|
};
|
|
79
|
+
type OutputAvailableToolPart = ToolUIPart & {
|
|
80
|
+
state: 'output-available';
|
|
81
|
+
output: unknown;
|
|
82
|
+
};
|
|
72
83
|
export declare function getReminderRanges(metadata: Record<string, unknown> | undefined): ReminderRange[];
|
|
73
84
|
export declare function stripTextByRanges(text: string, ranges: Array<{
|
|
74
85
|
start: number;
|
|
@@ -102,6 +113,14 @@ export declare function applyReminderToMessage(message: UIMessage, item: {
|
|
|
102
113
|
asPart: boolean;
|
|
103
114
|
metadata?: Record<string, unknown>;
|
|
104
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[];
|
|
105
124
|
export declare function mergeReminderMetadata(message: UIMessage, addedReminders: UserReminderMetadata[]): void;
|
|
106
125
|
/**
|
|
107
126
|
* Create an immediate reminder for use inside `user()`.
|
|
@@ -192,4 +211,5 @@ export declare function reminder(fragment: ContextFragment, options: Conditional
|
|
|
192
211
|
export declare function user(content: string | (UIMessage & {
|
|
193
212
|
role: 'user';
|
|
194
213
|
}), ...reminders: UserReminder[]): MessageFragment;
|
|
214
|
+
export {};
|
|
195
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"}
|
|
@@ -3,4 +3,27 @@ export type AsyncWhenPredicate = (ctx: WhenContext) => Promise<boolean>;
|
|
|
3
3
|
export declare function and(...predicates: WhenPredicate[]): AsyncWhenPredicate;
|
|
4
4
|
export declare function or(...predicates: WhenPredicate[]): AsyncWhenPredicate;
|
|
5
5
|
export declare function not(predicate: WhenPredicate): AsyncWhenPredicate;
|
|
6
|
+
/**
|
|
7
|
+
* Existential window: fires when `predicate` matches AT LEAST ONE of the last
|
|
8
|
+
* N assistant messages.
|
|
9
|
+
*
|
|
10
|
+
* Rebinds ONLY `lastAssistantMessage`. Wrapping predicates that read other
|
|
11
|
+
* fields (currentMessage, content, turn, usage, elapsed) is a no-op — those
|
|
12
|
+
* stay frozen at the outer ctx values. Intended for tool predicates and
|
|
13
|
+
* `lastAssistantLength`.
|
|
14
|
+
*
|
|
15
|
+
* Short-circuits on first match. Returns false when no chain history.
|
|
16
|
+
*/
|
|
17
|
+
export declare function withinLastN(n: number, predicate: WhenPredicate): AsyncWhenPredicate;
|
|
18
|
+
/**
|
|
19
|
+
* Universal window: fires only when `predicate` matches EVERY ONE of the last
|
|
20
|
+
* N assistant messages. Use for streak detection (e.g. "no tool use in any of
|
|
21
|
+
* the last 3 replies").
|
|
22
|
+
*
|
|
23
|
+
* Rebinds ONLY `lastAssistantMessage`, same scope rules as `withinLastN`.
|
|
24
|
+
*
|
|
25
|
+
* Short-circuits on first non-match. Returns false when fewer than N
|
|
26
|
+
* assistant messages exist — a streak of N requires at least N candidates.
|
|
27
|
+
*/
|
|
28
|
+
export declare function everyOfLastN(n: number, predicate: WhenPredicate): AsyncWhenPredicate;
|
|
6
29
|
//# sourceMappingURL=combinators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combinators.d.ts","sourceRoot":"","sources":["../../../../src/lib/fragments/reminders/combinators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAExE,wBAAgB,GAAG,CAAC,GAAG,UAAU,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAOtE;AAED,wBAAgB,EAAE,CAAC,GAAG,UAAU,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAOrE;AAED,wBAAgB,GAAG,CAAC,SAAS,EAAE,aAAa,GAAG,kBAAkB,CAEhE"}
|
|
1
|
+
{"version":3,"file":"combinators.d.ts","sourceRoot":"","sources":["../../../../src/lib/fragments/reminders/combinators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAExE,wBAAgB,GAAG,CAAC,GAAG,UAAU,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAOtE;AAED,wBAAgB,EAAE,CAAC,GAAG,UAAU,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAOrE;AAED,wBAAgB,GAAG,CAAC,SAAS,EAAE,aAAa,GAAG,kBAAkB,CAEhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,aAAa,GACvB,kBAAkB,CAWpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,aAAa,GACvB,kBAAkB,CAapB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type WhenPredicate } from '../message/user.ts';
|
|
2
|
+
export type CountSpec = {
|
|
3
|
+
gte?: number;
|
|
4
|
+
lte?: number;
|
|
5
|
+
eq?: number;
|
|
6
|
+
};
|
|
7
|
+
export declare function assertCountSpec(spec: CountSpec): void;
|
|
8
|
+
export declare function checkCount(count: number, spec: CountSpec): boolean;
|
|
9
|
+
export declare function lastAssistantLength(spec: CountSpec): WhenPredicate;
|
|
10
|
+
//# sourceMappingURL=message-predicates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-predicates.d.ts","sourceRoot":"","sources":["../../../../src/lib/fragments/reminders/message-predicates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,MAAM,SAAS,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpE,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CASrD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAKlE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAOlE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elapsed.d.ts","sourceRoot":"","sources":["../../../../../src/lib/fragments/reminders/temporal/elapsed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAExD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/fragments/reminders/temporal/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/fragments/reminders/temporal/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ToolUIPart } from 'ai';
|
|
2
|
+
import { type WhenPredicate } from '../message/user.ts';
|
|
3
|
+
import { type CountSpec } from './message-predicates.ts';
|
|
4
|
+
export type ToolNameSpec = string | ((name: string) => boolean);
|
|
5
|
+
export interface ToolCallOptions {
|
|
6
|
+
name?: ToolNameSpec;
|
|
7
|
+
state?: ToolUIPart['state'];
|
|
8
|
+
input?: (input: unknown) => boolean;
|
|
9
|
+
output?: (output: unknown) => boolean;
|
|
10
|
+
errorText?: (text: string) => boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function toolCall(options: ToolCallOptions): WhenPredicate;
|
|
13
|
+
export declare function toolCalled(name: ToolNameSpec): WhenPredicate;
|
|
14
|
+
export declare function toolFailed(name: ToolNameSpec): WhenPredicate;
|
|
15
|
+
export declare function anyToolCalled(): WhenPredicate;
|
|
16
|
+
export declare function toolCallCount(name: ToolNameSpec, spec: CountSpec): WhenPredicate;
|
|
17
|
+
//# sourceMappingURL=tool-predicates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-predicates.d.ts","sourceRoot":"","sources":["../../../../src/lib/fragments/reminders/tool-predicates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAsC,MAAM,IAAI,CAAC;AAEzE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,KAAK,SAAS,EAGf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IACpC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACvC;AAqBD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAkChE;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAE5D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAE5D;AAED,wBAAgB,aAAa,IAAI,aAAa,CAK7C;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,SAAS,GACd,aAAa,CASf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-predicates.d.ts","sourceRoot":"","sources":["../../../../src/lib/fragments/reminders/usage-predicates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAE/D"}
|
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"}
|