@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
@@ -4,22 +4,45 @@ exports.Projection = void 0;
4
4
  exports.defineContentProjection = defineContentProjection;
5
5
  exports.projectContinuousExcerpt = projectContinuousExcerpt;
6
6
  exports.defineTreeProjection = defineTreeProjection;
7
+ /**
8
+ * Projection Kit: fit structured values into a character budget without losing valid JSON.
9
+ *
10
+ * Place in the package: an optional App-side helper for context and preview budgets. Callers
11
+ * choose the budget, the rendering strategy and the fallback text; this module only shrinks
12
+ * values and verifies the result still fits.
13
+ *
14
+ * Exports: `defineContentProjection`, `projectContinuousExcerpt`, `defineTreeProjection`,
15
+ * `Projection`, and the projection option/result types.
16
+ */
7
17
  const synchronous_js_1 = require("../utils/synchronous.js");
8
18
  const fragments_js_1 = require("../context/fragments.js");
9
- /** Keep valid JSON while reducing prose before dropping records; budgets are caller policy. */
19
+ /**
20
+ * Compile a JSON-preserving projector.
21
+ *
22
+ * Keep valid JSON while reducing prose before dropping records; budgets are caller policy.
23
+ * The candidate list is tried in order (outer `counts`, inner `lengths`), so callers control
24
+ * whether trimming text or dropping items is preferred, and the configured fallback is used
25
+ * only when no candidate fits.
26
+ *
27
+ * @param options - Candidate bounds, a synchronous renderer and a synchronous fallback factory.
28
+ * @returns A frozen object whose `project({ value, maxChars })` returns `{ text, truncated }`.
29
+ * @throws TypeError For a negative or non-integer `maxChars`, or a non-synchronous renderer;
30
+ * a `CONTEXT_BUDGET` `ValidationError` from the budget check when even the fallback is long.
31
+ */
10
32
  function defineContentProjection(options) {
11
33
  const counts = [...options.counts], lengths = [...options.lengths];
12
34
  const render = options.render.bind(options), fallback = options.fallback.bind(options);
13
35
  function shorten(value, length, count) {
36
+ // The ellipsis is explicit so a reader can tell truncated text from original text.
14
37
  if (typeof value === 'string')
15
38
  return value.length <= length ? value : value.slice(0, length) + '…';
16
39
  if (Array.isArray(value))
17
- return value.slice(0, count).map(child => shorten(child, length, count));
40
+ return value.slice(0, count).map((child) => shorten(child, length, count));
18
41
  if (value && typeof value === 'object')
19
42
  return Object.fromEntries(Object.entries(value).map(([key, child]) => [key, shorten(child, length, count)]));
20
43
  return value;
21
44
  }
22
- function project({ value, maxChars: limit }) {
45
+ function project({ value, maxChars: limit, }) {
23
46
  if (!Number.isSafeInteger(limit) || limit < 0)
24
47
  throw new TypeError('Invalid projection maxChars');
25
48
  const original = JSON.stringify(value);
@@ -37,7 +60,19 @@ function defineContentProjection(options) {
37
60
  }
38
61
  return Object.freeze({ project });
39
62
  }
40
- /** Binary-search a continuous prefix and keep an existing surrogate pair intact. */
63
+ /**
64
+ * Project a continuous excerpt of a body by binary-searching the longest prefix that fits.
65
+ *
66
+ * Binary-search a continuous prefix and keep an existing surrogate pair intact. `render`
67
+ * receives the prefix length, not the text, so the caller decides how the excerpt is framed.
68
+ *
69
+ * @param body - Source text whose length bounds the search.
70
+ * @param limit - Maximum rendered length in characters.
71
+ * @param render - Synchronous renderer for a given prefix length.
72
+ * @returns The fitting projection, or `undefined` when even the empty excerpt does not fit.
73
+ * @throws TypeError For an invalid limit or a non-synchronous renderer; a `CONTEXT_BUDGET`
74
+ * `ValidationError` when the chosen excerpt still exceeds the budget.
75
+ */
41
76
  function projectContinuousExcerpt(body, limit, render) {
42
77
  (0, fragments_js_1.validateContextBudget)(0, limit);
43
78
  const excerpt = (length) => (0, synchronous_js_1.synchronous)(render(length), 'Excerpt renderers must be synchronous');
@@ -57,7 +92,19 @@ function projectContinuousExcerpt(body, limit, render) {
57
92
  (0, fragments_js_1.validateContextBudget)(text.length, limit);
58
93
  return { text, truncated: true };
59
94
  }
60
- /** Traverse synchronously in property/array order; only undefined omits a result. */
95
+ /**
96
+ * Compile a depth-limited tree transform.
97
+ *
98
+ * Traverse synchronously in property/array order; only undefined omits a result. Because a
99
+ * visitor returns a new value instead of mutating, an omitted branch disappears from arrays
100
+ * and objects the same way, and `maxDepth` bounds both cycles and cost.
101
+ *
102
+ * @param options - Maximum depth (0 keeps only the root), optional omit predicate and optional
103
+ * record visitor.
104
+ * @returns A frozen object whose `visit(value, context)` returns the projected value.
105
+ * @throws TypeError For a negative or non-integer `maxDepth`; a predicate that is not
106
+ * synchronous boolean; a visitor that returns a thenable.
107
+ */
61
108
  function defineTreeProjection(options) {
62
109
  const { maxDepth } = options, omit = options.omit?.bind(options), visitRecord = options.visitRecord?.bind(options);
63
110
  if (!Number.isSafeInteger(maxDepth) || maxDepth < 0)
@@ -65,10 +112,13 @@ function defineTreeProjection(options) {
65
112
  function visit(value, depth, context) {
66
113
  if (depth > maxDepth)
67
114
  return undefined;
68
- if (omit && (0, synchronous_js_1.booleanResult)(omit(value, depth, context), 'Tree omit predicates must return boolean synchronously'))
115
+ if (omit &&
116
+ (0, synchronous_js_1.booleanResult)(omit(value, depth, context), 'Tree omit predicates must return boolean synchronously'))
69
117
  return undefined;
70
118
  if (Array.isArray(value))
71
- return value.map(item => visit(item, depth + 1, context)).filter(item => item !== undefined);
119
+ return value
120
+ .map((item) => visit(item, depth + 1, context))
121
+ .filter((item) => item !== undefined);
72
122
  if (value === null || typeof value !== 'object')
73
123
  return value;
74
124
  const record = value;
@@ -81,4 +131,9 @@ function defineTreeProjection(options) {
81
131
  const project = (value, context) => visit(value, 0, context);
82
132
  return Object.freeze({ visit: project });
83
133
  }
84
- exports.Projection = Object.freeze({ defineContentProjection, projectContinuousExcerpt, defineTreeProjection });
134
+ /** Namespace object for callers that prefer one import over named helpers. */
135
+ exports.Projection = Object.freeze({
136
+ defineContentProjection,
137
+ projectContinuousExcerpt,
138
+ defineTreeProjection,
139
+ });
@@ -1,23 +1,46 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.reciprocalRankFusion = reciprocalRankFusion;
4
+ /**
5
+ * Reciprocal rank fusion for several ranked id lists.
6
+ *
7
+ * Place in the package: an optional App-side helper for merging retrieval or search results.
8
+ * Only ranks are combined, never raw scores, so lists produced by incomparable scorers stay
9
+ * comparable. Storage and source selection belong to the App.
10
+ *
11
+ * Exports: `reciprocalRankFusion`, `RankedList`, `FusedRank`.
12
+ */
4
13
  const rules_js_1 = require("../utils/rules.js");
5
- /** One-based reciprocal rank fusion. Raw retriever scores are intentionally not mixed. */
14
+ /**
15
+ * Fuse ranked lists with one-based reciprocal rank fusion.
16
+ *
17
+ * Raw retriever scores are intentionally not mixed. Ties break on id, so the output is
18
+ * deterministic for a given input.
19
+ *
20
+ * @param lists - Ranked lists with unique source ids and positive weights.
21
+ * @param options - `limit` is the maximum number of fused results (1..1000); `k` smooths the
22
+ * contribution of the top ranks and defaults to the conventional value 60.
23
+ * @returns At most `limit` fused ranks, best first.
24
+ * @throws A configured error for invalid options, a duplicate/blank source id, non-string ids,
25
+ * or a non-positive weight.
26
+ */
6
27
  function reciprocalRankFusion(lists, options) {
28
+ // 60 is the smoothing constant popularised by the original RRF paper and keeps rank
29
+ // differences meaningful without letting the top hit dominate.
7
30
  const k = options.k ?? 60, sources = new Set(), candidates = new Map();
8
31
  (0, rules_js_1.breakWhile)(!Number.isFinite(k) ||
9
32
  k < 0 ||
10
33
  !Number.isSafeInteger(options.limit) ||
11
34
  options.limit < 1 ||
12
- options.limit > 1000, "Invalid RRF options");
35
+ options.limit > 1000, 'Invalid RRF options');
13
36
  for (const list of lists) {
14
37
  const weight = list.weight ?? 1, sourceId = list.sourceId;
15
38
  (0, rules_js_1.breakWhile)(!sourceId?.trim() ||
16
39
  sources.has(sourceId) ||
17
40
  !Array.isArray(list.ids) ||
18
- list.ids.some((id) => typeof id !== "string" || !id.trim()) ||
41
+ list.ids.some((id) => typeof id !== 'string' || !id.trim()) ||
19
42
  !Number.isFinite(weight) ||
20
- weight <= 0, "Invalid ranked source");
43
+ weight <= 0, 'Invalid ranked source');
21
44
  sources.add(sourceId);
22
45
  const seen = new Set();
23
46
  for (const id of list.ids) {
@@ -1,37 +1,87 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defineReflectionLogSource = defineReflectionLogSource;
4
+ /**
5
+ * Reflection Kit: adapt an App-owned execution log reader into an authorized reflection source.
6
+ *
7
+ * Place in the package: part of the `reflection` Kit. It projects metadata only — no payloads,
8
+ * text, file paths or replay — and remembers which runs a caller discovered, so a guessed run
9
+ * cannot be read in a later call.
10
+ *
11
+ * Exports: `defineReflectionLogSource`, `ReflectionLogReader`.
12
+ */
4
13
  const rules_js_1 = require("../utils/rules.js");
5
14
  const reflection_js_1 = require("../structs/kits/reflection.js");
6
15
  const cancellation_js_1 = require("../utils/cancellation.js");
7
- const object = (value) => value && typeof value === 'object' && !Array.isArray(value) ? value : {};
16
+ const object = (value) => value && typeof value === 'object' && !Array.isArray(value)
17
+ ? value
18
+ : {};
8
19
  const eventMetrics = {
9
20
  'model.end': (payload) => object(payload.state),
10
21
  'workflow.event': (payload) => object(payload.event),
11
22
  };
12
23
  const workflowStatuses = {
13
- enter: 'running', transition: 'running', continue: 'running', complete: 'success', error: 'error',
24
+ enter: 'running',
25
+ transition: 'running',
26
+ continue: 'running',
27
+ complete: 'success',
28
+ error: 'error',
14
29
  };
15
30
  const cancellationCodes = new Set(['CANCELLED', 'TIMEOUT', 'CALL_TIMEOUT', 'ROUND_TIMEOUT']);
31
+ /**
32
+ * Build a reflection source over a log reader.
33
+ *
34
+ * Coverage is reported as `best-effort`: a page is only `complete` when the reader exhausted the
35
+ * run without capture gaps or omitted issues, and every gap or issue code is surfaced instead of
36
+ * being silently dropped.
37
+ *
38
+ * @param options - Reader, source id, optional fixed trace id and the authorization hook.
39
+ * @returns A frozen source whose `query` returns reflection evidence.
40
+ * @throws A configured or authorization error for a malformed page, an expired run or event, or
41
+ * a run that this source has not discovered yet; `TypeError` when authorization returns a value.
42
+ */
16
43
  function defineReflectionLogSource(options) {
17
44
  const reader = options.reader, traceId = options.traceId, authorize = options.authorize.bind(options), allowed = new Map();
18
45
  const checkAuthorization = (context) => (0, cancellation_js_1.awaitAssertion)(() => authorize(context), context.signal, 'Reflection log authorization must return void');
19
- const coverage = (page) => ({ consistency: 'best-effort',
20
- complete: page.coverage.exhausted && !page.coverage.captureIncomplete && !page.issues.length && !page.issuesOmitted,
21
- gaps: [...new Set([...(page.status === 'end' ? [] : [page.status]), ...page.issues.map(item => item.code),
22
- ...(page.issuesOmitted ? ['issues omitted'] : []), ...(page.coverage.captureIncomplete ? ['capture incomplete'] : [])])].slice(0, 32) });
23
- return Object.freeze({ id: options.id, description: 'Explicitly authorized execution metadata; no payloads, text, file paths or replay.',
46
+ const coverage = (page) => ({
47
+ consistency: 'best-effort',
48
+ complete: page.coverage.exhausted &&
49
+ !page.coverage.captureIncomplete &&
50
+ !page.issues.length &&
51
+ !page.issuesOmitted,
52
+ gaps: [
53
+ ...new Set([
54
+ ...(page.status === 'end' ? [] : [page.status]),
55
+ ...page.issues.map((item) => item.code),
56
+ ...(page.issuesOmitted ? ['issues omitted'] : []),
57
+ ...(page.coverage.captureIncomplete ? ['capture incomplete'] : []),
58
+ ]),
59
+ ].slice(0, 32),
60
+ });
61
+ return Object.freeze({
62
+ id: options.id,
63
+ description: 'Explicitly authorized execution metadata; no payloads, text, file paths or replay.',
24
64
  authorize: (_query, context) => checkAuthorization(context),
25
65
  async query(query, context) {
26
66
  await checkAuthorization(context);
27
67
  if (!query.run) {
28
- const page = await (0, cancellation_js_1.awaitWithSignal)(reader.listRuns({ traceId, cursor: query.cursor, limit: query.limit, signal: context.signal }), context.signal);
68
+ const page = await (0, cancellation_js_1.awaitWithSignal)(reader.listRuns({
69
+ traceId,
70
+ cursor: query.cursor,
71
+ limit: query.limit,
72
+ signal: context.signal,
73
+ }), context.signal);
29
74
  context.signal.throwIfAborted();
30
75
  const items = page.items.map(({ path, manifest }) => {
31
76
  const expiresAtMs = Number(manifest.expiresAt);
32
77
  (0, rules_js_1.breakWhile)(!Number.isFinite(expiresAtMs) || expiresAtMs <= Date.now(), 'Log evidence expired');
33
- return { id: `run:${String(manifest.runId)}`, runId: path, type: 'run', expiresAtMs,
34
- ...(typeof manifest.outcome === 'string' ? { status: manifest.outcome } : {}) };
78
+ return {
79
+ id: `run:${String(manifest.runId)}`,
80
+ runId: path,
81
+ type: 'run',
82
+ expiresAtMs,
83
+ ...(typeof manifest.outcome === 'string' ? { status: manifest.outcome } : {}),
84
+ };
35
85
  });
36
86
  const result = { items, cursor: page.cursor, coverage: coverage(page) };
37
87
  context.signal.throwIfAborted();
@@ -42,14 +92,29 @@ function defineReflectionLogSource(options) {
42
92
  }
43
93
  const expiresAtMs = allowed.get(query.run);
44
94
  (0, rules_js_1.breakWhile)(!expiresAtMs || expiresAtMs <= Date.now(), 'Run was not discovered in this authorized review');
45
- const page = await (0, cancellation_js_1.awaitWithSignal)(reader.readEvents({ run: query.run, sources: ['core'], types: query.types, cursor: query.cursor, limit: query.limit, signal: context.signal }), context.signal);
95
+ const page = await (0, cancellation_js_1.awaitWithSignal)(reader.readEvents({
96
+ run: query.run,
97
+ sources: ['core'],
98
+ types: query.types,
99
+ cursor: query.cursor,
100
+ limit: query.limit,
101
+ signal: context.signal,
102
+ }), context.signal);
46
103
  context.signal.throwIfAborted();
47
104
  (0, rules_js_1.breakWhile)(expiresAtMs <= Date.now(), 'Log evidence expired');
48
105
  const items = page.items.map((event) => {
49
106
  const state = object(event.payload), type = String(event.type ?? event.event);
50
- const select = Object.hasOwn(eventMetrics, type) ? eventMetrics[type] : undefined;
107
+ const select = Object.hasOwn(eventMetrics, type)
108
+ ? eventMetrics[type]
109
+ : undefined;
51
110
  const metrics = select ? select(state) : state;
52
- const item = { id: `${String(event.runId)}:${String(event.sequence)}`, runId: query.run, type: event.type ?? event.event, sequence: event.sequence, expiresAtMs };
111
+ const item = {
112
+ id: `${String(event.runId)}:${String(event.sequence)}`,
113
+ runId: query.run,
114
+ type: event.type ?? event.event,
115
+ sequence: event.sequence,
116
+ expiresAtMs,
117
+ };
53
118
  for (const key of reflection_js_1.reflectionIdentityFields)
54
119
  if (typeof event[key] === 'string')
55
120
  item[key] = event[key];
@@ -60,11 +125,19 @@ function defineReflectionLogSource(options) {
60
125
  if (typeof value === 'string')
61
126
  item[key] = value;
62
127
  }
63
- const code = metrics.errorCode ?? state.errorCode ?? (Array.isArray(metrics.codes) ? metrics.codes[0] : undefined) ?? object(metrics.error).code;
128
+ const code = metrics.errorCode ??
129
+ state.errorCode ??
130
+ (Array.isArray(metrics.codes) ? metrics.codes[0] : undefined) ??
131
+ object(metrics.error).code;
64
132
  if (typeof code === 'string')
65
133
  item.code = code;
66
- if ((type === 'workflow.event' || type === 'loop.event') && typeof metrics.type === 'string' && Object.hasOwn(workflowStatuses, metrics.type)) {
67
- item.status = metrics.type === 'error' && typeof code === 'string' && cancellationCodes.has(code) ? 'cancelled' : workflowStatuses[metrics.type];
134
+ if ((type === 'workflow.event' || type === 'loop.event') &&
135
+ typeof metrics.type === 'string' &&
136
+ Object.hasOwn(workflowStatuses, metrics.type)) {
137
+ item.status =
138
+ metrics.type === 'error' && typeof code === 'string' && cancellationCodes.has(code)
139
+ ? 'cancelled'
140
+ : workflowStatuses[metrics.type];
68
141
  }
69
142
  for (const key of ['durationMs', 'inputChars', 'outputChars', 'calls'])
70
143
  if (typeof metrics[key] === 'number')