@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.
Files changed (122) hide show
  1. package/README.md +44 -11
  2. package/dist/browser.js +171 -15
  3. package/dist/browser.js.map +3 -3
  4. package/dist/index.d.ts +9 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +2584 -1361
  7. package/dist/index.js.map +4 -4
  8. package/dist/lib/agent.d.ts +6 -0
  9. package/dist/lib/agent.d.ts.map +1 -1
  10. package/dist/lib/chain-summary.d.ts +18 -0
  11. package/dist/lib/chain-summary.d.ts.map +1 -0
  12. package/dist/lib/engine.d.ts +25 -6
  13. package/dist/lib/engine.d.ts.map +1 -1
  14. package/dist/lib/fragments/message/user.d.ts +22 -2
  15. package/dist/lib/fragments/message/user.d.ts.map +1 -1
  16. package/dist/lib/fragments/reminders/combinators.d.ts +23 -0
  17. package/dist/lib/fragments/reminders/combinators.d.ts.map +1 -1
  18. package/dist/lib/fragments/reminders/message-predicates.d.ts +10 -0
  19. package/dist/lib/fragments/reminders/message-predicates.d.ts.map +1 -0
  20. package/dist/lib/fragments/reminders/temporal/elapsed.d.ts +3 -0
  21. package/dist/lib/fragments/reminders/temporal/elapsed.d.ts.map +1 -0
  22. package/dist/lib/fragments/reminders/temporal/index.d.ts +1 -0
  23. package/dist/lib/fragments/reminders/temporal/index.d.ts.map +1 -1
  24. package/dist/lib/fragments/reminders/tool-predicates.d.ts +17 -0
  25. package/dist/lib/fragments/reminders/tool-predicates.d.ts.map +1 -0
  26. package/dist/lib/fragments/reminders/usage-predicates.d.ts +3 -0
  27. package/dist/lib/fragments/reminders/usage-predicates.d.ts.map +1 -0
  28. package/dist/lib/fragments.d.ts +8 -3
  29. package/dist/lib/fragments.d.ts.map +1 -1
  30. package/dist/lib/resolvers/async-resolver.d.ts +8 -0
  31. package/dist/lib/resolvers/async-resolver.d.ts.map +1 -0
  32. package/dist/lib/resolvers/function-resolver.d.ts +8 -0
  33. package/dist/lib/resolvers/function-resolver.d.ts.map +1 -0
  34. package/dist/lib/resolvers/generator-resolver.d.ts +13 -0
  35. package/dist/lib/resolvers/generator-resolver.d.ts.map +1 -0
  36. package/dist/lib/resolvers/index.d.ts +10 -0
  37. package/dist/lib/resolvers/index.d.ts.map +1 -0
  38. package/dist/lib/resolvers/iterable-resolver.d.ts +12 -0
  39. package/dist/lib/resolvers/iterable-resolver.d.ts.map +1 -0
  40. package/dist/lib/resolvers/loader-resolver.d.ts +13 -0
  41. package/dist/lib/resolvers/loader-resolver.d.ts.map +1 -0
  42. package/dist/lib/resolvers/promise-resolver.d.ts +7 -0
  43. package/dist/lib/resolvers/promise-resolver.d.ts.map +1 -0
  44. package/dist/lib/resolvers/types.d.ts +45 -0
  45. package/dist/lib/resolvers/types.d.ts.map +1 -0
  46. package/dist/lib/sandbox/ast-utils.d.ts +5 -2
  47. package/dist/lib/sandbox/ast-utils.d.ts.map +1 -1
  48. package/dist/lib/sandbox/bash-tool.d.ts.map +1 -1
  49. package/dist/lib/sandbox/container-tool.d.ts +32 -8
  50. package/dist/lib/sandbox/container-tool.d.ts.map +1 -1
  51. package/dist/lib/sandbox/docker-sandbox-errors.d.ts +58 -0
  52. package/dist/lib/sandbox/docker-sandbox-errors.d.ts.map +1 -0
  53. package/dist/lib/sandbox/docker-sandbox.d.ts +69 -357
  54. package/dist/lib/sandbox/docker-sandbox.d.ts.map +1 -1
  55. package/dist/lib/sandbox/index.d.ts +2 -7
  56. package/dist/lib/sandbox/index.d.ts.map +1 -1
  57. package/dist/lib/sandbox/installers/github-release.d.ts +46 -0
  58. package/dist/lib/sandbox/installers/github-release.d.ts.map +1 -0
  59. package/dist/lib/sandbox/installers/index.d.ts +7 -0
  60. package/dist/lib/sandbox/installers/index.d.ts.map +1 -0
  61. package/dist/lib/sandbox/installers/installer.d.ts +44 -0
  62. package/dist/lib/sandbox/installers/installer.d.ts.map +1 -0
  63. package/dist/lib/sandbox/installers/npm.d.ts +32 -0
  64. package/dist/lib/sandbox/installers/npm.d.ts.map +1 -0
  65. package/dist/lib/sandbox/installers/package-manager.d.ts +19 -0
  66. package/dist/lib/sandbox/installers/package-manager.d.ts.map +1 -0
  67. package/dist/lib/sandbox/installers/pip.d.ts +37 -0
  68. package/dist/lib/sandbox/installers/pip.d.ts.map +1 -0
  69. package/dist/lib/sandbox/installers/url-binary.d.ts +41 -0
  70. package/dist/lib/sandbox/installers/url-binary.d.ts.map +1 -0
  71. package/dist/lib/sandbox/subcommand.d.ts +11 -11
  72. package/dist/lib/sandbox/subcommand.d.ts.map +1 -1
  73. package/dist/lib/sandbox/upload-skills.d.ts +6 -0
  74. package/dist/lib/sandbox/upload-skills.d.ts.map +1 -1
  75. package/dist/lib/sandbox/virtual-sandbox.d.ts +10 -0
  76. package/dist/lib/sandbox/virtual-sandbox.d.ts.map +1 -0
  77. package/dist/lib/save/reminder-target-handler.d.ts +36 -0
  78. package/dist/lib/save/reminder-target-handler.d.ts.map +1 -0
  79. package/dist/lib/save/save-pipeline.d.ts +28 -0
  80. package/dist/lib/save/save-pipeline.d.ts.map +1 -0
  81. package/dist/lib/save/tool-output-target-handler.d.ts +7 -0
  82. package/dist/lib/save/tool-output-target-handler.d.ts.map +1 -0
  83. package/dist/lib/save/user-target-handler.d.ts +7 -0
  84. package/dist/lib/save/user-target-handler.d.ts.map +1 -0
  85. package/dist/lib/stream/change-source.d.ts +11 -0
  86. package/dist/lib/stream/change-source.d.ts.map +1 -0
  87. package/dist/lib/stream/ddl.stream.postgres-notify.d.ts +3 -0
  88. package/dist/lib/stream/ddl.stream.postgres-notify.d.ts.map +1 -0
  89. package/dist/lib/stream/ddl.stream.postgres.d.ts +2 -0
  90. package/dist/lib/stream/ddl.stream.postgres.d.ts.map +1 -0
  91. package/dist/lib/stream/polling-change-source.d.ts +27 -0
  92. package/dist/lib/stream/polling-change-source.d.ts.map +1 -0
  93. package/dist/lib/stream/polling-policy.d.ts +0 -1
  94. package/dist/lib/stream/polling-policy.d.ts.map +1 -1
  95. package/dist/lib/stream/postgres-notify-change-source.d.ts +15 -0
  96. package/dist/lib/stream/postgres-notify-change-source.d.ts.map +1 -0
  97. package/dist/lib/stream/postgres.stream-store.d.ts +29 -0
  98. package/dist/lib/stream/postgres.stream-store.d.ts.map +1 -0
  99. package/dist/lib/stream/stream-manager.d.ts +8 -27
  100. package/dist/lib/stream/stream-manager.d.ts.map +1 -1
  101. package/dist/lib/ui-message-guards.d.ts +10 -0
  102. package/dist/lib/ui-message-guards.d.ts.map +1 -0
  103. package/package.json +8 -13
  104. package/dist/lib/sandbox/extension.d.ts +0 -39
  105. package/dist/lib/sandbox/extension.d.ts.map +0 -1
  106. package/dist/lib/sandbox/openapi/demo.d.ts +0 -2
  107. package/dist/lib/sandbox/openapi/demo.d.ts.map +0 -1
  108. package/dist/lib/sandbox/openapi/extension.d.ts +0 -19
  109. package/dist/lib/sandbox/openapi/extension.d.ts.map +0 -1
  110. package/dist/lib/sandbox/openapi/format.d.ts +0 -11
  111. package/dist/lib/sandbox/openapi/format.d.ts.map +0 -1
  112. package/dist/lib/sandbox/openapi/schema.d.ts +0 -9
  113. package/dist/lib/sandbox/openapi/schema.d.ts.map +0 -1
  114. package/dist/lib/sandbox/openapi/skill/index.d.ts +0 -6
  115. package/dist/lib/sandbox/openapi/skill/index.d.ts.map +0 -1
  116. package/dist/lib/sandbox/openapi/skill/index.js +0 -14
  117. package/dist/lib/sandbox/openapi/skill/index.js.map +0 -7
  118. package/dist/lib/sandbox/openapi/skill/openapi-cli/SKILL.md +0 -109
  119. package/dist/lib/sandbox/openapi/validate.d.ts +0 -7
  120. package/dist/lib/sandbox/openapi/validate.d.ts.map +0 -1
  121. package/dist/lib/sandbox/routing-sandbox.d.ts +0 -28
  122. package/dist/lib/sandbox/routing-sandbox.d.ts.map +0 -1
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/lib/agent.ts"],"names":[],"mappings":"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"}
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"}
@@ -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
- * Result of saving pending messages to the graph.
26
- */
27
- export interface SaveResult {
28
- headMessageId: string | undefined;
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.
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/lib/engine.ts"],"names":[],"mappings":"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"}
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;AAExB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAEL,KAAK,UAAU,EAGf,KAAK,cAAc,EACnB,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,QAAQ,EAAE,eAAe,CAAC;IAC1B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,KAAK,EAAE,YAAY,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,wFAAwF;IACxF,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;CAC7B;AAiFD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,QAAQ,EAAE,eAAe,CAAC;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,QAAQ,EAAE,cAAc,CAAC;IACzB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,SAAS,EAAE;QACT,gDAAgD;QAChD,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,8CAA8C;QAC9C,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,wCAAwC;QACxC,SAAS,EAAE,WAAW,EAAE,CAAC;KAC1B,CAAC;IACF,uDAAuD;IACvD,KAAK,EAAE,SAAS,CAAC;IACjB,0BAA0B;IAC1B,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAa;;gBA6BZ,OAAO,EAAE,oBAAoB;IAiHzC;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;OAGG;IACH,IAAW,aAAa,IAAI,MAAM,GAAG,SAAS,CAE7C;IAED;;;OAGG;IACH,IAAW,IAAI,IAAI,cAAc,GAAG,IAAI,CAEvC;IAqBY,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAK/B,gBAAgB,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IA4B/D;;;;;;;OAOG;IACU,WAAW,IAAI,OAAO,CACjC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CACzC;IAqBD;;;;;OAKG;IACU,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IA+BhD;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB1D;;;;;OAKG;IACI,GAAG,CAAC,GAAG,SAAS,EAAE,eAAe,EAAE;IAYnC,KAAK,CAAC,UAAU,EAAE,MAAM;IAI/B;;;OAGG;IACI,MAAM,CAAC,QAAQ,EAAE,eAAe;IAIvC;;;;;;;;;;;;;;;;OAgBG;IACU,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAYrE;;;;;;;;;;;;;OAaG;IACU,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAsEtE;;;;;;;;;;;OAWG;IACU,QAAQ,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,QAAQ,CAAC,EAAE,eAAe,CAAC;QAC3B,OAAO,CAAC,EAAE,YAAY,CAAC;QACvB,MAAM,CAAC,EAAE,WAAW,CAAC;KACjB,GACL,OAAO,CAAC,cAAc,CAAC;IAsF1B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACU,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAe3D;;;;;;;;;;;;;;;;;;OAkBG;IACU,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAyB9D;;;;;;;;;;;;;;;OAeG;IACU,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAcvD;;;;;;;;;;;;;;OAcG;IACU,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACU,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC;IAUvC;;;;;;;;;;;;OAYG;IACU,UAAU,CACrB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC,GAC3D,OAAO,CAAC,IAAI,CAAC;IAmBhB;;;;;;;;;;;;OAYG;IACU,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBjE;;;;;;;OAOG;IACI,WAAW,IAAI,IAAI;IAI1B;;;;;;;;OAQG;IACI,IAAI,IAAI,aAAa;IAU5B;;;;;;;;;;;;;;;OAeG;IACI,cAAc;;;IAcrB;;;;;;;;;;;;;;;;;;OAkBG;IACU,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CA0CtE"}
@@ -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":"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"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/lib/fragments/message/user.ts"],"names":[],"mappings":"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"}
@@ -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,3 @@
1
+ import { type WhenPredicate } from '../../message/user.ts';
2
+ export declare function elapsedExceeds(ms: number): WhenPredicate;
3
+ //# sourceMappingURL=elapsed.d.ts.map
@@ -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,3 +1,4 @@
1
+ export * from './elapsed.ts';
1
2
  export * from './predicates.ts';
2
3
  export * from './reminder.ts';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ import { type WhenPredicate } from '../message/user.ts';
2
+ export declare function usageExceeds(totalTokens: number): WhenPredicate;
3
+ //# sourceMappingURL=usage-predicates.d.ts.map
@@ -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"}
@@ -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, or nested fragment.
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 to check if data is a plain object (not array, not fragment, not primitive).
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;AAEtD;;;;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;;GAEG;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,CAAC;AAEpC;;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;;GAEG;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"}
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 declare function asStaticWordText(word: WordNode | null | undefined): string | null;
3
- export declare function asStaticWordPartText(parts: Array<Record<string, unknown>>): string | null;
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,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAChC,MAAM,GAAG,IAAI,CAOf;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACpC,MAAM,GAAG,IAAI,CAgCf"}
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,CAyFvB"}
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"}