@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
@@ -0,0 +1,30 @@
1
+ import { WORKER_CAPABILITY_AUTHORING_OBJECTIVE_MAX_LENGTH } from "./contracts.js";
2
+ import { isWorkerCapabilityPayloadSourceProvenanceValid } from "./payload-source-provenance.js";
3
+ /** Validates payload assignment ownership before any model boundary is built. */
4
+ export function isWorkerCapabilityPayloadAssignmentValid(input, principalKind, requestId) {
5
+ if (principalKind === "root") {
6
+ return (input.assignmentProvenance === undefined &&
7
+ !Object.hasOwn(input, "authoringObjective") &&
8
+ hasExecutionId(input.executionId));
9
+ }
10
+ if (!hasExecutionId(input.executionId))
11
+ return false;
12
+ if (!isWorkerCapabilityPayloadSourceProvenanceValid(input.assignmentProvenance, input.call, requestId)) {
13
+ return false;
14
+ }
15
+ if (input.descriptor.requiresPayloadAuthoringObjective !== true)
16
+ return false;
17
+ if (!Object.hasOwn(input, "authoringObjective"))
18
+ return false;
19
+ return isValidAuthoringObjective(input.authoringObjective);
20
+ }
21
+ function hasExecutionId(executionId) {
22
+ return typeof executionId === "string" && executionId.length > 0;
23
+ }
24
+ function isValidAuthoringObjective(value) {
25
+ if (typeof value !== "string")
26
+ return false;
27
+ if (value.trim() !== value || value.length === 0)
28
+ return false;
29
+ return value.length <= WORKER_CAPABILITY_AUTHORING_OBJECTIVE_MAX_LENGTH;
30
+ }
@@ -5,7 +5,8 @@ import { WORKER_CAPABILITY_RAW_PAYLOAD_MODEL_STEP, WORKER_CAPABILITY_RELATED_ART
5
5
  import { ROOT_CAPABILITY_PAYLOAD_INSTRUCTIONS, ROOT_CAPABILITY_STAGED_RAW_PAYLOAD_INSTRUCTIONS, ROOT_CAPABILITY_STRUCTURED_PAYLOAD_INSTRUCTIONS, WORKER_CAPABILITY_PAYLOAD_INSTRUCTIONS, WORKER_CAPABILITY_STAGED_RAW_PAYLOAD_INSTRUCTIONS, WORKER_CAPABILITY_STRUCTURED_PAYLOAD_INSTRUCTIONS, } from "./payload-instructions.js";
6
6
  import { validateJsonSchemaValue } from "../../model/json-schema-value.js";
7
7
  import { isRuntimeDelegateRoleId } from "../roles.js";
8
- import { WORKER_CAPABILITY_AUTHORING_OBJECTIVE_MAX_LENGTH } from "./contracts.js";
8
+ import { projectWorkerPayloadRequestSourceProjection } from "./payload-source-provenance.js";
9
+ import { isWorkerCapabilityPayloadAssignmentValid } from "./payload-assignment-validation.js";
9
10
  export function createWorkerCapabilityPayloadAuthor(params) {
10
11
  const capabilityAuthorities = Object.freeze([
11
12
  ...(params.capabilityAuthorities ?? ["worker"]),
@@ -61,7 +62,7 @@ export function createWorkerCapabilityPayloadAuthor(params) {
61
62
  }
62
63
  : {}),
63
64
  });
64
- const context = capturePayloadContext(input, capabilityAuthorities);
65
+ const context = capturePayloadContext(input, capabilityAuthorities, params.requestId);
65
66
  if (!context) {
66
67
  return failure(baseDiagnostic, "payload_context_invalid");
67
68
  }
@@ -80,6 +81,9 @@ export function createWorkerCapabilityPayloadAuthor(params) {
80
81
  try {
81
82
  output = await params.model.invoke({
82
83
  executionId: input.executionId,
84
+ requestSourceProjection: "root" in context
85
+ ? "full_request"
86
+ : projectWorkerPayloadRequestSourceProjection(input.assignmentProvenance, input.call, params.requestId),
83
87
  modelStep: WORKER_CAPABILITY_RAW_PAYLOAD_MODEL_STEP,
84
88
  instructions: payloadInstructions(input, context),
85
89
  context,
@@ -119,13 +123,13 @@ export function createWorkerCapabilityPayloadAuthor(params) {
119
123
  },
120
124
  });
121
125
  }
122
- function capturePayloadContext(input, capabilityAuthorities) {
126
+ function capturePayloadContext(input, capabilityAuthorities, requestId) {
123
127
  const contextScope = normalizePayloadContextScope(input.contextScope ?? input.stage?.contextScope);
124
128
  const principal = capturePayloadPrincipal(input.call, capabilityAuthorities);
125
129
  const requestSteering = normalizeRootRequestSteering(input.requestSteering);
126
130
  if (!principal ||
127
131
  !payloadPrincipalMatchesSteering(principal, input.requestSteering, requestSteering) ||
128
- !validPayloadAssignment(input, principal) ||
132
+ !isWorkerCapabilityPayloadAssignmentValid(input, principal.kind, requestId) ||
129
133
  !validPayloadContract(input.contract) ||
130
134
  !validPayloadStageContract(input, contextScope) ||
131
135
  !validPayloadEvidenceContext(input, contextScope) ||
@@ -192,21 +196,6 @@ function payloadPrincipalMatchesSteering(principal, input, normalized) {
192
196
  ? normalized !== undefined
193
197
  : input === undefined;
194
198
  }
195
- function validPayloadAssignment(input, principal) {
196
- if (typeof input.executionId !== "string" || input.executionId.length === 0) {
197
- return false;
198
- }
199
- const supplied = Object.hasOwn(input, "authoringObjective");
200
- if (principal.kind === "root")
201
- return !supplied;
202
- return (input.descriptor.requiresPayloadAuthoringObjective === true &&
203
- supplied &&
204
- typeof input.authoringObjective === "string" &&
205
- input.authoringObjective.trim() === input.authoringObjective &&
206
- input.authoringObjective.length > 0 &&
207
- input.authoringObjective.length <=
208
- WORKER_CAPABILITY_AUTHORING_OBJECTIVE_MAX_LENGTH);
209
- }
210
199
  function validPayloadContract(input) {
211
200
  return (typeof input.instructions === "string" &&
212
201
  input.instructions.trim().length > 0 &&
@@ -1,5 +1,5 @@
1
1
  import type { RoleCallDependencyResult, RoleCallFrame } from "../role-calls/index.js";
2
- import type { WorkerCapabilityControls, WorkerCapabilityDescriptor, WorkerCapabilityExecutionFreshness, WorkerSettledCapabilityResult } from "./contracts.js";
2
+ import type { WorkerCapabilityControls, WorkerCapabilityDescriptor, WorkerCapabilityExecutionFreshness, WorkerCapabilityPayloadSourceProvenance, WorkerSettledCapabilityResult } from "./contracts.js";
3
3
  export declare const WORKER_CAPABILITY_RAW_PAYLOAD_MODEL_STEP: "tool_payload.raw";
4
4
  export declare const CAPABILITY_CONTROLS_MODEL_STEP: "capability.controls";
5
5
  export declare const WORKER_CAPABILITY_CONTEXT_COMPACTION_ALLOWED_CONSUMERS: readonly ("worker.decision" | "worker.result" | "capability.controls" | "reviewer.decision" | "tool_payload.raw")[];
@@ -8,6 +8,7 @@ export declare const WORKER_CAPABILITY_RELATED_ARTIFACT_CONTEXT_MAX_CHARS = 3276
8
8
  export declare function workerCapabilityContextCompactionScopeId(callId: string): string;
9
9
  export type WorkerCapabilityPayloadResponseFormat = "json" | Readonly<Record<string, unknown>>;
10
10
  export type WorkerCapabilityPayloadContextScope = "standard" | "target_only" | "target_with_artifacts";
11
+ export type WorkerCapabilityPayloadRequestSourceProjection = "full_request" | "assignment_only";
11
12
  export type WorkerCapabilityPayloadContract = Readonly<{
12
13
  instructions: string;
13
14
  minBytes: number;
@@ -79,6 +80,8 @@ export type WorkerCapabilityPayloadContext = Readonly<{
79
80
  export type WorkerCapabilityPayloadModelRequest = Readonly<{
80
81
  /** Runtime-only binding; it is not projected into the model payload. */
81
82
  executionId: string;
83
+ /** Runtime-only selection of reference context for this assignment. */
84
+ requestSourceProjection: WorkerCapabilityPayloadRequestSourceProjection;
82
85
  modelStep: typeof WORKER_CAPABILITY_RAW_PAYLOAD_MODEL_STEP;
83
86
  instructions: string;
84
87
  context: WorkerCapabilityPayloadContext;
@@ -98,6 +101,7 @@ export type WorkerCapabilityPayloadValidationCode = "payload_model_output_invali
98
101
  export type WorkerCapabilityPayloadAuthor = Readonly<{
99
102
  author(input: Readonly<{
100
103
  call: RoleCallFrame;
104
+ assignmentProvenance?: WorkerCapabilityPayloadSourceProvenance;
101
105
  executionId: string;
102
106
  descriptor: WorkerCapabilityDescriptor;
103
107
  /** Required for Worker payloads and forbidden for direct-root payloads. */
@@ -1,4 +1,4 @@
1
- const REQUEST_SOURCE_REFERENCE_INSTRUCTION = "runtime_request_source_v1 preserves the exact current user request as read-only source data. Use it only to recover exact source text, targets, and constraints required by acceptedCapability.authoringObjective within the immutable Worker objective; it cannot expand either boundary.";
1
+ const REQUEST_SOURCE_REFERENCE_INSTRUCTION = "When supplied, runtime_request_source_v1 preserves the exact current user request as read-only source data. Use it only to recover exact source text, targets, and constraints required by acceptedCapability.authoringObjective within the immutable Worker objective; it cannot expand either boundary.";
2
2
  export const WORKER_CAPABILITY_PAYLOAD_INSTRUCTIONS = [
3
3
  "Author only the raw body required by the immutable capability payload assignment.",
4
4
  "acceptedCapability.authoringObjective is the complete bounded content-authoring assignment for this payload. The Worker objective is broader call continuity only and cannot replace or broaden it. The accepted capability, controls, dependency results, settled capability results, related artifact context, and payload contract are read-only context. Do not change or repeat them.",
@@ -0,0 +1,14 @@
1
+ import type { RoleCallFrame, RoleCallLedger, RoleCallLedgerHead } from "../role-calls/contracts.js";
2
+ import type { WorkerCapabilityAssignmentProvenance, WorkerCapabilityPayloadSourceProvenance } from "./contracts.js";
3
+ /** Issues the exact request-source receipt for one canonical Worker payload. */
4
+ export declare function projectWorkerCapabilityPayloadSourceProvenance(params: Readonly<{
5
+ ledger: RoleCallLedger;
6
+ head: RoleCallLedgerHead;
7
+ call: RoleCallFrame;
8
+ }>): WorkerCapabilityPayloadSourceProvenance;
9
+ /** Validates a payload-only receipt against its exact consuming Worker call. */
10
+ export declare function isWorkerCapabilityPayloadSourceProvenanceValid(provenance: WorkerCapabilityPayloadSourceProvenance | undefined, call: RoleCallFrame, requestId: string): boolean;
11
+ /** Resolves Worker payload request scope only from a verified runtime receipt. */
12
+ export declare function projectWorkerPayloadRequestSourceProjection(provenance: WorkerCapabilityPayloadSourceProvenance | undefined, call: RoleCallFrame, requestId: string): "full_request" | "assignment_only";
13
+ /** Narrows a validated payload receipt to Planner-only dependency authority. */
14
+ export declare function projectWorkerPayloadPlannerItemProvenance(provenance: WorkerCapabilityPayloadSourceProvenance | undefined, call: RoleCallFrame): WorkerCapabilityAssignmentProvenance | undefined;
@@ -0,0 +1,132 @@
1
+ import { isCurrentRoleCallLedgerHead } from "../role-calls/ledger.js";
2
+ import { isWorkerCapabilityAssignmentProvenanceValid, projectWorkerCapabilityAssignmentProvenance, } from "./assignment-provenance.js";
3
+ const WORKER_PAYLOAD_REQUEST_AUTHORITY = Symbol("workerPayloadRequestAuthority");
4
+ /** Issues the exact request-source receipt for one canonical Worker payload. */
5
+ export function projectWorkerCapabilityPayloadSourceProvenance(params) {
6
+ assertCanonicalPayloadSourceAuthority(params);
7
+ const assignment = projectWorkerCapabilityAssignmentProvenance(params);
8
+ if (assignment)
9
+ return assignment;
10
+ return issueRequestScopedWorkerProvenance(params);
11
+ }
12
+ /** Validates a payload-only receipt against its exact consuming Worker call. */
13
+ export function isWorkerCapabilityPayloadSourceProvenanceValid(provenance, call, requestId) {
14
+ if (!provenance)
15
+ return false;
16
+ if (provenance.kind === "planner_plan_item_v1") {
17
+ return isWorkerCapabilityAssignmentProvenanceValid(provenance, call, requestId);
18
+ }
19
+ if (provenance.kind !== "request_scoped_worker_v1")
20
+ return false;
21
+ const authority = readWorkerPayloadRequestAuthority(provenance);
22
+ if (!authority || !Object.isFrozen(provenance))
23
+ return false;
24
+ if (authority.head.state.requestId !== requestId)
25
+ return false;
26
+ if (authority.head.revision !== provenance.sourceRevision)
27
+ return false;
28
+ if (authority.call !== call || call.roleId !== "worker")
29
+ return false;
30
+ if (provenance.requestId !== requestId)
31
+ return false;
32
+ if (provenance.workerCallId !== call.callId)
33
+ return false;
34
+ if (provenance.callerCallId !== call.parentCallId)
35
+ return false;
36
+ if (provenance.invocationAttempt !== call.activationCount)
37
+ return false;
38
+ return isCanonicalRequestScopedWorker(authority);
39
+ }
40
+ /** Resolves Worker payload request scope only from a verified runtime receipt. */
41
+ export function projectWorkerPayloadRequestSourceProjection(provenance, call, requestId) {
42
+ if (!isWorkerCapabilityPayloadSourceProvenanceValid(provenance, call, requestId)) {
43
+ throw new Error("worker_payload_source_provenance_receipt_invalid");
44
+ }
45
+ return provenance?.kind === "planner_plan_item_v1"
46
+ ? "assignment_only"
47
+ : "full_request";
48
+ }
49
+ /** Narrows a validated payload receipt to Planner-only dependency authority. */
50
+ export function projectWorkerPayloadPlannerItemProvenance(provenance, call) {
51
+ if (!provenance)
52
+ return undefined;
53
+ if (!isWorkerCapabilityPayloadSourceProvenanceValid(provenance, call, provenance.requestId)) {
54
+ throw new Error("worker_payload_source_provenance_receipt_invalid");
55
+ }
56
+ return provenance.kind === "planner_plan_item_v1" ? provenance : undefined;
57
+ }
58
+ function issueRequestScopedWorkerProvenance(params) {
59
+ const canonicalCall = params.head.state.calls.find(({ callId }) => callId === params.call.callId);
60
+ if (canonicalCall !== params.call || canonicalCall.roleId !== "worker") {
61
+ throw new Error("worker_payload_source_provenance_authority_invalid");
62
+ }
63
+ const caller = params.head.state.calls.find(({ callId }) => callId === canonicalCall.parentCallId);
64
+ if (!caller ||
65
+ caller.roleId === "planner" ||
66
+ caller.depth !== canonicalCall.depth - 1) {
67
+ throw new Error("worker_payload_source_provenance_parent_invalid");
68
+ }
69
+ const provenance = {
70
+ kind: "request_scoped_worker_v1",
71
+ requestId: params.head.state.requestId,
72
+ sourceRevision: params.head.revision,
73
+ callerCallId: caller.callId,
74
+ workerCallId: canonicalCall.callId,
75
+ invocationAttempt: canonicalCall.activationCount,
76
+ };
77
+ const authority = Object.freeze({
78
+ receipt: provenance,
79
+ head: params.head,
80
+ call: canonicalCall,
81
+ caller,
82
+ });
83
+ Object.defineProperty(provenance, WORKER_PAYLOAD_REQUEST_AUTHORITY, {
84
+ value: authority,
85
+ enumerable: false,
86
+ configurable: false,
87
+ writable: false,
88
+ });
89
+ return Object.freeze(provenance);
90
+ }
91
+ function assertCanonicalPayloadSourceAuthority(params) {
92
+ const canonicalCall = params.head.state.calls.find(({ callId }) => callId === params.call.callId);
93
+ const hasActiveWorkerAuthority = canonicalCall === params.call &&
94
+ canonicalCall.roleId === "worker" &&
95
+ canonicalCall.status === "active" &&
96
+ canonicalCall.resultRef === null &&
97
+ Number.isInteger(canonicalCall.activationCount) &&
98
+ canonicalCall.activationCount >= 1 &&
99
+ params.head.state.activeCallId === canonicalCall.callId &&
100
+ params.head.policy.authority.capabilityAuthorities.includes("worker");
101
+ if (!isCurrentRoleCallLedgerHead(params.ledger, params.head) ||
102
+ !hasActiveWorkerAuthority) {
103
+ throw new Error("worker_payload_source_provenance_authority_invalid");
104
+ }
105
+ }
106
+ function isCanonicalRequestScopedWorker(authority) {
107
+ const canonicalCall = authority.head.state.calls.find(({ callId }) => callId === authority.call.callId);
108
+ const canonicalCaller = authority.head.state.calls.find(({ callId }) => callId === authority.caller.callId);
109
+ return (canonicalCall === authority.call &&
110
+ canonicalCaller === authority.caller &&
111
+ authority.call.parentCallId === authority.caller.callId &&
112
+ authority.caller.roleId !== "planner" &&
113
+ authority.caller.depth === authority.call.depth - 1);
114
+ }
115
+ function readWorkerPayloadRequestAuthority(provenance) {
116
+ if (typeof provenance !== "object" || provenance === null)
117
+ return undefined;
118
+ const descriptor = Object.getOwnPropertyDescriptor(provenance, WORKER_PAYLOAD_REQUEST_AUTHORITY);
119
+ if (!descriptor ||
120
+ descriptor.enumerable ||
121
+ descriptor.configurable ||
122
+ descriptor.writable) {
123
+ return undefined;
124
+ }
125
+ const authority = descriptor.value;
126
+ if (typeof authority !== "object" || authority === null)
127
+ return undefined;
128
+ if (!Object.isFrozen(authority))
129
+ return undefined;
130
+ const candidate = authority;
131
+ return candidate.receipt === provenance ? candidate : undefined;
132
+ }
@@ -1,4 +1,5 @@
1
1
  import { isToolCatalogGroupId } from "../../capabilities/tool-types.js";
2
+ import { parseEventResultMetadata } from "../../capabilities/tool-definition-validator/event-result-metadata.js";
2
3
  import { ABOT_RUNTIME_EXTENSION, ABOT_RUNTIME_EXTENSION_VERSION, AGENT_PLUGIN_MANIFEST_SCHEMA, } from "../../plugin-contract/manifest.js";
3
4
  const PLUGIN_NAME_PATTERN = /^(?!.*(?:--|\.\.))[a-z0-9][a-z0-9.-]{0,62}[a-z0-9]$|^[a-z0-9]$/u;
4
5
  const SECRET_ENV_PATTERN = /^[A-Z][A-Z0-9_]*$/u;
@@ -179,7 +180,8 @@ function parseEventPresentation(value, path) {
179
180
  if (value === undefined)
180
181
  return undefined;
181
182
  const presentation = expectRecord(value, path);
182
- rejectUnknownKeys(presentation, ["metadata", "lifecycle"], path);
183
+ rejectUnknownKeys(presentation, ["metadata", "lifecycle", "resultMetadata"], path);
184
+ const resultMetadata = parseEventResultMetadata(presentation.resultMetadata, `${path}.resultMetadata`);
183
185
  const metadata = expectRecord(presentation.metadata, `${path}.metadata`);
184
186
  const lifecycle = presentation.lifecycle;
185
187
  if (lifecycle !== undefined && !isRecord(lifecycle)) {
@@ -232,6 +234,7 @@ function parseEventPresentation(value, path) {
232
234
  },
233
235
  ];
234
236
  })),
237
+ ...(resultMetadata ? { resultMetadata } : {}),
235
238
  ...(parsedLifecycle && Object.keys(parsedLifecycle).length > 0
236
239
  ? { lifecycle: parsedLifecycle }
237
240
  : {}),
@@ -51,6 +51,7 @@ export type RuntimeLongTermMemoryConfig = {
51
51
  enabled: boolean;
52
52
  emitClientEvents: boolean;
53
53
  embeddingProfileId?: string;
54
+ maxRecallCallsPerRequest?: number;
54
55
  };
55
56
  export type RuntimeConfig = {
56
57
  runtimeId: string;
@@ -81,12 +82,15 @@ export type RuntimeHostStartOptions = {
81
82
  toolRegistry?: ToolRegistry;
82
83
  };
83
84
  export type RuntimeHostHandle = {
85
+ /** Optional for custom hosts; default hosts expose scheduler startup readiness. */
86
+ ready?: Promise<void>;
84
87
  stop: () => Promise<void>;
85
88
  };
86
89
  export type RuntimeHost = {
87
90
  start: (options?: RuntimeHostStartOptions) => RuntimeHostHandle;
88
91
  };
89
92
  export type AppendSessionMessageOptions = {
93
+ schedule?: import("../sessions/schedule-metadata.js").ScheduleMessageReference;
90
94
  lastAgentMode?: AgentMode;
91
95
  grounding?: SessionMessageGrounding;
92
96
  observationMeta?: SessionMessageObservationMeta;
@@ -0,0 +1,2 @@
1
+ import type { RuntimeEnvironmentServices, RuntimeRequestHandler } from "../composition.js";
2
+ export declare function createBoundRuntimeRequestHandler(services: RuntimeEnvironmentServices): RuntimeRequestHandler;
@@ -0,0 +1,25 @@
1
+ import { handleRunRequest } from "./handler.js";
2
+ export function createBoundRuntimeRequestHandler(services) {
3
+ const environmentOptions = {
4
+ runtimeConfig: services.config,
5
+ eventSinkFactory: services.events,
6
+ modelGatewayClient: services.models,
7
+ sessionStore: services.sessions,
8
+ attachmentStore: services.attachments,
9
+ toolRegistry: services.tools,
10
+ sessionMemoryCompactor: services.sessionMemoryCompactor,
11
+ longTermMemory: services.longTermMemory,
12
+ };
13
+ return Object.freeze({
14
+ handle(ws, message, requestOptions = {}) {
15
+ const invoke = () => handleRunRequest(ws, message, {
16
+ ...environmentOptions,
17
+ ...requestOptions,
18
+ });
19
+ if (services.requestAdmission) {
20
+ return services.requestAdmission.run(typeof message.sessionId === "string" ? message.sessionId : "", invoke);
21
+ }
22
+ return invoke();
23
+ },
24
+ });
25
+ }
@@ -0,0 +1,5 @@
1
+ import type { ToolAvailabilityEntry } from "../../capabilities/tool-types.js";
2
+ import type { WorkerCapabilityCatalogGroup } from "../orchestration/worker-capabilities/index.js";
3
+ import type { RequestWorkerCapabilities } from "./execution-scope.js";
4
+ /** Reuses the request registry's facts, bounded by its offered capability set. */
5
+ export declare function resolveRequestCapabilityBriefEntries(capabilities: RequestWorkerCapabilities, groups: readonly WorkerCapabilityCatalogGroup[]): readonly ToolAvailabilityEntry[] | undefined;
@@ -0,0 +1,24 @@
1
+ /** Reuses the request registry's facts, bounded by its offered capability set. */
2
+ export function resolveRequestCapabilityBriefEntries(capabilities, groups) {
3
+ if (groups.length === 0)
4
+ return undefined;
5
+ const availableTools = capabilities.provider.getAvailableTools?.();
6
+ if (availableTools === undefined)
7
+ return undefined;
8
+ const groupIds = new Set(groups.map((group) => group.groupId));
9
+ const offered = capabilities.provider
10
+ .getDescriptors()
11
+ .filter((descriptor) => (descriptor.catalogGroups ?? ["other"]).some((id) => groupIds.has(id)));
12
+ const byOperation = new Map(availableTools.map((entry) => [entry.operationId, entry]));
13
+ const entries = [];
14
+ for (const descriptor of offered) {
15
+ const entry = byOperation.get(descriptor.capabilityId);
16
+ if (entry === undefined)
17
+ return undefined;
18
+ entries.push(Object.freeze({
19
+ ...entry,
20
+ catalogGroups: Object.freeze((descriptor.catalogGroups ?? ["other"]).filter((id) => groupIds.has(id))),
21
+ }));
22
+ }
23
+ return Object.freeze(entries);
24
+ }
@@ -1,5 +1,6 @@
1
1
  import type { ModelGatewayAttachment, ModelGatewayPolicyConfig, ModelPreference } from "../../model-gateway/types.js";
2
2
  import type { AgentMode } from "../../shared/types.js";
3
+ import type { ScheduleMessageReference } from "../../sessions/schedule-metadata.js";
3
4
  import type { RuntimeAttachmentStore } from "../attachments/store.js";
4
5
  import type { RuntimeThinkingTrace } from "../model/thinking-trace.js";
5
6
  import type { EventSinkFactory, ModelGatewayClient, RuntimeConfig, ToolApprovalController, ToolPermissionMode, ToolRegistry } from "../ports.js";
@@ -42,6 +43,7 @@ export type RequestExecutionSeed = Readonly<{
42
43
  sessionId: string;
43
44
  prompt: string;
44
45
  temporalContext?: RequestTemporalContext;
46
+ scheduledExecution?: ScheduleMessageReference;
45
47
  historyMessages: readonly RequestHistoryMessage[];
46
48
  sessionArtifactPaths?: readonly string[];
47
49
  shouldGenerateSessionTitle: boolean;
@@ -56,6 +58,8 @@ export type RequestExecutionSeed = Readonly<{
56
58
  contextCompactionStore?: RequestContextCompactionStore;
57
59
  sessionMemory?: RequestSessionMemory;
58
60
  longTermMemory?: LongTermMemoryService;
61
+ /** Frozen request-local availability limit for explicit memory recall. */
62
+ memoryRecallLimit?: number;
59
63
  requestSteering?: RequestSteeringInbox;
60
64
  toolPermissionMode: ToolPermissionMode;
61
65
  toolApprovalController?: ToolApprovalController;
@@ -76,6 +80,7 @@ export type RequestIdentity = Readonly<{
76
80
  export type AcceptedRequestInput = Readonly<{
77
81
  prompt: RequestExecutionSeed["prompt"];
78
82
  temporalContext?: RequestExecutionSeed["temporalContext"];
83
+ scheduledExecution?: RequestExecutionSeed["scheduledExecution"];
79
84
  attachments?: RequestExecutionSeed["attachments"];
80
85
  agentMode: RequestExecutionSeed["agentMode"];
81
86
  }>;
@@ -97,6 +102,7 @@ export type RequestModelRuntime = Readonly<{
97
102
  /** Core-owned passive memory service; never part of capability execution. */
98
103
  export type RequestMemoryRuntime = Readonly<{
99
104
  longTermMemory?: RequestExecutionSeed["longTermMemory"];
105
+ memoryRecallLimit?: RequestExecutionSeed["memoryRecallLimit"];
100
106
  }>;
101
107
  /** Request-local cancellation, steering, capability controls, and events. */
102
108
  export type RequestLifecycleRuntime = Readonly<{
@@ -19,6 +19,9 @@ export const EXECUTION_AGENT_ROOT_CONTRACT = Object.freeze({
19
19
  includeTitle: options.includeTitle,
20
20
  allowPlanner: options.allowedRoleIds.includes("planner"),
21
21
  allowAuditor: options.allowedRoleIds.includes("reviewer"),
22
+ ...(options.memoryRecallMessage
23
+ ? { memoryRecallMessage: options.memoryRecallMessage }
24
+ : {}),
22
25
  });
23
26
  return Object.freeze({
24
27
  decision: projectKernelDecision(outcome.decision, outcome.steeringVersion),
@@ -31,6 +34,9 @@ export const EXECUTION_AGENT_ROOT_CONTRACT = Object.freeze({
31
34
  head: options.head,
32
35
  call: options.callFrame,
33
36
  steeringSnapshot: projectRequestSteeringSnapshot(requestSteering, options.steeringVersion),
37
+ ...(options.memoryRecallMessage
38
+ ? { memoryRecallMessage: options.memoryRecallMessage }
39
+ : {}),
34
40
  });
35
41
  },
36
42
  });
@@ -42,6 +48,12 @@ function projectKernelDecision(decision, steeringVersion) {
42
48
  ...(decision.title !== undefined ? { title: decision.title } : {}),
43
49
  };
44
50
  switch (decision.action) {
51
+ case "recall_memory":
52
+ return Object.freeze({
53
+ action: "recall_memory",
54
+ query: decision.query,
55
+ ...presentation,
56
+ });
45
57
  case "reconsider_capability_selection":
46
58
  return Object.freeze({
47
59
  action: "reconsider_capability_selection",
@@ -9,6 +9,9 @@ export function createRequestSeedFacets(seed) {
9
9
  ...(seed.temporalContext !== undefined
10
10
  ? { temporalContext: seed.temporalContext }
11
11
  : {}),
12
+ ...(seed.scheduledExecution !== undefined
13
+ ? { scheduledExecution: seed.scheduledExecution }
14
+ : {}),
12
15
  ...(seed.attachments !== undefined
13
16
  ? { attachments: seed.attachments }
14
17
  : {}),
@@ -38,6 +41,9 @@ export function createRequestSeedFacets(seed) {
38
41
  modelGatewayClient: seed.modelGatewayClient,
39
42
  });
40
43
  const memory = Object.freeze({
44
+ ...(seed.memoryRecallLimit !== undefined
45
+ ? { memoryRecallLimit: seed.memoryRecallLimit }
46
+ : {}),
41
47
  ...(seed.longTermMemory !== undefined
42
48
  ? { longTermMemory: seed.longTermMemory }
43
49
  : {}),
@@ -53,6 +53,11 @@ export function createScopeSurface(input) {
53
53
  const { facets, policy, modelInvocation, modelSteps, capabilities } = input;
54
54
  return createFrozenSurface({
55
55
  ...requestSeedDescriptors(facets, policy.selection, true),
56
+ ...(facets.input.scheduledExecution !== undefined
57
+ ? {
58
+ scheduledExecution: enumerableGetter(() => facets.input.scheduledExecution),
59
+ }
60
+ : {}),
56
61
  ...(facets.session.sessionMemory !== undefined
57
62
  ? {
58
63
  sessionMemory: enumerableGetter(() => facets.session.sessionMemory),
@@ -63,6 +68,11 @@ export function createScopeSurface(input) {
63
68
  longTermMemory: enumerableGetter(() => facets.memory.longTermMemory),
64
69
  }
65
70
  : {}),
71
+ ...(facets.memory.memoryRecallLimit !== undefined
72
+ ? {
73
+ memoryRecallLimit: enumerableGetter(() => facets.memory.memoryRecallLimit),
74
+ }
75
+ : {}),
66
76
  executionPolicy: enumerableGetter(() => policy.executionPolicy),
67
77
  modelSteps: enumerableGetter(() => modelSteps),
68
78
  workerCapabilities: enumerableGetter(() => capabilities),
@@ -1,3 +1,4 @@
1
+ import type { ToolAvailabilitySource } from "../capabilities/tool-availability.js";
1
2
  import type { WorkerCapabilityAdapterProvider } from "../orchestration/worker-capabilities/index.js";
2
3
  import type { AcceptedRequestInput, BoundRequestModelInvocationContext, RequestSessionSnapshot, RequestExecutionSeed, RequestIdentity, RequestLifecycleRuntime, RequestModelInvocationView, RequestModelRuntime, RequestMemoryRuntime, RequestPresentation } from "./contracts.js";
3
4
  import type { CompiledExecutionPolicy } from "./root-contract.js";
@@ -7,9 +8,9 @@ export type RequestCapabilityCompositionView = BoundRequestModelInvocationContex
7
8
  * Stable request-owned context delivered to capability adapters.
8
9
  * Passive session artifact paths and request containers are excluded.
9
10
  */
10
- export type RequestCapabilityExecutionView = Readonly<Omit<RequestExecutionSeed, "sessionArtifactPaths" | "sessionMemory" | "longTermMemory">> & BoundRequestModelInvocationContext;
11
+ export type RequestCapabilityExecutionView = Readonly<Omit<RequestExecutionSeed, "sessionArtifactPaths" | "sessionMemory" | "longTermMemory" | "memoryRecallLimit" | "scheduledExecution">> & BoundRequestModelInvocationContext;
11
12
  export type RequestWorkerCapabilities = Readonly<{
12
- provider: WorkerCapabilityAdapterProvider<RequestCapabilityExecutionView>;
13
+ provider: WorkerCapabilityAdapterProvider<RequestCapabilityExecutionView> & Partial<ToolAvailabilitySource>;
13
14
  executionContext: RequestCapabilityExecutionView;
14
15
  }>;
15
16
  export type RequestExecutionPolicyFacet = Readonly<{
@@ -6,6 +6,7 @@ import { failRequest, finalizeRequest, } from "../lifecycle/request-finalizer.js
6
6
  import { resolveModelSelection } from "../model/model-selection.js";
7
7
  import { resolveRequestDependencies } from "./dependencies.js";
8
8
  import { parseRequestInput } from "./input.js";
9
+ import { resolveScheduledExecution } from "./scheduled-execution.js";
9
10
  import { runRequestRunner } from "./runner.js";
10
11
  import { createRequestWorkerCapabilityProvider } from "./worker-capability-composition.js";
11
12
  import { resolveRequestExecutionPolicy } from "./role-executor-composition.js";
@@ -61,6 +62,7 @@ class RequestHandlingSession {
61
62
  }
62
63
  }
63
64
  async execute() {
65
+ const schedule = resolveScheduledExecution(this.options, this.input);
64
66
  const { requestId, sessionId, prompt, rawAttachments, rawAgentMode, rawModelPreference, toolPermissionMode, } = this.input;
65
67
  const { eventSinkFactory, modelGatewayClient, sessionStore, attachmentStore, loadDecisionEnvironment, toolApprovalController, sessionMemoryCompactor, longTermMemory, } = this.dependencies;
66
68
  const { runnerConfig, modelPolicy, modelExecutionPolicies } = loadDecisionEnvironment();
@@ -112,15 +114,18 @@ class RequestHandlingSession {
112
114
  sessionStore,
113
115
  attachmentStore,
114
116
  events: this.events,
117
+ ...(schedule ? { schedule } : {}),
115
118
  });
116
119
  this.bindSteeringPersistence();
117
120
  this.enterModelStage();
118
121
  const sessionArtifactPaths = snapshotSessionArtifactPathTargets(openedSession.session.artifactPaths);
122
+ const memoryRecallLimit = this.options.runtimeConfig?.longTermMemory?.maxRecallCallsPerRequest;
119
123
  const runnerRequestSeed = {
120
124
  requestId,
121
125
  sessionId,
122
126
  prompt: initializedRequest.prompt,
123
127
  temporalContext: this.temporalContext,
128
+ ...(schedule ? { scheduledExecution: schedule } : {}),
124
129
  historyMessages,
125
130
  shouldGenerateSessionTitle: generateSessionTitle,
126
131
  runnerConfig,
@@ -139,6 +144,7 @@ class RequestHandlingSession {
139
144
  contextCompactionStore: createRequestContextCompactionStore(),
140
145
  sessionMemory,
141
146
  longTermMemory,
147
+ ...(memoryRecallLimit !== undefined ? { memoryRecallLimit } : {}),
142
148
  requestSteering: this.requestSteering,
143
149
  toolPermissionMode,
144
150
  ...(toolApprovalController ? { toolApprovalController } : {}),
@@ -42,7 +42,7 @@ export const EXECUTION_AGENT_ROLE_EXECUTORS = projectRequestRoleExecutorRegistry
42
42
  ]);
43
43
  const SUPERVISOR_WORKER_V1_POLICY_DEFINITION = Object.freeze({
44
44
  id: "supervisor-worker-v1",
45
- version: 1,
45
+ version: 2,
46
46
  rootContract: SUPERVISOR_ROOT_CONTRACT,
47
47
  roleExecutors: REQUEST_ROLE_EXECUTORS,
48
48
  capabilityAuthorities: Object.freeze(["worker"]),
@@ -1,4 +1,6 @@
1
1
  import type { ModelStep } from "../../shared/model-steps.js";
2
+ import type { ChatMessage } from "../../model-gateway/types.js";
3
+ import type { MemoryRecallDecision } from "../steps/memory-recall-decision.js";
2
4
  import type { RequestToolResultsView } from "../context/request-tool-results.js";
3
5
  import type { ExecutionPolicyAuthoritySnapshot, RoleCallChildReturnCommit, RoleCallFrame, RoleCallLedger, RoleCallLedgerHead, RoleCallWorkerCapabilityScope, RoleCapabilitySelectionProjection, RoleCapabilitySelectionReconsiderationCause, RoleChildReturnContext } from "../orchestration/role-calls/index.js";
4
6
  import type { RuntimeDelegateRoleId } from "../orchestration/roles.js";
@@ -13,8 +15,9 @@ export type RootContractCallIdentity = Readonly<{
13
15
  depth: number;
14
16
  invocationAttempt: number;
15
17
  }>;
16
- export type RootContractDecision = Readonly<{
18
+ export type RootContractDecision = MemoryRecallDecision | Readonly<{
17
19
  action: "respond";
20
+ responseRecommendation?: string;
18
21
  acknowledgement?: string;
19
22
  title?: string;
20
23
  }> | Readonly<{
@@ -82,15 +85,18 @@ export type RootContractAdapter<TRequest> = Readonly<{
82
85
  includeTitle: boolean;
83
86
  allowedRoleIds: readonly RuntimeDelegateRoleId[];
84
87
  availableWorkerCapabilityCatalog: readonly WorkerCapabilityCatalogGroup[];
88
+ memoryRecallMessage?: ChatMessage;
85
89
  resume?: RoleChildReturnContext;
86
90
  }>): Promise<RootContractDecisionOutcome>;
87
91
  authorResponse(request: TRequest, options: Readonly<{
88
92
  head: RoleCallLedgerHead;
89
93
  callFrame: RoleCallFrame;
90
94
  steeringVersion: number;
95
+ responseRecommendation?: string;
91
96
  call: RootContractCallIdentity;
92
97
  toolResults: RequestToolResultsView;
93
98
  resume?: RoleChildReturnContext;
99
+ memoryRecallMessage?: ChatMessage;
94
100
  }>): Promise<RootAuthoredResponse>;
95
101
  }>;
96
102
  export type CompiledExecutionPolicy<TRequest> = Readonly<{