@falai/agent 4.0.0-alpha.8 → 4.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 (287) hide show
  1. package/README.md +2 -0
  2. package/dist/cjs/core/Agent.d.ts +8 -1
  3. package/dist/cjs/core/Agent.d.ts.map +1 -1
  4. package/dist/cjs/core/Agent.js +18 -0
  5. package/dist/cjs/core/Agent.js.map +1 -1
  6. package/dist/cjs/core/CompactionEngine.d.ts.map +1 -1
  7. package/dist/cjs/core/CompactionEngine.js +21 -7
  8. package/dist/cjs/core/CompactionEngine.js.map +1 -1
  9. package/dist/cjs/core/FlowSpec.d.ts +21 -2
  10. package/dist/cjs/core/FlowSpec.d.ts.map +1 -1
  11. package/dist/cjs/core/FlowSpec.js +297 -59
  12. package/dist/cjs/core/FlowSpec.js.map +1 -1
  13. package/dist/cjs/core/Migrate.d.ts.map +1 -1
  14. package/dist/cjs/core/Migrate.js +3 -1
  15. package/dist/cjs/core/Migrate.js.map +1 -1
  16. package/dist/cjs/core/Prompt.d.ts +16 -0
  17. package/dist/cjs/core/Prompt.d.ts.map +1 -1
  18. package/dist/cjs/core/Prompt.js +39 -0
  19. package/dist/cjs/core/Prompt.js.map +1 -1
  20. package/dist/cjs/core/Runner.d.ts +37 -4
  21. package/dist/cjs/core/Runner.d.ts.map +1 -1
  22. package/dist/cjs/core/Runner.js +281 -72
  23. package/dist/cjs/core/Runner.js.map +1 -1
  24. package/dist/cjs/core/Speak.d.ts.map +1 -1
  25. package/dist/cjs/core/Speak.js +63 -19
  26. package/dist/cjs/core/Speak.js.map +1 -1
  27. package/dist/cjs/core/Understand.d.ts +6 -3
  28. package/dist/cjs/core/Understand.d.ts.map +1 -1
  29. package/dist/cjs/core/Understand.js +18 -42
  30. package/dist/cjs/core/Understand.js.map +1 -1
  31. package/dist/cjs/core/contracts.d.ts +26 -6
  32. package/dist/cjs/core/contracts.d.ts.map +1 -1
  33. package/dist/cjs/index.d.ts +1 -1
  34. package/dist/cjs/index.d.ts.map +1 -1
  35. package/dist/cjs/persistence/OpenSearchStore.d.ts +2 -1
  36. package/dist/cjs/persistence/OpenSearchStore.d.ts.map +1 -1
  37. package/dist/cjs/persistence/OpenSearchStore.js +2 -2
  38. package/dist/cjs/persistence/OpenSearchStore.js.map +1 -1
  39. package/dist/cjs/persistence/RedisStore.d.ts +1 -1
  40. package/dist/cjs/persistence/RedisStore.d.ts.map +1 -1
  41. package/dist/cjs/providers/AnthropicProvider.d.ts +2 -5
  42. package/dist/cjs/providers/AnthropicProvider.d.ts.map +1 -1
  43. package/dist/cjs/providers/AnthropicProvider.js +3 -4
  44. package/dist/cjs/providers/AnthropicProvider.js.map +1 -1
  45. package/dist/cjs/providers/DeepSeekProvider.d.ts.map +1 -1
  46. package/dist/cjs/providers/DeepSeekProvider.js +3 -4
  47. package/dist/cjs/providers/DeepSeekProvider.js.map +1 -1
  48. package/dist/cjs/providers/FallbackAiProvider.js +1 -1
  49. package/dist/cjs/providers/FallbackAiProvider.js.map +1 -1
  50. package/dist/cjs/providers/GeminiProvider.d.ts +1 -2
  51. package/dist/cjs/providers/GeminiProvider.d.ts.map +1 -1
  52. package/dist/cjs/providers/GeminiProvider.js +3 -4
  53. package/dist/cjs/providers/GeminiProvider.js.map +1 -1
  54. package/dist/cjs/providers/GenericOpenAICompatibleProvider.js +4 -4
  55. package/dist/cjs/providers/GenericOpenAICompatibleProvider.js.map +1 -1
  56. package/dist/cjs/providers/OpenAIProvider.d.ts.map +1 -1
  57. package/dist/cjs/providers/OpenAIProvider.js +3 -4
  58. package/dist/cjs/providers/OpenAIProvider.js.map +1 -1
  59. package/dist/cjs/providers/OpenRouterProvider.d.ts.map +1 -1
  60. package/dist/cjs/providers/OpenRouterProvider.js +4 -3
  61. package/dist/cjs/providers/OpenRouterProvider.js.map +1 -1
  62. package/dist/cjs/providers/ProviderAdapter.d.ts +26 -11
  63. package/dist/cjs/providers/ProviderAdapter.d.ts.map +1 -1
  64. package/dist/cjs/providers/ProviderAdapter.js +13 -13
  65. package/dist/cjs/providers/ProviderAdapter.js.map +1 -1
  66. package/dist/cjs/providers/ZaiProvider.js +1 -1
  67. package/dist/cjs/providers/ZaiProvider.js.map +1 -1
  68. package/dist/cjs/types/agent.d.ts +14 -3
  69. package/dist/cjs/types/agent.d.ts.map +1 -1
  70. package/dist/cjs/types/ai.d.ts +10 -6
  71. package/dist/cjs/types/ai.d.ts.map +1 -1
  72. package/dist/cjs/types/compaction.d.ts +1 -0
  73. package/dist/cjs/types/compaction.d.ts.map +1 -1
  74. package/dist/cjs/types/errors.d.ts +4 -9
  75. package/dist/cjs/types/errors.d.ts.map +1 -1
  76. package/dist/cjs/types/errors.js +12 -12
  77. package/dist/cjs/types/errors.js.map +1 -1
  78. package/dist/cjs/types/flow.d.ts +17 -1
  79. package/dist/cjs/types/flow.d.ts.map +1 -1
  80. package/dist/cjs/types/history.d.ts +0 -7
  81. package/dist/cjs/types/history.d.ts.map +1 -1
  82. package/dist/cjs/types/index.d.ts +2 -2
  83. package/dist/cjs/types/index.d.ts.map +1 -1
  84. package/dist/cjs/types/session.d.ts +4 -2
  85. package/dist/cjs/types/session.d.ts.map +1 -1
  86. package/dist/cjs/utils/clock.js +1 -1
  87. package/dist/cjs/utils/clock.js.map +1 -1
  88. package/dist/cjs/utils/outcomes.d.ts +2 -0
  89. package/dist/cjs/utils/outcomes.d.ts.map +1 -1
  90. package/dist/cjs/utils/outcomes.js +2 -0
  91. package/dist/cjs/utils/outcomes.js.map +1 -1
  92. package/dist/cjs/utils/schema.d.ts +3 -12
  93. package/dist/cjs/utils/schema.d.ts.map +1 -1
  94. package/dist/cjs/utils/schema.js +3 -43
  95. package/dist/cjs/utils/schema.js.map +1 -1
  96. package/dist/cjs/utils/template.d.ts.map +1 -1
  97. package/dist/cjs/utils/template.js +9 -2
  98. package/dist/cjs/utils/template.js.map +1 -1
  99. package/dist/core/Agent.d.ts +8 -1
  100. package/dist/core/Agent.d.ts.map +1 -1
  101. package/dist/core/Agent.js +19 -1
  102. package/dist/core/Agent.js.map +1 -1
  103. package/dist/core/CompactionEngine.d.ts.map +1 -1
  104. package/dist/core/CompactionEngine.js +21 -7
  105. package/dist/core/CompactionEngine.js.map +1 -1
  106. package/dist/core/FlowSpec.d.ts +21 -2
  107. package/dist/core/FlowSpec.d.ts.map +1 -1
  108. package/dist/core/FlowSpec.js +296 -60
  109. package/dist/core/FlowSpec.js.map +1 -1
  110. package/dist/core/Migrate.d.ts.map +1 -1
  111. package/dist/core/Migrate.js +3 -1
  112. package/dist/core/Migrate.js.map +1 -1
  113. package/dist/core/Prompt.d.ts +16 -0
  114. package/dist/core/Prompt.d.ts.map +1 -1
  115. package/dist/core/Prompt.js +37 -0
  116. package/dist/core/Prompt.js.map +1 -1
  117. package/dist/core/Runner.d.ts +37 -4
  118. package/dist/core/Runner.d.ts.map +1 -1
  119. package/dist/core/Runner.js +282 -73
  120. package/dist/core/Runner.js.map +1 -1
  121. package/dist/core/Speak.d.ts.map +1 -1
  122. package/dist/core/Speak.js +64 -20
  123. package/dist/core/Speak.js.map +1 -1
  124. package/dist/core/Understand.d.ts +6 -3
  125. package/dist/core/Understand.d.ts.map +1 -1
  126. package/dist/core/Understand.js +18 -42
  127. package/dist/core/Understand.js.map +1 -1
  128. package/dist/core/contracts.d.ts +26 -6
  129. package/dist/core/contracts.d.ts.map +1 -1
  130. package/dist/index.d.ts +1 -1
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/persistence/OpenSearchStore.d.ts +2 -1
  133. package/dist/persistence/OpenSearchStore.d.ts.map +1 -1
  134. package/dist/persistence/OpenSearchStore.js +2 -2
  135. package/dist/persistence/OpenSearchStore.js.map +1 -1
  136. package/dist/persistence/RedisStore.d.ts +1 -1
  137. package/dist/persistence/RedisStore.d.ts.map +1 -1
  138. package/dist/providers/AnthropicProvider.d.ts +2 -5
  139. package/dist/providers/AnthropicProvider.d.ts.map +1 -1
  140. package/dist/providers/AnthropicProvider.js +3 -4
  141. package/dist/providers/AnthropicProvider.js.map +1 -1
  142. package/dist/providers/DeepSeekProvider.d.ts.map +1 -1
  143. package/dist/providers/DeepSeekProvider.js +3 -4
  144. package/dist/providers/DeepSeekProvider.js.map +1 -1
  145. package/dist/providers/FallbackAiProvider.js +1 -1
  146. package/dist/providers/FallbackAiProvider.js.map +1 -1
  147. package/dist/providers/GeminiProvider.d.ts +1 -2
  148. package/dist/providers/GeminiProvider.d.ts.map +1 -1
  149. package/dist/providers/GeminiProvider.js +3 -4
  150. package/dist/providers/GeminiProvider.js.map +1 -1
  151. package/dist/providers/GenericOpenAICompatibleProvider.js +4 -4
  152. package/dist/providers/GenericOpenAICompatibleProvider.js.map +1 -1
  153. package/dist/providers/OpenAIProvider.d.ts.map +1 -1
  154. package/dist/providers/OpenAIProvider.js +3 -4
  155. package/dist/providers/OpenAIProvider.js.map +1 -1
  156. package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
  157. package/dist/providers/OpenRouterProvider.js +4 -3
  158. package/dist/providers/OpenRouterProvider.js.map +1 -1
  159. package/dist/providers/ProviderAdapter.d.ts +26 -11
  160. package/dist/providers/ProviderAdapter.d.ts.map +1 -1
  161. package/dist/providers/ProviderAdapter.js +14 -14
  162. package/dist/providers/ProviderAdapter.js.map +1 -1
  163. package/dist/providers/ZaiProvider.js +1 -1
  164. package/dist/providers/ZaiProvider.js.map +1 -1
  165. package/dist/types/agent.d.ts +14 -3
  166. package/dist/types/agent.d.ts.map +1 -1
  167. package/dist/types/ai.d.ts +10 -6
  168. package/dist/types/ai.d.ts.map +1 -1
  169. package/dist/types/compaction.d.ts +1 -0
  170. package/dist/types/compaction.d.ts.map +1 -1
  171. package/dist/types/errors.d.ts +4 -9
  172. package/dist/types/errors.d.ts.map +1 -1
  173. package/dist/types/errors.js +12 -12
  174. package/dist/types/errors.js.map +1 -1
  175. package/dist/types/flow.d.ts +17 -1
  176. package/dist/types/flow.d.ts.map +1 -1
  177. package/dist/types/history.d.ts +0 -7
  178. package/dist/types/history.d.ts.map +1 -1
  179. package/dist/types/index.d.ts +2 -2
  180. package/dist/types/index.d.ts.map +1 -1
  181. package/dist/types/session.d.ts +4 -2
  182. package/dist/types/session.d.ts.map +1 -1
  183. package/dist/utils/clock.js +1 -1
  184. package/dist/utils/clock.js.map +1 -1
  185. package/dist/utils/outcomes.d.ts +2 -0
  186. package/dist/utils/outcomes.d.ts.map +1 -1
  187. package/dist/utils/outcomes.js +2 -0
  188. package/dist/utils/outcomes.js.map +1 -1
  189. package/dist/utils/schema.d.ts +3 -12
  190. package/dist/utils/schema.d.ts.map +1 -1
  191. package/dist/utils/schema.js +3 -42
  192. package/dist/utils/schema.js.map +1 -1
  193. package/dist/utils/template.d.ts.map +1 -1
  194. package/dist/utils/template.js +9 -2
  195. package/dist/utils/template.js.map +1 -1
  196. package/docs/concepts/architecture.md +2 -2
  197. package/docs/concepts/collection.md +40 -5
  198. package/docs/concepts/pipeline.md +10 -7
  199. package/docs/concepts/runs-and-waits.md +2 -2
  200. package/docs/guides/actions-and-events.md +1 -1
  201. package/docs/guides/branching.md +4 -2
  202. package/docs/guides/compaction.md +2 -2
  203. package/docs/guides/error-handling.md +2 -2
  204. package/docs/guides/flow-control.md +4 -2
  205. package/docs/guides/persistence.md +2 -2
  206. package/docs/guides/testing.md +1 -1
  207. package/docs/guides/triggers.md +3 -3
  208. package/docs/migration/v3-to-v4.md +8 -7
  209. package/docs/reference/actions-events-conditions.md +1 -1
  210. package/docs/reference/agent.md +9 -5
  211. package/docs/reference/branches.md +1 -1
  212. package/docs/reference/errors.md +14 -11
  213. package/docs/reference/fields.md +5 -3
  214. package/docs/reference/flow-spec.md +35 -8
  215. package/docs/reference/flow.md +8 -3
  216. package/docs/reference/outcomes.md +4 -2
  217. package/docs/reference/providers.md +5 -3
  218. package/docs/reference/session.md +2 -0
  219. package/docs/reference/step.md +9 -5
  220. package/docs/reference/stores.md +5 -3
  221. package/docs/reference/trigger.md +2 -2
  222. package/docs/rfc/v4-one-flow.md +5 -3
  223. package/docs/start/01-install.md +2 -0
  224. package/docs/start/05-go-to-production.md +18 -1
  225. package/examples/05-branches.ts +1 -1
  226. package/examples/06-triggers-and-waits.ts +4 -3
  227. package/package.json +4 -3
  228. package/src/core/Agent.ts +23 -2
  229. package/src/core/CompactionEngine.ts +25 -9
  230. package/src/core/FlowSpec.ts +311 -72
  231. package/src/core/Migrate.ts +2 -1
  232. package/src/core/Prompt.ts +40 -0
  233. package/src/core/Runner.ts +279 -69
  234. package/src/core/Speak.ts +67 -19
  235. package/src/core/Understand.ts +24 -44
  236. package/src/core/contracts.ts +26 -4
  237. package/src/index.ts +1 -1
  238. package/src/persistence/OpenSearchStore.ts +3 -2
  239. package/src/persistence/RedisStore.ts +1 -1
  240. package/src/providers/AnthropicProvider.ts +4 -9
  241. package/src/providers/DeepSeekProvider.ts +2 -4
  242. package/src/providers/FallbackAiProvider.ts +1 -1
  243. package/src/providers/GeminiProvider.ts +3 -6
  244. package/src/providers/GenericOpenAICompatibleProvider.ts +4 -4
  245. package/src/providers/OpenAIProvider.ts +3 -4
  246. package/src/providers/OpenRouterProvider.ts +4 -2
  247. package/src/providers/ProviderAdapter.ts +35 -33
  248. package/src/providers/ZaiProvider.ts +1 -1
  249. package/src/types/agent.ts +15 -4
  250. package/src/types/ai.ts +10 -6
  251. package/src/types/compaction.ts +1 -0
  252. package/src/types/errors.ts +11 -12
  253. package/src/types/flow.ts +17 -1
  254. package/src/types/history.ts +0 -10
  255. package/src/types/index.ts +1 -1
  256. package/src/types/session.ts +5 -1
  257. package/src/utils/clock.ts +1 -1
  258. package/src/utils/outcomes.ts +2 -0
  259. package/src/utils/schema.ts +3 -48
  260. package/src/utils/template.ts +9 -2
  261. package/dist/cjs/providers/index.d.ts +0 -26
  262. package/dist/cjs/providers/index.d.ts.map +0 -1
  263. package/dist/cjs/providers/index.js +0 -30
  264. package/dist/cjs/providers/index.js.map +0 -1
  265. package/dist/cjs/utils/clone.d.ts +0 -8
  266. package/dist/cjs/utils/clone.d.ts.map +0 -1
  267. package/dist/cjs/utils/clone.js +0 -32
  268. package/dist/cjs/utils/clone.js.map +0 -1
  269. package/dist/cjs/utils/index.d.ts +0 -9
  270. package/dist/cjs/utils/index.d.ts.map +0 -1
  271. package/dist/cjs/utils/index.js +0 -29
  272. package/dist/cjs/utils/index.js.map +0 -1
  273. package/dist/providers/index.d.ts +0 -26
  274. package/dist/providers/index.d.ts.map +0 -1
  275. package/dist/providers/index.js +0 -17
  276. package/dist/providers/index.js.map +0 -1
  277. package/dist/utils/clone.d.ts +0 -8
  278. package/dist/utils/clone.d.ts.map +0 -1
  279. package/dist/utils/clone.js +0 -29
  280. package/dist/utils/clone.js.map +0 -1
  281. package/dist/utils/index.d.ts +0 -9
  282. package/dist/utils/index.d.ts.map +0 -1
  283. package/dist/utils/index.js +0 -9
  284. package/dist/utils/index.js.map +0 -1
  285. package/src/providers/index.ts +0 -38
  286. package/src/utils/clone.ts +0 -34
  287. package/src/utils/index.ts +0 -18
package/README.md CHANGED
@@ -75,6 +75,8 @@ npm install @falai/agent
75
75
  pnpm add @falai/agent
76
76
  ```
77
77
 
78
+ This is 4.x. Projects on 3.x need the [migration guide](./docs/migration/v3-to-v4.md): v4 is a clean break, and 3.x code will not compile against it.
79
+
78
80
  Requires Node 22.12+ or Bun 1.0+. Set a provider API key in your environment (for example `GEMINI_API_KEY`, `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `OPENROUTER_API_KEY`, or `DEEPSEEK_API_KEY`).
79
81
 
80
82
  ## License
@@ -6,7 +6,7 @@
6
6
  * Runner moves the runs by code, Understand and Speak spend at most one
7
7
  * provider call apiece, and Runner settles what they returned.
8
8
  */
9
- import type { AgentOptions, TurnInput, TurnResult, TurnStreamChunk } from "../types/agent.js";
9
+ import type { AgentOptions, PendingWakesInput, ScheduleEntry, TurnInput, TurnResult, TurnStreamChunk } from "../types/agent.js";
10
10
  export declare class Agent<C = unknown, D = unknown> {
11
11
  readonly options: AgentOptions<C, D>;
12
12
  private readonly runner;
@@ -18,6 +18,13 @@ export declare class Agent<C = unknown, D = unknown> {
18
18
  turn(input: TurnInput<C, D>): Promise<TurnResult<D>>;
19
19
  /** `turn`, streaming the spoken text as it is generated; the last chunk carries the result. */
20
20
  turnStream(input: TurnInput<C, D>): AsyncIterable<TurnStreamChunk<D>>;
21
+ /**
22
+ * Every wake a saved session is waiting on, as its turns scheduled them: each parked run's,
23
+ * and each silence flow's since the assistant last spoke. For a queue that lost its jobs, and
24
+ * for sessions no turn has armed yet, such as blobs lifted by `migrateSession`. It changes
25
+ * nothing and spends no call: enqueue the entries as you would a turn's `schedule[]`.
26
+ */
27
+ pendingWakes(input: PendingWakesInput<C, D>): ScheduleEntry[];
21
28
  /** Load, Ingest, Understand, Decide and Run: everything before the one speaker is known. */
22
29
  private open;
23
30
  /** With `compaction` set, the history both calls see is trimmed once per turn; a summarization is one model call. */
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAa9F,qBAAa,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IAM7B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IALhD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAoB;gBAE3B,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAShD,yFAAyF;IACnF,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAM1D,+FAA+F;IACxF,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAa5E,4FAA4F;YAC9E,IAAI;IAWlB,qHAAqH;YACvG,SAAS;CAaxB"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAahI,qBAAa,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO;IAM7B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IALhD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAoB;gBAE3B,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAShD,yFAAyF;IACnF,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAM1D,+FAA+F;IACxF,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAa5E;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,EAAE;IAI7D,4FAA4F;YAC9E,IAAI;IAWlB,qHAAqH;YACvG,SAAS;CAaxB"}
@@ -49,6 +49,15 @@ class Agent {
49
49
  await this.runner.settle(turn, outcome);
50
50
  yield { done: true, result: this.runner.finish(turn) };
51
51
  }
52
+ /**
53
+ * Every wake a saved session is waiting on, as its turns scheduled them: each parked run's,
54
+ * and each silence flow's since the assistant last spoke. For a queue that lost its jobs, and
55
+ * for sessions no turn has armed yet, such as blobs lifted by `migrateSession`. It changes
56
+ * nothing and spends no call: enqueue the entries as you would a turn's `schedule[]`.
57
+ */
58
+ pendingWakes(input) {
59
+ return this.runner.pendingWakes(input);
60
+ }
52
61
  /** Load, Ingest, Understand, Decide and Run: everything before the one speaker is known. */
53
62
  async open(input) {
54
63
  const { runner } = this;
@@ -92,6 +101,14 @@ function compactionOptions(options) {
92
101
  }
93
102
  /** Every name a flow uses must resolve now, not on the turn that first reaches it. */
94
103
  function validate(options) {
104
+ // A host condition under a built-in's name is never called: the built-in answers first.
105
+ for (const name of Object.keys(options.conditions ?? {})) {
106
+ if (FlowSpec_js_1.BUILT_IN_CONDITIONS.includes(name)) {
107
+ throw new errors_js_1.FlowConfigurationError(`[FlowConfigurationError] condition "${name}" shadows a built-in: ${FlowSpec_js_1.BUILT_IN_CONDITIONS.join(", ")} are reserved. Rename it.`);
108
+ }
109
+ }
110
+ // An agent-level `if` is judged on every turn, so an unknown name here would throw on every turn.
111
+ options.instructions?.forEach((ins, i) => (0, FlowSpec_js_1.checkPred)(ins.if, "agent", `instructions[${i}].if`, options));
95
112
  const ids = new Set();
96
113
  for (const flow of options.flows ?? []) {
97
114
  if (ids.has(flow.id)) {
@@ -113,6 +130,7 @@ function validate(options) {
113
130
  }
114
131
  const { idle } = options;
115
132
  if (idle && idle !== "silent") {
133
+ idle.instructions?.forEach((ins, i) => (0, FlowSpec_js_1.checkPred)(ins.if, "idle", `instructions[${i}].if`, options));
116
134
  const known = new Set((options.tools ?? []).map((tool) => tool.id));
117
135
  for (const name of idle.tools ?? []) {
118
136
  if (!known.has(name)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CompactionEngine.d.ts","sourceRoot":"","sources":["../../../src/core/CompactionEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGlF,qBAAa,gBAAgB;IACzB;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IA4BxD;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM;IAiBrD;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CACxB,OAAO,EAAE,WAAW,EAAE,EACtB,iBAAiB,EAAE,MAAM,GAC1B,WAAW,EAAE;IAkBhB;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IA2B3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAc/B;;;OAGG;mBACkB,iBAAiB;IA+BtC;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAWjC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAgCjC;;;;;;;;;;;OAWG;WACU,eAAe,CACxB,OAAO,EAAE,WAAW,EAAE,EACtB,OAAO,EAAE,iBAAiB,GAC3B,OAAO,CAAC,gBAAgB,CAAC;CAkG/B"}
1
+ {"version":3,"file":"CompactionEngine.d.ts","sourceRoot":"","sources":["../../../src/core/CompactionEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGlF,qBAAa,gBAAgB;IACzB;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAmCxD;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM;IAiBrD;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CACxB,OAAO,EAAE,WAAW,EAAE,EACtB,iBAAiB,EAAE,MAAM,GAC1B,WAAW,EAAE;IAkBhB;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IA2B3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAc/B;;;OAGG;mBACkB,iBAAiB;IA0CtC;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAWjC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAgCjC;;;;;;;;;;;OAWG;WACU,eAAe,CACxB,OAAO,EAAE,WAAW,EAAE,EACtB,OAAO,EAAE,iBAAiB,GAC3B,OAAO,CAAC,gBAAgB,CAAC;CA+F/B"}
@@ -13,6 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.CompactionEngine = void 0;
16
+ const core_1 = require("@providerkit/core");
16
17
  const loglevel_1 = __importDefault(require("loglevel"));
17
18
  const usage_js_1 = require("../utils/usage.js");
18
19
  class CompactionEngine {
@@ -20,18 +21,23 @@ class CompactionEngine {
20
21
  * Validate CompactionOptions. Throws on invalid values.
21
22
  */
22
23
  static validateOptions(options) {
24
+ if (typeof options.maxTokens !== "number" || !(options.maxTokens > 0)) {
25
+ throw new Error(`[CompactionEngine] maxTokens is ${String(options.maxTokens)}: it must be above 0. ` +
26
+ `Set it to the most history, in tokens, each call should carry, e.g. 100000.`);
27
+ }
23
28
  if (typeof options.compactionThreshold !== "number" ||
24
29
  options.compactionThreshold < 0.5 ||
25
30
  options.compactionThreshold > 0.95) {
26
- throw new Error(`compactionThreshold must be between 0.5 and 0.95, got ${options.compactionThreshold}`);
31
+ throw new Error(`[CompactionEngine] compactionThreshold is ${String(options.compactionThreshold)}: it must be between 0.5 and 0.95. ` +
32
+ `Use 0.8 unless you measured otherwise.`);
27
33
  }
28
34
  if (typeof options.preserveRecentCount !== "number" ||
29
35
  options.preserveRecentCount < 2) {
30
- throw new Error(`preserveRecentCount must be >= 2, got ${options.preserveRecentCount}`);
36
+ throw new Error(`[CompactionEngine] preserveRecentCount is ${String(options.preserveRecentCount)}: it must be 2 or more. Use 4, the default.`);
31
37
  }
32
38
  if (typeof options.maxToolResultChars !== "number" ||
33
39
  options.maxToolResultChars <= 0) {
34
- throw new Error(`maxToolResultChars must be > 0, got ${options.maxToolResultChars}`);
40
+ throw new Error(`[CompactionEngine] maxToolResultChars is ${String(options.maxToolResultChars)}: it must be above 0. Use 5000, the default.`);
35
41
  }
36
42
  }
37
43
  /**
@@ -134,13 +140,22 @@ class CompactionEngine {
134
140
  history: [],
135
141
  context: {},
136
142
  parameters: {
137
- maxOutputTokens: 1024,
143
+ // Thinking spends this cap too, at whatever effort the host's
144
+ // provider runs. 1024 fit the summary but not the thinking: in
145
+ // production a ~250-token answer at effort "high" spent all of
146
+ // a 2,048 cap thinking (OpenCode Go, 2026-09-30). 8192 is the
147
+ // most every built-in provider's common models accept
148
+ // (DeepSeek chat and the older Claude models stop there), so a
149
+ // larger cap would 400 on them.
150
+ maxOutputTokens: 8192,
138
151
  jsonSchema: {},
139
152
  },
140
153
  });
141
154
  return { text: result.message, usage: (0, usage_js_1.readUsage)(result.metadata) };
142
155
  }
143
- catch {
156
+ catch (error) {
157
+ // Kind and message, or a cap spent thinking reads like an outage.
158
+ loglevel_1.default.warn(`CompactionEngine: the summary call failed (${(0, core_1.classify)(error)}: ${error instanceof Error ? error.message : String(error)}), falling back to aggressive truncation`);
144
159
  return null;
145
160
  }
146
161
  }
@@ -262,8 +277,7 @@ class CompactionEngine {
262
277
  ...(summary.usage ? { usage: summary.usage } : {}),
263
278
  };
264
279
  }
265
- // Fallback: LLM summarization failed — aggressive truncation
266
- loglevel_1.default.warn("CompactionEngine: LLM summarization failed, falling back to aggressive truncation");
280
+ // Fallback: LLM summarization failed (logged with its reason) — aggressive truncation
267
281
  const truncated = CompactionEngine.aggressiveTruncate(microCompacted, options);
268
282
  return {
269
283
  history: truncated,
@@ -1 +1 @@
1
- {"version":3,"file":"CompactionEngine.js","sourceRoot":"","sources":["../../../src/core/CompactionEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CompactionEngine.js","sourceRoot":"","sources":["../../../src/core/CompactionEngine.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,7 @@ export type StepSpec = StepBase<LooseData> & (({
67
67
  kind: "collect";
68
68
  collect: string[];
69
69
  prompt?: Template;
70
+ question?: Template;
70
71
  } & TalkSpecExtras) | ({
71
72
  kind: "say";
72
73
  } & SayStep) | ({
@@ -91,14 +92,23 @@ export interface FlowSpec {
91
92
  on?: TriggerSpec[];
92
93
  anchor?: string;
93
94
  while?: ConditionSpec<LooseData>;
95
+ collect?: string[];
94
96
  clearOnStart?: string[];
95
97
  steps: StepSpec[];
96
98
  onEnd?: "end" | "stay" | "reset";
97
99
  instructions?: InstructionSpec[];
98
100
  tools?: string[];
99
101
  }
100
- /** What a flow's names resolve against: the agent's fields, actions, events, conditions and tools. */
101
- export type Registries = Pick<AgentOptions, "fields" | "actions" | "events" | "conditions" | "tools">;
102
+ /**
103
+ * What a flow's names resolve against: the agent's fields, actions, events,
104
+ * conditions and tools. With `flows`, a literal `{ flow }` target must name
105
+ * one of them; the agent passes its own.
106
+ */
107
+ export type Registries = Pick<AgentOptions, "fields" | "actions" | "events" | "conditions" | "tools"> & {
108
+ flows?: ReadonlyArray<{
109
+ id: string;
110
+ }>;
111
+ };
102
112
  /**
103
113
  * A spec as a typed flow. The slugs and names inside a spec are strings from
104
114
  * storage, so the result is typed by claim: `validateFlow` (which the agent
@@ -108,6 +118,9 @@ export type Registries = Pick<AgentOptions, "fields" | "actions" | "events" | "c
108
118
  export declare function fromSpec<C = unknown, D = LooseData>(spec: FlowSpec): Flow<C, D>;
109
119
  /** Throws `FlowConfigurationError` when the flow carries a function predicate: it cannot be stored. */
110
120
  export declare function toSpec<C, D extends LooseData>(flow: Flow<C, D>): FlowSpec;
121
+ /** A read-only view that a typed Flow and a spec-derived Flow both fit; the validator only reads. */
122
+ type LoosePred = ((ctx: never) => boolean) | Record<string, unknown>;
123
+ export declare const BUILT_IN_CONDITIONS: string[];
111
124
  /**
112
125
  * Check a flow, typed or as a spec, against the agent's registries. Throws
113
126
  * `FlowConfigurationError` on the first problem that would break at runtime;
@@ -116,6 +129,12 @@ export declare function toSpec<C, D extends LooseData>(flow: Flow<C, D>): FlowSp
116
129
  export declare function validateFlow<C = unknown, D = LooseData>(input: Flow<C, D> | FlowSpec, registries: Registries): {
117
130
  warnings: string[];
118
131
  };
132
+ /**
133
+ * A predicate's names against the registries: the fields `equals` and `known`
134
+ * read, and every other key as one of the agent's conditions. A function is
135
+ * code and passes as is. The agent runs this on its own instructions too.
136
+ */
137
+ export declare function checkPred(value: LoosePred | undefined, at: string, where: string, registries: Registries): void;
119
138
  /**
120
139
  * FlowSpec's JSON schema with this workspace's actions (each with its
121
140
  * parameter schema), events, conditions and field slugs as enums. Every
@@ -1 +1 @@
1
- {"version":3,"file":"FlowSpec.d.ts","sourceRoot":"","sources":["../../../src/core/FlowSpec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowSpec.d.ts","sourceRoot":"","sources":["../../../src/core/FlowSpec.ts"],"names":[],"mappings":"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"}