@abot-ai/runtime 1.1.0 → 1.3.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 (731) hide show
  1. package/README.md +20 -3
  2. package/dist/src/bridge/request-steering.d.ts +2 -1
  3. package/dist/src/bridge/request-steering.js +4 -2
  4. package/dist/src/bridge/runtime-replay.js +2 -19
  5. package/dist/src/bridge/start-agent-bridge.js +1 -1
  6. package/dist/src/capabilities/normal-invocation/validator.js +1 -1
  7. package/dist/src/capabilities/tool-definition-validator/event-presentation.js +3 -0
  8. package/dist/src/capabilities/tool-definition-validator/event-result-metadata.d.ts +2 -0
  9. package/dist/src/capabilities/tool-definition-validator/event-result-metadata.js +74 -0
  10. package/dist/src/capabilities/tool-event-metadata.js +3 -0
  11. package/dist/src/capabilities/tool-result-event-projection.d.ts +3 -0
  12. package/dist/src/capabilities/tool-result-event-projection.js +82 -0
  13. package/dist/src/capabilities/tool-types.d.ts +6 -1
  14. package/dist/src/cli/abot.js +2 -11
  15. package/dist/src/model-gateway/providers/ollama/generation-options.d.ts +1 -3
  16. package/dist/src/model-gateway/providers/ollama/generation-options.js +1 -5
  17. package/dist/src/model-gateway/providers/ollama/payload.js +0 -8
  18. package/dist/src/model-gateway/server/request-body.js +1 -0
  19. package/dist/src/plugin-sdk/index.d.ts +2 -0
  20. package/dist/src/plugin-sdk/index.js +2 -0
  21. package/dist/src/plugin-sdk/tool-availability-brief.d.ts +9 -0
  22. package/dist/src/plugin-sdk/tool-availability-brief.js +48 -0
  23. package/dist/src/plugin-sdk/tool-availability-overview.d.ts +9 -0
  24. package/dist/src/plugin-sdk/tool-availability-overview.js +62 -0
  25. package/dist/src/runtime/adapters/in-memory-session-store.js +1 -0
  26. package/dist/src/runtime/adapters/long-term-memory/file-lock/acquisition.js +11 -2
  27. package/dist/src/runtime/adapters/long-term-memory/file-lock/contracts.d.ts +2 -0
  28. package/dist/src/runtime/adapters/long-term-memory/file-lock/synchronous-release.d.ts +2 -0
  29. package/dist/src/runtime/adapters/long-term-memory/file-lock/synchronous-release.js +40 -0
  30. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/approval.d.ts +3 -0
  31. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/approval.js +9 -0
  32. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/rejection-event.d.ts +13 -0
  33. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/rejection-event.js +25 -0
  34. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/run.js +18 -2
  35. package/dist/src/runtime/adapters/registered-tool-normal-invocations/executor.js +8 -0
  36. package/dist/src/runtime/adapters/registered-tool-normal-invocations/payload/lifecycle.js +7 -3
  37. package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/contracts.d.ts +17 -2
  38. package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/event-metadata.d.ts +9 -0
  39. package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/event-metadata.js +8 -0
  40. package/dist/src/runtime/adapters/registered-tool-payload-plan.d.ts +0 -9
  41. package/dist/src/runtime/adapters/registered-tool-payload-plan.js +0 -67
  42. package/dist/src/runtime/adapters/registered-tool-payload-related-artifacts.d.ts +13 -0
  43. package/dist/src/runtime/adapters/registered-tool-payload-related-artifacts.js +84 -0
  44. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/catalog.js +4 -0
  45. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/execution.js +19 -1
  46. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-lifecycle.d.ts +1 -0
  47. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-lifecycle.js +11 -1
  48. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-observability.js +2 -2
  49. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-stages.d.ts +1 -0
  50. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-stages.js +9 -1
  51. package/dist/src/runtime/adapters/scheduled-request-outcome.d.ts +11 -0
  52. package/dist/src/runtime/adapters/scheduled-request-outcome.js +41 -0
  53. package/dist/src/runtime/adapters/scheduler-runtime.d.ts +19 -0
  54. package/dist/src/runtime/adapters/scheduler-runtime.js +138 -0
  55. package/dist/src/runtime/capabilities/request-bound-tool-registry.js +1 -24
  56. package/dist/src/runtime/capabilities/scheduling/create-operations.d.ts +55 -0
  57. package/dist/src/runtime/capabilities/scheduling/create-operations.js +30 -0
  58. package/dist/src/runtime/capabilities/scheduling/create-time-zone.d.ts +1 -0
  59. package/dist/src/runtime/capabilities/scheduling/create-time-zone.js +11 -0
  60. package/dist/src/runtime/capabilities/scheduling/job-list-page.d.ts +25 -0
  61. package/dist/src/runtime/capabilities/scheduling/job-list-page.js +40 -0
  62. package/dist/src/runtime/capabilities/scheduling/model-validation.d.ts +2 -0
  63. package/dist/src/runtime/capabilities/scheduling/model-validation.js +15 -0
  64. package/dist/src/runtime/capabilities/scheduling/tool-contract.d.ts +2 -0
  65. package/dist/src/runtime/capabilities/scheduling/tool-contract.js +35 -0
  66. package/dist/src/runtime/capabilities/scheduling/tool-input-properties.d.ts +43 -0
  67. package/dist/src/runtime/capabilities/scheduling/tool-input-properties.js +27 -0
  68. package/dist/src/runtime/capabilities/scheduling/tool-module.d.ts +4 -0
  69. package/dist/src/runtime/capabilities/scheduling/tool-module.js +158 -0
  70. package/dist/src/runtime/capabilities/scheduling/update-operations.d.ts +2 -0
  71. package/dist/src/runtime/capabilities/scheduling/update-operations.js +49 -0
  72. package/dist/src/runtime/capabilities/tool-availability.d.ts +6 -0
  73. package/dist/src/runtime/capabilities/tool-availability.js +28 -0
  74. package/dist/src/runtime/composition.d.ts +23 -3
  75. package/dist/src/runtime/composition.js +12 -17
  76. package/dist/src/runtime/config/environment-paths.d.ts +10 -0
  77. package/dist/src/runtime/config/environment-paths.js +31 -0
  78. package/dist/src/runtime/config/environment-storage.d.ts +9 -0
  79. package/dist/src/runtime/config/environment-storage.js +65 -0
  80. package/dist/src/runtime/config/fields.js +7 -0
  81. package/dist/src/runtime/config/long-term-memory.js +15 -0
  82. package/dist/src/runtime/config/schema.js +8 -0
  83. package/dist/src/runtime/config.js +9 -5
  84. package/dist/src/runtime/context/capability-brief.d.ts +25 -0
  85. package/dist/src/runtime/context/capability-brief.js +106 -0
  86. package/dist/src/runtime/context/request-tool-results-message-binding.d.ts +6 -0
  87. package/dist/src/runtime/context/request-tool-results-message-binding.js +30 -0
  88. package/dist/src/runtime/context/request-tool-results-scope.d.ts +3 -0
  89. package/dist/src/runtime/context/request-tool-results-scope.js +8 -0
  90. package/dist/src/runtime/context/request-tool-results.d.ts +8 -4
  91. package/dist/src/runtime/context/request-tool-results.js +49 -38
  92. package/dist/src/runtime/context/scheduled-execution-context.d.ts +10 -0
  93. package/dist/src/runtime/context/scheduled-execution-context.js +52 -0
  94. package/dist/src/runtime/default-adapters.d.ts +3 -32
  95. package/dist/src/runtime/default-adapters.js +3 -270
  96. package/dist/src/runtime/default-environment-adapters.d.ts +19 -0
  97. package/dist/src/runtime/default-environment-adapters.js +144 -0
  98. package/dist/src/runtime/index.d.ts +5 -0
  99. package/dist/src/runtime/index.js +4 -0
  100. package/dist/src/runtime/local-application.d.ts +22 -0
  101. package/dist/src/runtime/local-application.js +81 -0
  102. package/dist/src/runtime/local-host/app-memory-dispatch.d.ts +11 -0
  103. package/dist/src/runtime/local-host/app-memory-dispatch.js +103 -0
  104. package/dist/src/runtime/local-host/app-owner.d.ts +4 -0
  105. package/dist/src/runtime/local-host/app-owner.js +119 -0
  106. package/dist/src/runtime/local-host/app-request-control.d.ts +24 -0
  107. package/dist/src/runtime/local-host/app-request-control.js +135 -0
  108. package/dist/src/runtime/local-host/app-service-dispatch.d.ts +5 -0
  109. package/dist/src/runtime/local-host/app-service-dispatch.js +64 -0
  110. package/dist/src/runtime/local-host/client-identity.d.ts +3 -0
  111. package/dist/src/runtime/local-host/client-identity.js +17 -0
  112. package/dist/src/runtime/local-host/client-memory.d.ts +7 -0
  113. package/dist/src/runtime/local-host/client-memory.js +54 -0
  114. package/dist/src/runtime/local-host/client-requests.d.ts +19 -0
  115. package/dist/src/runtime/local-host/client-requests.js +145 -0
  116. package/dist/src/runtime/local-host/client-services.d.ts +10 -0
  117. package/dist/src/runtime/local-host/client-services.js +14 -0
  118. package/dist/src/runtime/local-host/contracts.d.ts +36 -0
  119. package/dist/src/runtime/local-host/contracts.js +1 -0
  120. package/dist/src/runtime/local-host/endpoint.d.ts +7 -0
  121. package/dist/src/runtime/local-host/endpoint.js +79 -0
  122. package/dist/src/runtime/local-host/owner-activity.d.ts +10 -0
  123. package/dist/src/runtime/local-host/owner-activity.js +30 -0
  124. package/dist/src/runtime/local-host/owner-retirement.d.ts +3 -0
  125. package/dist/src/runtime/local-host/owner-retirement.js +15 -0
  126. package/dist/src/runtime/local-host/owner-server.d.ts +6 -0
  127. package/dist/src/runtime/local-host/owner-server.js +88 -0
  128. package/dist/src/runtime/local-host/private-access.d.ts +2 -0
  129. package/dist/src/runtime/local-host/private-access.js +16 -0
  130. package/dist/src/runtime/local-host/private-directory.d.ts +1 -0
  131. package/dist/src/runtime/local-host/private-directory.js +57 -0
  132. package/dist/src/runtime/local-host/rpc-peer.d.ts +22 -0
  133. package/dist/src/runtime/local-host/rpc-peer.js +168 -0
  134. package/dist/src/runtime/local-host/rpc-protocol.d.ts +21 -0
  135. package/dist/src/runtime/local-host/rpc-protocol.js +46 -0
  136. package/dist/src/runtime/local-host/startup-connection.d.ts +5 -0
  137. package/dist/src/runtime/local-host/startup-connection.js +72 -0
  138. package/dist/src/runtime/local-host/transport.d.ts +3 -0
  139. package/dist/src/runtime/local-host/transport.js +88 -0
  140. package/dist/src/runtime/local-host/windows-private-access.d.ts +1 -0
  141. package/dist/src/runtime/local-host/windows-private-access.js +51 -0
  142. package/dist/src/runtime/long-term-memory/onboarding/configuration.js +6 -0
  143. package/dist/src/runtime/long-term-memory/recall-binding.d.ts +3 -0
  144. package/dist/src/runtime/long-term-memory/recall-binding.js +27 -0
  145. package/dist/src/runtime/long-term-memory/recall-context.d.ts +20 -0
  146. package/dist/src/runtime/long-term-memory/recall-context.js +101 -0
  147. package/dist/src/runtime/long-term-memory/recall-continuation.d.ts +8 -0
  148. package/dist/src/runtime/long-term-memory/recall-continuation.js +36 -0
  149. package/dist/src/runtime/long-term-memory/recall-policy.d.ts +7 -0
  150. package/dist/src/runtime/long-term-memory/recall-policy.js +14 -0
  151. package/dist/src/runtime/long-term-memory/recall-result.d.ts +5 -0
  152. package/dist/src/runtime/long-term-memory/recall-result.js +54 -0
  153. package/dist/src/runtime/long-term-memory/repository-state.d.ts +2 -1
  154. package/dist/src/runtime/long-term-memory/repository-state.js +2 -2
  155. package/dist/src/runtime/model/invoke-raw-step.d.ts +1 -0
  156. package/dist/src/runtime/model/invoke-raw-step.js +1 -0
  157. package/dist/src/runtime/model/invoke-step.js +6 -0
  158. package/dist/src/runtime/model/invoke-structured-step.d.ts +1 -0
  159. package/dist/src/runtime/model/invoke-structured-step.js +1 -0
  160. package/dist/src/runtime/model/model-step-port.d.ts +2 -0
  161. package/dist/src/runtime/model/model-step-steering.d.ts +8 -0
  162. package/dist/src/runtime/model/model-step-steering.js +19 -0
  163. package/dist/src/runtime/orchestration/final-response/authoring-contract.js +1 -1
  164. package/dist/src/runtime/orchestration/final-response/invoke.d.ts +1 -0
  165. package/dist/src/runtime/orchestration/final-response/invoke.js +1 -0
  166. package/dist/src/runtime/orchestration/role-calls/activation-budget.js +1 -0
  167. package/dist/src/runtime/orchestration/role-calls/candidate-validation.js +17 -50
  168. package/dist/src/runtime/orchestration/role-calls/capability-selection-reconsideration.d.ts +9 -0
  169. package/dist/src/runtime/orchestration/role-calls/capability-selection-reconsideration.js +17 -8
  170. package/dist/src/runtime/orchestration/role-calls/capability-selection-supervision-validation.d.ts +2 -0
  171. package/dist/src/runtime/orchestration/role-calls/capability-selection-supervision-validation.js +62 -0
  172. package/dist/src/runtime/orchestration/role-calls/child-return.d.ts +4 -0
  173. package/dist/src/runtime/orchestration/role-calls/child-return.js +25 -5
  174. package/dist/src/runtime/orchestration/role-calls/command-decoder.js +12 -3
  175. package/dist/src/runtime/orchestration/role-calls/command-dispatch/child-transitions.d.ts +1 -1
  176. package/dist/src/runtime/orchestration/role-calls/command-dispatch/child-transitions.js +17 -2
  177. package/dist/src/runtime/orchestration/role-calls/command-dispatch/memory-recall-transitions.d.ts +4 -0
  178. package/dist/src/runtime/orchestration/role-calls/command-dispatch/memory-recall-transitions.js +89 -0
  179. package/dist/src/runtime/orchestration/role-calls/command-dispatch.d.ts +1 -1
  180. package/dist/src/runtime/orchestration/role-calls/command-dispatch.js +7 -2
  181. package/dist/src/runtime/orchestration/role-calls/contracts.d.ts +12 -7
  182. package/dist/src/runtime/orchestration/role-calls/contracts.js +4 -4
  183. package/dist/src/runtime/orchestration/role-calls/dependency-results.d.ts +1 -1
  184. package/dist/src/runtime/orchestration/role-calls/dependency-results.js +1 -0
  185. package/dist/src/runtime/orchestration/role-calls/diagnostics.js +3 -0
  186. package/dist/src/runtime/orchestration/role-calls/index.d.ts +6 -1
  187. package/dist/src/runtime/orchestration/role-calls/index.js +6 -1
  188. package/dist/src/runtime/orchestration/role-calls/ledger.d.ts +3 -1
  189. package/dist/src/runtime/orchestration/role-calls/ledger.js +9 -2
  190. package/dist/src/runtime/orchestration/role-calls/memory-recall-contract.d.ts +51 -0
  191. package/dist/src/runtime/orchestration/role-calls/memory-recall-contract.js +4 -0
  192. package/dist/src/runtime/orchestration/role-calls/memory-recall-decoder.d.ts +6 -0
  193. package/dist/src/runtime/orchestration/role-calls/memory-recall-decoder.js +147 -0
  194. package/dist/src/runtime/orchestration/role-calls/memory-recall-diagnostics.d.ts +5 -0
  195. package/dist/src/runtime/orchestration/role-calls/memory-recall-diagnostics.js +27 -0
  196. package/dist/src/runtime/orchestration/role-calls/memory-recall-state-validation.d.ts +3 -0
  197. package/dist/src/runtime/orchestration/role-calls/memory-recall-state-validation.js +121 -0
  198. package/dist/src/runtime/orchestration/role-calls/memory-recall-transactions.d.ts +3 -0
  199. package/dist/src/runtime/orchestration/role-calls/memory-recall-transactions.js +44 -0
  200. package/dist/src/runtime/orchestration/role-calls/reducer.d.ts +1 -1
  201. package/dist/src/runtime/orchestration/role-calls/reducer.js +3 -2
  202. package/dist/src/runtime/orchestration/role-calls/result-receipt.d.ts +49 -0
  203. package/dist/src/runtime/orchestration/role-calls/result-receipt.js +188 -0
  204. package/dist/src/runtime/orchestration/role-calls/return-result-receipt.d.ts +19 -0
  205. package/dist/src/runtime/orchestration/role-calls/return-result-receipt.js +52 -0
  206. package/dist/src/runtime/orchestration/role-calls/transaction-effect.d.ts +5 -0
  207. package/dist/src/runtime/orchestration/role-calls/transaction-effect.js +14 -0
  208. package/dist/src/runtime/orchestration/role-calls/transactions.js +4 -24
  209. package/dist/src/runtime/orchestration/role-calls/work-result-lineage.d.ts +34 -0
  210. package/dist/src/runtime/orchestration/role-calls/work-result-lineage.js +185 -0
  211. package/dist/src/runtime/orchestration/role-calls/work-result-receipt.d.ts +36 -0
  212. package/dist/src/runtime/orchestration/role-calls/work-result-receipt.js +187 -0
  213. package/dist/src/runtime/orchestration/role-executors/activation/result-normalization.js +6 -3
  214. package/dist/src/runtime/orchestration/role-executors/child-invocation/transaction.js +1 -0
  215. package/dist/src/runtime/orchestration/role-executors/contracts.d.ts +2 -1
  216. package/dist/src/runtime/orchestration/worker-capabilities/assignment-provenance.d.ts +36 -0
  217. package/dist/src/runtime/orchestration/worker-capabilities/assignment-provenance.js +171 -0
  218. package/dist/src/runtime/orchestration/worker-capabilities/contracts.d.ts +32 -1
  219. package/dist/src/runtime/orchestration/worker-capabilities/execution/invocation-preparation.d.ts +2 -1
  220. package/dist/src/runtime/orchestration/worker-capabilities/execution/invocation-preparation.js +3 -0
  221. package/dist/src/runtime/orchestration/worker-capabilities/execution.js +42 -19
  222. package/dist/src/runtime/orchestration/worker-capabilities/index.d.ts +2 -0
  223. package/dist/src/runtime/orchestration/worker-capabilities/index.js +2 -0
  224. package/dist/src/runtime/orchestration/worker-capabilities/payload-assignment-validation.d.ts +3 -0
  225. package/dist/src/runtime/orchestration/worker-capabilities/payload-assignment-validation.js +30 -0
  226. package/dist/src/runtime/orchestration/worker-capabilities/payload-author.js +8 -19
  227. package/dist/src/runtime/orchestration/worker-capabilities/payload-contracts.d.ts +5 -1
  228. package/dist/src/runtime/orchestration/worker-capabilities/payload-instructions.js +1 -1
  229. package/dist/src/runtime/orchestration/worker-capabilities/payload-source-provenance.d.ts +14 -0
  230. package/dist/src/runtime/orchestration/worker-capabilities/payload-source-provenance.js +132 -0
  231. package/dist/src/runtime/plugins/manifest-validator.js +4 -1
  232. package/dist/src/runtime/ports.d.ts +4 -0
  233. package/dist/src/runtime/request/bound-runtime-handler.d.ts +2 -0
  234. package/dist/src/runtime/request/bound-runtime-handler.js +25 -0
  235. package/dist/src/runtime/request/capability-brief.d.ts +5 -0
  236. package/dist/src/runtime/request/capability-brief.js +24 -0
  237. package/dist/src/runtime/request/contracts.d.ts +6 -0
  238. package/dist/src/runtime/request/execution-agent-root-execution.js +12 -0
  239. package/dist/src/runtime/request/execution-facets.js +6 -0
  240. package/dist/src/runtime/request/execution-scope-surfaces.js +10 -0
  241. package/dist/src/runtime/request/execution-scope.d.ts +3 -2
  242. package/dist/src/runtime/request/handler.js +6 -0
  243. package/dist/src/runtime/request/role-executor-composition.js +1 -1
  244. package/dist/src/runtime/request/root-contract.d.ts +7 -1
  245. package/dist/src/runtime/request/root-execution-kernel.js +33 -37
  246. package/dist/src/runtime/request/root-memory-recall.d.ts +11 -0
  247. package/dist/src/runtime/request/root-memory-recall.js +71 -0
  248. package/dist/src/runtime/request/root-observation-handoff.d.ts +17 -0
  249. package/dist/src/runtime/request/root-observation-handoff.js +44 -0
  250. package/dist/src/runtime/request/scheduled-execution.d.ts +9 -0
  251. package/dist/src/runtime/request/scheduled-execution.js +32 -0
  252. package/dist/src/runtime/request/session-admission.d.ts +17 -0
  253. package/dist/src/runtime/request/session-admission.js +88 -0
  254. package/dist/src/runtime/request/supervisor-root-execution-diagnostics.d.ts +1 -1
  255. package/dist/src/runtime/request/supervisor-root-execution.js +8 -0
  256. package/dist/src/runtime/request/worker-capability-composition.d.ts +2 -1
  257. package/dist/src/runtime/request/worker-capability-composition.js +6 -1
  258. package/dist/src/runtime/request/worker-capability-payload.js +11 -8
  259. package/dist/src/runtime/runtime-environment.d.ts +31 -0
  260. package/dist/src/runtime/runtime-environment.js +102 -0
  261. package/dist/src/runtime/runtime-host-environment.d.ts +8 -0
  262. package/dist/src/runtime/runtime-host-environment.js +57 -0
  263. package/dist/src/runtime/runtime-host-lifecycle.d.ts +4 -0
  264. package/dist/src/runtime/runtime-host-lifecycle.js +64 -0
  265. package/dist/src/runtime/runtime-host-scheduler-ownership.d.ts +5 -0
  266. package/dist/src/runtime/runtime-host-scheduler-ownership.js +67 -0
  267. package/dist/src/runtime/runtime-host.d.ts +19 -0
  268. package/dist/src/runtime/runtime-host.js +63 -0
  269. package/dist/src/runtime/scheduler/calendar-time.d.ts +10 -0
  270. package/dist/src/runtime/scheduler/calendar-time.js +58 -0
  271. package/dist/src/runtime/scheduler/contracts.d.ts +143 -0
  272. package/dist/src/runtime/scheduler/contracts.js +1 -0
  273. package/dist/src/runtime/scheduler/file-store.d.ts +2 -0
  274. package/dist/src/runtime/scheduler/file-store.js +76 -0
  275. package/dist/src/runtime/scheduler/instant-validation.d.ts +4 -0
  276. package/dist/src/runtime/scheduler/instant-validation.js +69 -0
  277. package/dist/src/runtime/scheduler/interval-range.d.ts +8 -0
  278. package/dist/src/runtime/scheduler/interval-range.js +24 -0
  279. package/dist/src/runtime/scheduler/job-management.d.ts +8 -0
  280. package/dist/src/runtime/scheduler/job-management.js +212 -0
  281. package/dist/src/runtime/scheduler/journal-checkpoint.d.ts +9 -0
  282. package/dist/src/runtime/scheduler/journal-checkpoint.js +45 -0
  283. package/dist/src/runtime/scheduler/journal-durability.d.ts +8 -0
  284. package/dist/src/runtime/scheduler/journal-durability.js +59 -0
  285. package/dist/src/runtime/scheduler/journal-files.d.ts +14 -0
  286. package/dist/src/runtime/scheduler/journal-files.js +59 -0
  287. package/dist/src/runtime/scheduler/journal-head.d.ts +21 -0
  288. package/dist/src/runtime/scheduler/journal-head.js +81 -0
  289. package/dist/src/runtime/scheduler/journal-index-state.d.ts +31 -0
  290. package/dist/src/runtime/scheduler/journal-index-state.js +137 -0
  291. package/dist/src/runtime/scheduler/journal-index.d.ts +22 -0
  292. package/dist/src/runtime/scheduler/journal-index.js +195 -0
  293. package/dist/src/runtime/scheduler/journal-store.d.ts +21 -0
  294. package/dist/src/runtime/scheduler/journal-store.js +184 -0
  295. package/dist/src/runtime/scheduler/journal-transaction.d.ts +14 -0
  296. package/dist/src/runtime/scheduler/journal-transaction.js +104 -0
  297. package/dist/src/runtime/scheduler/next-occurrence.d.ts +3 -0
  298. package/dist/src/runtime/scheduler/next-occurrence.js +39 -0
  299. package/dist/src/runtime/scheduler/run-completion.d.ts +12 -0
  300. package/dist/src/runtime/scheduler/run-completion.js +77 -0
  301. package/dist/src/runtime/scheduler/run-list-query.d.ts +5 -0
  302. package/dist/src/runtime/scheduler/run-list-query.js +38 -0
  303. package/dist/src/runtime/scheduler/run-records.d.ts +6 -0
  304. package/dist/src/runtime/scheduler/run-records.js +41 -0
  305. package/dist/src/runtime/scheduler/schedule-update.d.ts +3 -0
  306. package/dist/src/runtime/scheduler/schedule-update.js +22 -0
  307. package/dist/src/runtime/scheduler/schedule-validation.d.ts +10 -0
  308. package/dist/src/runtime/scheduler/schedule-validation.js +132 -0
  309. package/dist/src/runtime/scheduler/scheduler-engine.d.ts +2 -0
  310. package/dist/src/runtime/scheduler/scheduler-engine.js +174 -0
  311. package/dist/src/runtime/scheduler/scheduler-service.d.ts +10 -0
  312. package/dist/src/runtime/scheduler/scheduler-service.js +115 -0
  313. package/dist/src/runtime/scheduler/service-context.d.ts +21 -0
  314. package/dist/src/runtime/scheduler/service-context.js +26 -0
  315. package/dist/src/runtime/scheduler/session-deletion-state.d.ts +9 -0
  316. package/dist/src/runtime/scheduler/session-deletion-state.js +30 -0
  317. package/dist/src/runtime/scheduler/snapshot-validation.d.ts +4 -0
  318. package/dist/src/runtime/scheduler/snapshot-validation.js +112 -0
  319. package/dist/src/runtime/scheduler/startup-recovery.d.ts +2 -0
  320. package/dist/src/runtime/scheduler/startup-recovery.js +38 -0
  321. package/dist/src/runtime/scheduler/validation-error.d.ts +4 -0
  322. package/dist/src/runtime/scheduler/validation-error.js +8 -0
  323. package/dist/src/runtime/scheduler/working-store.d.ts +3 -0
  324. package/dist/src/runtime/scheduler/working-store.js +8 -0
  325. package/dist/src/runtime/session/request-session.d.ts +1 -0
  326. package/dist/src/runtime/session/request-session.js +14 -1
  327. package/dist/src/runtime/session/session-attachment-deletion.d.ts +8 -0
  328. package/dist/src/runtime/session/session-attachment-deletion.js +87 -0
  329. package/dist/src/runtime/session/session-deletion-boundary.d.ts +10 -0
  330. package/dist/src/runtime/session/session-deletion-boundary.js +39 -0
  331. package/dist/src/runtime/session/session-deletion-cleanup.d.ts +7 -0
  332. package/dist/src/runtime/session/session-deletion-cleanup.js +62 -0
  333. package/dist/src/runtime/session/session-deletion-finalization.d.ts +7 -0
  334. package/dist/src/runtime/session/session-deletion-finalization.js +34 -0
  335. package/dist/src/runtime/session/session-deletion-receipts.d.ts +7 -0
  336. package/dist/src/runtime/session/session-deletion-receipts.js +18 -0
  337. package/dist/src/runtime/session/session-lifecycle-store.d.ts +21 -0
  338. package/dist/src/runtime/session/session-lifecycle-store.js +72 -0
  339. package/dist/src/runtime/session/session-mutation-queue.d.ts +3 -0
  340. package/dist/src/runtime/session/session-mutation-queue.js +15 -0
  341. package/dist/src/runtime/steps/execution-agent/capability-decision-parsing.d.ts +16 -0
  342. package/dist/src/runtime/steps/execution-agent/capability-decision-parsing.js +165 -0
  343. package/dist/src/runtime/steps/execution-agent/contracts.d.ts +3 -1
  344. package/dist/src/runtime/steps/execution-agent/decision-parsing.d.ts +2 -0
  345. package/dist/src/runtime/steps/execution-agent/decision-parsing.js +195 -0
  346. package/dist/src/runtime/steps/execution-agent/decision-validation.d.ts +30 -0
  347. package/dist/src/runtime/steps/execution-agent/decision-validation.js +127 -0
  348. package/dist/src/runtime/steps/execution-agent/format.d.ts +1 -0
  349. package/dist/src/runtime/steps/execution-agent/format.js +12 -0
  350. package/dist/src/runtime/steps/execution-agent/input.d.ts +2 -1
  351. package/dist/src/runtime/steps/execution-agent/input.js +17 -2
  352. package/dist/src/runtime/steps/execution-agent/parser.d.ts +1 -2
  353. package/dist/src/runtime/steps/execution-agent/parser.js +1 -472
  354. package/dist/src/runtime/steps/execution-agent/prompt.d.ts +2 -0
  355. package/dist/src/runtime/steps/execution-agent/prompt.js +6 -3
  356. package/dist/src/runtime/steps/execution-agent/reconsideration-context.js +4 -3
  357. package/dist/src/runtime/steps/execution-agent/response-input.js +5 -4
  358. package/dist/src/runtime/steps/execution-agent/response-run.d.ts +3 -0
  359. package/dist/src/runtime/steps/execution-agent/response-run.js +7 -3
  360. package/dist/src/runtime/steps/execution-agent/run.d.ts +2 -0
  361. package/dist/src/runtime/steps/execution-agent/run.js +2 -0
  362. package/dist/src/runtime/steps/execution-agent/state-context.d.ts +2 -1
  363. package/dist/src/runtime/steps/execution-agent/state-context.js +13 -5
  364. package/dist/src/runtime/steps/memory-recall-decision.d.ts +30 -0
  365. package/dist/src/runtime/steps/memory-recall-decision.js +101 -0
  366. package/dist/src/runtime/steps/memory-recall-prompt.d.ts +1 -0
  367. package/dist/src/runtime/steps/memory-recall-prompt.js +15 -0
  368. package/dist/src/runtime/steps/planner-decision/capability-catalog-context.d.ts +14 -0
  369. package/dist/src/runtime/steps/planner-decision/capability-catalog-context.js +87 -0
  370. package/dist/src/runtime/steps/planner-decision/contracts.d.ts +3 -5
  371. package/dist/src/runtime/steps/planner-decision/contracts.js +3 -3
  372. package/dist/src/runtime/steps/planner-decision/format.d.ts +3 -2
  373. package/dist/src/runtime/steps/planner-decision/format.js +73 -76
  374. package/dist/src/runtime/steps/planner-decision/input.d.ts +4 -3
  375. package/dist/src/runtime/steps/planner-decision/input.js +10 -7
  376. package/dist/src/runtime/steps/planner-decision/parser.d.ts +3 -2
  377. package/dist/src/runtime/steps/planner-decision/parser.js +10 -19
  378. package/dist/src/runtime/steps/planner-decision/plan-parser.js +18 -12
  379. package/dist/src/runtime/steps/planner-decision/prompt.js +33 -28
  380. package/dist/src/runtime/steps/planner-decision/resume.d.ts +1 -1
  381. package/dist/src/runtime/steps/planner-decision/resume.js +38 -1
  382. package/dist/src/runtime/steps/planner-decision/run.d.ts +3 -2
  383. package/dist/src/runtime/steps/reviewer-decision/audit-coverage.d.ts +10 -0
  384. package/dist/src/runtime/steps/reviewer-decision/audit-coverage.js +186 -0
  385. package/dist/src/runtime/steps/reviewer-decision/contracts.d.ts +3 -8
  386. package/dist/src/runtime/steps/reviewer-decision/contracts.js +12 -6
  387. package/dist/src/runtime/steps/reviewer-decision/delegated-context.d.ts +24 -0
  388. package/dist/src/runtime/steps/reviewer-decision/delegated-context.js +70 -0
  389. package/dist/src/runtime/steps/reviewer-decision/diagnostics.js +1 -1
  390. package/dist/src/runtime/steps/reviewer-decision/format.js +37 -24
  391. package/dist/src/runtime/steps/reviewer-decision/input.js +1 -1
  392. package/dist/src/runtime/steps/reviewer-decision/model-context.d.ts +4 -3
  393. package/dist/src/runtime/steps/reviewer-decision/model-context.js +92 -10
  394. package/dist/src/runtime/steps/reviewer-decision/parser.js +19 -1
  395. package/dist/src/runtime/steps/reviewer-decision/projection.js +42 -68
  396. package/dist/src/runtime/steps/reviewer-decision/prompt.js +10 -5
  397. package/dist/src/runtime/steps/reviewer-decision/run.js +12 -3
  398. package/dist/src/runtime/steps/reviewer-decision/verification-coverage.d.ts +14 -0
  399. package/dist/src/runtime/steps/reviewer-decision/verification-coverage.js +52 -0
  400. package/dist/src/runtime/steps/supervisor-decision/capability-brief.d.ts +14 -0
  401. package/dist/src/runtime/steps/supervisor-decision/capability-brief.js +38 -0
  402. package/dist/src/runtime/steps/supervisor-decision/contracts.d.ts +11 -5
  403. package/dist/src/runtime/steps/supervisor-decision/diagnostics.d.ts +4 -0
  404. package/dist/src/runtime/steps/supervisor-decision/diagnostics.js +21 -8
  405. package/dist/src/runtime/steps/supervisor-decision/format.d.ts +2 -0
  406. package/dist/src/runtime/steps/supervisor-decision/format.js +73 -22
  407. package/dist/src/runtime/steps/supervisor-decision/input.d.ts +9 -2
  408. package/dist/src/runtime/steps/supervisor-decision/input.js +44 -6
  409. package/dist/src/runtime/steps/supervisor-decision/memory-recall-continuation.d.ts +10 -0
  410. package/dist/src/runtime/steps/supervisor-decision/memory-recall-continuation.js +32 -0
  411. package/dist/src/runtime/steps/supervisor-decision/parser.d.ts +2 -0
  412. package/dist/src/runtime/steps/supervisor-decision/parser.js +97 -59
  413. package/dist/src/runtime/steps/supervisor-decision/prompt.d.ts +3 -0
  414. package/dist/src/runtime/steps/supervisor-decision/prompt.js +22 -15
  415. package/dist/src/runtime/steps/supervisor-decision/response-recommendation.d.ts +13 -0
  416. package/dist/src/runtime/steps/supervisor-decision/response-recommendation.js +32 -0
  417. package/dist/src/runtime/steps/supervisor-decision/resume.d.ts +2 -0
  418. package/dist/src/runtime/steps/supervisor-decision/resume.js +60 -1
  419. package/dist/src/runtime/steps/supervisor-decision/run.d.ts +3 -0
  420. package/dist/src/runtime/steps/supervisor-decision/run.js +29 -0
  421. package/dist/src/runtime/steps/supervisor-decision/working-directory.js +8 -1
  422. package/dist/src/runtime/steps/supervisor-response/diagnostics.d.ts +1 -0
  423. package/dist/src/runtime/steps/supervisor-response/diagnostics.js +1 -0
  424. package/dist/src/runtime/steps/supervisor-response/input.d.ts +2 -1
  425. package/dist/src/runtime/steps/supervisor-response/input.js +17 -4
  426. package/dist/src/runtime/steps/supervisor-response/memory-authoring.d.ts +1 -0
  427. package/dist/src/runtime/steps/supervisor-response/memory-authoring.js +4 -0
  428. package/dist/src/runtime/steps/supervisor-response/prompt.d.ts +1 -0
  429. package/dist/src/runtime/steps/supervisor-response/prompt.js +8 -2
  430. package/dist/src/runtime/steps/supervisor-response/response-recommendation.d.ts +10 -0
  431. package/dist/src/runtime/steps/supervisor-response/response-recommendation.js +25 -0
  432. package/dist/src/runtime/steps/supervisor-response/run.d.ts +6 -1
  433. package/dist/src/runtime/steps/supervisor-response/run.js +26 -7
  434. package/dist/src/runtime/steps/worker-decision/contracts.d.ts +2 -1
  435. package/dist/src/runtime/steps/worker-decision/input/canonical-state.js +8 -1
  436. package/dist/src/runtime/steps/worker-decision/input/diagnostic-projection.js +2 -2
  437. package/dist/src/runtime/steps/worker-decision/input/prompt-context.d.ts +1 -0
  438. package/dist/src/runtime/steps/worker-decision/input/prompt-context.js +4 -1
  439. package/dist/src/runtime/steps/worker-decision/input/reference-context.js +34 -14
  440. package/dist/src/runtime/steps/worker-decision/input/types.d.ts +2 -1
  441. package/dist/src/runtime/steps/worker-decision/input.d.ts +1 -0
  442. package/dist/src/runtime/steps/worker-decision/input.js +1 -0
  443. package/dist/src/runtime/steps/worker-decision/payload-dependency-results.d.ts +8 -0
  444. package/dist/src/runtime/steps/worker-decision/payload-dependency-results.js +19 -0
  445. package/dist/src/runtime/steps/worker-decision/prompt.js +8 -8
  446. package/dist/src/runtime/steps/worker-decision/result-author.js +18 -11
  447. package/dist/src/runtime/steps/worker-decision/run.js +2 -2
  448. package/dist/src/sessions/record/projection.js +1 -0
  449. package/dist/src/sessions/schedule-metadata.d.ts +8 -0
  450. package/dist/src/sessions/schedule-metadata.js +1 -0
  451. package/dist/src/sessions/session-service.d.ts +1 -0
  452. package/dist/src/sessions/session-service.js +1 -0
  453. package/dist/src/sessions/types.d.ts +2 -0
  454. package/dist/src/shared/http-server-shutdown.d.ts +4 -0
  455. package/dist/src/shared/http-server-shutdown.js +17 -0
  456. package/dist/src/shared/public-http/aggregate-gate.d.ts +3 -0
  457. package/dist/src/shared/public-http/aggregate-gate.js +87 -0
  458. package/dist/src/shared/public-http/deadline.d.ts +2 -0
  459. package/dist/src/shared/public-http/deadline.js +29 -0
  460. package/dist/src/shared/public-http/errors.d.ts +6 -0
  461. package/dist/src/shared/public-http/errors.js +11 -0
  462. package/dist/src/shared/public-http/limits.d.ts +8 -0
  463. package/dist/src/shared/public-http/limits.js +8 -0
  464. package/dist/src/shared/public-http/network-policy.d.ts +11 -0
  465. package/dist/src/shared/public-http/network-policy.js +178 -0
  466. package/dist/src/shared/public-http/public-http.d.ts +24 -0
  467. package/dist/src/shared/public-http/public-http.js +85 -0
  468. package/dist/src/shared/public-http/request-hop.d.ts +18 -0
  469. package/dist/src/shared/public-http/request-hop.js +140 -0
  470. package/dist/src/web-ui/app/ARCHITECTURE.md +82 -7
  471. package/dist/src/web-ui/app/app-bootstrap.js +53 -0
  472. package/dist/src/web-ui/app/app-dom.js +80 -0
  473. package/dist/src/web-ui/app/app.js +199 -217
  474. package/dist/src/web-ui/app/components/composer-context-window.d.ts +25 -0
  475. package/dist/src/web-ui/app/components/composer-context-window.js +155 -0
  476. package/dist/src/web-ui/app/components/composer-plan.d.ts +9 -0
  477. package/dist/src/web-ui/app/components/composer-plan.js +128 -0
  478. package/dist/src/web-ui/app/components/conversation-activity.d.ts +7 -6
  479. package/dist/src/web-ui/app/components/conversation-activity.js +97 -163
  480. package/dist/src/web-ui/app/components/conversation-role-cards.d.ts +24 -0
  481. package/dist/src/web-ui/app/components/conversation-role-cards.js +237 -0
  482. package/dist/src/web-ui/app/components/conversation-schedule.js +71 -0
  483. package/dist/src/web-ui/app/components/conversation-sidebar-layout.js +12 -0
  484. package/dist/src/web-ui/app/components/conversation-sources.d.ts +7 -0
  485. package/dist/src/web-ui/app/components/conversation-sources.js +182 -0
  486. package/dist/src/web-ui/app/components/conversation-status.js +65 -0
  487. package/dist/src/web-ui/app/components/conversation-tools.d.ts +13 -0
  488. package/dist/src/web-ui/app/components/conversation-tools.js +284 -0
  489. package/dist/src/web-ui/app/components/conversation-view.js +73 -17
  490. package/dist/src/web-ui/app/components/dashboard/activity.js +61 -0
  491. package/dist/src/web-ui/app/components/dashboard/icons.js +23 -0
  492. package/dist/src/web-ui/app/components/dashboard/recent-conversations.js +64 -0
  493. package/dist/src/web-ui/app/components/dashboard/workspace.js +107 -0
  494. package/dist/src/web-ui/app/components/message-link-previews.d.ts +16 -0
  495. package/dist/src/web-ui/app/components/message-link-previews.js +179 -0
  496. package/dist/src/web-ui/app/components/model-selector.js +4 -1
  497. package/dist/src/web-ui/app/components/operations-section.js +46 -0
  498. package/dist/src/web-ui/app/components/schedules/details.js +101 -0
  499. package/dist/src/web-ui/app/components/schedules/form.d.ts +13 -0
  500. package/dist/src/web-ui/app/components/schedules/form.js +246 -0
  501. package/dist/src/web-ui/app/components/schedules/workspace-state.js +59 -0
  502. package/dist/src/web-ui/app/components/schedules/workspace.js +165 -0
  503. package/dist/src/web-ui/app/components/workspace-shell.js +133 -79
  504. package/dist/src/web-ui/app/configuration-feature.js +72 -0
  505. package/dist/src/web-ui/app/controllers/composer-attachments-controller.d.ts +1 -0
  506. package/dist/src/web-ui/app/controllers/composer-attachments-controller.js +17 -6
  507. package/dist/src/web-ui/app/controllers/composer-submit-controller.d.ts +2 -0
  508. package/dist/src/web-ui/app/controllers/composer-submit-controller.js +15 -1
  509. package/dist/src/web-ui/app/controllers/composer-surface-controller.js +58 -0
  510. package/dist/src/web-ui/app/controllers/composer-workspace-controller.d.ts +53 -0
  511. package/dist/src/web-ui/app/controllers/composer-workspace-controller.js +180 -0
  512. package/dist/src/web-ui/app/controllers/conversation-read-state-controller.d.ts +23 -0
  513. package/dist/src/web-ui/app/controllers/conversation-read-state-controller.js +82 -0
  514. package/dist/src/web-ui/app/controllers/conversation-session-controller.d.ts +8 -0
  515. package/dist/src/web-ui/app/controllers/conversation-session-controller.js +28 -39
  516. package/dist/src/web-ui/app/controllers/dashboard-controller.js +127 -0
  517. package/dist/src/web-ui/app/controllers/home-composer-feature.d.ts +40 -0
  518. package/dist/src/web-ui/app/controllers/home-composer-feature.js +119 -0
  519. package/dist/src/web-ui/app/controllers/home-conversation-activation.js +37 -0
  520. package/dist/src/web-ui/app/controllers/realtime-event-controller.d.ts +2 -0
  521. package/dist/src/web-ui/app/controllers/realtime-event-controller.js +126 -90
  522. package/dist/src/web-ui/app/controllers/runtime-selection-controller.d.ts +2 -1
  523. package/dist/src/web-ui/app/controllers/runtime-selection-controller.js +17 -14
  524. package/dist/src/web-ui/app/controllers/schedule-realtime.js +118 -0
  525. package/dist/src/web-ui/app/controllers/schedules-controller.js +421 -0
  526. package/dist/src/web-ui/app/controllers/session-controller.js +47 -15
  527. package/dist/src/web-ui/app/dashboard-feature.js +44 -0
  528. package/dist/src/web-ui/app/index.html +240 -189
  529. package/dist/src/web-ui/app/lib/composer-plan-model.d.ts +32 -0
  530. package/dist/src/web-ui/app/lib/composer-plan-model.js +108 -0
  531. package/dist/src/web-ui/app/lib/composer-submission-scope.d.ts +21 -0
  532. package/dist/src/web-ui/app/lib/composer-submission-scope.js +13 -0
  533. package/dist/src/web-ui/app/lib/context-window-snapshot-order.d.ts +15 -0
  534. package/dist/src/web-ui/app/lib/context-window-snapshot-order.js +31 -0
  535. package/dist/src/web-ui/app/lib/conversation-role-model.d.ts +28 -0
  536. package/dist/src/web-ui/app/lib/conversation-role-model.js +275 -0
  537. package/dist/src/web-ui/app/lib/conversation-status-model.d.ts +12 -0
  538. package/dist/src/web-ui/app/lib/conversation-status-model.js +116 -0
  539. package/dist/src/web-ui/app/lib/dashboard-job-templates.js +41 -0
  540. package/dist/src/web-ui/app/lib/dashboard-presentation.js +126 -0
  541. package/dist/src/web-ui/app/lib/event-presentation.js +30 -9
  542. package/dist/src/web-ui/app/lib/message-markdown.d.ts +5 -0
  543. package/dist/src/web-ui/app/lib/message-markdown.js +99 -0
  544. package/dist/src/web-ui/app/lib/message-url-policy.d.ts +1 -0
  545. package/dist/src/web-ui/app/lib/message-url-policy.js +13 -0
  546. package/dist/src/web-ui/app/lib/schedule-errors.js +29 -0
  547. package/dist/src/web-ui/app/lib/schedule-message.js +30 -0
  548. package/dist/src/web-ui/app/lib/schedule-presentation.js +81 -0
  549. package/dist/src/web-ui/app/lib/session-read-state.d.ts +22 -0
  550. package/dist/src/web-ui/app/lib/session-read-state.js +63 -0
  551. package/dist/src/web-ui/app/lib/source-url-policy.d.ts +2 -0
  552. package/dist/src/web-ui/app/lib/source-url-policy.js +31 -0
  553. package/dist/src/web-ui/app/lib/task-progress.d.ts +53 -0
  554. package/dist/src/web-ui/app/lib/task-progress.js +233 -0
  555. package/dist/src/web-ui/app/lib/text-format.js +2 -143
  556. package/dist/src/web-ui/app/lib/tool-activity-event.d.ts +26 -0
  557. package/dist/src/web-ui/app/lib/tool-activity-event.js +228 -0
  558. package/dist/src/web-ui/app/lib/tool-activity-model.d.ts +41 -0
  559. package/dist/src/web-ui/app/lib/tool-activity-model.js +255 -0
  560. package/dist/src/web-ui/app/lib/tool-invocation-count.d.ts +5 -0
  561. package/dist/src/web-ui/app/lib/tool-invocation-count.js +21 -0
  562. package/dist/src/web-ui/app/lib/tool-timeline.d.ts +3 -0
  563. package/dist/src/web-ui/app/lib/tool-timeline.js +18 -0
  564. package/dist/src/web-ui/app/lib/web-source-event.d.ts +8 -0
  565. package/dist/src/web-ui/app/lib/web-source-event.js +21 -0
  566. package/dist/src/web-ui/app/lib/web-sources.d.ts +36 -0
  567. package/dist/src/web-ui/app/lib/web-sources.js +177 -0
  568. package/dist/src/web-ui/app/schedules-feature.js +87 -0
  569. package/dist/src/web-ui/app/services/message-link-preview-client.d.ts +14 -0
  570. package/dist/src/web-ui/app/services/message-link-preview-client.js +96 -0
  571. package/dist/src/web-ui/app/services/runtime-web-client/schedules.js +51 -0
  572. package/dist/src/web-ui/app/services/runtime-web-client.d.ts +37 -0
  573. package/dist/src/web-ui/app/services/runtime-web-client.js +13 -8
  574. package/dist/src/web-ui/app/styles/00-tokens-base.css +15 -3
  575. package/dist/src/web-ui/app/styles/10-shell-sessions.css +24 -34
  576. package/dist/src/web-ui/app/styles/12-conversation-sidebar.css +93 -0
  577. package/dist/src/web-ui/app/styles/18-dashboard.css +384 -0
  578. package/dist/src/web-ui/app/styles/20-chat-composer.css +54 -600
  579. package/dist/src/web-ui/app/styles/21-composer-controls.css +368 -0
  580. package/dist/src/web-ui/app/styles/22-composer-context-window.css +90 -0
  581. package/dist/src/web-ui/app/styles/23-composer-plan.css +171 -0
  582. package/dist/src/web-ui/app/styles/24-conversation-role-cards.css +205 -0
  583. package/dist/src/web-ui/app/styles/25-conversation-sources.css +141 -0
  584. package/dist/src/web-ui/app/styles/26-message-content.css +295 -0
  585. package/dist/src/web-ui/app/styles/27-conversation-tools.css +266 -0
  586. package/dist/src/web-ui/app/styles/28-conversation-status.css +52 -0
  587. package/dist/src/web-ui/app/styles/30-inspector-config.css +21 -209
  588. package/dist/src/web-ui/app/styles/35-memory-onboarding.css +8 -8
  589. package/dist/src/web-ui/app/styles/36-memory-management.css +13 -13
  590. package/dist/src/web-ui/app/styles/37-config-operations.css +197 -0
  591. package/dist/src/web-ui/app/styles/38-schedule-workspace.css +263 -0
  592. package/dist/src/web-ui/app/styles/38-schedules.css +352 -0
  593. package/dist/src/web-ui/app/styles/40-config-workspace.css +36 -36
  594. package/dist/src/web-ui/app/styles/90-responsive.css +28 -77
  595. package/dist/src/web-ui/app/styles/91-schedules-responsive.css +72 -0
  596. package/dist/src/web-ui/app/styles/92-dashboard-responsive.css +88 -0
  597. package/dist/src/web-ui/app/styles/foundation.css +2 -2
  598. package/dist/src/web-ui/app/styles.css +15 -0
  599. package/dist/src/web-ui/app/ui-behavior.d.ts +1 -1
  600. package/dist/src/web-ui/app/ui-behavior.js +4 -2
  601. package/dist/src/web-ui/app/vendor/README.md +15 -0
  602. package/dist/src/web-ui/app/vendor/markdown-it.LICENSE +22 -0
  603. package/dist/src/web-ui/app/vendor/markdown-it.js +3003 -0
  604. package/dist/src/web-ui/link-preview/metadata.d.ts +9 -0
  605. package/dist/src/web-ui/link-preview/metadata.js +97 -0
  606. package/dist/src/web-ui/link-preview/preview-cache.d.ts +4 -0
  607. package/dist/src/web-ui/link-preview/preview-cache.js +23 -0
  608. package/dist/src/web-ui/link-preview/raster-response.d.ts +9 -0
  609. package/dist/src/web-ui/link-preview/raster-response.js +49 -0
  610. package/dist/src/web-ui/link-preview/routes.d.ts +3 -0
  611. package/dist/src/web-ui/link-preview/routes.js +97 -0
  612. package/dist/src/web-ui/link-preview/service.d.ts +11 -0
  613. package/dist/src/web-ui/link-preview/service.js +117 -0
  614. package/dist/src/web-ui/local-runtime/api-router.d.ts +4 -1
  615. package/dist/src/web-ui/local-runtime/api-router.js +42 -73
  616. package/dist/src/web-ui/local-runtime/contracts.d.ts +2 -2
  617. package/dist/src/web-ui/local-runtime/environment-registry.d.ts +12 -1
  618. package/dist/src/web-ui/local-runtime/environment-registry.js +38 -3
  619. package/dist/src/web-ui/local-runtime/realtime-controller.js +3 -1
  620. package/dist/src/web-ui/local-runtime/request-execution.d.ts +5 -1
  621. package/dist/src/web-ui/local-runtime/request-execution.js +38 -2
  622. package/dist/src/web-ui/local-runtime/schedule-job-creation.d.ts +7 -0
  623. package/dist/src/web-ui/local-runtime/schedule-job-creation.js +62 -0
  624. package/dist/src/web-ui/local-runtime/schedule-management-routes.d.ts +30 -0
  625. package/dist/src/web-ui/local-runtime/schedule-management-routes.js +134 -0
  626. package/dist/src/web-ui/local-runtime/schedule-run-page.d.ts +5 -0
  627. package/dist/src/web-ui/local-runtime/schedule-run-page.js +23 -0
  628. package/dist/src/web-ui/local-runtime/session-routes.d.ts +17 -0
  629. package/dist/src/web-ui/local-runtime/session-routes.js +74 -0
  630. package/dist/src/web-ui/local-runtime-backend.d.ts +2 -0
  631. package/dist/src/web-ui/local-runtime-backend.js +11 -1
  632. package/dist/src/web-ui/schedule-creation-contract.d.ts +7 -0
  633. package/dist/src/web-ui/schedule-creation-contract.js +1 -0
  634. package/dist/src/web-ui/server-shutdown.d.ts +4 -0
  635. package/dist/src/web-ui/server-shutdown.js +32 -0
  636. package/dist/src/web-ui/server.js +13 -10
  637. package/dist/src/web-ui/session-read-state/availability.d.ts +16 -0
  638. package/dist/src/web-ui/session-read-state/availability.js +20 -0
  639. package/dist/src/web-ui/session-read-state/projection.d.ts +17 -0
  640. package/dist/src/web-ui/session-read-state/projection.js +71 -0
  641. package/dist/src/web-ui/session-read-state/service.d.ts +86 -0
  642. package/dist/src/web-ui/session-read-state/service.js +89 -0
  643. package/dist/src/web-ui/session-read-state/store.d.ts +22 -0
  644. package/dist/src/web-ui/session-read-state/store.js +110 -0
  645. package/docs/configuration.md +56 -9
  646. package/docs/installation.md +7 -4
  647. package/docs/known-limitations.md +21 -0
  648. package/docs/long-term-memory.md +46 -5
  649. package/docs/plugins.md +28 -13
  650. package/docs/runtime-invariant-coverage.md +18 -17
  651. package/docs/runtime-library.md +23 -0
  652. package/docs/runtime-prompt-policy-contracts.md +27 -17
  653. package/docs/runtime-public-contracts.md +32 -1
  654. package/package.json +6 -3
  655. package/plugins/capability-brief/source/index.ts +5 -48
  656. package/plugins/capability-brief/src/index.cjs +46 -33
  657. package/plugins/code-outline/plugin.json +15 -0
  658. package/plugins/document-reader/plugin.json +17 -0
  659. package/plugins/filesystem/plugin.json +17 -2
  660. package/plugins/json-inspector/plugin.json +12 -0
  661. package/plugins/local-search/plugin.json +12 -0
  662. package/plugins/memory/plugin.json +26 -1
  663. package/plugins/memory/source/index.ts +10 -6
  664. package/plugins/memory/src/index.cjs +11 -7
  665. package/plugins/project-orientation/plugin.json +14 -0
  666. package/plugins/system-probe/plugin.json +1 -0
  667. package/plugins/web/README.md +125 -0
  668. package/plugins/web/plugin.json +1 -1
  669. package/plugins/web/skills/web_fetch_skill/SKILL.md +2 -2
  670. package/plugins/web/skills/web_search_skill/SKILL.md +8 -4
  671. package/plugins/web/source/aggregate-gate.ts +8 -130
  672. package/plugins/web/source/deadline.ts +14 -50
  673. package/plugins/web/source/errors.ts +22 -12
  674. package/plugins/web/source/fetch-presentation.ts +61 -0
  675. package/plugins/web/source/fetch-service.ts +2 -31
  676. package/plugins/web/source/light/config.ts +196 -0
  677. package/plugins/web/source/light/crawl/origin-gate.ts +134 -0
  678. package/plugins/web/source/light/crawl/robots-cache.ts +71 -0
  679. package/plugins/web/source/light/crawl/robots-parser.ts +132 -0
  680. package/plugins/web/source/light/crawl/robots-policy.ts +154 -0
  681. package/plugins/web/source/light/crawl/session-budget.ts +141 -0
  682. package/plugins/web/source/light/crawl/transport.ts +216 -0
  683. package/plugins/web/source/light/discovery/candidate-values.ts +63 -0
  684. package/plugins/web/source/light/discovery/feed-document.ts +127 -0
  685. package/plugins/web/source/light/discovery/html-links.ts +80 -0
  686. package/plugins/web/source/light/discovery/html-robots-directives.ts +29 -0
  687. package/plugins/web/source/light/discovery/markup-tree.ts +145 -0
  688. package/plugins/web/source/light/discovery/origin-dates.ts +71 -0
  689. package/plugins/web/source/light/discovery/sitemap-document.ts +63 -0
  690. package/plugins/web/source/light/documents/cache-policy.ts +28 -0
  691. package/plugins/web/source/light/documents/document-cache.ts +99 -0
  692. package/plugins/web/source/light/documents/document-charset.ts +89 -0
  693. package/plugins/web/source/light/documents/document-contract.ts +20 -0
  694. package/plugins/web/source/light/documents/document-reader.ts +75 -0
  695. package/plugins/web/source/light/documents/extract-document.ts +124 -0
  696. package/plugins/web/source/light/documents/http-cache-freshness.ts +68 -0
  697. package/plugins/web/source/light/documents/response-decoding.ts +120 -0
  698. package/plugins/web/source/light/ranking/document-ranking.ts +114 -0
  699. package/plugins/web/source/light/ranking/query-normalization.ts +69 -0
  700. package/plugins/web/source/light/search-collection.ts +136 -0
  701. package/plugins/web/source/light/search-frontier.ts +246 -0
  702. package/plugins/web/source/light/search-metadata.ts +84 -0
  703. package/plugins/web/source/light/search-service.ts +154 -0
  704. package/plugins/web/source/light/search-unavailable.ts +33 -0
  705. package/plugins/web/source/light/sources/catalog.ts +312 -0
  706. package/plugins/web/source/light/sources/source-definition.ts +9 -0
  707. package/plugins/web/source/light/sources/source-selection.ts +35 -0
  708. package/plugins/web/source/limits.ts +3 -6
  709. package/plugins/web/source/network-policy.ts +28 -226
  710. package/plugins/web/source/plugin.ts +70 -56
  711. package/plugins/web/source/public-http.ts +17 -133
  712. package/plugins/web/source/request-hop.ts +11 -191
  713. package/plugins/web/source/search-presentation.ts +63 -63
  714. package/plugins/web/source/search-service-selector.ts +31 -0
  715. package/plugins/web/source/search-service.ts +6 -0
  716. package/plugins/web/source/search-source-presentation.ts +76 -0
  717. package/plugins/web/source/search-types.ts +4 -0
  718. package/plugins/web/source/source-output-receipts.ts +267 -0
  719. package/plugins/web/source/source-receipt-budget.ts +51 -0
  720. package/plugins/web/source/source-receipt-contract.ts +18 -0
  721. package/plugins/web/src/index.cjs +3289 -303
  722. package/runtime.config.schema.json +7 -0
  723. package/src/runtime/README.md +134 -9
  724. package/src/runtime/local-host/README.md +86 -0
  725. package/src/runtime/scheduler/README.md +166 -0
  726. package/dist/src/model-gateway/structured-output/budget.d.ts +0 -7
  727. package/dist/src/model-gateway/structured-output/budget.js +0 -20
  728. package/dist/src/model-gateway/structured-output/schema-character-estimator.d.ts +0 -1
  729. package/dist/src/model-gateway/structured-output/schema-character-estimator.js +0 -211
  730. package/dist/src/model-gateway/structured-output-budget.d.ts +0 -1
  731. package/dist/src/model-gateway/structured-output-budget.js +0 -1
@@ -1,4 +1,5 @@
1
1
  import type { ChatMessage } from "../../../model-gateway/types.js";
2
+ import type { MemoryRecallContinuation } from "../../long-term-memory/recall-continuation.js";
2
3
  import type { RoleCallFrame, RoleCallLedgerHead } from "../../orchestration/role-calls/index.js";
3
4
  import type { CapabilityCatalogGroup, CapabilityDescriptor } from "../../orchestration/capability-adapters/index.js";
4
5
  export declare const EXECUTION_STATE_MESSAGE_KIND: "runtime_execution_state_v1";
@@ -19,4 +20,4 @@ export declare function buildExecutionCapabilityCatalogMessage(capabilities: rea
19
20
  * interpretation. Each batch becomes one assistant call group followed by its
20
21
  * linked tool results in ledger order.
21
22
  */
22
- export declare function buildExecutionContinuationMessages(head: RoleCallLedgerHead, call?: RoleCallFrame): readonly ChatMessage[];
23
+ export declare function buildExecutionContinuationMessages(head: RoleCallLedgerHead, call?: RoleCallFrame, memoryRecalls?: readonly MemoryRecallContinuation[]): readonly ChatMessage[];
@@ -124,7 +124,7 @@ export function buildExecutionCapabilityCatalogMessage(capabilities) {
124
124
  * interpretation. Each batch becomes one assistant call group followed by its
125
125
  * linked tool results in ledger order.
126
126
  */
127
- export function buildExecutionContinuationMessages(head, call = requireActiveRootCall(head)) {
127
+ export function buildExecutionContinuationMessages(head, call = requireActiveRootCall(head), memoryRecalls = []) {
128
128
  assertExecutionRoot(head, call);
129
129
  const executions = head.state.capabilityExecutions.filter((execution) => execution.callId === call.callId);
130
130
  if (executions.some((execution) => execution.status !== "settled")) {
@@ -140,10 +140,18 @@ export function buildExecutionContinuationMessages(head, call = requireActiveRoo
140
140
  groups.push([execution]);
141
141
  }
142
142
  }
143
- return Object.freeze(groups.flatMap((group) => [
144
- buildAcceptedActionMessage(group),
145
- ...group.map((execution) => buildCapabilityResultMessage(execution)),
146
- ]));
143
+ const continuations = [
144
+ ...groups.map((group) => ({
145
+ invocationAttempt: group[0].invocationAttempt,
146
+ messages: [
147
+ buildAcceptedActionMessage(group),
148
+ ...group.map((execution) => buildCapabilityResultMessage(execution)),
149
+ ],
150
+ })),
151
+ ...memoryRecalls,
152
+ ];
153
+ continuations.sort((left, right) => left.invocationAttempt - right.invocationAttempt);
154
+ return Object.freeze(continuations.flatMap(({ messages }) => messages));
147
155
  }
148
156
  function buildAcceptedActionMessage(executions) {
149
157
  const invocationAttempt = executions[0].invocationAttempt;
@@ -0,0 +1,30 @@
1
+ export type MemoryRecallDecision = Readonly<{
2
+ action: "recall_memory";
3
+ query: string;
4
+ acknowledgement?: string;
5
+ title?: string;
6
+ }>;
7
+ type MemoryRecallPresentationContract = Readonly<{
8
+ includeAcknowledgement?: boolean;
9
+ includeTitle?: boolean;
10
+ acknowledgementMaxLength: number;
11
+ titleMaxLength: number;
12
+ }>;
13
+ type MemoryRecallValidationIssue = Readonly<{
14
+ code: string;
15
+ path: string;
16
+ message: string;
17
+ }>;
18
+ export declare function createMemoryRecallDecisionSchema(presentation: MemoryRecallPresentationContract): Record<string, unknown>;
19
+ export declare function isMemoryRecallDecisionRecord(record: Readonly<Record<string, unknown>>): boolean;
20
+ export declare function parseMemoryRecallDecision(record: Readonly<Record<string, unknown>>, options: MemoryRecallPresentationContract & Readonly<{
21
+ allowMemoryRecall?: boolean;
22
+ }>): Readonly<{
23
+ ok: true;
24
+ decision: MemoryRecallDecision;
25
+ }> | Readonly<{
26
+ ok: false;
27
+ stage: "domain_parser";
28
+ issues: readonly MemoryRecallValidationIssue[];
29
+ }>;
30
+ export { buildMemoryRecallDecisionInstructions } from "./memory-recall-prompt.js";
@@ -0,0 +1,101 @@
1
+ import { ROLE_MEMORY_RECALL_QUERY_MAX_LENGTH } from "../orchestration/role-calls/memory-recall-contract.js";
2
+ export function createMemoryRecallDecisionSchema(presentation) {
3
+ const properties = {
4
+ action: { type: "string", enum: ["recall_memory"] },
5
+ query: {
6
+ type: "string",
7
+ minLength: 1,
8
+ maxLength: ROLE_MEMORY_RECALL_QUERY_MAX_LENGTH,
9
+ },
10
+ ...(presentation.includeAcknowledgement
11
+ ? {
12
+ acknowledgement: presentationTextSchema(presentation.acknowledgementMaxLength),
13
+ }
14
+ : {}),
15
+ ...(presentation.includeTitle
16
+ ? { title: presentationTextSchema(presentation.titleMaxLength) }
17
+ : {}),
18
+ };
19
+ return {
20
+ type: "object",
21
+ properties,
22
+ required: Object.keys(properties),
23
+ additionalProperties: false,
24
+ };
25
+ }
26
+ export function isMemoryRecallDecisionRecord(record) {
27
+ return record.action === "recall_memory";
28
+ }
29
+ export function parseMemoryRecallDecision(record, options) {
30
+ const issues = [];
31
+ if (!options.allowMemoryRecall) {
32
+ issues.push({
33
+ code: "memory_recall_unavailable",
34
+ path: "decision.action",
35
+ message: "recall_memory is not available for this decision.",
36
+ });
37
+ }
38
+ const expectedKeys = [
39
+ "action",
40
+ "query",
41
+ ...(options.includeAcknowledgement ? ["acknowledgement"] : []),
42
+ ...(options.includeTitle ? ["title"] : []),
43
+ ];
44
+ if (!hasExactRecallDecisionKeys(record, expectedKeys)) {
45
+ issues.push({
46
+ code: "memory_recall_shape_invalid",
47
+ path: "decision",
48
+ message: "Decision fields must exactly match the offered recall_memory action.",
49
+ });
50
+ }
51
+ const query = readRecallText(record.query, "query", 1, ROLE_MEMORY_RECALL_QUERY_MAX_LENGTH, issues);
52
+ const acknowledgement = options.includeAcknowledgement
53
+ ? readRecallText(record.acknowledgement, "acknowledgement", 2, options.acknowledgementMaxLength, issues)
54
+ : undefined;
55
+ const title = options.includeTitle
56
+ ? readRecallText(record.title, "title", 2, options.titleMaxLength, issues)
57
+ : undefined;
58
+ if (issues.length > 0 || query === undefined) {
59
+ return Object.freeze({
60
+ ok: false,
61
+ stage: "domain_parser",
62
+ issues: Object.freeze(issues),
63
+ });
64
+ }
65
+ return Object.freeze({
66
+ ok: true,
67
+ decision: Object.freeze({
68
+ action: "recall_memory",
69
+ query,
70
+ ...(acknowledgement !== undefined ? { acknowledgement } : {}),
71
+ ...(title !== undefined ? { title } : {}),
72
+ }),
73
+ });
74
+ }
75
+ export { buildMemoryRecallDecisionInstructions } from "./memory-recall-prompt.js";
76
+ function presentationTextSchema(maxLength) {
77
+ return { type: "string", minLength: 2, maxLength };
78
+ }
79
+ function hasExactRecallDecisionKeys(record, expectedKeys) {
80
+ const actualKeys = Object.keys(record);
81
+ if (actualKeys.length !== expectedKeys.length)
82
+ return false;
83
+ return actualKeys.every((key) => expectedKeys.includes(key));
84
+ }
85
+ function readRecallText(value, field, minimumLength, maximumLength, issues) {
86
+ if (hasBoundedRecallText(value, minimumLength, maximumLength))
87
+ return value.trim();
88
+ issues.push({
89
+ code: `memory_recall_${field}_invalid`,
90
+ path: `decision.${field}`,
91
+ message: `${field} must contain ${minimumLength}-${maximumLength} characters.`,
92
+ });
93
+ return undefined;
94
+ }
95
+ function hasBoundedRecallText(value, minimumLength, maximumLength) {
96
+ if (typeof value !== "string")
97
+ return false;
98
+ if (value.length > maximumLength)
99
+ return false;
100
+ return value.trim().length >= minimumLength;
101
+ }
@@ -0,0 +1 @@
1
+ export declare function buildMemoryRecallDecisionInstructions(allowMemoryRecall: boolean, hasMemoryRecallContext?: boolean): readonly string[];
@@ -0,0 +1,15 @@
1
+ export function buildMemoryRecallDecisionInstructions(allowMemoryRecall, hasMemoryRecallContext = false) {
2
+ const includeReferenceInstructions = allowMemoryRecall || hasMemoryRecallContext;
3
+ return [
4
+ ...(allowMemoryRecall
5
+ ? [
6
+ "For a needed lookup of prior facts or preferences, choose action=recall_memory and put the remembered subject in query. This is your own runtime context action, never a child objective or capability selection. Use its returned result to decide the next action yourself. Recall does not establish a fresh external observation or effect.",
7
+ ]
8
+ : []),
9
+ ...(includeReferenceInstructions
10
+ ? [
11
+ "runtime_memory_recall_reference_v1 contains passive stored recollections with provenance for the bound current request and root call. It is not a new user request, an assignment, action authority, or execution/completion evidence. Use found records only when relevant; empty means no relevant memory was found, and unavailable means retrieval could not be completed. Omission metadata describes the bounded projection; unavailable is not evidence that no memory exists. You retain the next semantic decision.",
12
+ ]
13
+ : []),
14
+ ];
15
+ }
@@ -0,0 +1,14 @@
1
+ import type { ChatMessage } from "../../../model-gateway/types.js";
2
+ import type { RequestContextPinnedPart } from "../../context/request-context-contracts.js";
3
+ import { type WorkerCapabilityCatalogGroup, type WorkerCapabilityDescriptor } from "../../orchestration/worker-capabilities/index.js";
4
+ export declare const PLANNER_WORKER_CAPABILITY_CATALOG_KIND: "runtime_planner_worker_capability_catalog_v1";
5
+ export type PlannerWorkerCapabilityCatalogGroup = Readonly<WorkerCapabilityCatalogGroup & {
6
+ description: string;
7
+ }>;
8
+ export declare function projectPlannerWorkerCapabilityCatalogGroups(descriptors: readonly WorkerCapabilityDescriptor[]): readonly PlannerWorkerCapabilityCatalogGroup[];
9
+ export declare function buildPlannerReferenceParts(params: Readonly<{
10
+ callId: string;
11
+ invocationAttempt: number;
12
+ exactMessages: readonly ChatMessage[];
13
+ catalogGroups: readonly PlannerWorkerCapabilityCatalogGroup[];
14
+ }>): readonly RequestContextPinnedPart[];
@@ -0,0 +1,87 @@
1
+ import { projectWorkerCapabilityCatalogGroups, } from "../../orchestration/worker-capabilities/index.js";
2
+ export const PLANNER_WORKER_CAPABILITY_CATALOG_KIND = "runtime_planner_worker_capability_catalog_v1";
3
+ export function projectPlannerWorkerCapabilityCatalogGroups(descriptors) {
4
+ const catalogGroups = projectWorkerCapabilityCatalogGroups(descriptors);
5
+ return Object.freeze(catalogGroups
6
+ .map((group) => Object.freeze({
7
+ ...group,
8
+ description: describeCatalogGroup(group.groupId, descriptors),
9
+ }))
10
+ .sort((left, right) => compareAscii(left.groupId, right.groupId)));
11
+ }
12
+ export function buildPlannerReferenceParts(params) {
13
+ const exactPart = Object.freeze({
14
+ sourceRef: `planner-reference:${params.callId}:${params.invocationAttempt}`,
15
+ category: "request_reference",
16
+ retention: "exact",
17
+ messages: params.exactMessages,
18
+ });
19
+ if (params.catalogGroups.length === 0)
20
+ return Object.freeze([exactPart]);
21
+ return Object.freeze([
22
+ exactPart,
23
+ Object.freeze({
24
+ sourceRef: [
25
+ "planner-worker-capability-catalog",
26
+ params.callId,
27
+ String(params.invocationAttempt),
28
+ ].join(":"),
29
+ category: "request_reference",
30
+ retention: "compactable",
31
+ messages: Object.freeze([
32
+ buildCatalogMessage("detailed", params.catalogGroups),
33
+ ]),
34
+ compactMessages: Object.freeze([
35
+ buildCatalogMessage("compact", params.catalogGroups),
36
+ ]),
37
+ }),
38
+ ]);
39
+ }
40
+ function buildCatalogMessage(projection, catalogGroups) {
41
+ const capsule = projection === "compact"
42
+ ? {
43
+ kind: PLANNER_WORKER_CAPABILITY_CATALOG_KIND,
44
+ authority: "runtime_registry",
45
+ presenceEffect: "passive_not_user_intent",
46
+ projection,
47
+ catalogGroups,
48
+ }
49
+ : {
50
+ kind: PLANNER_WORKER_CAPABILITY_CATALOG_KIND,
51
+ authority: "runtime_registry",
52
+ presenceEffect: "passive_worker_routing_metadata_not_user_intent_or_execution_authority",
53
+ applicability: "planner_worker_invoke_role_group_routing_only",
54
+ lifetime: "request_role_call_projection_only",
55
+ projection,
56
+ scopeSemantics: {
57
+ groupCombination: "or_union",
58
+ scopeEffect: "narrows_worker_catalog_only",
59
+ capabilitySelection: "worker_owned",
60
+ },
61
+ catalogGroups,
62
+ };
63
+ return Object.freeze({
64
+ role: "user",
65
+ content: JSON.stringify(capsule),
66
+ });
67
+ }
68
+ function describeCatalogGroup(groupId, descriptors) {
69
+ const members = descriptors.filter((descriptor) => (descriptor.catalogGroups ?? ["other"]).includes(groupId));
70
+ const routingCapabilities = [
71
+ ...new Set(members.flatMap(({ routingCapability }) => routingCapability ? [routingCapability] : [])),
72
+ ].sort(compareAscii);
73
+ const developmentRoles = [
74
+ ...new Set(members.flatMap(({ developmentRoles: roles }) => roles ?? [])),
75
+ ].sort(compareAscii);
76
+ return [
77
+ `routingCapabilities=${routingCapabilities.join(",")}`,
78
+ `developmentRoles=${developmentRoles.join(",")}`,
79
+ ].join("\n");
80
+ }
81
+ function compareAscii(left, right) {
82
+ if (left < right)
83
+ return -1;
84
+ if (left > right)
85
+ return 1;
86
+ return 0;
87
+ }
@@ -1,14 +1,14 @@
1
1
  import { type RoleCallFrame, type RoleCallPlanBinding, type RoleCallWorkerCapabilityScope } from "../../orchestration/role-calls/index.js";
2
- import { type RuntimeDelegateRoleId } from "../../orchestration/roles.js";
3
2
  export declare const PLANNER_DECISION_MODEL_STEP: "planner.decision";
4
3
  export declare const PLANNER_ROLE_ID: "planner";
5
- export declare const PLANNER_CHILD_ROLE_IDS: readonly ["planner", "worker", "researcher", "reviewer"];
4
+ export declare const PLANNER_CHILD_ROLE_IDS: readonly ["worker"];
6
5
  export declare const PLANNER_OBJECTIVE_MAX_LENGTH = 8192;
7
6
  export declare const PLANNER_RESULT_MAX_LENGTH = 8192;
7
+ export declare const PLANNER_DISPATCH_ITEM_COUNT = 1;
8
8
  export declare const PLANNER_DECISION_ACTIONS: readonly ["return_result", "return_failure", "invoke_role"];
9
9
  export type PlannerDecisionAction = (typeof PLANNER_DECISION_ACTIONS)[number];
10
10
  export type PlannerDecisionSelectionKind = PlannerDecisionAction;
11
- export type PlannerChildRoleId = RuntimeDelegateRoleId;
11
+ export type PlannerChildRoleId = (typeof PLANNER_CHILD_ROLE_IDS)[number];
12
12
  export type PlannerReturnResultDecision = Readonly<{
13
13
  action: "return_result";
14
14
  result: string;
@@ -26,8 +26,6 @@ export type PlannerInvokeRoleDecision = Readonly<PlannerInvokeRoleDecisionBase &
26
26
  roleId: "worker";
27
27
  workingDirectory: string;
28
28
  workerCapabilityScope?: RoleCallWorkerCapabilityScope;
29
- }> | Readonly<PlannerInvokeRoleDecisionBase & {
30
- roleId: Exclude<PlannerChildRoleId, "worker">;
31
29
  }>;
32
30
  export type PlannerDecisionPlanContext = Readonly<{
33
31
  mode: "declare";
@@ -1,18 +1,18 @@
1
1
  import { MODEL_STEPS } from "../../../shared/model-steps.js";
2
2
  import { normalizeRoleCallWorkingDirectory, ROLE_CALL_OBJECTIVE_MAX_LENGTH, ROLE_CALL_RESULT_MAX_LENGTH, } from "../../orchestration/role-calls/index.js";
3
- import { isRuntimeDelegateRoleId, RUNTIME_DELEGATE_ROLE_IDS, } from "../../orchestration/roles.js";
4
3
  export const PLANNER_DECISION_MODEL_STEP = MODEL_STEPS.PLANNER_DECISION;
5
4
  export const PLANNER_ROLE_ID = "planner";
6
- export const PLANNER_CHILD_ROLE_IDS = RUNTIME_DELEGATE_ROLE_IDS;
5
+ export const PLANNER_CHILD_ROLE_IDS = Object.freeze(["worker"]);
7
6
  export const PLANNER_OBJECTIVE_MAX_LENGTH = ROLE_CALL_OBJECTIVE_MAX_LENGTH;
8
7
  export const PLANNER_RESULT_MAX_LENGTH = ROLE_CALL_RESULT_MAX_LENGTH;
8
+ export const PLANNER_DISPATCH_ITEM_COUNT = 1;
9
9
  export const PLANNER_DECISION_ACTIONS = Object.freeze([
10
10
  "return_result",
11
11
  "return_failure",
12
12
  "invoke_role",
13
13
  ]);
14
14
  export function isPlannerChildRoleId(value) {
15
- return isRuntimeDelegateRoleId(value);
15
+ return value === "worker";
16
16
  }
17
17
  export function projectPlannerDecisionCallIdentity(call) {
18
18
  if (call.roleId !== PLANNER_ROLE_ID ||
@@ -1,10 +1,11 @@
1
1
  import type { ModelGatewayJsonSchemaFormat } from "../../../model-gateway/types.js";
2
+ import { type RuntimeDelegateRoleId } from "../../orchestration/roles.js";
2
3
  import type { WorkerCapabilityCatalogGroup } from "../../orchestration/worker-capabilities/index.js";
3
4
  import { type PlannerChildRoleId, type PlannerDecisionPlanContext } from "./contracts.js";
4
5
  export declare function createPlannerDecisionFormat(options?: Readonly<{
5
- availableChildRoleIds?: readonly PlannerChildRoleId[];
6
+ availableChildRoleIds?: readonly RuntimeDelegateRoleId[];
6
7
  availableWorkerCapabilityCatalog?: readonly WorkerCapabilityCatalogGroup[];
7
8
  inheritedWorkingDirectory?: string;
8
9
  planContext?: PlannerDecisionPlanContext;
9
10
  }>): ModelGatewayJsonSchemaFormat;
10
- export declare function normalizeAvailableChildRoleIds(values: readonly PlannerChildRoleId[]): readonly PlannerChildRoleId[];
11
+ export declare function normalizeAvailableChildRoleIds(values: readonly RuntimeDelegateRoleId[]): readonly PlannerChildRoleId[];
@@ -1,7 +1,8 @@
1
1
  import { createStructuredDecisionEnvelopeSchema, structuredDecisionVariantSchemaPath, } from "../../model/structured-decision-envelope.js";
2
2
  import { normalizeRoleCallWorkingDirectory, ROLE_CALL_PLAN_ITEM_TITLE_MAX_LENGTH, ROLE_CALL_WORKING_DIRECTORY_MAX_LENGTH, } from "../../orchestration/role-calls/index.js";
3
+ import { isRuntimeDelegateRoleId, } from "../../orchestration/roles.js";
3
4
  import { createWorkerCapabilityScopeDecisionContract } from "../worker-capability-scope-decision.js";
4
- import { isPlannerChildRoleId, PLANNER_CHILD_ROLE_IDS, PLANNER_OBJECTIVE_MAX_LENGTH, PLANNER_RESULT_MAX_LENGTH, } from "./contracts.js";
5
+ import { isPlannerChildRoleId, PLANNER_CHILD_ROLE_IDS, PLANNER_DISPATCH_ITEM_COUNT, PLANNER_OBJECTIVE_MAX_LENGTH, PLANNER_RESULT_MAX_LENGTH, } from "./contracts.js";
5
6
  import { normalizePlannerDecisionPlanContext, plannerPlanAllowsInvocation, } from "./plan.js";
6
7
  export function createPlannerDecisionFormat(options = {}) {
7
8
  const availableChildRoleIds = normalizeAvailableChildRoleIds(options.availableChildRoleIds ?? PLANNER_CHILD_ROLE_IDS);
@@ -17,40 +18,23 @@ export function createPlannerDecisionFormat(options = {}) {
17
18
  }
18
19
  const workerAvailable = availableChildRoleIds.includes("worker");
19
20
  const workingDirectoryRequired = options.inheritedWorkingDirectory === undefined;
20
- const availableNonWorkerRoleIds = availableChildRoleIds.filter((roleId) => roleId !== "worker");
21
- const canInvoke = (workerAvailable || availableNonWorkerRoleIds.length > 0) &&
22
- plannerPlanAllowsInvocation(planContext);
21
+ const canInvoke = workerAvailable && plannerPlanAllowsInvocation(planContext);
23
22
  const selectingPlan = planContext?.mode === "select";
24
23
  const invokeVariantDefinitions = canInvoke
25
24
  ? [
26
- ...(workerAvailable
27
- ? [
28
- Object.freeze({
29
- worker: true,
30
- schema: invokeRoleSchema({
31
- availableChildRoleIds: ["worker"],
32
- workingDirectoryRequired,
33
- ...(workerCapabilityScopeContract.schema
34
- ? {
35
- workerCapabilityScopeSchema: workerCapabilityScopeContract.schema,
36
- }
37
- : {}),
38
- planContext,
39
- }),
40
- }),
41
- ]
42
- : []),
43
- ...(availableNonWorkerRoleIds.length > 0
44
- ? [
45
- Object.freeze({
46
- worker: false,
47
- schema: invokeRoleSchema({
48
- availableChildRoleIds: availableNonWorkerRoleIds,
49
- planContext,
50
- }),
51
- }),
52
- ]
53
- : []),
25
+ Object.freeze({
26
+ worker: true,
27
+ schema: invokeRoleSchema({
28
+ availableChildRoleIds: ["worker"],
29
+ workingDirectoryRequired,
30
+ ...(workerCapabilityScopeContract.schema
31
+ ? {
32
+ workerCapabilityScopeSchema: workerCapabilityScopeContract.schema,
33
+ }
34
+ : {}),
35
+ planContext,
36
+ }),
37
+ }),
54
38
  ]
55
39
  : [];
56
40
  const variants = [
@@ -93,6 +77,7 @@ export function createPlannerDecisionFormat(options = {}) {
93
77
  };
94
78
  }
95
79
  function invokeRoleSchema(params) {
80
+ const dispatchItemCount = resolveWorkerDispatchItemCount(params.availableChildRoleIds);
96
81
  return exactObject({
97
82
  action: literal("invoke_role"),
98
83
  roleId: {
@@ -109,57 +94,66 @@ function invokeRoleSchema(params) {
109
94
  workerCapabilityScope: params.workerCapabilityScopeSchema,
110
95
  }
111
96
  : {}),
112
- ...(params.planContext?.mode === "declare"
113
- ? {
97
+ ...planInvocationFields(params.planContext, dispatchItemCount),
98
+ });
99
+ }
100
+ function resolveWorkerDispatchItemCount(availableChildRoleIds) {
101
+ if (availableChildRoleIds.length === 1 &&
102
+ availableChildRoleIds[0] === "worker") {
103
+ return PLANNER_DISPATCH_ITEM_COUNT;
104
+ }
105
+ return undefined;
106
+ }
107
+ function planInvocationFields(planContext, dispatchItemCount) {
108
+ if (!planContext) {
109
+ return { objective: boundedText(PLANNER_OBJECTIVE_MAX_LENGTH) };
110
+ }
111
+ switch (planContext.mode) {
112
+ case "declare":
113
+ return {
114
114
  plan: exactObject({
115
115
  summary: boundedText(PLANNER_OBJECTIVE_MAX_LENGTH),
116
+ items: planItemsSchema(planContext.maxItems),
117
+ }),
118
+ selectedItemIndexes: selectedItemIndexesSchema(planContext.maxItems, dispatchItemCount),
119
+ };
120
+ case "extend":
121
+ return {
122
+ extension: exactObject({
123
+ items: planItemsSchema(planContext.maxItems),
124
+ }),
125
+ selectedItemIndexes: selectedItemIndexesSchema(planContext.maxItems, dispatchItemCount),
126
+ };
127
+ case "select":
128
+ return {
129
+ planItemIds: {
130
+ type: "array",
131
+ minItems: dispatchItemCount ?? 1,
132
+ maxItems: dispatchItemCount ?? planContext.pendingItems.length,
116
133
  items: {
117
- type: "array",
118
- minItems: 1,
119
- maxItems: params.planContext.maxItems,
120
- items: exactObject({
121
- title: boundedText(ROLE_CALL_PLAN_ITEM_TITLE_MAX_LENGTH),
122
- objective: boundedText(PLANNER_OBJECTIVE_MAX_LENGTH),
123
- }),
134
+ type: "string",
135
+ enum: planContext.pendingItems.map((item) => item.itemId),
124
136
  },
125
- }),
126
- selectedItemIndexes: selectedItemIndexesSchema(params.planContext.maxItems),
127
- }
128
- : params.planContext?.mode === "extend"
129
- ? {
130
- extension: exactObject({
131
- items: {
132
- type: "array",
133
- minItems: 1,
134
- maxItems: params.planContext.maxItems,
135
- items: exactObject({
136
- title: boundedText(ROLE_CALL_PLAN_ITEM_TITLE_MAX_LENGTH),
137
- objective: boundedText(PLANNER_OBJECTIVE_MAX_LENGTH),
138
- }),
139
- },
140
- }),
141
- selectedItemIndexes: selectedItemIndexesSchema(params.planContext.maxItems),
142
- }
143
- : params.planContext?.mode === "select"
144
- ? {
145
- planItemIds: {
146
- type: "array",
147
- minItems: 1,
148
- maxItems: params.planContext.pendingItems.length,
149
- items: {
150
- type: "string",
151
- enum: params.planContext.pendingItems.map((item) => item.itemId),
152
- },
153
- },
154
- }
155
- : { objective: boundedText(PLANNER_OBJECTIVE_MAX_LENGTH) }),
156
- });
137
+ },
138
+ };
139
+ }
157
140
  }
158
- function selectedItemIndexesSchema(maxItems) {
141
+ function planItemsSchema(maxItems) {
159
142
  return {
160
143
  type: "array",
161
144
  minItems: 1,
162
145
  maxItems,
146
+ items: exactObject({
147
+ title: boundedText(ROLE_CALL_PLAN_ITEM_TITLE_MAX_LENGTH),
148
+ objective: boundedText(PLANNER_OBJECTIVE_MAX_LENGTH),
149
+ }),
150
+ };
151
+ }
152
+ function selectedItemIndexesSchema(maxItems, dispatchItemCount) {
153
+ return {
154
+ type: "array",
155
+ minItems: dispatchItemCount ?? 1,
156
+ maxItems: dispatchItemCount ?? maxItems,
163
157
  items: {
164
158
  type: "integer",
165
159
  minimum: 0,
@@ -223,13 +217,16 @@ export function normalizeAvailableChildRoleIds(values) {
223
217
  throw new Error("planner_available_child_roles_invalid");
224
218
  }
225
219
  const unique = new Set();
220
+ const available = [];
226
221
  for (const value of values) {
227
- if (!isPlannerChildRoleId(value) || unique.has(value)) {
222
+ if (!isRuntimeDelegateRoleId(value) || unique.has(value)) {
228
223
  throw new Error("planner_available_child_roles_invalid");
229
224
  }
230
225
  unique.add(value);
226
+ if (isPlannerChildRoleId(value))
227
+ available.push(value);
231
228
  }
232
- return Object.freeze([...unique]);
229
+ return Object.freeze(available);
233
230
  }
234
231
  function exactObject(properties) {
235
232
  return {
@@ -2,10 +2,11 @@ import type { ModelGatewayJsonSchemaFormat } from "../../../model-gateway/types.
2
2
  import type { RequestContextProjection } from "../../context/request-context-contracts.js";
3
3
  import { type RequestToolResultsView } from "../../context/request-tool-results.js";
4
4
  import { type RoleCallFrame, type RoleCallChildReturnCommit, type RoleCallDependencyResult, type RoleCallLedger, type RoleCallLedgerHead, type RoleChildReturnContext } from "../../orchestration/role-calls/index.js";
5
- import { type WorkerCapabilityCatalogGroup } from "../../orchestration/worker-capabilities/index.js";
5
+ import type { RuntimeDelegateRoleId } from "../../orchestration/roles.js";
6
6
  import { type RequestWorkerCapabilityProviderSource } from "../../request/execution-scope.js";
7
7
  import type { RequestExecutionSeed } from "../../request/contracts.js";
8
8
  import { PLANNER_DECISION_MODEL_STEP, type PlannerChildRoleId, type PlannerDecisionDiagnosticContext, type PlannerDecisionPlanContext, type PlannerDecisionSelectionKind } from "./contracts.js";
9
+ import { type PlannerWorkerCapabilityCatalogGroup } from "./capability-catalog-context.js";
9
10
  export type PlannerDecisionInputRequest = Pick<RequestExecutionSeed, "requestId" | "prompt" | "runnerConfig" | "agentMode" | "modelPreference" | "modelPolicy"> & Partial<Pick<RequestExecutionSeed, "onEvent" | "temporalContext">> & RequestWorkerCapabilityProviderSource;
10
11
  export type PlannerDecisionProgressSource = Readonly<{
11
12
  kind: "role_child";
@@ -14,7 +15,7 @@ export type PlannerDecisionProgressSource = Readonly<{
14
15
  }>;
15
16
  export declare function buildPlannerDecisionInput(request: PlannerDecisionInputRequest, options: Readonly<{
16
17
  call: RoleCallFrame;
17
- availableChildRoleIds: readonly PlannerChildRoleId[];
18
+ availableChildRoleIds: readonly RuntimeDelegateRoleId[];
18
19
  toolResults: RequestToolResultsView;
19
20
  dependencyHead?: RoleCallLedgerHead;
20
21
  progress?: PlannerDecisionProgressSource;
@@ -28,7 +29,7 @@ export declare function buildPlannerDecisionInput(request: PlannerDecisionInputR
28
29
  allowedActions: readonly PlannerDecisionSelectionKind[];
29
30
  availableChildRoleIds: readonly PlannerChildRoleId[];
30
31
  dependencyResults: readonly RoleCallDependencyResult[];
31
- availableWorkerCapabilityCatalog: readonly WorkerCapabilityCatalogGroup[];
32
+ availableWorkerCapabilityCatalog: readonly PlannerWorkerCapabilityCatalogGroup[];
32
33
  inheritedWorkingDirectory?: string;
33
34
  planContext?: PlannerDecisionPlanContext;
34
35
  childResume?: RoleChildReturnContext;
@@ -5,11 +5,11 @@ import { buildRequestSourceMessage, projectRequestSource, } from "../../context/
5
5
  import { buildRequestToolResultsMessage, } from "../../context/request-tool-results.js";
6
6
  import { resolveModelContextBudget } from "../../model/model-context-budget.js";
7
7
  import { projectRoleCallDependencyResults, projectRoleChildReturnContext, } from "../../orchestration/role-calls/index.js";
8
- import { projectWorkerCapabilityCatalogGroups, } from "../../orchestration/worker-capabilities/index.js";
9
8
  import { resolveRequestWorkerCapabilityCatalog, } from "../../request/execution-scope.js";
10
9
  import { PLANNER_DECISION_ACTIONS, PLANNER_DECISION_MODEL_STEP, projectPlannerDecisionCallIdentity, } from "./contracts.js";
11
10
  import { tracePlannerChildResultsProjected, tracePlannerContextProjected, } from "./diagnostics.js";
12
11
  import { createPlannerDecisionFormat, normalizeAvailableChildRoleIds, } from "./format.js";
12
+ import { buildPlannerReferenceParts, projectPlannerWorkerCapabilityCatalogGroups, } from "./capability-catalog-context.js";
13
13
  import { normalizePlannerDecisionPlanContext, plannerPlanAllowsInvocation, } from "./plan.js";
14
14
  import { buildPlannerDecisionInstructions } from "./prompt.js";
15
15
  import { buildPlannerChildContinuationPart } from "./resume.js";
@@ -24,7 +24,7 @@ export function buildPlannerDecisionInput(request, options) {
24
24
  };
25
25
  const configuredChildRoleIds = normalizeAvailableChildRoleIds(options.availableChildRoleIds);
26
26
  const availableWorkerCapabilityCatalog = configuredChildRoleIds.includes("worker")
27
- ? projectWorkerCapabilityCatalogGroups(resolveRequestWorkerCapabilityCatalog(request).getDescriptors())
27
+ ? projectPlannerWorkerCapabilityCatalogGroups(resolveRequestWorkerCapabilityCatalog(request).getDescriptors())
28
28
  : Object.freeze([]);
29
29
  const availableChildRoleIds = configuredChildRoleIds;
30
30
  const inheritedWorkingDirectory = options.call.workingDirectory;
@@ -84,6 +84,12 @@ export function buildPlannerDecisionInput(request, options) {
84
84
  ? [buildRequestToolResultsMessage(toolResultsProjection.view)]
85
85
  : []),
86
86
  ]);
87
+ const referenceParts = buildPlannerReferenceParts({
88
+ callId: callIdentity.callId,
89
+ invocationAttempt: callIdentity.invocationAttempt,
90
+ exactMessages: referenceMessages,
91
+ catalogGroups: availableWorkerCapabilityCatalog,
92
+ });
87
93
  const budget = resolveModelContextBudget({
88
94
  runnerConfig: request.runnerConfig,
89
95
  agentMode: request.agentMode,
@@ -121,14 +127,11 @@ export function buildPlannerDecisionInput(request, options) {
121
127
  ? { workingDirectory: inheritedWorkingDirectory }
122
128
  : {}),
123
129
  availableChildRoleIds,
124
- ...(availableWorkerCapabilityCatalog.length > 0
125
- ? { availableWorkerCapabilityCatalog }
126
- : {}),
127
130
  ...(dependencyResults.length > 0 ? { dependencyResults } : {}),
128
131
  ...(planContext ? { planContext } : {}),
129
132
  completedChildResultCount: childResume?.completedChildren.length ?? 0,
130
133
  }),
131
- referenceMessages,
134
+ referenceParts,
132
135
  ...(childContinuationPart
133
136
  ? { continuationParts: [childContinuationPart] }
134
137
  : {}),
@@ -147,7 +150,7 @@ export function buildPlannerDecisionInput(request, options) {
147
150
  availableChildRoleIds,
148
151
  workerCapabilityCatalogGroupIds: availableWorkerCapabilityCatalog.map((group) => group.groupId),
149
152
  workerCapabilityCatalogMemberCount: availableWorkerCapabilityCatalog.reduce((total, group) => total + group.memberCount, 0),
150
- referenceMessageCount: referenceMessages.length,
153
+ referenceMessageCount: referenceParts.reduce((total, part) => total + part.messages.length, 0),
151
154
  continuationMessageCount: childContinuationPart?.messages.length ?? 0,
152
155
  completedChildResultCount: childResume?.completedChildren.length ?? 0,
153
156
  completedChildSummaryLength: childResume?.completedChildren.reduce((total, child) => total + child.summary.length, 0) ?? 0,