@deepagents/context 4.2.1 → 5.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 (150) hide show
  1. package/README.md +37 -12
  2. package/dist/browser.d.ts +6 -2
  3. package/dist/browser.d.ts.map +1 -1
  4. package/dist/browser.js +97 -68
  5. package/dist/browser.js.map +4 -4
  6. package/dist/index.d.ts +1 -9
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +5839 -5496
  9. package/dist/index.js.map +4 -4
  10. package/dist/lib/advisor.d.ts +2 -2
  11. package/dist/lib/agent.d.ts +33 -15
  12. package/dist/lib/agent.d.ts.map +1 -1
  13. package/dist/lib/chain-summary.d.ts +8 -0
  14. package/dist/lib/chain-summary.d.ts.map +1 -1
  15. package/dist/lib/chat.d.ts +2 -2
  16. package/dist/lib/chat.d.ts.map +1 -1
  17. package/dist/lib/engine.d.ts +43 -71
  18. package/dist/lib/engine.d.ts.map +1 -1
  19. package/dist/lib/fragments/message/user.d.ts +2 -213
  20. package/dist/lib/fragments/message/user.d.ts.map +1 -1
  21. package/dist/lib/fragments/reminders/index.d.ts +3 -0
  22. package/dist/lib/fragments/reminders/index.d.ts.map +1 -0
  23. package/dist/lib/{save/reminder-eval.d.ts → fragments/reminders/src/evaluate.d.ts} +3 -3
  24. package/dist/lib/fragments/reminders/src/evaluate.d.ts.map +1 -0
  25. package/dist/lib/fragments/reminders/src/index.d.ts +5 -0
  26. package/dist/lib/fragments/reminders/src/index.d.ts.map +1 -0
  27. package/dist/lib/fragments/reminders/src/predicates/classifier.d.ts.map +1 -0
  28. package/dist/lib/fragments/reminders/{combinators.d.ts → src/predicates/combinators.d.ts} +9 -9
  29. package/dist/lib/fragments/reminders/src/predicates/combinators.d.ts.map +1 -0
  30. package/dist/lib/fragments/reminders/{content-predicates.d.ts → src/predicates/content.d.ts} +2 -2
  31. package/dist/lib/fragments/reminders/src/predicates/content.d.ts.map +1 -0
  32. package/dist/lib/fragments/reminders/src/predicates/index.d.ts +9 -0
  33. package/dist/lib/fragments/reminders/src/predicates/index.d.ts.map +1 -0
  34. package/dist/lib/fragments/reminders/{message-predicates.d.ts → src/predicates/message.d.ts} +3 -7
  35. package/dist/lib/fragments/reminders/src/predicates/message.d.ts.map +1 -0
  36. package/dist/lib/fragments/reminders/{once.d.ts → src/predicates/once.d.ts} +2 -2
  37. package/dist/lib/fragments/reminders/src/predicates/once.d.ts.map +1 -0
  38. package/dist/lib/fragments/reminders/src/predicates/tool.d.ts +41 -0
  39. package/dist/lib/fragments/reminders/src/predicates/tool.d.ts.map +1 -0
  40. package/dist/lib/fragments/reminders/{turn-predicates.d.ts → src/predicates/turn.d.ts} +2 -2
  41. package/dist/lib/fragments/reminders/src/predicates/turn.d.ts.map +1 -0
  42. package/dist/lib/fragments/reminders/src/predicates/usage.d.ts +3 -0
  43. package/dist/lib/fragments/reminders/src/predicates/usage.d.ts.map +1 -0
  44. package/dist/lib/fragments/reminders/src/reminders.d.ts +94 -0
  45. package/dist/lib/fragments/reminders/src/reminders.d.ts.map +1 -0
  46. package/dist/lib/fragments/reminders/src/types.d.ts +138 -0
  47. package/dist/lib/fragments/reminders/src/types.d.ts.map +1 -0
  48. package/dist/lib/fragments/reminders/temporal/elapsed.d.ts +1 -1
  49. package/dist/lib/fragments/reminders/temporal/elapsed.d.ts.map +1 -1
  50. package/dist/lib/fragments/reminders/temporal/predicates.d.ts +1 -1
  51. package/dist/lib/fragments/reminders/temporal/predicates.d.ts.map +1 -1
  52. package/dist/lib/fragments/reminders/temporal/reminder.d.ts.map +1 -1
  53. package/dist/lib/guardrail.d.ts +2 -2
  54. package/dist/lib/guardrail.d.ts.map +1 -1
  55. package/dist/lib/repair.d.ts +2 -2
  56. package/dist/lib/sandbox/agent-os-sandbox.d.ts +1 -1
  57. package/dist/lib/sandbox/agent-os-sandbox.d.ts.map +1 -1
  58. package/dist/lib/sandbox/apple-container-sandbox.d.ts +2 -0
  59. package/dist/lib/sandbox/apple-container-sandbox.d.ts.map +1 -1
  60. package/dist/lib/sandbox/bash-exception.d.ts +1 -1
  61. package/dist/lib/sandbox/bash-exception.d.ts.map +1 -1
  62. package/dist/lib/sandbox/bash-tool.d.ts +7 -42
  63. package/dist/lib/sandbox/bash-tool.d.ts.map +1 -1
  64. package/dist/lib/sandbox/container-sandbox.d.ts +2 -2
  65. package/dist/lib/sandbox/container-sandbox.d.ts.map +1 -1
  66. package/dist/lib/sandbox/daytona-sandbox.d.ts.map +1 -1
  67. package/dist/lib/sandbox/docker-sandbox.d.ts +2 -3
  68. package/dist/lib/sandbox/docker-sandbox.d.ts.map +1 -1
  69. package/dist/lib/sandbox/index.d.ts +0 -3
  70. package/dist/lib/sandbox/index.d.ts.map +1 -1
  71. package/dist/lib/sandbox/installers/installer.d.ts +1 -1
  72. package/dist/lib/sandbox/installers/installer.d.ts.map +1 -1
  73. package/dist/lib/sandbox/microsandbox-sandbox.d.ts.map +1 -1
  74. package/dist/lib/sandbox/strace/file-changes.d.ts +4 -10
  75. package/dist/lib/sandbox/strace/file-changes.d.ts.map +1 -1
  76. package/dist/lib/sandbox/types.d.ts +79 -32
  77. package/dist/lib/sandbox/types.d.ts.map +1 -1
  78. package/dist/lib/skills/fragments.d.ts +11 -10
  79. package/dist/lib/skills/fragments.d.ts.map +1 -1
  80. package/dist/lib/skills/frontmatter.d.ts +16 -0
  81. package/dist/lib/skills/frontmatter.d.ts.map +1 -0
  82. package/dist/lib/skills/index.d.ts +11 -10
  83. package/dist/lib/skills/index.d.ts.map +1 -1
  84. package/dist/lib/skills/skill-reminder.d.ts +3 -3
  85. package/dist/lib/skills/skill-reminder.d.ts.map +1 -1
  86. package/dist/lib/skills/types.d.ts +5 -23
  87. package/dist/lib/skills/types.d.ts.map +1 -1
  88. package/dist/lib/store/postgres.store.d.ts +2 -2
  89. package/dist/lib/store/postgres.store.d.ts.map +1 -1
  90. package/dist/lib/store/sqlite.store.d.ts +2 -2
  91. package/dist/lib/store/sqlite.store.d.ts.map +1 -1
  92. package/dist/lib/store/sqlserver.store.d.ts +2 -2
  93. package/dist/lib/store/sqlserver.store.d.ts.map +1 -1
  94. package/dist/lib/store/store.d.ts +5 -4
  95. package/dist/lib/store/store.d.ts.map +1 -1
  96. package/dist/lib/stream/postgres.stream-store.d.ts +2 -1
  97. package/dist/lib/stream/postgres.stream-store.d.ts.map +1 -1
  98. package/dist/lib/stream/sqlite.stream-store.d.ts +2 -1
  99. package/dist/lib/stream/sqlite.stream-store.d.ts.map +1 -1
  100. package/dist/lib/stream/stream-manager.d.ts +4 -0
  101. package/dist/lib/stream/stream-manager.d.ts.map +1 -1
  102. package/dist/lib/stream/stream-store.d.ts +16 -0
  103. package/dist/lib/stream/stream-store.d.ts.map +1 -1
  104. package/dist/lib/telemetry/console-telemetry.d.ts +8 -0
  105. package/dist/lib/telemetry/console-telemetry.d.ts.map +1 -0
  106. package/dist/lib/telemetry/create-telemetry-integration.d.ts +6 -0
  107. package/dist/lib/telemetry/create-telemetry-integration.d.ts.map +1 -0
  108. package/dist/lib/telemetry/file/file-telemetry.d.ts +9 -0
  109. package/dist/lib/telemetry/file/file-telemetry.d.ts.map +1 -0
  110. package/dist/lib/telemetry/file/index.d.ts +2 -0
  111. package/dist/lib/telemetry/file/index.d.ts.map +1 -0
  112. package/dist/lib/telemetry/file/index.js +307 -0
  113. package/dist/lib/telemetry/file/index.js.map +7 -0
  114. package/dist/lib/telemetry/index.d.ts +3 -0
  115. package/dist/lib/telemetry/index.d.ts.map +1 -0
  116. package/dist/lib/telemetry/index.js +291 -0
  117. package/dist/lib/telemetry/index.js.map +7 -0
  118. package/dist/lib/telemetry/redact-telemetry-event.d.ts +2 -0
  119. package/dist/lib/telemetry/redact-telemetry-event.d.ts.map +1 -0
  120. package/dist/lib/telemetry/safe-serialize.d.ts +8 -0
  121. package/dist/lib/telemetry/safe-serialize.d.ts.map +1 -0
  122. package/dist/lib/title.d.ts.map +1 -1
  123. package/dist/lib/tracing/index.js +47 -113
  124. package/dist/lib/tracing/index.js.map +2 -2
  125. package/dist/lib/tracing/openai-traces-integration.d.ts +2 -2
  126. package/dist/lib/tracing/openai-traces-integration.d.ts.map +1 -1
  127. package/dist/lib/tracing/serialization.d.ts.map +1 -1
  128. package/package.json +20 -9
  129. package/dist/lib/fragments/reminders/classifier.d.ts.map +0 -1
  130. package/dist/lib/fragments/reminders/combinators.d.ts.map +0 -1
  131. package/dist/lib/fragments/reminders/content-predicates.d.ts.map +0 -1
  132. package/dist/lib/fragments/reminders/message-predicates.d.ts.map +0 -1
  133. package/dist/lib/fragments/reminders/once.d.ts.map +0 -1
  134. package/dist/lib/fragments/reminders/tool-predicates.d.ts +0 -17
  135. package/dist/lib/fragments/reminders/tool-predicates.d.ts.map +0 -1
  136. package/dist/lib/fragments/reminders/turn-predicates.d.ts.map +0 -1
  137. package/dist/lib/fragments/reminders/usage-predicates.d.ts +0 -3
  138. package/dist/lib/fragments/reminders/usage-predicates.d.ts.map +0 -1
  139. package/dist/lib/sandbox/abort.d.ts +0 -24
  140. package/dist/lib/sandbox/abort.d.ts.map +0 -1
  141. package/dist/lib/sandbox/bash-meta.d.ts +0 -10
  142. package/dist/lib/sandbox/bash-meta.d.ts.map +0 -1
  143. package/dist/lib/sandbox/upload-skills.d.ts +0 -20
  144. package/dist/lib/sandbox/upload-skills.d.ts.map +0 -1
  145. package/dist/lib/sandbox/walk.d.ts +0 -17
  146. package/dist/lib/sandbox/walk.d.ts.map +0 -1
  147. package/dist/lib/save/reminder-eval.d.ts.map +0 -1
  148. package/dist/lib/skills/loader.d.ts +0 -28
  149. package/dist/lib/skills/loader.d.ts.map +0 -1
  150. /package/dist/lib/fragments/reminders/{classifier.d.ts → src/predicates/classifier.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { type ConditionalReminder, type ReminderResolution, type WhenContext } from '../fragments/message/user.ts';
1
+ import { type ConditionalReminder, type ReminderResolution, type WhenContext } from './types.ts';
2
2
  export interface FiredReminder {
3
3
  config: ConditionalReminder;
4
4
  resolved: ReminderResolution;
@@ -12,8 +12,8 @@ export interface FiredReminder {
12
12
  * Each predicate and each async text resolver is isolated: a throwing/rejecting
13
13
  * `when()` or reminder text is treated as "did not fire" and logged, never
14
14
  * propagated. This is the single evaluation core shared by the save pipeline
15
- * and the steer loop, so a misbehaving user predicate can never tear down a
15
+ * and prepare-step loop, so a misbehaving user predicate can never tear down a
16
16
  * save or an in-flight assistant turn.
17
17
  */
18
18
  export declare function evaluateFiredReminders(configs: ConditionalReminder[], whenCtx: WhenContext): Promise<FiredReminder[]>;
19
- //# sourceMappingURL=reminder-eval.d.ts.map
19
+ //# sourceMappingURL=evaluate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../../../src/lib/fragments/reminders/src/evaluate.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,kFAAkF;IAClF,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,mBAAmB,EAAE,EAC9B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,EAAE,CAAC,CAiD1B"}
@@ -0,0 +1,5 @@
1
+ export * from './reminders.ts';
2
+ export type { BaseWhenCtx, ConditionalReminder, ReminderContext, ReminderFragment, ReminderOptions, ReminderRange, ReminderResolution, ReminderTarget, ReminderText, SyncReminderText, SyntheticReminderMetadata, ToolOutcome, UserReminderMetadata, WhenContext, WhenPredicate, } from './types.ts';
3
+ export * from './evaluate.ts';
4
+ export * from './predicates/index.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/fragments/reminders/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,yBAAyB,EACzB,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/fragments/reminders/src/predicates/classifier.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;CACzE;AAED,qBAAa,cAAc,CACzB,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAC/C,YAAW,WAAW,CAAC,CAAC,CAAC;;gBAIb,KAAK,EAAE,CAAC,EAAE;IAOtB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE;CAexE"}
@@ -1,29 +1,29 @@
1
- import type { WhenContext, WhenPredicate } from '../message/user.ts';
1
+ import type { WhenContext, WhenPredicate } from '../types.ts';
2
2
  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
6
  /**
7
7
  * Existential window: fires when `predicate` matches AT LEAST ONE of the last
8
- * N assistant messages.
8
+ * N assistant replies.
9
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`.
10
+ * Rebinds ONLY `lastAssistantMessage`, to the merged reply. Wrapping predicates
11
+ * that read other fields (currentMessage, content, turn, usage, elapsed) is a
12
+ * no-op — those stay frozen at the outer ctx values. Intended for tool
13
+ * predicates and `lastAssistantLength`.
14
14
  *
15
15
  * Short-circuits on first match. Returns false when no chain history.
16
16
  */
17
17
  export declare function withinLastN(n: number, predicate: WhenPredicate): AsyncWhenPredicate;
18
18
  /**
19
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
20
+ * N assistant replies. Use for streak detection (e.g. "no tool use in any of
21
21
  * the last 3 replies").
22
22
  *
23
23
  * Rebinds ONLY `lastAssistantMessage`, same scope rules as `withinLastN`.
24
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.
25
+ * Short-circuits on first non-match. Returns false when fewer than N replies
26
+ * exist — a streak of N requires at least N candidates.
27
27
  */
28
28
  export declare function everyOfLastN(n: number, predicate: WhenPredicate): AsyncWhenPredicate;
29
29
  //# sourceMappingURL=combinators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combinators.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/fragments/reminders/src/predicates/combinators.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9D,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;AAgBD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,aAAa,GACvB,kBAAkB,CAUpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,aAAa,GACvB,kBAAkB,CAYpB"}
@@ -1,4 +1,4 @@
1
- import { type WhenPredicate } from '../message/user.ts';
1
+ import type { WhenPredicate } from '../types.ts';
2
2
  import { type ClassifierOptions, type IClassifier } from './classifier.ts';
3
3
  export interface ContentMatchesOptions {
4
4
  threshold?: number;
@@ -7,4 +7,4 @@ export declare function contentMatches(topics: string[], options?: ContentMatche
7
7
  export declare function classifies<T>(classifier: IClassifier<T>, options?: ClassifierOptions): WhenPredicate;
8
8
  export declare function contentIncludes(keywords: string[]): WhenPredicate;
9
9
  export declare function contentPattern(pattern: RegExp): WhenPredicate;
10
- //# sourceMappingURL=content-predicates.d.ts.map
10
+ //# sourceMappingURL=content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/fragments/reminders/src/predicates/content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAMf;AAED,wBAAgB,UAAU,CAAC,CAAC,EAC1B,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,EAC1B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,aAAa,CAEf;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,aAAa,CAMjE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAK7D"}
@@ -0,0 +1,9 @@
1
+ export * from './classifier.ts';
2
+ export * from './combinators.ts';
3
+ export * from './content.ts';
4
+ export * from './message.ts';
5
+ export * from './once.ts';
6
+ export * from './tool.ts';
7
+ export * from './turn.ts';
8
+ export * from './usage.ts';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/fragments/reminders/src/predicates/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -1,10 +1,6 @@
1
- import { type WhenPredicate } from '../message/user.ts';
2
- export type CountSpec = {
3
- gte?: number;
4
- lte?: number;
5
- eq?: number;
6
- };
1
+ import type { CountSpec, WhenPredicate } from '../types.ts';
2
+ export type { CountSpec } from '../types.ts';
7
3
  export declare function assertCountSpec(spec: CountSpec): void;
8
4
  export declare function checkCount(count: number, spec: CountSpec): boolean;
9
5
  export declare function lastAssistantLength(spec: CountSpec): WhenPredicate;
10
- //# sourceMappingURL=message-predicates.d.ts.map
6
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/fragments/reminders/src/predicates/message.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5D,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,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"}
@@ -1,6 +1,6 @@
1
- import type { WhenPredicate } from '../message/user.ts';
1
+ import type { WhenPredicate } from '../types.ts';
2
2
  /**
3
- * Durable fire-once latch, composed into a steer reminder's `when`.
3
+ * Durable fire-once latch composed into a reminder's `when`.
4
4
  *
5
5
  * Two effects, both on `ctx` and nothing else:
6
6
  * - READ: returns false once `id` has fired in this conversation (the persisted
@@ -0,0 +1 @@
1
+ {"version":3,"file":"once.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/fragments/reminders/src/predicates/once.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAc9C"}
@@ -0,0 +1,41 @@
1
+ import { type ToolUIPart, type UIMessage } from 'ai';
2
+ import type { CountSpec, ToolOutcome, WhenPredicate } from '../types.ts';
3
+ export type ToolNameSpec = string | ((name: string) => boolean);
4
+ export interface ToolCallOptions {
5
+ name?: ToolNameSpec;
6
+ state?: ToolUIPart['state'];
7
+ input?: (input: unknown) => boolean;
8
+ output?: (output: unknown) => boolean;
9
+ errorText?: (text: string) => boolean;
10
+ }
11
+ export interface ToolOutputOptions {
12
+ name?: ToolNameSpec;
13
+ state?: ToolOutcome['state'];
14
+ input?: (input: unknown) => boolean;
15
+ output?: (output: unknown) => boolean;
16
+ error?: (error: unknown) => boolean;
17
+ errorText?: (text: string) => boolean;
18
+ reason?: (reason: string | undefined) => boolean;
19
+ }
20
+ export declare function toolCall(options: ToolCallOptions): WhenPredicate;
21
+ /** Match the terminal tool outcome currently being evaluated. */
22
+ export declare function toolOutput(options?: ToolOutputOptions): WhenPredicate;
23
+ export declare function toolCalled(name: ToolNameSpec): WhenPredicate;
24
+ export declare function toolFailed(name: ToolNameSpec): WhenPredicate;
25
+ export declare function anyToolCalled(): WhenPredicate;
26
+ export declare function toolCallCount(name: ToolNameSpec, spec: CountSpec): WhenPredicate;
27
+ /**
28
+ * How many times `name` has failed in a row, counting back from the newest
29
+ * result. A success ends the run.
30
+ *
31
+ * Reads `lastAssistantMessages` (every assistant segment), NOT
32
+ * `lastAssistantMessage`: a firing reminder carves the assistant message at its
33
+ * boundary, so the single current message only holds the parts since the last
34
+ * fire and a streak read from it would reset to 1 on every fire.
35
+ */
36
+ export declare function toolFailureStreak(ctx: {
37
+ lastAssistantMessages?: UIMessage[];
38
+ }, name: ToolNameSpec): number;
39
+ /** Gate on a run of consecutive failures, e.g. `toolFailedStreak('bash', { gte: 3 })`. */
40
+ export declare function toolFailedStreak(name: ToolNameSpec, spec: CountSpec): WhenPredicate;
41
+ //# sourceMappingURL=tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/fragments/reminders/src/predicates/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAsB,MAAM,IAAI,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGzE,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;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IACpC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IACtC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC;CAClD;AAqBD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAkChE;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,aAAa,CAgCzE;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;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE;IAAE,qBAAqB,CAAC,EAAE,SAAS,EAAE,CAAA;CAAE,EAC5C,IAAI,EAAE,YAAY,GACjB,MAAM,CAUR;AAED,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,SAAS,GACd,aAAa,CAGf"}
@@ -1,6 +1,6 @@
1
- import type { WhenPredicate } from '../message/user.ts';
1
+ import type { WhenPredicate } from '../types.ts';
2
2
  export declare function everyNTurns(n: number): WhenPredicate;
3
3
  export declare function first(): WhenPredicate;
4
4
  export declare function firstN(n: number): WhenPredicate;
5
5
  export declare function afterTurn(n: number): WhenPredicate;
6
- //# sourceMappingURL=turn-predicates.d.ts.map
6
+ //# sourceMappingURL=turn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/fragments/reminders/src/predicates/turn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAEpD;AAED,wBAAgB,KAAK,IAAI,aAAa,CAErC;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAE/C;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAElD"}
@@ -0,0 +1,3 @@
1
+ import type { WhenPredicate } from '../types.ts';
2
+ export declare function usageExceeds(totalTokens: number): WhenPredicate;
3
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/fragments/reminders/src/predicates/usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAE/D"}
@@ -0,0 +1,94 @@
1
+ import { type UIMessage } from 'ai';
2
+ import { type ContextFragment } from '../../../fragments.ts';
3
+ import type { ConditionalReminder, ReminderContext, ReminderOptions, ReminderRange, ReminderResolution, ReminderText, SyncReminderText, SyntheticReminderMetadata, UserReminderMetadata } from './types.ts';
4
+ export declare function isConditionalReminder(fragment: ContextFragment): fragment is ContextFragment & {
5
+ metadata: {
6
+ reminder: ConditionalReminder;
7
+ };
8
+ };
9
+ export declare function getReminderRanges(metadata: Record<string, unknown> | undefined): ReminderRange[];
10
+ /**
11
+ * Once-ids latched by `once()`-gated reminders folded into this user message.
12
+ * Persisted so a fresh engine re-reads them (the durable suppression record for
13
+ * user-target `once()`, mirroring synthetic reminder messages).
14
+ */
15
+ export declare function getReminderOnceIds(message: UIMessage): string[];
16
+ export declare function stripTextByRanges(text: string, ranges: Array<{
17
+ start: number;
18
+ end: number;
19
+ }>): string;
20
+ /**
21
+ * Strip reminder content from a message using reminder metadata ranges.
22
+ *
23
+ * - Inline reminders are removed from text parts.
24
+ * - Part reminders are removed as whole parts when their full text is stripped.
25
+ * - `metadata.reminders` is removed from the returned message.
26
+ */
27
+ export declare function stripReminders(message: UIMessage): UIMessage;
28
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
29
+ export declare function applyInlineReminder(message: UIMessage, value: string): UserReminderMetadata;
30
+ export declare function applyPartReminder(message: UIMessage, value: string): UserReminderMetadata;
31
+ export declare function resolveReminder(item: {
32
+ text: SyncReminderText;
33
+ metadata?: Record<string, unknown>;
34
+ }, ctx: ReminderContext): ReminderResolution | null;
35
+ export declare function resolveReminderAsync(item: {
36
+ text: ReminderText;
37
+ metadata?: Record<string, unknown>;
38
+ }, ctx: ReminderContext): Promise<ReminderResolution | null>;
39
+ export declare function mergeMessageMetadata(message: UIMessage, addedMetadata: Record<string, unknown>): void;
40
+ export declare function applyReminderToMessage(message: UIMessage, item: {
41
+ text: SyncReminderText;
42
+ asPart: boolean;
43
+ metadata?: Record<string, unknown>;
44
+ }, ctx: ReminderContext): UserReminderMetadata | null;
45
+ export declare function mergeReminderMetadata(message: UIMessage, addedReminders: UserReminderMetadata[]): void;
46
+ /**
47
+ * Create a reminder fragment, set on the engine via `engine.set()`. The engine
48
+ * folds it into the model's view when its `when` fires: `user` reminders bake a
49
+ * `<system-reminder>` into the last user message at save; `steer` injects mid-
50
+ * loop; `tool-output` injects after a completed tool step. Text may be a string,
51
+ * a `(ctx) => string` factory (self-gates by returning `''`), or a context
52
+ * fragment.
53
+ *
54
+ * For `target: 'user'`, `when` is optional — omit it for an always-on
55
+ * instruction, or pass `once(id)` for a one-time reminder. `steer` and
56
+ * `tool-output` require a `when` trigger.
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * engine.set(reminder('Keep responses concise')); // user, always
61
+ * engine.set(reminder('Welcome!', { when: once('welcome') })); // user, one-time
62
+ * engine.set(reminder('RECAP', { when: everyNTurns(3), target: 'steer' }));
63
+ * ```
64
+ */
65
+ export declare function reminder(textOrFragment: ReminderText | ContextFragment, options?: ReminderOptions): ContextFragment;
66
+ /**
67
+ * Bake resolved user reminders into a message in place: append each as a
68
+ * `<system-reminder>` (inline or as its own part) and record the ranges in
69
+ * `metadata.reminders` so `stripReminders` can reverse it. The save fold is the
70
+ * only caller — user reminders are declared on the engine, not on `user()`.
71
+ */
72
+ export declare function applyUserRemindersToMessage(message: UIMessage, reminders: Array<{
73
+ text: SyncReminderText;
74
+ asPart: boolean;
75
+ metadata?: Record<string, unknown>;
76
+ }>): void;
77
+ /**
78
+ * Build a hidden synthetic user message injected between model steps.
79
+ *
80
+ * Multiple reminder texts that fire at the same step boundary are folded into a
81
+ * single user message (one `<system-reminder>` text part each) so the model
82
+ * never sees two consecutive user messages — which providers like Anthropic
83
+ * reject. The `metadata.synthetic` marker lets the chain summary, title
84
+ * generation, and `stripReminders` treat these as non-conversational.
85
+ */
86
+ export declare function synthesizeReminderMessage(text: string | string[], firedAt: number, onceIds?: string[]): UIMessage & {
87
+ role: 'user';
88
+ };
89
+ export declare function isSyntheticReminderMessage(message: UIMessage): message is UIMessage & {
90
+ metadata: {
91
+ synthetic: SyntheticReminderMetadata;
92
+ };
93
+ };
94
+ //# sourceMappingURL=reminders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reminders.d.ts","sourceRoot":"","sources":["../../../../../src/lib/fragments/reminders/src/reminders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ import type { LanguageModelUsage, UIMessage } from 'ai';
2
+ import type { ContextFragment } from '../../../fragments.ts';
3
+ import type { StoredChatData } from '../../../store/store.ts';
4
+ export interface ReminderContext {
5
+ content: string;
6
+ turn?: number;
7
+ lastMessageAt?: number;
8
+ lastMessage?: UIMessage;
9
+ currentMessage?: UIMessage;
10
+ chat?: StoredChatData;
11
+ usage?: LanguageModelUsage;
12
+ branch?: string;
13
+ elapsed?: number;
14
+ messageCount?: number;
15
+ lastAssistantMessage?: UIMessage;
16
+ /**
17
+ * Every assistant segment in the chain. A firing steer/tool-output reminder
18
+ * carves the assistant message at its boundary, so `lastAssistantMessage`
19
+ * only holds the parts since the last fire — read this when deriving a
20
+ * counter from history (e.g. a tool-failure streak).
21
+ */
22
+ lastAssistantMessages?: UIMessage[];
23
+ /** One entry per assistant REPLY, with its carved segments merged back. */
24
+ lastAssistantReplies?: UIMessage[];
25
+ toolOutcome?: ToolOutcome;
26
+ }
27
+ export interface ReminderResolution {
28
+ text: string;
29
+ metadata?: Record<string, unknown>;
30
+ }
31
+ export type ToolOutcome = {
32
+ state: 'output-available';
33
+ name: string;
34
+ input: unknown;
35
+ output: unknown;
36
+ } | {
37
+ state: 'output-error';
38
+ name: string;
39
+ input: unknown;
40
+ error: unknown;
41
+ errorText: string;
42
+ } | {
43
+ state: 'output-denied';
44
+ name: string;
45
+ input: unknown;
46
+ reason?: string;
47
+ };
48
+ export type SyncReminderText = string | ((ctx: ReminderContext) => string | ReminderResolution);
49
+ export type ReminderText = string | ((ctx: ReminderContext) => string | ReminderResolution | Promise<string | ReminderResolution>);
50
+ export interface WhenContext {
51
+ turn: number;
52
+ content: string;
53
+ lastMessageAt?: number;
54
+ lastMessage?: UIMessage;
55
+ currentMessage: UIMessage;
56
+ chat: StoredChatData;
57
+ usage?: LanguageModelUsage;
58
+ branch: string;
59
+ elapsed?: number;
60
+ messageCount: number;
61
+ lastAssistantMessage?: UIMessage;
62
+ /** Every assistant SEGMENT — a firing reminder carves a reply into several. */
63
+ lastAssistantMessages?: UIMessage[];
64
+ /**
65
+ * One entry per assistant REPLY, with its carved segments merged back
66
+ * together. Window predicates (`withinLastN`, `everyOfLastN`) count these, so
67
+ * their answer does not shift when an unrelated reminder starts firing.
68
+ */
69
+ lastAssistantReplies?: UIMessage[];
70
+ /** The terminal tool outcome currently being evaluated. */
71
+ toolOutcome?: ToolOutcome;
72
+ /**
73
+ * Ids that a fire-once latch has already fired for in this conversation
74
+ * (persisted synth onceIds ∪ this stream's fires). `once(id)` reads it to
75
+ * suppress a second fire.
76
+ */
77
+ firedOnceIds?: ReadonlySet<string>;
78
+ /**
79
+ * Per-evaluation buffer that `once(id)` appends to when consulted and not yet
80
+ * fired. The engine commits these ids — to the session and the synth — only
81
+ * if the whole reminder fires. One fresh collector per config evaluation.
82
+ */
83
+ onceCollector?: Set<string>;
84
+ }
85
+ /**
86
+ * The engine-level slice of `WhenContext` — everything that does not depend on a
87
+ * specific carrier message. Callers add `content`/`currentMessage`/the
88
+ * last-assistant fields once they have located the message being evaluated.
89
+ */
90
+ export type BaseWhenCtx = Omit<WhenContext, 'content' | 'currentMessage' | 'lastAssistantMessage' | 'lastAssistantMessages' | 'lastAssistantReplies'>;
91
+ export type WhenPredicate = (ctx: WhenContext) => boolean | Promise<boolean>;
92
+ export type ReminderTarget = 'user' | 'tool-output' | 'steer';
93
+ export interface SyntheticReminderMetadata {
94
+ source: 'reminder';
95
+ firedAt: number;
96
+ onceIds?: string[];
97
+ }
98
+ export interface ReminderOptions {
99
+ /**
100
+ * Predicate gating when the reminder fires. Optional for `target: 'user'`
101
+ * (omit ⇒ always fires; pair with `once(id)` for one-time); required for
102
+ * `steer` / `tool-output`, where a trigger-less reminder is meaningless.
103
+ */
104
+ when?: WhenPredicate;
105
+ asPart?: boolean;
106
+ target?: ReminderTarget;
107
+ }
108
+ export interface ConditionalReminder {
109
+ text: ReminderText;
110
+ when: WhenPredicate;
111
+ asPart: boolean;
112
+ target: ReminderTarget;
113
+ }
114
+ export interface UserReminderMetadata {
115
+ id: string;
116
+ text: string;
117
+ target: ReminderTarget;
118
+ partIndex: number;
119
+ start: number;
120
+ end: number;
121
+ mode: 'inline' | 'part';
122
+ }
123
+ export type ReminderRange = {
124
+ partIndex: number;
125
+ start: number;
126
+ end: number;
127
+ };
128
+ export type CountSpec = {
129
+ gte?: number;
130
+ lte?: number;
131
+ eq?: number;
132
+ };
133
+ export type ReminderFragment = ContextFragment & {
134
+ metadata: {
135
+ reminder: ConditionalReminder;
136
+ };
137
+ };
138
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/fragments/reminders/src/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { type WhenPredicate } from '../../message/user.ts';
1
+ import { type WhenPredicate } from '../src/types.ts';
2
2
  export declare function elapsedExceeds(ms: number): WhenPredicate;
3
3
  //# sourceMappingURL=elapsed.d.ts.map
@@ -1 +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
+ {"version":3,"file":"elapsed.d.ts","sourceRoot":"","sources":["../../../../../src/lib/fragments/reminders/temporal/elapsed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAExD"}
@@ -1,5 +1,5 @@
1
1
  import type { UIMessage } from 'ai';
2
- import { type WhenPredicate } from '../../message/user.ts';
2
+ import type { WhenPredicate } from '../src/types.ts';
3
3
  export interface TemporalReminderOptions {
4
4
  tz?: string;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../../../../../src/lib/fragments/reminders/temporal/predicates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,uBAAuB;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,GAAG,SAAS,GAC7B,UAAU,GAAG,IAAI,CAanB;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAC5C,GAAG,EAAE;IAAE,cAAc,CAAC,EAAE,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,SAAS,CAAA;CAAE,GAC3D,MAAM,CAOR;AAqCD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK/C;AAkBD,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAO3E;AAED,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAO5E;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAO7E;AAED,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAE5E;AAED,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,uBAAuB,GAChC,aAAa,CAKf;AAED,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAE5E"}
1
+ {"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../../../../../src/lib/fragments/reminders/temporal/predicates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAGpC,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,WAAW,uBAAuB;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,GAAG,SAAS,GAC7B,UAAU,GAAG,IAAI,CAanB;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAC5C,GAAG,EAAE;IAAE,cAAc,CAAC,EAAE,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,SAAS,CAAA;CAAE,GAC3D,MAAM,CAOR;AAqCD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK/C;AAkBD,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAO3E;AAED,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAO5E;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAO7E;AAED,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAE5E;AAED,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,uBAAuB,GAChC,aAAa,CAKf;AAED,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,aAAa,CAE5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"reminder.d.ts","sourceRoot":"","sources":["../../../../../src/lib/fragments/reminders/temporal/reminder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EACL,KAAK,uBAAuB,EAS7B,MAAM,iBAAiB,CAAC;AA+DzB,wBAAgB,YAAY,CAC1B,OAAO,CAAC,EAAE,uBAAuB,GAChC,eAAe,CAqBjB;AAED,wBAAgB,YAAY,CAC1B,OAAO,CAAC,EAAE,uBAAuB,GAChC,eAAe,CAmBjB;AAED,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,uBAAuB,GAChC,eAAe,CAmBjB;AAED,wBAAgB,YAAY,CAC1B,OAAO,CAAC,EAAE,uBAAuB,GAChC,eAAe,CAmBjB;AAED,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,uBAAuB,GAChC,eAAe,CAmBjB;AAED,wBAAgB,cAAc,IAAI,eAAe,CA2BhD;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,uBAAuB,GAChC,eAAe,EAAE,CAQnB"}
1
+ {"version":3,"file":"reminder.d.ts","sourceRoot":"","sources":["../../../../../src/lib/fragments/reminders/temporal/reminder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EACL,KAAK,uBAAuB,EAS7B,MAAM,iBAAiB,CAAC;AA+DzB,wBAAgB,YAAY,CAC1B,OAAO,CAAC,EAAE,uBAAuB,GAChC,eAAe,CAqBjB;AAED,wBAAgB,YAAY,CAC1B,OAAO,CAAC,EAAE,uBAAuB,GAChC,eAAe,CAmBjB;AAED,wBAAgB,aAAa,CAC3B,OAAO,CAAC,EAAE,uBAAuB,GAChC,eAAe,CAmBjB;AAED,wBAAgB,YAAY,CAC1B,OAAO,CAAC,EAAE,uBAAuB,GAChC,eAAe,CAmBjB;AAED,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,uBAAuB,GAChC,eAAe,CAmBjB;AAED,wBAAgB,cAAc,IAAI,eAAe,CA2BhD;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,uBAAuB,GAChC,eAAe,EAAE,CAQnB"}
@@ -34,7 +34,7 @@
34
34
  * });
35
35
  * ```
36
36
  */
37
- import type { SkillPathMapping } from './skills/types.ts';
37
+ import type { AvailableSkill } from './skills/types.ts';
38
38
  import type { StreamPart } from './stream/types.ts';
39
39
  export type { StreamPart } from './stream/types.ts';
40
40
  /**
@@ -61,7 +61,7 @@ export interface GuardrailContext {
61
61
  /** Names of tools available to the agent */
62
62
  availableTools: string[];
63
63
  /** Skills available in context (for detecting skill/tool confusion) */
64
- availableSkills: SkillPathMapping[];
64
+ availableSkills: AvailableSkill[];
65
65
  }
66
66
  /**
67
67
  * A guardrail that inspects streaming parts.
@@ -1 +1 @@
1
- {"version":3,"file":"guardrail.d.ts","sourceRoot":"","sources":["../../src/lib/guardrail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAEvC;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,uEAAuE;IACvE,eAAe,EAAE,gBAAgB,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,KAAK,eAAe,CAAC;CAC1E;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAEtD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAEtD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,SAAS,EAAE,EACvB,OAAO,EAAE,gBAAgB,GACxB,eAAe,CAejB"}
1
+ {"version":3,"file":"guardrail.d.ts","sourceRoot":"","sources":["../../src/lib/guardrail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAEvC;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,uEAAuE;IACvE,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,KAAK,eAAe,CAAC;CAC1E;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAEtD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAEtD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAEtD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,SAAS,EAAE,EACvB,OAAO,EAAE,gBAAgB,GACxB,eAAe,CAejB"}
@@ -1,4 +1,4 @@
1
- import { type LanguageModelV3 } from '@ai-sdk/provider';
1
+ import { type LanguageModelV4 } from '@ai-sdk/provider';
2
2
  import { type ToolCallRepairFunction, type ToolSet } from 'ai';
3
- export declare function createRepairToolCall(model: LanguageModelV3, abortSignal?: AbortSignal): ToolCallRepairFunction<ToolSet>;
3
+ export declare function createRepairToolCall(model: LanguageModelV4, abortSignal?: AbortSignal): ToolCallRepairFunction<ToolSet>;
4
4
  //# sourceMappingURL=repair.d.ts.map
@@ -55,7 +55,7 @@ export interface AgentOsSandboxOptions extends SandboxReadinessOptions {
55
55
  *
56
56
  * @example With createBashTool (AI SDK integration)
57
57
  * ```typescript
58
- * import { createBashTool } from 'bash-tool';
58
+ * import { createBashTool } from '@deepagents/context';
59
59
  * import common from '@rivet-dev/agent-os-common';
60
60
  *
61
61
  * const sandbox = await createAgentOsSandbox({ software: [common] });
@@ -1 +1 @@
1
- {"version":3,"file":"agent-os-sandbox.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/agent-os-sandbox.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAGjB,uBAAuB,EAExB,MAAM,YAAY,CAAC;AA8BpB,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,wBAAyB,SAAQ,mBAAmB;gBACnD,KAAK,CAAC,EAAE,KAAK;CAO1B;AAED,qBAAa,oBAAqB,SAAQ,mBAAmB;gBAC/C,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAK3C;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,sCAAsC;IACtC,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtE,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,gDAAgD;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAwFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAiI5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE,qBAAqB,EAC9B,EAAE,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC,CAOZ"}
1
+ {"version":3,"file":"agent-os-sandbox.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/agent-os-sandbox.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,iBAAiB,EAGjB,uBAAuB,EAExB,MAAM,YAAY,CAAC;AAgCpB,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,wBAAyB,SAAQ,mBAAmB;gBACnD,KAAK,CAAC,EAAE,KAAK;CAO1B;AAED,qBAAa,oBAAqB,SAAQ,mBAAmB;gBAC/C,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAK3C;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,sCAAsC;IACtC,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACtE,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,gDAAgD;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA8FD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAiI5B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE,qBAAqB,EAC9B,EAAE,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC,CAOZ"}
@@ -50,6 +50,8 @@ type StableContainerName = string;
50
50
  export interface AppleContainerCommonOptions {
51
51
  volumes?: AppleContainerVolume[];
52
52
  resources?: AppleContainerResources;
53
+ /** DNS nameservers passed to `container run --dns`. */
54
+ dns?: readonly string[];
53
55
  env?: Record<string, string>;
54
56
  name?: StableContainerName;
55
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"apple-container-sandbox.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/apple-container-sandbox.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,eAAe,EAGhB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,EAC1B,+BAA+B,EAC/B,gCAAgC,EAChC,6BAA6B,EAC7B,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,qCAAqC,CAAC;AAO7C,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,mEAAmE;IACnE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAC5B,wBAAwB,GACxB,yBAAyB,CAAC;AAE9B,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,mBAAmB,GAAG,MAAM,CAAC;AAElC,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IACnC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,4BAA6B,SAAQ,2BAA2B;IAC/E,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,yBAA0B,SAAQ,2BAA2B;IAC5E,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,MAAM,4BAA4B,GACpC,4BAA4B,GAC5B,yBAAyB,CAAC;AAE9B,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,4BAA4B,GACjC,IAAI,IAAI,yBAAyB,CAEnC;AAuDD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,2BAA2B,CAiKpE,CAAC;AAkJF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,iBAAiB,CAAC,CAa5B;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,OAAO,EAAE,4BAA4B,EACrC,EAAE,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC,CAOZ"}
1
+ {"version":3,"file":"apple-container-sandbox.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/apple-container-sandbox.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CommandResult } from 'bash-tool';
1
+ import type { CommandResult } from './types.ts';
2
2
  export declare abstract class BashException extends Error {
3
3
  abstract format(): CommandResult;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bash-exception.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/bash-exception.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,8BAAsB,aAAc,SAAQ,KAAK;IAC/C,QAAQ,CAAC,MAAM,IAAI,aAAa;CACjC"}
1
+ {"version":3,"file":"bash-exception.d.ts","sourceRoot":"","sources":["../../../src/lib/sandbox/bash-exception.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,8BAAsB,aAAc,SAAQ,KAAK;IAC/C,QAAQ,CAAC,MAAM,IAAI,aAAa;CACjC"}