@jangts/agent-core 0.1.0 → 0.2.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 (527) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +59 -0
  3. package/development/docs/api/reference.md +1907 -1874
  4. package/development/docs/api/support.md +27 -0
  5. package/development/docs/assets/agent-core-icon.png +0 -0
  6. package/development/docs/assets/agent-core-logo.png +0 -0
  7. package/development/docs/assets/character-agent-core.png +0 -0
  8. package/development/skills/agent-core-app/scripts/create-app.mjs +267 -70
  9. package/development/skills/agent-core-app/scripts/lib/knowledge.mjs +40 -15
  10. package/development/skills/agent-core-app/scripts/lib/source.mjs +30 -2
  11. package/development/skills/agent-core-app/scripts/plan.mjs +37 -12
  12. package/development/skills/agent-core-app/scripts/prepare-source.mjs +61 -10
  13. package/development/skills/agent-core-app/scripts/resources.mjs +45 -17
  14. package/development/skills/agent-core-app/scripts/validate-knowledge.mjs +18 -1
  15. package/development/skills/agent-core-app/templates/catalog.json +36 -22
  16. package/dist/cjs/capabilities/index.js +13 -0
  17. package/dist/cjs/capabilities/invocation.js +80 -10
  18. package/dist/cjs/capabilities/model.js +126 -13
  19. package/dist/cjs/capabilities/tool-runtime.js +64 -12
  20. package/dist/cjs/capabilities/tools.js +266 -31
  21. package/dist/cjs/context/assembly.js +46 -5
  22. package/dist/cjs/context/audit.js +31 -6
  23. package/dist/cjs/context/fragments.js +54 -11
  24. package/dist/cjs/context/index.js +12 -0
  25. package/dist/cjs/context/journal.js +84 -7
  26. package/dist/cjs/context/plan.js +30 -2
  27. package/dist/cjs/diagnostics/catalog.js +11 -3
  28. package/dist/cjs/diagnostics/index.js +149 -29
  29. package/dist/cjs/diagnostics/sub-flow.js +240 -40
  30. package/dist/cjs/errors.js +99 -17
  31. package/dist/cjs/execution/branch.js +20 -4
  32. package/dist/cjs/execution/engine.js +470 -56
  33. package/dist/cjs/execution/events.js +136 -18
  34. package/dist/cjs/execution/index.js +7 -0
  35. package/dist/cjs/execution/reporting.js +75 -6
  36. package/dist/cjs/execution/state.js +161 -22
  37. package/dist/cjs/execution/workflow.js +224 -32
  38. package/dist/cjs/index.js +18 -0
  39. package/dist/cjs/kits/aggregation.js +45 -3
  40. package/dist/cjs/kits/answering/batch.js +23 -4
  41. package/dist/cjs/kits/answering/check-result.js +31 -8
  42. package/dist/cjs/kits/answering/checks.js +24 -3
  43. package/dist/cjs/kits/answering/flow.js +192 -36
  44. package/dist/cjs/kits/answering/index.js +19 -1
  45. package/dist/cjs/kits/answering/tasks.js +88 -13
  46. package/dist/cjs/kits/artifacts.js +36 -4
  47. package/dist/cjs/kits/candidates.js +47 -5
  48. package/dist/cjs/kits/delivery.js +40 -5
  49. package/dist/cjs/kits/durable.js +155 -31
  50. package/dist/cjs/kits/evidence.js +66 -15
  51. package/dist/cjs/kits/family.js +152 -22
  52. package/dist/cjs/kits/index.js +12 -1
  53. package/dist/cjs/kits/inference.js +104 -16
  54. package/dist/cjs/kits/intents/catalog.js +67 -16
  55. package/dist/cjs/kits/intents/index.js +11 -0
  56. package/dist/cjs/kits/intents/registry.js +188 -43
  57. package/dist/cjs/kits/intents/scopes.js +215 -46
  58. package/dist/cjs/kits/interaction/command.js +140 -36
  59. package/dist/cjs/kits/interaction/commands.js +86 -11
  60. package/dist/cjs/kits/interaction/handlers.js +27 -10
  61. package/dist/cjs/kits/interaction/index.js +10 -0
  62. package/dist/cjs/kits/interaction/transfer.js +80 -14
  63. package/dist/cjs/kits/knowledge/catalog.js +62 -11
  64. package/dist/cjs/kits/knowledge/index.js +16 -1
  65. package/dist/cjs/kits/knowledge/publication.js +99 -23
  66. package/dist/cjs/kits/knowledge/sections.js +33 -4
  67. package/dist/cjs/kits/normalization.js +51 -7
  68. package/dist/cjs/kits/policies.js +79 -15
  69. package/dist/cjs/kits/presentation/events.js +54 -10
  70. package/dist/cjs/kits/presentation/index.js +24 -1
  71. package/dist/cjs/kits/presentation/outputs.js +176 -38
  72. package/dist/cjs/kits/presentation/templates.js +33 -5
  73. package/dist/cjs/kits/presentation/variants.js +31 -2
  74. package/dist/cjs/kits/projection.js +63 -8
  75. package/dist/cjs/kits/rank-fusion.js +27 -4
  76. package/dist/cjs/kits/reflection-log-source.js +89 -16
  77. package/dist/cjs/kits/reflection.js +234 -60
  78. package/dist/cjs/kits/retrieval.js +98 -18
  79. package/dist/cjs/kits/search.js +180 -27
  80. package/dist/cjs/kits/text-skills.js +104 -19
  81. package/dist/cjs/kits/tools.js +415 -74
  82. package/dist/cjs/kits/vector-search.js +50 -16
  83. package/dist/cjs/mock/node.js +7 -1
  84. package/dist/cjs/mock/web.js +7 -1
  85. package/dist/cjs/mock.js +7 -1
  86. package/dist/cjs/model/binding.js +68 -17
  87. package/dist/cjs/model/call-budget.js +45 -4
  88. package/dist/cjs/model/decision-retry.js +19 -1
  89. package/dist/cjs/model/defaults.js +27 -4
  90. package/dist/cjs/model/index.js +7 -0
  91. package/dist/cjs/model/interactions/arguments.js +36 -1
  92. package/dist/cjs/model/interactions/json-object.js +48 -12
  93. package/dist/cjs/model/interactions/native-functions.js +52 -10
  94. package/dist/cjs/model/message-diagnostics.js +17 -4
  95. package/dist/cjs/model/options.js +9 -1
  96. package/dist/cjs/model/preparation.js +86 -12
  97. package/dist/cjs/model/runner.js +413 -79
  98. package/dist/cjs/model/selection-transport.js +48 -8
  99. package/dist/cjs/model/settings.js +67 -13
  100. package/dist/cjs/model/token-budget.js +69 -11
  101. package/dist/cjs/model/transports.js +59 -6
  102. package/dist/cjs/structs/common.js +11 -0
  103. package/dist/cjs/structs/debug.js +34 -5
  104. package/dist/cjs/structs/errors.js +26 -1
  105. package/dist/cjs/structs/index.js +11 -1
  106. package/dist/cjs/structs/kits/durable.js +7 -0
  107. package/dist/cjs/structs/kits/family.js +1 -0
  108. package/dist/cjs/structs/kits/interaction.js +8 -1
  109. package/dist/cjs/structs/kits/knowledge-publication.js +1 -0
  110. package/dist/cjs/structs/kits/reflection.js +18 -3
  111. package/dist/cjs/structs/model/chat-provider.js +6 -0
  112. package/dist/cjs/structs/support/model/completion.js +2 -0
  113. package/dist/cjs/structs/support/model/messages.js +2 -0
  114. package/dist/cjs/support/capabilities.js +43 -6
  115. package/dist/cjs/support/context/assembly.js +88 -16
  116. package/dist/cjs/support/context/compression.js +48 -6
  117. package/dist/cjs/support/context/fragments.js +6 -0
  118. package/dist/cjs/support/context/history.js +36 -1
  119. package/dist/cjs/support/context/index.js +11 -0
  120. package/dist/cjs/support/context/nodes.js +164 -35
  121. package/dist/cjs/support/context/processing.js +319 -61
  122. package/dist/cjs/support/context/selection-policy.js +98 -21
  123. package/dist/cjs/support/context/selection.js +61 -10
  124. package/dist/cjs/support/context/snapshot.js +29 -7
  125. package/dist/cjs/support/context/strategies.js +120 -28
  126. package/dist/cjs/support/index.js +9 -1
  127. package/dist/cjs/support/model/capabilities.js +20 -1
  128. package/dist/cjs/support/model/chat-completions.js +92 -20
  129. package/dist/cjs/support/model/children.js +34 -6
  130. package/dist/cjs/support/model/compatible-provider.js +189 -59
  131. package/dist/cjs/support/model/completion/calls.js +61 -0
  132. package/dist/cjs/support/model/completion/default.js +32 -0
  133. package/dist/cjs/support/model/completion/index.js +28 -0
  134. package/dist/cjs/support/model/completion/session.js +102 -0
  135. package/dist/cjs/support/model/index.js +12 -0
  136. package/dist/cjs/support/model/interactions/index.js +12 -1
  137. package/dist/cjs/support/model/interactions/json-object.js +6 -0
  138. package/dist/cjs/support/model/interactions/native-functions.js +6 -0
  139. package/dist/cjs/support/model/observer.js +32 -6
  140. package/dist/cjs/support/model/preview-rules.js +66 -16
  141. package/dist/cjs/support/model/reply-preview.js +77 -17
  142. package/dist/cjs/support/model/stage-transport.js +33 -7
  143. package/dist/cjs/support/model/strategies.js +75 -14
  144. package/dist/cjs/support/model/transports.js +53 -11
  145. package/dist/cjs/support/registration.js +49 -7
  146. package/dist/cjs/support/schema.js +46 -4
  147. package/dist/cjs/support/stream-events.js +60 -8
  148. package/dist/cjs/support/tool-runtime.js +6 -0
  149. package/dist/cjs/support/tools.js +79 -10
  150. package/dist/cjs/support/transport/index.js +7 -0
  151. package/dist/cjs/support/transport/json.js +28 -4
  152. package/dist/cjs/support/transport/sse.js +25 -2
  153. package/dist/cjs/utils/break-observer.js +20 -2
  154. package/dist/cjs/utils/cancellation.js +77 -9
  155. package/dist/cjs/utils/catalog.js +19 -4
  156. package/dist/cjs/utils/debug.js +14 -2
  157. package/dist/cjs/utils/index.js +8 -0
  158. package/dist/cjs/utils/interaction-definition.js +26 -6
  159. package/dist/cjs/utils/invocation.js +42 -4
  160. package/dist/cjs/utils/model-protocol.js +20 -1
  161. package/dist/cjs/utils/object.js +16 -0
  162. package/dist/cjs/utils/observer.js +22 -2
  163. package/dist/cjs/utils/protocol-registry.js +47 -4
  164. package/dist/cjs/utils/query-key.js +21 -2
  165. package/dist/cjs/utils/registration.js +18 -2
  166. package/dist/cjs/utils/rules.js +39 -11
  167. package/dist/cjs/utils/schema-adapter.js +25 -2
  168. package/dist/cjs/utils/synchronous.js +64 -7
  169. package/dist/cjs/utils/text.js +15 -1
  170. package/dist/esm/capabilities/index.d.ts +13 -0
  171. package/dist/esm/capabilities/index.js +13 -0
  172. package/dist/esm/capabilities/invocation.d.ts +16 -2
  173. package/dist/esm/capabilities/invocation.js +80 -10
  174. package/dist/esm/capabilities/model.d.ts +68 -1
  175. package/dist/esm/capabilities/model.js +126 -13
  176. package/dist/esm/capabilities/tool-runtime.d.ts +11 -0
  177. package/dist/esm/capabilities/tool-runtime.js +64 -12
  178. package/dist/esm/capabilities/tools.d.ts +96 -3
  179. package/dist/esm/capabilities/tools.js +267 -32
  180. package/dist/esm/context/assembly.d.ts +13 -2
  181. package/dist/esm/context/assembly.js +46 -5
  182. package/dist/esm/context/audit.d.ts +23 -1
  183. package/dist/esm/context/audit.js +31 -6
  184. package/dist/esm/context/fragments.d.ts +37 -3
  185. package/dist/esm/context/fragments.js +54 -11
  186. package/dist/esm/context/index.d.ts +12 -0
  187. package/dist/esm/context/index.js +12 -0
  188. package/dist/esm/context/journal.d.ts +32 -1
  189. package/dist/esm/context/journal.js +84 -7
  190. package/dist/esm/context/plan.d.ts +11 -1
  191. package/dist/esm/context/plan.js +30 -2
  192. package/dist/esm/diagnostics/catalog.js +11 -3
  193. package/dist/esm/diagnostics/index.d.ts +30 -2
  194. package/dist/esm/diagnostics/index.js +149 -29
  195. package/dist/esm/diagnostics/sub-flow.d.ts +41 -3
  196. package/dist/esm/diagnostics/sub-flow.js +240 -40
  197. package/dist/esm/errors.d.ts +22 -2
  198. package/dist/esm/errors.js +99 -17
  199. package/dist/esm/execution/branch.d.ts +19 -1
  200. package/dist/esm/execution/branch.js +20 -4
  201. package/dist/esm/execution/engine.d.ts +291 -5
  202. package/dist/esm/execution/engine.js +471 -57
  203. package/dist/esm/execution/events.d.ts +16 -2
  204. package/dist/esm/execution/events.js +136 -18
  205. package/dist/esm/execution/index.d.ts +7 -0
  206. package/dist/esm/execution/index.js +7 -0
  207. package/dist/esm/execution/reporting.d.ts +49 -1
  208. package/dist/esm/execution/reporting.js +75 -6
  209. package/dist/esm/execution/state.d.ts +126 -10
  210. package/dist/esm/execution/state.js +161 -22
  211. package/dist/esm/execution/workflow.d.ts +121 -3
  212. package/dist/esm/execution/workflow.js +224 -32
  213. package/dist/esm/index.d.ts +17 -1
  214. package/dist/esm/index.js +18 -0
  215. package/dist/esm/kits/aggregation.d.ts +34 -2
  216. package/dist/esm/kits/aggregation.js +45 -3
  217. package/dist/esm/kits/answering/batch.d.ts +17 -0
  218. package/dist/esm/kits/answering/batch.js +23 -4
  219. package/dist/esm/kits/answering/check-result.d.ts +18 -1
  220. package/dist/esm/kits/answering/check-result.js +31 -8
  221. package/dist/esm/kits/answering/checks.d.ts +11 -0
  222. package/dist/esm/kits/answering/checks.js +24 -3
  223. package/dist/esm/kits/answering/flow.d.ts +25 -2
  224. package/dist/esm/kits/answering/flow.js +192 -36
  225. package/dist/esm/kits/answering/index.d.ts +12 -0
  226. package/dist/esm/kits/answering/index.js +19 -1
  227. package/dist/esm/kits/answering/tasks.d.ts +32 -1
  228. package/dist/esm/kits/answering/tasks.js +88 -13
  229. package/dist/esm/kits/artifacts.d.ts +11 -0
  230. package/dist/esm/kits/artifacts.js +36 -4
  231. package/dist/esm/kits/candidates.d.ts +23 -1
  232. package/dist/esm/kits/candidates.js +47 -5
  233. package/dist/esm/kits/delivery.d.ts +34 -0
  234. package/dist/esm/kits/delivery.js +40 -5
  235. package/dist/esm/kits/durable.d.ts +19 -0
  236. package/dist/esm/kits/durable.js +155 -31
  237. package/dist/esm/kits/evidence.d.ts +28 -5
  238. package/dist/esm/kits/evidence.js +66 -15
  239. package/dist/esm/kits/family.d.ts +17 -1
  240. package/dist/esm/kits/family.js +152 -22
  241. package/dist/esm/kits/index.d.ts +12 -1
  242. package/dist/esm/kits/index.js +12 -1
  243. package/dist/esm/kits/inference.d.ts +64 -0
  244. package/dist/esm/kits/inference.js +104 -16
  245. package/dist/esm/kits/intents/catalog.d.ts +13 -1
  246. package/dist/esm/kits/intents/catalog.js +67 -16
  247. package/dist/esm/kits/intents/index.d.ts +11 -0
  248. package/dist/esm/kits/intents/index.js +11 -0
  249. package/dist/esm/kits/intents/registry.d.ts +61 -3
  250. package/dist/esm/kits/intents/registry.js +188 -43
  251. package/dist/esm/kits/intents/scopes.d.ts +73 -3
  252. package/dist/esm/kits/intents/scopes.js +215 -46
  253. package/dist/esm/kits/interaction/command.d.ts +38 -4
  254. package/dist/esm/kits/interaction/command.js +140 -36
  255. package/dist/esm/kits/interaction/commands.d.ts +66 -2
  256. package/dist/esm/kits/interaction/commands.js +86 -11
  257. package/dist/esm/kits/interaction/handlers.d.ts +19 -2
  258. package/dist/esm/kits/interaction/handlers.js +27 -10
  259. package/dist/esm/kits/interaction/index.d.ts +10 -0
  260. package/dist/esm/kits/interaction/index.js +10 -0
  261. package/dist/esm/kits/interaction/transfer.d.ts +39 -2
  262. package/dist/esm/kits/interaction/transfer.js +80 -14
  263. package/dist/esm/kits/knowledge/catalog.d.ts +13 -0
  264. package/dist/esm/kits/knowledge/catalog.js +62 -11
  265. package/dist/esm/kits/knowledge/index.d.ts +11 -0
  266. package/dist/esm/kits/knowledge/index.js +16 -1
  267. package/dist/esm/kits/knowledge/publication.d.ts +15 -1
  268. package/dist/esm/kits/knowledge/publication.js +99 -23
  269. package/dist/esm/kits/knowledge/sections.d.ts +31 -1
  270. package/dist/esm/kits/knowledge/sections.js +33 -4
  271. package/dist/esm/kits/normalization.d.ts +25 -2
  272. package/dist/esm/kits/normalization.js +51 -7
  273. package/dist/esm/kits/policies.d.ts +26 -3
  274. package/dist/esm/kits/policies.js +79 -15
  275. package/dist/esm/kits/presentation/events.d.ts +51 -4
  276. package/dist/esm/kits/presentation/events.js +54 -10
  277. package/dist/esm/kits/presentation/index.d.ts +12 -0
  278. package/dist/esm/kits/presentation/index.js +25 -2
  279. package/dist/esm/kits/presentation/outputs.d.ts +30 -1
  280. package/dist/esm/kits/presentation/outputs.js +176 -38
  281. package/dist/esm/kits/presentation/templates.d.ts +32 -3
  282. package/dist/esm/kits/presentation/templates.js +33 -5
  283. package/dist/esm/kits/presentation/variants.d.ts +29 -0
  284. package/dist/esm/kits/presentation/variants.js +31 -2
  285. package/dist/esm/kits/projection.d.ts +42 -5
  286. package/dist/esm/kits/projection.js +63 -8
  287. package/dist/esm/kits/rank-fusion.d.ts +21 -1
  288. package/dist/esm/kits/rank-fusion.js +28 -5
  289. package/dist/esm/kits/reflection-log-source.d.ts +28 -1
  290. package/dist/esm/kits/reflection-log-source.js +89 -16
  291. package/dist/esm/kits/reflection.d.ts +17 -1
  292. package/dist/esm/kits/reflection.js +235 -61
  293. package/dist/esm/kits/retrieval.d.ts +18 -2
  294. package/dist/esm/kits/retrieval.js +98 -18
  295. package/dist/esm/kits/search.d.ts +56 -3
  296. package/dist/esm/kits/search.js +180 -27
  297. package/dist/esm/kits/text-skills.d.ts +16 -2
  298. package/dist/esm/kits/text-skills.js +104 -19
  299. package/dist/esm/kits/tools.d.ts +122 -2
  300. package/dist/esm/kits/tools.js +416 -74
  301. package/dist/esm/kits/vector-search.d.ts +47 -1
  302. package/dist/esm/kits/vector-search.js +51 -17
  303. package/dist/esm/mock/node.d.ts +7 -0
  304. package/dist/esm/mock/node.js +7 -1
  305. package/dist/esm/mock/web.d.ts +7 -0
  306. package/dist/esm/mock/web.js +7 -1
  307. package/dist/esm/mock.d.ts +7 -0
  308. package/dist/esm/mock.js +7 -1
  309. package/dist/esm/model/binding.d.ts +32 -3
  310. package/dist/esm/model/binding.js +68 -17
  311. package/dist/esm/model/call-budget.d.ts +30 -2
  312. package/dist/esm/model/call-budget.js +45 -4
  313. package/dist/esm/model/decision-retry.d.ts +10 -1
  314. package/dist/esm/model/decision-retry.js +19 -1
  315. package/dist/esm/model/defaults.d.ts +13 -2
  316. package/dist/esm/model/defaults.js +27 -4
  317. package/dist/esm/model/index.d.ts +7 -0
  318. package/dist/esm/model/index.js +7 -0
  319. package/dist/esm/model/interactions/arguments.d.ts +27 -0
  320. package/dist/esm/model/interactions/arguments.js +36 -1
  321. package/dist/esm/model/interactions/json-object.d.ts +7 -1
  322. package/dist/esm/model/interactions/json-object.js +48 -12
  323. package/dist/esm/model/interactions/native-functions.d.ts +6 -0
  324. package/dist/esm/model/interactions/native-functions.js +52 -10
  325. package/dist/esm/model/message-diagnostics.d.ts +17 -1
  326. package/dist/esm/model/message-diagnostics.js +17 -4
  327. package/dist/esm/model/options.d.ts +18 -1
  328. package/dist/esm/model/options.js +9 -1
  329. package/dist/esm/model/preparation.d.ts +30 -2
  330. package/dist/esm/model/preparation.js +86 -12
  331. package/dist/esm/model/runner.d.ts +129 -5
  332. package/dist/esm/model/runner.js +414 -80
  333. package/dist/esm/model/selection-transport.d.ts +14 -1
  334. package/dist/esm/model/selection-transport.js +48 -8
  335. package/dist/esm/model/settings.d.ts +11 -0
  336. package/dist/esm/model/settings.js +67 -13
  337. package/dist/esm/model/token-budget.d.ts +59 -1
  338. package/dist/esm/model/token-budget.js +69 -11
  339. package/dist/esm/model/transports.d.ts +20 -2
  340. package/dist/esm/model/transports.js +59 -6
  341. package/dist/esm/structs/capabilities/invocation.d.ts +36 -0
  342. package/dist/esm/structs/capabilities/model.d.ts +27 -0
  343. package/dist/esm/structs/capabilities/tools.d.ts +38 -0
  344. package/dist/esm/structs/common.d.ts +62 -2
  345. package/dist/esm/structs/common.js +11 -0
  346. package/dist/esm/structs/context/fragments.d.ts +28 -0
  347. package/dist/esm/structs/context/journal.d.ts +28 -3
  348. package/dist/esm/structs/context/processing.d.ts +11 -0
  349. package/dist/esm/structs/debug.d.ts +58 -1
  350. package/dist/esm/structs/debug.js +34 -5
  351. package/dist/esm/structs/diagnostics.d.ts +119 -1
  352. package/dist/esm/structs/errors.d.ts +42 -1
  353. package/dist/esm/structs/errors.js +26 -1
  354. package/dist/esm/structs/execution/engine.d.ts +24 -1
  355. package/dist/esm/structs/execution/events.d.ts +12 -0
  356. package/dist/esm/structs/execution/workflow.d.ts +71 -0
  357. package/dist/esm/structs/index.d.ts +11 -1
  358. package/dist/esm/structs/index.js +11 -1
  359. package/dist/esm/structs/invocation.d.ts +30 -0
  360. package/dist/esm/structs/kits/aggregation.d.ts +12 -0
  361. package/dist/esm/structs/kits/answering/checks.d.ts +11 -0
  362. package/dist/esm/structs/kits/answering/flow.d.ts +35 -1
  363. package/dist/esm/structs/kits/answering/state.d.ts +21 -0
  364. package/dist/esm/structs/kits/answering/tasks.d.ts +21 -0
  365. package/dist/esm/structs/kits/artifacts.d.ts +14 -0
  366. package/dist/esm/structs/kits/candidates.d.ts +19 -0
  367. package/dist/esm/structs/kits/delivery.d.ts +22 -0
  368. package/dist/esm/structs/kits/durable.d.ts +56 -3
  369. package/dist/esm/structs/kits/durable.js +7 -0
  370. package/dist/esm/structs/kits/evidence.d.ts +23 -0
  371. package/dist/esm/structs/kits/family.d.ts +49 -1
  372. package/dist/esm/structs/kits/family.js +1 -0
  373. package/dist/esm/structs/kits/intents/catalog.d.ts +26 -0
  374. package/dist/esm/structs/kits/intents/registry.d.ts +34 -0
  375. package/dist/esm/structs/kits/intents/scopes.d.ts +36 -1
  376. package/dist/esm/structs/kits/interaction.d.ts +64 -0
  377. package/dist/esm/structs/kits/interaction.js +8 -1
  378. package/dist/esm/structs/kits/knowledge-publication.d.ts +43 -1
  379. package/dist/esm/structs/kits/knowledge-publication.js +1 -0
  380. package/dist/esm/structs/kits/knowledge.d.ts +39 -2
  381. package/dist/esm/structs/kits/normalization.d.ts +15 -0
  382. package/dist/esm/structs/kits/policies.d.ts +25 -1
  383. package/dist/esm/structs/kits/presentation/events.d.ts +28 -4
  384. package/dist/esm/structs/kits/presentation/outputs.d.ts +38 -1
  385. package/dist/esm/structs/kits/presentation/templates.d.ts +15 -0
  386. package/dist/esm/structs/kits/projection.d.ts +21 -0
  387. package/dist/esm/structs/kits/reflection.d.ts +61 -2
  388. package/dist/esm/structs/kits/reflection.js +18 -3
  389. package/dist/esm/structs/kits/retrieval.d.ts +38 -0
  390. package/dist/esm/structs/kits/search.d.ts +22 -0
  391. package/dist/esm/structs/kits/text-skills.d.ts +36 -0
  392. package/dist/esm/structs/kits/tools.d.ts +87 -0
  393. package/dist/esm/structs/model/chat-provider.d.ts +24 -1
  394. package/dist/esm/structs/model/chat-provider.js +6 -0
  395. package/dist/esm/structs/model/interactions.d.ts +38 -0
  396. package/dist/esm/structs/model/messages.d.ts +30 -0
  397. package/dist/esm/structs/model/runtime.d.ts +104 -6
  398. package/dist/esm/structs/support/capabilities.d.ts +19 -2
  399. package/dist/esm/structs/support/context-processing.d.ts +88 -9
  400. package/dist/esm/structs/support/context.d.ts +29 -1
  401. package/dist/esm/structs/support/model/completion.d.ts +50 -0
  402. package/dist/esm/structs/support/model/completion.js +1 -0
  403. package/dist/esm/structs/support/model/interactions.d.ts +13 -1
  404. package/dist/esm/structs/support/model/messages.d.ts +52 -0
  405. package/dist/esm/structs/support/model/messages.js +1 -0
  406. package/dist/esm/structs/support/model/provider-observer.d.ts +22 -1
  407. package/dist/esm/structs/support/model/provider.d.ts +71 -6
  408. package/dist/esm/structs/support/registration.d.ts +13 -0
  409. package/dist/esm/structs/support/schema.d.ts +14 -0
  410. package/dist/esm/structs/support/tools.d.ts +28 -0
  411. package/dist/esm/structs/support/transport/json.d.ts +16 -0
  412. package/dist/esm/structs/support/transport/sse.d.ts +15 -0
  413. package/dist/esm/structs/utils/rules.d.ts +19 -0
  414. package/dist/esm/support/capabilities.d.ts +25 -2
  415. package/dist/esm/support/capabilities.js +43 -6
  416. package/dist/esm/support/context/assembly.d.ts +35 -4
  417. package/dist/esm/support/context/assembly.js +88 -16
  418. package/dist/esm/support/context/compression.d.ts +17 -1
  419. package/dist/esm/support/context/compression.js +48 -6
  420. package/dist/esm/support/context/fragments.d.ts +6 -0
  421. package/dist/esm/support/context/fragments.js +6 -0
  422. package/dist/esm/support/context/history.d.ts +43 -0
  423. package/dist/esm/support/context/history.js +36 -1
  424. package/dist/esm/support/context/index.d.ts +13 -2
  425. package/dist/esm/support/context/index.js +12 -1
  426. package/dist/esm/support/context/nodes.d.ts +49 -3
  427. package/dist/esm/support/context/nodes.js +165 -36
  428. package/dist/esm/support/context/processing.d.ts +145 -1
  429. package/dist/esm/support/context/processing.js +320 -62
  430. package/dist/esm/support/context/selection-policy.d.ts +42 -2
  431. package/dist/esm/support/context/selection-policy.js +98 -21
  432. package/dist/esm/support/context/selection.d.ts +14 -1
  433. package/dist/esm/support/context/selection.js +61 -10
  434. package/dist/esm/support/context/snapshot.d.ts +23 -1
  435. package/dist/esm/support/context/snapshot.js +29 -7
  436. package/dist/esm/support/context/strategies.d.ts +35 -2
  437. package/dist/esm/support/context/strategies.js +120 -28
  438. package/dist/esm/support/index.d.ts +9 -1
  439. package/dist/esm/support/index.js +9 -1
  440. package/dist/esm/support/model/capabilities.d.ts +10 -0
  441. package/dist/esm/support/model/capabilities.js +20 -1
  442. package/dist/esm/support/model/chat-completions.d.ts +44 -15
  443. package/dist/esm/support/model/chat-completions.js +92 -20
  444. package/dist/esm/support/model/children.d.ts +32 -2
  445. package/dist/esm/support/model/children.js +34 -6
  446. package/dist/esm/support/model/compatible-provider.d.ts +29 -3
  447. package/dist/esm/support/model/compatible-provider.js +190 -60
  448. package/dist/esm/support/model/completion/calls.d.ts +40 -0
  449. package/dist/esm/support/model/completion/calls.js +58 -0
  450. package/dist/esm/support/model/completion/default.d.ts +10 -0
  451. package/dist/esm/support/model/completion/default.js +29 -0
  452. package/dist/esm/support/model/completion/index.d.ts +10 -0
  453. package/dist/esm/support/model/completion/index.js +22 -0
  454. package/dist/esm/support/model/completion/session.d.ts +11 -0
  455. package/dist/esm/support/model/completion/session.js +99 -0
  456. package/dist/esm/support/model/index.d.ts +14 -0
  457. package/dist/esm/support/model/index.js +12 -0
  458. package/dist/esm/support/model/interactions/index.d.ts +1 -1
  459. package/dist/esm/support/model/interactions/index.js +12 -1
  460. package/dist/esm/support/model/interactions/json-object.d.ts +6 -0
  461. package/dist/esm/support/model/interactions/json-object.js +6 -0
  462. package/dist/esm/support/model/interactions/native-functions.d.ts +6 -0
  463. package/dist/esm/support/model/interactions/native-functions.js +6 -0
  464. package/dist/esm/support/model/observer.d.ts +25 -2
  465. package/dist/esm/support/model/observer.js +32 -6
  466. package/dist/esm/support/model/preview-rules.d.ts +20 -2
  467. package/dist/esm/support/model/preview-rules.js +66 -16
  468. package/dist/esm/support/model/reply-preview.d.ts +15 -1
  469. package/dist/esm/support/model/reply-preview.js +77 -17
  470. package/dist/esm/support/model/stage-transport.d.ts +9 -1
  471. package/dist/esm/support/model/stage-transport.js +33 -7
  472. package/dist/esm/support/model/strategies.d.ts +24 -2
  473. package/dist/esm/support/model/strategies.js +75 -14
  474. package/dist/esm/support/model/transports.d.ts +17 -1
  475. package/dist/esm/support/model/transports.js +53 -11
  476. package/dist/esm/support/registration.d.ts +20 -1
  477. package/dist/esm/support/registration.js +49 -7
  478. package/dist/esm/support/schema.d.ts +31 -1
  479. package/dist/esm/support/schema.js +46 -4
  480. package/dist/esm/support/stream-events.d.ts +22 -1
  481. package/dist/esm/support/stream-events.js +60 -8
  482. package/dist/esm/support/tool-runtime.d.ts +6 -0
  483. package/dist/esm/support/tool-runtime.js +6 -0
  484. package/dist/esm/support/tools.d.ts +22 -0
  485. package/dist/esm/support/tools.js +79 -10
  486. package/dist/esm/support/transport/index.d.ts +7 -0
  487. package/dist/esm/support/transport/index.js +7 -0
  488. package/dist/esm/support/transport/json.d.ts +29 -2
  489. package/dist/esm/support/transport/json.js +28 -4
  490. package/dist/esm/support/transport/sse.d.ts +31 -1
  491. package/dist/esm/support/transport/sse.js +25 -2
  492. package/dist/esm/types.d.ts +9 -1
  493. package/dist/esm/utils/break-observer.d.ts +27 -2
  494. package/dist/esm/utils/break-observer.js +20 -2
  495. package/dist/esm/utils/cancellation.d.ts +56 -5
  496. package/dist/esm/utils/cancellation.js +77 -9
  497. package/dist/esm/utils/catalog.d.ts +20 -1
  498. package/dist/esm/utils/catalog.js +19 -4
  499. package/dist/esm/utils/debug.d.ts +20 -1
  500. package/dist/esm/utils/debug.js +14 -2
  501. package/dist/esm/utils/index.d.ts +8 -0
  502. package/dist/esm/utils/index.js +8 -0
  503. package/dist/esm/utils/interaction-definition.d.ts +18 -1
  504. package/dist/esm/utils/interaction-definition.js +26 -6
  505. package/dist/esm/utils/invocation.d.ts +36 -1
  506. package/dist/esm/utils/invocation.js +42 -4
  507. package/dist/esm/utils/model-protocol.d.ts +8 -0
  508. package/dist/esm/utils/model-protocol.js +20 -1
  509. package/dist/esm/utils/object.d.ts +16 -0
  510. package/dist/esm/utils/object.js +16 -0
  511. package/dist/esm/utils/observer.d.ts +19 -1
  512. package/dist/esm/utils/observer.js +22 -2
  513. package/dist/esm/utils/protocol-registry.d.ts +38 -1
  514. package/dist/esm/utils/protocol-registry.js +47 -4
  515. package/dist/esm/utils/query-key.d.ts +11 -1
  516. package/dist/esm/utils/query-key.js +21 -2
  517. package/dist/esm/utils/registration.d.ts +34 -2
  518. package/dist/esm/utils/registration.js +18 -2
  519. package/dist/esm/utils/rules.d.ts +81 -4
  520. package/dist/esm/utils/rules.js +39 -11
  521. package/dist/esm/utils/schema-adapter.d.ts +12 -1
  522. package/dist/esm/utils/schema-adapter.js +25 -2
  523. package/dist/esm/utils/synchronous.d.ts +60 -4
  524. package/dist/esm/utils/synchronous.js +64 -7
  525. package/dist/esm/utils/text.d.ts +15 -1
  526. package/dist/esm/utils/text.js +15 -1
  527. package/package.json +23 -3
@@ -1,3 +1,21 @@
1
+ /**
2
+ * Branch identity snapshot.
3
+ *
4
+ * A branch records which agent version a run belongs to and, for forked runs, where it
5
+ * branched from. Snapshots are validated once so every later comparison is a plain
6
+ * value comparison rather than a re-validation.
7
+ *
8
+ * Exports: `snapshotBranch`.
9
+ */
1
10
  import type { AgentBranch } from './engine.js';
2
- /** Core identity contract, also used by App-side Family storage adapters. */
11
+ /**
12
+ * Validate and freeze a branch identity.
13
+ *
14
+ * Required ids identify the branch itself; optional ids describe the fork origin. Ids are
15
+ * bounded in length so they remain usable as keys in App storage.
16
+ *
17
+ * @param source - Branch identity supplied by the host or generated by the engine.
18
+ * @returns A frozen identity with the same field set.
19
+ * @throws Error When a required id is missing or any id is blank or too long.
20
+ */
3
21
  export declare function snapshotBranch(source: AgentBranch): AgentBranch;
@@ -1,10 +1,26 @@
1
1
  import { breakWhile } from '../utils/rules.js';
2
- /** Core identity contract, also used by App-side Family storage adapters. */
2
+ /**
3
+ * Validate and freeze a branch identity.
4
+ *
5
+ * Required ids identify the branch itself; optional ids describe the fork origin. Ids are
6
+ * bounded in length so they remain usable as keys in App storage.
7
+ *
8
+ * @param source - Branch identity supplied by the host or generated by the engine.
9
+ * @returns A frozen identity with the same field set.
10
+ * @throws Error When a required id is missing or any id is blank or too long.
11
+ */
3
12
  export function snapshotBranch(source) {
4
13
  breakWhile(!source, 'Invalid branch identity');
5
14
  const { agentId, branchId, agentVersionId, parentBranchId, parentAgentVersionId, forkPointId } = source;
6
15
  const valid = (id) => typeof id === 'string' && !!id.trim() && id.length <= 200;
7
- breakWhile(![agentId, branchId, agentVersionId].every(valid)
8
- || [parentBranchId, parentAgentVersionId, forkPointId].some(id => id !== undefined && !valid(id)), 'Invalid branch identity');
9
- return Object.freeze({ agentId, branchId, agentVersionId, parentBranchId, parentAgentVersionId, forkPointId });
16
+ breakWhile(![agentId, branchId, agentVersionId].every(valid) ||
17
+ [parentBranchId, parentAgentVersionId, forkPointId].some((id) => id !== undefined && !valid(id)), 'Invalid branch identity');
18
+ return Object.freeze({
19
+ agentId,
20
+ branchId,
21
+ agentVersionId,
22
+ parentBranchId,
23
+ parentAgentVersionId,
24
+ forkPointId,
25
+ });
10
26
  }
@@ -9,11 +9,25 @@ type InvokeTool = (request: import('../structs/capabilities/tools.js').ToolInvoc
9
9
  type ToolBinding = {
10
10
  invoke: InvokeTool;
11
11
  } | Pick<ToolRegistry, 'invokeAsync'>;
12
+ /** The subset of a runner an engine may drive; kept small so the App can supply it. */
12
13
  export type AgentModelRuntime = Pick<ModelRunner, 'invoke' | 'prepare' | 'execution' | 'remainingCalls' | 'callCount' | 'totalCallCount'>;
14
+ /**
15
+ * Model binding accepted by the engine.
16
+ *
17
+ * Execution scope belongs to the engine, so a bound model may not carry its own signal or
18
+ * execution options.
19
+ */
13
20
  export type AgentModelBinding = ModelRunnerOptions & {
14
21
  execution?: never;
15
22
  signal?: never;
16
23
  };
24
+ /**
25
+ * Engine construction options.
26
+ *
27
+ * Combines round budget and error factories with exactly one model shape (a single bound
28
+ * model or a named catalog), an optional tool runtime, an optional branch identity, and
29
+ * an optional workflow together with its App dependencies.
30
+ */
17
31
  export type AgentCoreEngineSetup<State, Result, App = undefined> = AgentCoreEngineOptions & {
18
32
  readonly branch?: AgentBranch;
19
33
  readonly tools?: ToolBinding;
@@ -34,29 +48,66 @@ export type AgentCoreEngineSetup<State, Result, App = undefined> = AgentCoreEngi
34
48
  } : {
35
49
  readonly app: App;
36
50
  })));
51
+ /**
52
+ * Immutable identity of one branch of an agent.
53
+ *
54
+ * The three required ids are generated per engine unless the host restores a branch; the
55
+ * optional ids are only present on a fork and record the exact origin, so a forked run
56
+ * can be attributed without consulting external storage.
57
+ */
37
58
  export interface AgentBranch {
59
+ /** Agent the branch belongs to. */
38
60
  readonly agentId: string;
61
+ /** Branch identifier, unique within the agent. */
39
62
  readonly branchId: string;
63
+ /** Agent version the branch was created from. */
40
64
  readonly agentVersionId: string;
65
+ /** Parent branch id; present only for a fork. */
41
66
  readonly parentBranchId?: string;
67
+ /** Agent version of the parent branch; present only for a fork. */
42
68
  readonly parentAgentVersionId?: string;
69
+ /** Checkpoint the branch was forked at; present only for a fork. */
43
70
  readonly forkPointId?: string;
44
71
  }
72
+ /**
73
+ * In-memory checkpoint with a copy-on-read accessor.
74
+ *
75
+ * The stored data is already a clone, and `read` clones again, so a caller cannot mutate
76
+ * the checkpoint by mutating what it read.
77
+ */
45
78
  export interface AgentCheckpoint<Data> {
79
+ /** Checkpoint identifier, unique within the engine. */
46
80
  readonly id: string;
81
+ /** Branch the checkpoint was taken on. */
47
82
  readonly source: AgentBranch;
83
+ /** @returns A fresh clone of the checkpoint data. */
48
84
  read(): Data;
49
85
  }
50
- /** Host-owned serializable data, never a saved credential, model budget or executable handler. */
86
+ /**
87
+ * Host-owned serializable data, never a saved credential, model budget or executable handler.
88
+ */
51
89
  export interface AgentCheckpointRecord<Data> {
90
+ /** Checkpoint identifier, preserved across export and restore. */
52
91
  readonly id: string;
92
+ /** Validated branch identity captured at checkpoint time. */
53
93
  readonly source: AgentBranch;
94
+ /** Detached data payload; serializable by the host. */
54
95
  readonly data: Data;
55
96
  }
56
- /** Bounded execution shared by applications; business rules are registered by each host. */
97
+ /**
98
+ * Bounded execution shared by applications; business rules are registered by each host.
99
+ *
100
+ * Configuration is bound before a run and may be bound only once per model, tool runtime
101
+ * and workflow. A run resolves its signal from the engine, the request runtime and the
102
+ * caller, then executes either the bound workflow or a supplied step function until the
103
+ * round budget, cancellation or a completion stops it.
104
+ */
57
105
  export declare class AgentCoreEngine<Result, State = unknown, App = undefined> {
106
+ /** Workflow catalog constructor, exposed so hosts do not import two modules. */
58
107
  static readonly Workflow: typeof AgentWorkflow;
108
+ /** Attempt budget, exposed for hosts that gate their own sub-steps. */
59
109
  static readonly AttemptBudget: typeof AttemptBudget;
110
+ /** Factory for a validated workflow definition. */
60
111
  static readonly createWorkflow: typeof defineWorkflow;
61
112
  private readonly maxRounds;
62
113
  private readonly exhausted;
@@ -67,27 +118,145 @@ export declare class AgentCoreEngine<Result, State = unknown, App = undefined> {
67
118
  private models?;
68
119
  private selectedModelId?;
69
120
  private maxModelCalls?;
121
+ /**
122
+ * Compile model options and reject engine-owned settings.
123
+ *
124
+ * @param options - Model binding supplied to the engine.
125
+ * @returns The compiled binding.
126
+ * @throws TypeError When the binding carries its own execution scope.
127
+ */
70
128
  private snapshotModel;
129
+ /**
130
+ * Bind the single model this engine will use.
131
+ *
132
+ * @param options - App model settings.
133
+ * @returns This engine, for chaining.
134
+ * @throws TypeError When a model is already bound or the settings are invalid.
135
+ */
71
136
  bindModel(options: AgentModelBinding): this;
72
- /** Bind an existing request lifetime once, for App services sharing this Runner's budget. */
137
+ /**
138
+ * Bind an existing request lifetime once, for App services sharing this Runner's budget.
139
+ *
140
+ * Callbacks are bound to the source runtime and the counters stay live getters, so the
141
+ * engine and the App observe exactly the same budget and signal.
142
+ *
143
+ * @param source - Request model runtime owned by the App.
144
+ * @returns This engine, for chaining.
145
+ * @throws Error When another model is already bound or the runtime lacks a usable signal.
146
+ */
73
147
  bindModelRuntime(source: AgentModelRuntime): this;
148
+ /**
149
+ * Select a configured model, or replace the single bound model's configuration.
150
+ *
151
+ * @param options - A configured model id, or new settings for the single bound model.
152
+ * @returns This engine, for chaining.
153
+ * @throws WorkflowContractError When the id is not configured.
154
+ * @throws TypeError When no single model is bound to switch.
155
+ */
74
156
  switchModel(options: AgentModelBinding | string): this;
157
+ /**
158
+ * Look up a configured model by id.
159
+ *
160
+ * @param id - Configured model id.
161
+ * @param models - Configured model map, when the engine uses a catalog.
162
+ * @returns The compiled binding.
163
+ * @throws WorkflowContractError When the id is not configured.
164
+ */
75
165
  private requireModel;
166
+ /**
167
+ * Compile and store the single bound model.
168
+ *
169
+ * @param options - App model settings.
170
+ * @returns This engine, for chaining.
171
+ */
76
172
  private setModel;
77
173
  private invokeTool?;
174
+ /**
175
+ * Bind the tool runtime used by workflow context.
176
+ *
177
+ * @param tools - Registry exposing `invokeAsync`, or an object exposing `invoke`.
178
+ * @returns This engine, for chaining.
179
+ * @throws TypeError When tools are already bound or expose no invoke method.
180
+ */
78
181
  bindToolRuntime(tools: ToolBinding): this;
79
182
  private boundWorkflow?;
183
+ /**
184
+ * Bind a workflow, narrowing the engine's state and App types.
185
+ *
186
+ * Binding changes the engine's type parameters without changing its identity, so the
187
+ * same instance keeps its model, tools and branch.
188
+ *
189
+ * @param workflow - Workflow to execute.
190
+ * @returns The same engine typed for the workflow's state.
191
+ */
80
192
  bindWorkflow<NextState>(workflow: AgentWorkflow<NextState, Result, undefined>): AgentCoreEngine<Result, NextState, undefined>;
193
+ /**
194
+ * Bind a workflow together with its App dependencies.
195
+ *
196
+ * @param workflow - Workflow to execute.
197
+ * @param app - Dependencies passed to every node and route as `context.app`.
198
+ * @returns The same engine typed for the workflow's state and App.
199
+ */
81
200
  bindWorkflow<NextState, NextApp>(workflow: AgentWorkflow<NextState, Result, NextApp>, app: NextApp): AgentCoreEngine<Result, NextState, NextApp>;
201
+ /**
202
+ * Store the workflow and its dependencies.
203
+ *
204
+ * @param workflow - Workflow to execute.
205
+ * @param app - App dependencies handed to every node and route.
206
+ * @throws TypeError When a workflow is already bound.
207
+ */
82
208
  private bind;
209
+ /** The bound workflow. */
83
210
  get workflow(): AgentWorkflow<State, Result, App>;
84
211
  private branchIdentity;
85
212
  private readonly checkpoints;
213
+ /** Identity of this engine's branch. */
86
214
  get branch(): AgentBranch;
215
+ /**
216
+ * Take an in-memory checkpoint of host-owned data.
217
+ *
218
+ * The data is cloned on write and on every read, so neither side can mutate the other.
219
+ *
220
+ * @param data - Serializable data to capture.
221
+ * @returns A checkpoint bound to this branch.
222
+ */
87
223
  checkpoint<Data>(data: Data): AgentCheckpoint<Data>;
224
+ /**
225
+ * Export a checkpoint for host-owned persistence.
226
+ *
227
+ * @param checkpoint - Checkpoint taken by this engine.
228
+ * @returns A serializable record with a validated branch identity.
229
+ * @throws Error When the checkpoint belongs to another engine.
230
+ */
88
231
  exportCheckpoint<Data>(checkpoint: AgentCheckpoint<Data>): AgentCheckpointRecord<Data>;
232
+ /**
233
+ * Recreate a checkpoint from a persisted record.
234
+ *
235
+ * The record's branch must match this engine's branch exactly; otherwise persisted data
236
+ * from another branch would be adopted silently.
237
+ *
238
+ * @param record - Record produced by `exportCheckpoint`.
239
+ * @returns A checkpoint bound to this engine.
240
+ * @throws Error When the id is invalid or the branch identity differs.
241
+ */
89
242
  restoreCheckpoint<Data>(record: AgentCheckpointRecord<Data>): AgentCheckpoint<Data>;
90
- fork<Data>({ at, workflow, routes, resume }: {
243
+ /**
244
+ * Create an engine on a new branch forked at a checkpoint.
245
+ *
246
+ * The forked engine keeps the round budget, observation and configuration, receives an
247
+ * optional workflow extension, and gets a new branch identity whose parent ids point at
248
+ * this engine. Live handles are not copied: an App dependency, request runtime or tool
249
+ * runtime must be restored by the `resume` callback, because they cannot be serialized.
250
+ *
251
+ * @param request.at - Checkpoint taken by this engine to fork from.
252
+ * @param request.workflow - Optional extension or replacement workflow.
253
+ * @param request.routes - Route overrides; only valid with a workflow instance.
254
+ * @param request.resume - Receives the checkpoint data and returns restored dependencies.
255
+ * @returns A new engine on the forked branch.
256
+ * @throws TypeError When the checkpoint is foreign or the App dependency is missing.
257
+ * @throws Error When a bound request runtime or tool runtime was not restored.
258
+ */
259
+ fork<Data>({ at, workflow, routes, resume, }: {
91
260
  at: AgentCheckpoint<Data>;
92
261
  workflow?: AgentWorkflow<State, Result, App> | WorkflowExtension<State, Result, App>;
93
262
  routes?: WorkflowExtension<State, Result, App>['routes'];
@@ -97,22 +266,139 @@ export declare class AgentCoreEngine<Result, State = unknown, App = undefined> {
97
266
  model?: AgentModelRuntime;
98
267
  };
99
268
  }): AgentCoreEngine<Result, State, App>;
269
+ /**
270
+ * Build an engine and validate its wiring.
271
+ *
272
+ * Legacy top-level names (`maxSteps`, `exhausted`, `signal`, `diagnostics`,
273
+ * `onWorkflowEvent`, `observe`) are rejected rather than ignored, because silently
274
+ * dropping them would change budgets or observation.
275
+ *
276
+ * @param settings - Round budget, errors, execution scope, model, tools, workflow and branch.
277
+ * @throws TypeError When settings are invalid, removed names are used, or model wiring is
278
+ * inconsistent.
279
+ */
100
280
  constructor(settings?: AgentCoreEngineSetup<State, Result, App>);
281
+ /**
282
+ * Run the loop with a step function when no workflow is bound.
283
+ *
284
+ * @param step - Receives the round index and context; returns continue or complete.
285
+ * @param options - Optional caller signal; a model id requires a bound workflow.
286
+ * @returns The value of the completing step.
287
+ */
101
288
  run(step: CoreStep<Result>, options?: {
102
289
  signal?: AbortSignal;
103
290
  modelId?: never;
104
291
  }): Promise<Result>;
292
+ /**
293
+ * Run a bound workflow from an initial state.
294
+ *
295
+ * @param state - Initial workflow state; node updates are committed into it.
296
+ * @param options - Optional caller signal and per-run model id.
297
+ * @returns The workflow result.
298
+ */
105
299
  run(state: State, options?: {
106
300
  signal?: AbortSignal;
107
301
  modelId?: string;
108
302
  }): Promise<Result>;
303
+ /**
304
+ * Resolve the lifetime of one run.
305
+ *
306
+ * All three sources are lifetime bounds only, so the strictest wins and no source can
307
+ * extend another.
308
+ *
309
+ * @param requestSignal - Caller-supplied signal for this run.
310
+ * @returns The combined signal.
311
+ */
109
312
  private executionSignal;
313
+ /**
314
+ * Resolve the observation scope for one run.
315
+ *
316
+ * A bound request runtime contributes its scope only when the engine has none, so one
317
+ * fact source serves both the App and the engine.
318
+ *
319
+ * @returns Execution options with the effective diagnostic scope.
320
+ */
110
321
  private executionOptions;
322
+ /**
323
+ * Drive a caller-supplied step function until it completes or the budget ends.
324
+ *
325
+ * Each iteration is a round: the step must return an explicit continue/complete outcome,
326
+ * the continue path owns the round limit, and a report scope always closes before the
327
+ * next round starts. Failures leave the loop and are rethrown after the scope closes.
328
+ *
329
+ * @param step - Step implementation receiving the round index and context.
330
+ * @param requestSignal - Caller signal for this run.
331
+ * @returns The value of the completing step.
332
+ * @throws WorkflowContractError When the step returns something other than continue/complete.
333
+ * @throws The configured exhausted error, the step's failure, or the signal reason.
334
+ */
111
335
  private runLoop;
336
+ /**
337
+ * Traverse a workflow node by node.
338
+ *
339
+ * Per visit the order is fixed: cancellation and round-budget checks, `requires`
340
+ * validation, the node handler, commit of `provides`, route selection, then either
341
+ * completion or transition. Failures are reported before any recovery decision, and only
342
+ * non-aborted, non-contract failures may follow `onErrorNodeId`; anything else propagates.
343
+ *
344
+ * @param workflow - Validated workflow catalog.
345
+ * @param state - Initial state; mutated in place by commits.
346
+ * @param app - Host dependencies exposed as `context.app`.
347
+ * @param requestSignal - Caller signal for this run.
348
+ * @param requestModelId - Per-run configured model override.
349
+ * @returns The workflow result.
350
+ * @throws WorkflowContractError for contract violations, or the node failure otherwise.
351
+ */
112
352
  private executeWorkflow;
353
+ /**
354
+ * Merge a node's state update and assert its declared outputs.
355
+ *
356
+ * The update is read once, checked against `provides` on the merged view, and only then
357
+ * written into the state, so a missing output never leaves a half-applied update.
358
+ * Cancellation is checked between the check and the write.
359
+ *
360
+ * @param state - State mutated in place.
361
+ * @param update - Object returned by the node handler, or undefined for no change.
362
+ * @param provides - Fields the node promises to leave defined.
363
+ * @param signal - Signal checked immediately before writing.
364
+ * @throws WorkflowContractError When the update is not an object or a provided field is
365
+ * undefined.
366
+ */
113
367
  private commit;
368
+ /**
369
+ * Publish one loop event.
370
+ *
371
+ * The report scope is closed before emission for every event type, including `enter`,
372
+ * so a step cannot report progress against a round that has already ended.
373
+ *
374
+ * @param event - Loop event without its id.
375
+ * @param diagnostics - Scope of the current round.
376
+ * @param reports - Report scope for the current round.
377
+ */
114
378
  private emitLoop;
379
+ /**
380
+ * Publish one workflow event and attach the node's report when content is enabled.
381
+ *
382
+ * The event is always emitted, even if the report throws or is malformed; a report is
383
+ * optional evidence, while the event is the authoritative transition record.
384
+ *
385
+ * @param input - Event fields without its id.
386
+ * @param diagnostics - Scope of the current node visit.
387
+ * @param report - Optional report builder evaluated only when content is enabled.
388
+ * @param reports - Report scope closed after emission.
389
+ * @returns The frozen event, so callers can reference its id.
390
+ */
115
391
  private emit;
392
+ /**
393
+ * Classify a failure for reporting.
394
+ *
395
+ * Cancellation takes precedence over the error itself: once the signal is aborted, the
396
+ * reason matters more than whatever the interrupted code threw.
397
+ *
398
+ * @param error - Failure to classify.
399
+ * @param signal - Execution signal at the time of failure.
400
+ * @returns `TIMEOUT`, `CANCELLED`, or the error's own code.
401
+ */
116
402
  private errorCode;
117
403
  }
118
- export type { CoreStep, StepOutcome, LoopEvent, AgentCoreEngineOptions } from '../structs/execution/engine.js';
404
+ export type { CoreStep, StepOutcome, LoopEvent, AgentCoreEngineOptions, } from '../structs/execution/engine.js';