@abot-ai/runtime 1.8.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (769) hide show
  1. package/README.md +5 -1
  2. package/dist/scripts/add-runtime-model.js +11 -5
  3. package/dist/scripts/init-runtime.js +15 -10
  4. package/dist/scripts/runtime-model-addition.js +6 -1
  5. package/dist/scripts/runtime-setup-command-options.d.ts +11 -0
  6. package/dist/scripts/runtime-setup-command-options.js +41 -0
  7. package/dist/scripts/runtime-setup-files.d.ts +3 -2
  8. package/dist/scripts/runtime-setup-files.js +63 -4
  9. package/dist/scripts/runtime-setup-model-options.d.ts +8 -0
  10. package/dist/scripts/runtime-setup-model-options.js +40 -0
  11. package/dist/scripts/runtime-setup-presentation.js +2 -2
  12. package/dist/scripts/runtime-setup-provider-options.d.ts +4 -0
  13. package/dist/scripts/runtime-setup-provider-options.js +20 -0
  14. package/dist/src/model-gateway/client/chat.js +9 -5
  15. package/dist/src/model-gateway/client/contracts.d.ts +3 -0
  16. package/dist/src/model-gateway/client/input-token-count.js +36 -16
  17. package/dist/src/model-gateway/client/invocation-error.d.ts +9 -0
  18. package/dist/src/model-gateway/client/invocation-error.js +30 -0
  19. package/dist/src/model-gateway/client/message-projection.d.ts +2 -0
  20. package/dist/src/model-gateway/client/message-projection.js +1 -0
  21. package/dist/src/model-gateway/client/options.js +1 -1
  22. package/dist/src/model-gateway/client/raw.js +1 -0
  23. package/dist/src/model-gateway/client/stream-consumer.js +9 -2
  24. package/dist/src/model-gateway/client/stream-parser.js +2 -1
  25. package/dist/src/model-gateway/index.d.ts +1 -1
  26. package/dist/src/model-gateway/observability/input-token-count-diagnostics.d.ts +26 -0
  27. package/dist/src/model-gateway/observability/input-token-count-diagnostics.js +178 -0
  28. package/dist/src/model-gateway/policy/invocation-policy.d.ts +1 -3
  29. package/dist/src/model-gateway/policy/invocation-policy.js +3 -30
  30. package/dist/src/model-gateway/policy/reasoning-mode-budget.d.ts +5 -0
  31. package/dist/src/model-gateway/policy/reasoning-mode-budget.js +13 -0
  32. package/dist/src/model-gateway/policy/reasoning-policy.d.ts +10 -0
  33. package/dist/src/model-gateway/policy/reasoning-policy.js +124 -0
  34. package/dist/src/model-gateway/protocol/openai-embedding-response.d.ts +1 -0
  35. package/dist/src/model-gateway/protocol/openai-embedding-response.js +28 -0
  36. package/dist/src/model-gateway/protocol/sse-data.d.ts +9 -0
  37. package/dist/src/model-gateway/protocol/sse-data.js +67 -0
  38. package/dist/src/model-gateway/providers/envelope-budget.js +10 -1
  39. package/dist/src/model-gateway/providers/llamacpp/adapter.d.ts +2 -0
  40. package/dist/src/model-gateway/providers/llamacpp/adapter.js +79 -0
  41. package/dist/src/model-gateway/providers/llamacpp/connection.d.ts +9 -0
  42. package/dist/src/model-gateway/providers/llamacpp/connection.js +73 -0
  43. package/dist/src/model-gateway/providers/llamacpp/diagnostics.d.ts +2 -0
  44. package/dist/src/model-gateway/providers/llamacpp/diagnostics.js +17 -0
  45. package/dist/src/model-gateway/providers/llamacpp/embeddings.d.ts +2 -0
  46. package/dist/src/model-gateway/providers/llamacpp/embeddings.js +56 -0
  47. package/dist/src/model-gateway/providers/llamacpp/input-token-count.d.ts +3 -0
  48. package/dist/src/model-gateway/providers/llamacpp/input-token-count.js +59 -0
  49. package/dist/src/model-gateway/providers/llamacpp/message-projection.d.ts +2 -0
  50. package/dist/src/model-gateway/providers/llamacpp/message-projection.js +33 -0
  51. package/dist/src/model-gateway/providers/llamacpp/payload.d.ts +2 -0
  52. package/dist/src/model-gateway/providers/llamacpp/payload.js +44 -0
  53. package/dist/src/model-gateway/providers/llamacpp/response-lifetime.d.ts +1 -0
  54. package/dist/src/model-gateway/providers/llamacpp/response-lifetime.js +56 -0
  55. package/dist/src/model-gateway/providers/llamacpp/schema-format.d.ts +2 -0
  56. package/dist/src/model-gateway/providers/llamacpp/schema-format.js +29 -0
  57. package/dist/src/model-gateway/providers/llamacpp/settings.d.ts +9 -0
  58. package/dist/src/model-gateway/providers/llamacpp/settings.js +25 -0
  59. package/dist/src/model-gateway/providers/llamacpp/stream-normalizer.d.ts +10 -0
  60. package/dist/src/model-gateway/providers/llamacpp/stream-normalizer.js +85 -0
  61. package/dist/src/model-gateway/providers/llamacpp/stream.d.ts +9 -0
  62. package/dist/src/model-gateway/providers/llamacpp/stream.js +33 -0
  63. package/dist/src/model-gateway/providers/openai/embeddings.js +2 -29
  64. package/dist/src/model-gateway/providers/openai/sse-data.d.ts +1 -9
  65. package/dist/src/model-gateway/providers/openai/sse-data.js +1 -67
  66. package/dist/src/model-gateway/providers/registry.js +2 -0
  67. package/dist/src/model-gateway/server/input-token-count-handler.js +10 -1
  68. package/dist/src/model-gateway/types.d.ts +11 -1
  69. package/dist/src/runtime/adapters/long-term-memory/onboarding-provider-availability.d.ts +4 -0
  70. package/dist/src/runtime/adapters/long-term-memory/onboarding-provider-availability.js +11 -0
  71. package/dist/src/runtime/adapters/long-term-memory/onboarding-service.js +28 -1
  72. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/approval.d.ts +5 -1
  73. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/approval.js +15 -1
  74. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/prepared-execution.js +7 -5
  75. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/prepared-snapshot.js +9 -2
  76. package/dist/src/runtime/adapters/registered-tool-payload-related-artifacts.d.ts +1 -0
  77. package/dist/src/runtime/adapters/registered-tool-payload-related-artifacts.js +6 -1
  78. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/contracts.d.ts +1 -0
  79. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/execution.d.ts +1 -0
  80. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/execution.js +2 -0
  81. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-lifecycle.d.ts +1 -0
  82. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-lifecycle.js +2 -0
  83. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-stages.d.ts +1 -0
  84. package/dist/src/runtime/adapters/registered-tool-worker-capabilities/payload-stages.js +1 -0
  85. package/dist/src/runtime/adapters/registered-tool-worker-capabilities.js +1 -0
  86. package/dist/src/runtime/adapters/scheduler-runtime.js +2 -0
  87. package/dist/src/runtime/automations/agent-step-executor.js +1 -0
  88. package/dist/src/runtime/automations/catalog.d.ts +3 -0
  89. package/dist/src/runtime/automations/catalog.js +2 -0
  90. package/dist/src/runtime/automations/definition-contracts.d.ts +2 -0
  91. package/dist/src/runtime/automations/definition-input.js +3 -1
  92. package/dist/src/runtime/automations/draft-mutations.js +5 -1
  93. package/dist/src/runtime/automations/model-dependency-projection.d.ts +3 -1
  94. package/dist/src/runtime/automations/model-dependency-projection.js +4 -2
  95. package/dist/src/runtime/automations/publication-validation.js +7 -0
  96. package/dist/src/runtime/automations/saved-agent-management.js +1 -0
  97. package/dist/src/runtime/automations/service.d.ts +4 -1
  98. package/dist/src/runtime/capabilities/automation-builder/payload-schema.js +7 -5
  99. package/dist/src/runtime/capabilities/automation-builder/tool-module.js +4 -4
  100. package/dist/src/runtime/capabilities/automations/authoring-catalog.d.ts +9 -0
  101. package/dist/src/runtime/capabilities/automations/authoring-catalog.js +1 -0
  102. package/dist/src/runtime/capabilities/automations/authoring-preparation.d.ts +3 -0
  103. package/dist/src/runtime/capabilities/automations/draft-index.d.ts +1 -1
  104. package/dist/src/runtime/capabilities/automations/tool-contract.js +3 -2
  105. package/dist/src/runtime/capabilities/automations/tool-module.js +20 -11
  106. package/dist/src/runtime/capabilities/core-tool-contracts.d.ts +29 -0
  107. package/dist/src/runtime/capabilities/core-tool-contracts.js +38 -0
  108. package/dist/src/runtime/capabilities/knowledge-skills/read-many.d.ts +4 -0
  109. package/dist/src/runtime/capabilities/knowledge-skills/read-many.js +21 -0
  110. package/dist/src/runtime/capabilities/knowledge-skills/read-targets.d.ts +13 -0
  111. package/dist/src/runtime/capabilities/knowledge-skills/read-targets.js +44 -0
  112. package/dist/src/runtime/capabilities/knowledge-skills/tool-contract.d.ts +141 -0
  113. package/dist/src/runtime/capabilities/knowledge-skills/tool-contract.js +58 -0
  114. package/dist/src/runtime/capabilities/knowledge-skills/tool-module.d.ts +4 -0
  115. package/dist/src/runtime/capabilities/knowledge-skills/tool-module.js +78 -0
  116. package/dist/src/runtime/capabilities/knowledge-skills/tool-output.d.ts +12 -0
  117. package/dist/src/runtime/capabilities/knowledge-skills/tool-output.js +21 -0
  118. package/dist/src/runtime/capabilities/knowledge-skills/write-contract.d.ts +77 -0
  119. package/dist/src/runtime/capabilities/knowledge-skills/write-contract.js +28 -0
  120. package/dist/src/runtime/capabilities/knowledge-skills/write-operations.d.ts +3 -0
  121. package/dist/src/runtime/capabilities/knowledge-skills/write-operations.js +34 -0
  122. package/dist/src/runtime/capabilities/model-reasoning-controls.d.ts +23 -0
  123. package/dist/src/runtime/capabilities/model-reasoning-controls.js +56 -0
  124. package/dist/src/runtime/capabilities/scheduling/create-operations.js +2 -0
  125. package/dist/src/runtime/capabilities/scheduling/job-list-page.d.ts +1 -0
  126. package/dist/src/runtime/capabilities/scheduling/tool-module.js +8 -5
  127. package/dist/src/runtime/capabilities/scheduling/update-operations.js +2 -0
  128. package/dist/src/runtime/composition.d.ts +5 -0
  129. package/dist/src/runtime/config/builders.js +6 -0
  130. package/dist/src/runtime/config/effective-model-config-validation.js +4 -0
  131. package/dist/src/runtime/config/llamacpp-profile-validation.d.ts +3 -0
  132. package/dist/src/runtime/config/llamacpp-profile-validation.js +15 -0
  133. package/dist/src/runtime/config/model-reasoning-schema.d.ts +40 -0
  134. package/dist/src/runtime/config/model-reasoning-schema.js +38 -0
  135. package/dist/src/runtime/config/model-reasoning-validation.d.ts +3 -0
  136. package/dist/src/runtime/config/model-reasoning-validation.js +37 -0
  137. package/dist/src/runtime/config/runner/step-instructions.d.ts +4 -0
  138. package/dist/src/runtime/config/runner/step-instructions.js +10 -6
  139. package/dist/src/runtime/config/schema.js +3 -0
  140. package/dist/src/runtime/config/validation/model-invocation-config-validation.js +14 -0
  141. package/dist/src/runtime/context/capability-result-compaction-source.d.ts +3 -1
  142. package/dist/src/runtime/context/capability-result-compaction-source.js +13 -1
  143. package/dist/src/runtime/context/compacted-capability-result-receipt.d.ts +2 -0
  144. package/dist/src/runtime/context/compacted-capability-result-receipt.js +8 -7
  145. package/dist/src/runtime/context/core-skill-read-context.d.ts +16 -0
  146. package/dist/src/runtime/context/core-skill-read-context.js +76 -0
  147. package/dist/src/runtime/context/exact-evidence-match.d.ts +3 -0
  148. package/dist/src/runtime/context/exact-evidence-match.js +34 -0
  149. package/dist/src/runtime/context/execution-compacted-evidence.d.ts +4 -0
  150. package/dist/src/runtime/context/execution-compacted-evidence.js +2 -23
  151. package/dist/src/runtime/context/execution-compaction-checkpoint-selection.d.ts +19 -0
  152. package/dist/src/runtime/context/execution-compaction-checkpoint-selection.js +104 -0
  153. package/dist/src/runtime/context/model-step-compaction-inheritance.d.ts +12 -0
  154. package/dist/src/runtime/context/model-step-compaction-inheritance.js +28 -0
  155. package/dist/src/runtime/context/model-step-compaction-projection.d.ts +12 -0
  156. package/dist/src/runtime/context/model-step-compaction-projection.js +322 -0
  157. package/dist/src/runtime/context/model-step-compaction.d.ts +2 -1
  158. package/dist/src/runtime/context/model-step-compaction.js +27 -304
  159. package/dist/src/runtime/context/operation-supervision-compacted-evidence.js +7 -1
  160. package/dist/src/runtime/context/request-context.d.ts +2 -0
  161. package/dist/src/runtime/context/request-context.js +16 -0
  162. package/dist/src/runtime/context/request-tool-results-checkpoint.d.ts +2 -1
  163. package/dist/src/runtime/context/request-tool-results-checkpoint.js +35 -6
  164. package/dist/src/runtime/context/request-tool-results.js +3 -1
  165. package/dist/src/runtime/context/semantic-compaction/checkpoint-message.d.ts +5 -1
  166. package/dist/src/runtime/context/semantic-compaction/checkpoint-message.js +10 -4
  167. package/dist/src/runtime/context/semantic-compaction/core-skill-read-source.d.ts +9 -0
  168. package/dist/src/runtime/context/semantic-compaction/core-skill-read-source.js +38 -0
  169. package/dist/src/runtime/context/semantic-compaction/execution-evidence-instructions.d.ts +4 -0
  170. package/dist/src/runtime/context/semantic-compaction/execution-evidence-instructions.js +38 -0
  171. package/dist/src/runtime/context/semantic-compaction/generation-contracts.d.ts +5 -1
  172. package/dist/src/runtime/context/semantic-compaction/generation-input.js +15 -10
  173. package/dist/src/runtime/context/semantic-compaction/inherited-source-digests.d.ts +8 -0
  174. package/dist/src/runtime/context/semantic-compaction/inherited-source-digests.js +76 -0
  175. package/dist/src/runtime/context/semantic-compaction/prompt.js +7 -7
  176. package/dist/src/runtime/context/semantic-compaction/replacement-budget.js +3 -1
  177. package/dist/src/runtime/context/semantic-compaction/run.js +16 -15
  178. package/dist/src/runtime/context/semantic-compaction/super-source-integrity.js +33 -3
  179. package/dist/src/runtime/context/session-artifact-paths.d.ts +2 -1
  180. package/dist/src/runtime/context/session-artifact-paths.js +2 -1
  181. package/dist/src/runtime/context/session-memory/model-step-controller.d.ts +2 -2
  182. package/dist/src/runtime/context/super-worker-compaction-failure.d.ts +1 -1
  183. package/dist/src/runtime/context/super-worker-compaction-failure.js +2 -1
  184. package/dist/src/runtime/context/super-worker-compaction-sidecar.d.ts +2 -1
  185. package/dist/src/runtime/context/super-worker-compaction-sidecar.js +9 -3
  186. package/dist/src/runtime/default-environment-adapters.d.ts +2 -1
  187. package/dist/src/runtime/default-environment-adapters.js +5 -1
  188. package/dist/src/runtime/knowledge-skills/available-skills-projection.d.ts +17 -0
  189. package/dist/src/runtime/knowledge-skills/available-skills-projection.js +66 -0
  190. package/dist/src/runtime/knowledge-skills/available-skills.d.ts +7 -0
  191. package/dist/src/runtime/knowledge-skills/available-skills.js +17 -0
  192. package/dist/src/runtime/knowledge-skills/builtins/abot-studio.d.ts +2 -0
  193. package/dist/src/runtime/knowledge-skills/builtins/abot-studio.js +27 -0
  194. package/dist/src/runtime/knowledge-skills/builtins/computer-use.d.ts +2 -0
  195. package/dist/src/runtime/knowledge-skills/builtins/computer-use.js +34 -0
  196. package/dist/src/runtime/knowledge-skills/builtins/skill-creator.d.ts +2 -0
  197. package/dist/src/runtime/knowledge-skills/builtins/skill-creator.js +29 -0
  198. package/dist/src/runtime/knowledge-skills/builtins/technical-work.d.ts +2 -0
  199. package/dist/src/runtime/knowledge-skills/builtins/technical-work.js +45 -0
  200. package/dist/src/runtime/knowledge-skills/builtins/what-can-i-do.d.ts +2 -0
  201. package/dist/src/runtime/knowledge-skills/builtins/what-can-i-do.js +27 -0
  202. package/dist/src/runtime/knowledge-skills/catalog.d.ts +2 -0
  203. package/dist/src/runtime/knowledge-skills/catalog.js +14 -0
  204. package/dist/src/runtime/knowledge-skills/personal-contracts.d.ts +48 -0
  205. package/dist/src/runtime/knowledge-skills/personal-contracts.js +29 -0
  206. package/dist/src/runtime/knowledge-skills/personal-documents.d.ts +6 -0
  207. package/dist/src/runtime/knowledge-skills/personal-documents.js +56 -0
  208. package/dist/src/runtime/knowledge-skills/personal-management.d.ts +9 -0
  209. package/dist/src/runtime/knowledge-skills/personal-management.js +64 -0
  210. package/dist/src/runtime/knowledge-skills/personal-repository.d.ts +6 -0
  211. package/dist/src/runtime/knowledge-skills/personal-repository.js +76 -0
  212. package/dist/src/runtime/knowledge-skills/personal-store.d.ts +4 -0
  213. package/dist/src/runtime/knowledge-skills/personal-store.js +33 -0
  214. package/dist/src/runtime/knowledge-skills/read-evidence.d.ts +3 -0
  215. package/dist/src/runtime/knowledge-skills/read-evidence.js +13 -0
  216. package/dist/src/runtime/knowledge-skills/store.d.ts +19 -0
  217. package/dist/src/runtime/knowledge-skills/store.js +41 -0
  218. package/dist/src/runtime/local-application.d.ts +7 -1
  219. package/dist/src/runtime/local-host/app-service-dispatch.d.ts +2 -1
  220. package/dist/src/runtime/local-host/app-service-dispatch.js +7 -0
  221. package/dist/src/runtime/local-host/client-services.d.ts +8 -1
  222. package/dist/src/runtime/local-host/client-services.js +3 -2
  223. package/dist/src/runtime/local-host/saved-approvals.js +1 -0
  224. package/dist/src/runtime/long-term-memory/conversation-authoring/context.d.ts +1 -0
  225. package/dist/src/runtime/long-term-memory/conversation-authoring/context.js +1 -1
  226. package/dist/src/runtime/long-term-memory/conversation-authoring/plain-text-context.d.ts +5 -0
  227. package/dist/src/runtime/long-term-memory/conversation-authoring/plain-text-context.js +28 -0
  228. package/dist/src/runtime/long-term-memory/initial-context.d.ts +1 -0
  229. package/dist/src/runtime/long-term-memory/onboarding/configuration.js +5 -7
  230. package/dist/src/runtime/long-term-memory/onboarding/contracts.d.ts +26 -0
  231. package/dist/src/runtime/long-term-memory/onboarding/embedding-profile-id.d.ts +1 -0
  232. package/dist/src/runtime/long-term-memory/onboarding/embedding-profile-id.js +8 -0
  233. package/dist/src/runtime/long-term-memory/onboarding/saved-profiles.d.ts +17 -0
  234. package/dist/src/runtime/long-term-memory/onboarding/saved-profiles.js +77 -0
  235. package/dist/src/runtime/long-term-memory/onboarding/service.js +40 -10
  236. package/dist/src/runtime/model/context-compaction-admission.d.ts +1 -0
  237. package/dist/src/runtime/model/context-compaction-admission.js +35 -1
  238. package/dist/src/runtime/model/context-compaction-contracts.d.ts +9 -1
  239. package/dist/src/runtime/model/input-token-count.js +1 -0
  240. package/dist/src/runtime/model/invoke-step.js +18 -2
  241. package/dist/src/runtime/model/invoke-structured-step.d.ts +4 -1
  242. package/dist/src/runtime/model/invoke-structured-step.js +4 -0
  243. package/dist/src/runtime/model/model-catalog.d.ts +3 -0
  244. package/dist/src/runtime/model/model-catalog.js +2 -0
  245. package/dist/src/runtime/model/model-context-budget.d.ts +5 -0
  246. package/dist/src/runtime/model/model-context-budget.js +2 -0
  247. package/dist/src/runtime/model/model-step-port.d.ts +7 -0
  248. package/dist/src/runtime/model/optional-context-admission.d.ts +18 -0
  249. package/dist/src/runtime/model/optional-context-admission.js +23 -0
  250. package/dist/src/runtime/model/provider-failure.d.ts +13 -0
  251. package/dist/src/runtime/model/provider-failure.js +37 -0
  252. package/dist/src/runtime/orchestration/role-calls/activation-budget.js +1 -0
  253. package/dist/src/runtime/orchestration/role-calls/candidate-validation.js +2 -0
  254. package/dist/src/runtime/orchestration/role-calls/checkpoint-state.js +2 -1
  255. package/dist/src/runtime/orchestration/role-calls/command-decoder.js +3 -0
  256. package/dist/src/runtime/orchestration/role-calls/command-dispatch/skill-read-transition.d.ts +4 -0
  257. package/dist/src/runtime/orchestration/role-calls/command-dispatch/skill-read-transition.js +48 -0
  258. package/dist/src/runtime/orchestration/role-calls/command-dispatch.js +3 -0
  259. package/dist/src/runtime/orchestration/role-calls/contracts.d.ts +6 -3
  260. package/dist/src/runtime/orchestration/role-calls/contracts.js +3 -3
  261. package/dist/src/runtime/orchestration/role-calls/skill-read.d.ts +47 -0
  262. package/dist/src/runtime/orchestration/role-calls/skill-read.js +196 -0
  263. package/dist/src/runtime/orchestration/role-executors/activation/model-output-failure.d.ts +1 -1
  264. package/dist/src/runtime/orchestration/role-executors/activation/model-output-failure.js +4 -2
  265. package/dist/src/runtime/orchestration/worker-capabilities/binding/create-binding.js +4 -1
  266. package/dist/src/runtime/orchestration/worker-capabilities/contracts.d.ts +1 -1
  267. package/dist/src/runtime/orchestration/worker-capabilities/contracts.js +1 -1
  268. package/dist/src/runtime/orchestration/worker-capabilities/execution/approval-group.js +5 -3
  269. package/dist/src/runtime/orchestration/worker-capabilities/payload-compaction-transport.d.ts +2 -0
  270. package/dist/src/runtime/orchestration/worker-capabilities/payload-compaction-transport.js +7 -2
  271. package/dist/src/runtime/orchestration/worker-capabilities/supervisor-skill-authority.d.ts +19 -0
  272. package/dist/src/runtime/orchestration/worker-capabilities/supervisor-skill-authority.js +43 -0
  273. package/dist/src/runtime/plugins/loader.js +7 -6
  274. package/dist/src/runtime/ports.d.ts +3 -1
  275. package/dist/src/runtime/projects/contracts.d.ts +6 -0
  276. package/dist/src/runtime/projects/registry-format.d.ts +3 -0
  277. package/dist/src/runtime/projects/registry-format.js +50 -0
  278. package/dist/src/runtime/projects/repository.d.ts +6 -3
  279. package/dist/src/runtime/projects/repository.js +26 -19
  280. package/dist/src/runtime/projects/service.js +11 -0
  281. package/dist/src/runtime/request/approval-wait/preflight.js +2 -0
  282. package/dist/src/runtime/request/approval-wait/snapshot.d.ts +1 -1
  283. package/dist/src/runtime/request/approval-wait/snapshot.js +1 -0
  284. package/dist/src/runtime/request/bound-runtime-handler.js +1 -0
  285. package/dist/src/runtime/request/contracts.d.ts +7 -1
  286. package/dist/src/runtime/request/execution-facets.js +2 -0
  287. package/dist/src/runtime/request/execution-payload-artifact-policy.d.ts +3 -0
  288. package/dist/src/runtime/request/execution-payload-artifact-policy.js +6 -0
  289. package/dist/src/runtime/request/execution-payload-compacted-evidence.d.ts +2 -2
  290. package/dist/src/runtime/request/execution-payload-compacted-evidence.js +1 -0
  291. package/dist/src/runtime/request/execution-scope-surfaces.d.ts +4 -0
  292. package/dist/src/runtime/request/execution-scope-surfaces.js +10 -0
  293. package/dist/src/runtime/request/execution-scope.d.ts +8 -2
  294. package/dist/src/runtime/request/execution-scope.js +13 -0
  295. package/dist/src/runtime/request/input.d.ts +1 -0
  296. package/dist/src/runtime/request/input.js +1 -0
  297. package/dist/src/runtime/request/payload-settled-evidence.d.ts +11 -0
  298. package/dist/src/runtime/request/payload-settled-evidence.js +29 -0
  299. package/dist/src/runtime/request/prepared-execution.d.ts +1 -0
  300. package/dist/src/runtime/request/prepared-execution.js +5 -0
  301. package/dist/src/runtime/request/reasoning-preference.d.ts +10 -0
  302. package/dist/src/runtime/request/reasoning-preference.js +29 -0
  303. package/dist/src/runtime/request/role-call-delegation-events.d.ts +19 -0
  304. package/dist/src/runtime/request/role-call-delegation-events.js +52 -0
  305. package/dist/src/runtime/request/role-call-return-events.d.ts +19 -0
  306. package/dist/src/runtime/request/role-call-return-events.js +63 -0
  307. package/dist/src/runtime/request/role-executor-composition.js +2 -2
  308. package/dist/src/runtime/request/root-capability-binding.d.ts +24 -0
  309. package/dist/src/runtime/request/root-capability-binding.js +57 -0
  310. package/dist/src/runtime/request/root-capability-catalog.d.ts +16 -0
  311. package/dist/src/runtime/request/root-capability-catalog.js +20 -0
  312. package/dist/src/runtime/request/root-contract.d.ts +11 -1
  313. package/dist/src/runtime/request/root-execution-kernel.js +35 -68
  314. package/dist/src/runtime/request/root-reference-action.d.ts +15 -0
  315. package/dist/src/runtime/request/root-reference-action.js +48 -0
  316. package/dist/src/runtime/request/root-skill-read-admission.d.ts +4 -0
  317. package/dist/src/runtime/request/root-skill-read-admission.js +14 -0
  318. package/dist/src/runtime/request/root-skill-read.d.ts +13 -0
  319. package/dist/src/runtime/request/root-skill-read.js +110 -0
  320. package/dist/src/runtime/request/runner.js +10 -0
  321. package/dist/src/runtime/request/super-payload-context-failure.js +13 -4
  322. package/dist/src/runtime/request/supervisor-root-execution.js +48 -1
  323. package/dist/src/runtime/request/supervisor-skill-edit-target.d.ts +9 -0
  324. package/dist/src/runtime/request/supervisor-skill-edit-target.js +25 -0
  325. package/dist/src/runtime/request/supervisor-skill-payload-context.d.ts +21 -0
  326. package/dist/src/runtime/request/supervisor-skill-payload-context.js +91 -0
  327. package/dist/src/runtime/request/supervisor-skill-selection-window.d.ts +16 -0
  328. package/dist/src/runtime/request/supervisor-skill-selection-window.js +17 -0
  329. package/dist/src/runtime/request/supervisor-skill-write-preparation.d.ts +25 -0
  330. package/dist/src/runtime/request/supervisor-skill-write-preparation.js +71 -0
  331. package/dist/src/runtime/request/worker-capability-composition.d.ts +4 -1
  332. package/dist/src/runtime/request/worker-capability-composition.js +6 -1
  333. package/dist/src/runtime/request/worker-capability-payload.d.ts +1 -1
  334. package/dist/src/runtime/request/worker-capability-payload.js +44 -37
  335. package/dist/src/runtime/runtime-environment.d.ts +2 -0
  336. package/dist/src/runtime/runtime-environment.js +12 -1
  337. package/dist/src/runtime/scheduler/contracts.d.ts +11 -1
  338. package/dist/src/runtime/scheduler/job-management.js +7 -1
  339. package/dist/src/runtime/scheduler/run-list-filter.d.ts +11 -0
  340. package/dist/src/runtime/scheduler/run-list-filter.js +56 -0
  341. package/dist/src/runtime/scheduler/run-list-query.d.ts +2 -2
  342. package/dist/src/runtime/scheduler/run-list-query.js +4 -1
  343. package/dist/src/runtime/scheduler/run-records.js +2 -0
  344. package/dist/src/runtime/scheduler/schedule-validation.js +2 -0
  345. package/dist/src/runtime/scheduler/scheduler-engine.js +1 -0
  346. package/dist/src/runtime/scheduler/snapshot-validation.js +2 -0
  347. package/dist/src/runtime/steps/auditor-decision/contracts.d.ts +2 -0
  348. package/dist/src/runtime/steps/auditor-decision/evidence-representation.d.ts +2 -2
  349. package/dist/src/runtime/steps/auditor-decision/evidence-representation.js +2 -34
  350. package/dist/src/runtime/steps/auditor-decision/input.js +21 -3
  351. package/dist/src/runtime/steps/auditor-decision/projection.js +7 -0
  352. package/dist/src/runtime/steps/auditor-decision/prompt.d.ts +1 -1
  353. package/dist/src/runtime/steps/auditor-decision/prompt.js +14 -3
  354. package/dist/src/runtime/steps/capability-execution-guidance.d.ts +7 -0
  355. package/dist/src/runtime/steps/capability-execution-guidance.js +28 -0
  356. package/dist/src/runtime/steps/capability-execution-instructions.d.ts +0 -2
  357. package/dist/src/runtime/steps/capability-execution-instructions.js +0 -2
  358. package/dist/src/runtime/steps/execution-agent/capability-controls-partition.d.ts +9 -0
  359. package/dist/src/runtime/steps/execution-agent/capability-controls-partition.js +29 -0
  360. package/dist/src/runtime/steps/execution-agent/capability-result-context.d.ts +5 -2
  361. package/dist/src/runtime/steps/execution-agent/capability-result-context.js +22 -3
  362. package/dist/src/runtime/steps/execution-agent/capability-scope.d.ts +17 -0
  363. package/dist/src/runtime/steps/execution-agent/capability-scope.js +54 -0
  364. package/dist/src/runtime/steps/execution-agent/compaction.d.ts +3 -2
  365. package/dist/src/runtime/steps/execution-agent/compaction.js +31 -7
  366. package/dist/src/runtime/steps/execution-agent/controls-compacted-evidence.js +2 -0
  367. package/dist/src/runtime/steps/execution-agent/direct-response-prompt.js +14 -14
  368. package/dist/src/runtime/steps/execution-agent/evidence-reuse-instructions.d.ts +6 -0
  369. package/dist/src/runtime/steps/execution-agent/evidence-reuse-instructions.js +13 -0
  370. package/dist/src/runtime/steps/execution-agent/format.js +3 -6
  371. package/dist/src/runtime/steps/execution-agent/input.d.ts +5 -1
  372. package/dist/src/runtime/steps/execution-agent/input.js +24 -38
  373. package/dist/src/runtime/steps/execution-agent/observation-guidance.d.ts +11 -0
  374. package/dist/src/runtime/steps/execution-agent/observation-guidance.js +33 -0
  375. package/dist/src/runtime/steps/execution-agent/prompt.js +42 -38
  376. package/dist/src/runtime/steps/execution-agent/refinement-input.d.ts +1 -0
  377. package/dist/src/runtime/steps/execution-agent/refinement-prompt.js +4 -1
  378. package/dist/src/runtime/steps/execution-agent/refinement.d.ts +3 -2
  379. package/dist/src/runtime/steps/execution-agent/refinement.js +17 -6
  380. package/dist/src/runtime/steps/execution-agent/response-prompt.js +1 -0
  381. package/dist/src/runtime/steps/execution-agent/response-run.js +1 -1
  382. package/dist/src/runtime/steps/execution-agent/run.js +8 -2
  383. package/dist/src/runtime/steps/execution-agent/state-context.js +1 -1
  384. package/dist/src/runtime/steps/knowledge-skill-instructions.d.ts +3 -0
  385. package/dist/src/runtime/steps/knowledge-skill-instructions.js +3 -0
  386. package/dist/src/runtime/steps/planner-decision/capability-brief.d.ts +2 -2
  387. package/dist/src/runtime/steps/planner-decision/capability-brief.js +5 -1
  388. package/dist/src/runtime/steps/planner-decision/input.d.ts +2 -2
  389. package/dist/src/runtime/steps/planner-decision/input.js +7 -1
  390. package/dist/src/runtime/steps/planner-decision/prompt.js +3 -0
  391. package/dist/src/runtime/steps/planner-graph/input.d.ts +2 -2
  392. package/dist/src/runtime/steps/planner-graph/input.js +9 -8
  393. package/dist/src/runtime/steps/planner-graph/prompt.js +2 -2
  394. package/dist/src/runtime/steps/planner-graph/run.d.ts +2 -2
  395. package/dist/src/runtime/steps/planner-graph/run.js +5 -5
  396. package/dist/src/runtime/steps/planner-graph/skill-guidance.d.ts +5 -0
  397. package/dist/src/runtime/steps/planner-graph/skill-guidance.js +62 -0
  398. package/dist/src/runtime/steps/reviewer-decision/final-evidence.d.ts +1 -0
  399. package/dist/src/runtime/steps/reviewer-decision/final-evidence.js +3 -1
  400. package/dist/src/runtime/steps/reviewer-decision/input.d.ts +3 -1
  401. package/dist/src/runtime/steps/reviewer-decision/input.js +2 -22
  402. package/dist/src/runtime/steps/reviewer-decision/model-context.d.ts +21 -0
  403. package/dist/src/runtime/steps/reviewer-decision/model-context.js +32 -1
  404. package/dist/src/runtime/steps/reviewer-decision/projection.js +4 -0
  405. package/dist/src/runtime/steps/reviewer-decision/prompt.d.ts +1 -1
  406. package/dist/src/runtime/steps/reviewer-decision/prompt.js +15 -4
  407. package/dist/src/runtime/steps/reviewer-decision/run.d.ts +2 -0
  408. package/dist/src/runtime/steps/reviewer-decision/run.js +6 -0
  409. package/dist/src/runtime/steps/skill-read-decision.d.ts +35 -0
  410. package/dist/src/runtime/steps/skill-read-decision.js +96 -0
  411. package/dist/src/runtime/steps/supervisor-decision/artifact-paths.d.ts +27 -0
  412. package/dist/src/runtime/steps/supervisor-decision/artifact-paths.js +147 -0
  413. package/dist/src/runtime/steps/supervisor-decision/capability-brief.d.ts +2 -0
  414. package/dist/src/runtime/steps/supervisor-decision/capability-brief.js +9 -2
  415. package/dist/src/runtime/steps/supervisor-decision/contracts.d.ts +12 -3
  416. package/dist/src/runtime/steps/supervisor-decision/contracts.js +5 -0
  417. package/dist/src/runtime/steps/supervisor-decision/decision-phases.d.ts +40 -0
  418. package/dist/src/runtime/steps/supervisor-decision/decision-phases.js +143 -0
  419. package/dist/src/runtime/steps/supervisor-decision/delegation-contract.d.ts +9 -0
  420. package/dist/src/runtime/steps/supervisor-decision/delegation-contract.js +82 -0
  421. package/dist/src/runtime/steps/supervisor-decision/delegation-input.d.ts +7 -0
  422. package/dist/src/runtime/steps/supervisor-decision/delegation-input.js +105 -0
  423. package/dist/src/runtime/steps/supervisor-decision/delegation-prompt.d.ts +7 -0
  424. package/dist/src/runtime/steps/supervisor-decision/delegation-prompt.js +13 -0
  425. package/dist/src/runtime/steps/supervisor-decision/diagnostics.d.ts +5 -1
  426. package/dist/src/runtime/steps/supervisor-decision/diagnostics.js +4 -0
  427. package/dist/src/runtime/steps/supervisor-decision/format.d.ts +1 -0
  428. package/dist/src/runtime/steps/supervisor-decision/format.js +2 -0
  429. package/dist/src/runtime/steps/supervisor-decision/input.d.ts +8 -1
  430. package/dist/src/runtime/steps/supervisor-decision/input.js +30 -11
  431. package/dist/src/runtime/steps/supervisor-decision/parser.d.ts +1 -0
  432. package/dist/src/runtime/steps/supervisor-decision/parser.js +11 -0
  433. package/dist/src/runtime/steps/supervisor-decision/preparation-input.d.ts +24 -0
  434. package/dist/src/runtime/steps/supervisor-decision/preparation-input.js +23 -0
  435. package/dist/src/runtime/steps/supervisor-decision/preparation.d.ts +20 -0
  436. package/dist/src/runtime/steps/supervisor-decision/preparation.js +117 -0
  437. package/dist/src/runtime/steps/supervisor-decision/presentation.d.ts +13 -0
  438. package/dist/src/runtime/steps/supervisor-decision/presentation.js +47 -0
  439. package/dist/src/runtime/steps/supervisor-decision/procedure-entry.d.ts +22 -0
  440. package/dist/src/runtime/steps/supervisor-decision/procedure-entry.js +61 -0
  441. package/dist/src/runtime/steps/supervisor-decision/procedure-gate.d.ts +39 -0
  442. package/dist/src/runtime/steps/supervisor-decision/procedure-gate.js +146 -0
  443. package/dist/src/runtime/steps/supervisor-decision/procedure-memory.d.ts +9 -0
  444. package/dist/src/runtime/steps/supervisor-decision/procedure-memory.js +100 -0
  445. package/dist/src/runtime/steps/supervisor-decision/procedure-recall.d.ts +10 -0
  446. package/dist/src/runtime/steps/supervisor-decision/procedure-recall.js +52 -0
  447. package/dist/src/runtime/steps/supervisor-decision/prompt.d.ts +4 -0
  448. package/dist/src/runtime/steps/supervisor-decision/prompt.js +85 -111
  449. package/dist/src/runtime/steps/supervisor-decision/response-recommendation.d.ts +2 -0
  450. package/dist/src/runtime/steps/supervisor-decision/response-recommendation.js +2 -0
  451. package/dist/src/runtime/steps/supervisor-decision/resume.d.ts +3 -0
  452. package/dist/src/runtime/steps/supervisor-decision/resume.js +20 -0
  453. package/dist/src/runtime/steps/supervisor-decision/role-guidance.d.ts +3 -0
  454. package/dist/src/runtime/steps/supervisor-decision/role-guidance.js +20 -0
  455. package/dist/src/runtime/steps/supervisor-decision/run.d.ts +6 -0
  456. package/dist/src/runtime/steps/supervisor-decision/run.js +120 -163
  457. package/dist/src/runtime/steps/supervisor-decision/skill-read-state.d.ts +10 -0
  458. package/dist/src/runtime/steps/supervisor-decision/skill-read-state.js +45 -0
  459. package/dist/src/runtime/steps/supervisor-decision/skill-selection-candidates.d.ts +15 -0
  460. package/dist/src/runtime/steps/supervisor-decision/skill-selection-candidates.js +25 -0
  461. package/dist/src/runtime/steps/supervisor-decision/skill-selection-catalog.d.ts +3 -0
  462. package/dist/src/runtime/steps/supervisor-decision/skill-selection-catalog.js +15 -0
  463. package/dist/src/runtime/steps/supervisor-decision/skill-selection-continuation.d.ts +10 -0
  464. package/dist/src/runtime/steps/supervisor-decision/skill-selection-continuation.js +65 -0
  465. package/dist/src/runtime/steps/supervisor-decision/skill-selection-input.d.ts +23 -0
  466. package/dist/src/runtime/steps/supervisor-decision/skill-selection-input.js +27 -0
  467. package/dist/src/runtime/steps/supervisor-decision/skill-selection.d.ts +17 -0
  468. package/dist/src/runtime/steps/supervisor-decision/skill-selection.js +91 -0
  469. package/dist/src/runtime/steps/supervisor-response/input.d.ts +3 -0
  470. package/dist/src/runtime/steps/supervisor-response/input.js +5 -0
  471. package/dist/src/runtime/steps/supervisor-response/prompt.js +20 -4
  472. package/dist/src/runtime/steps/supervisor-response/response-recommendation.d.ts +3 -0
  473. package/dist/src/runtime/steps/supervisor-response/response-recommendation.js +24 -4
  474. package/dist/src/runtime/steps/supervisor-response/run.d.ts +5 -0
  475. package/dist/src/runtime/steps/supervisor-skill-authoring/contract.d.ts +43 -0
  476. package/dist/src/runtime/steps/supervisor-skill-authoring/contract.js +85 -0
  477. package/dist/src/runtime/steps/supervisor-skill-authoring/input.d.ts +35 -0
  478. package/dist/src/runtime/steps/supervisor-skill-authoring/input.js +87 -0
  479. package/dist/src/runtime/steps/supervisor-skill-authoring/run.d.ts +10 -0
  480. package/dist/src/runtime/steps/supervisor-skill-authoring/run.js +35 -0
  481. package/dist/src/runtime/steps/supervisor-skill-instructions.d.ts +4 -0
  482. package/dist/src/runtime/steps/supervisor-skill-instructions.js +4 -0
  483. package/dist/src/runtime/steps/worker-capability-scope-decision.js +14 -1
  484. package/dist/src/runtime/steps/worker-decision/contracts.d.ts +1 -0
  485. package/dist/src/runtime/steps/worker-decision/input/execution-guidance.d.ts +5 -0
  486. package/dist/src/runtime/steps/worker-decision/input/execution-guidance.js +31 -0
  487. package/dist/src/runtime/steps/worker-decision/input/prompt-context.js +2 -25
  488. package/dist/src/runtime/steps/worker-decision/input/reference-context.js +4 -0
  489. package/dist/src/runtime/steps/worker-decision/prompt.js +6 -2
  490. package/dist/src/runtime/steps/worker-decision/result-author.js +6 -0
  491. package/dist/src/shared/model-reasoning-modes.d.ts +5 -0
  492. package/dist/src/shared/model-reasoning-modes.js +20 -0
  493. package/dist/src/shared/model-reasoning-schema.d.ts +38 -0
  494. package/dist/src/shared/model-reasoning-schema.js +29 -0
  495. package/dist/src/shared/model-reasoning.d.ts +35 -0
  496. package/dist/src/shared/model-reasoning.js +100 -0
  497. package/dist/src/web-ui/app/ARCHITECTURE.md +13 -0
  498. package/dist/src/web-ui/app/app-bootstrap.js +12 -12
  499. package/dist/src/web-ui/app/app-dom.js +6 -1
  500. package/dist/src/web-ui/app/app-state.js +1 -0
  501. package/dist/src/web-ui/app/app.js +14 -4
  502. package/dist/src/web-ui/app/appearance-feature.js +28 -0
  503. package/dist/src/web-ui/app/automations-feature.js +20 -11
  504. package/dist/src/web-ui/app/components/appearance-dialog.js +79 -0
  505. package/dist/src/web-ui/app/components/automations/archive-actions.js +5 -3
  506. package/dist/src/web-ui/app/components/automations/authoring-entry.js +26 -7
  507. package/dist/src/web-ui/app/components/automations/confirmation-actions.js +78 -0
  508. package/dist/src/web-ui/app/components/automations/draft-recovery-actions.js +1 -0
  509. package/dist/src/web-ui/app/components/automations/node-inspector.js +5 -1
  510. package/dist/src/web-ui/app/components/automations/run-history-controls.js +77 -0
  511. package/dist/src/web-ui/app/components/automations/run-history.js +55 -0
  512. package/dist/src/web-ui/app/components/automations/run.js +3 -8
  513. package/dist/src/web-ui/app/components/automations/step-editor-dialog.js +4 -2
  514. package/dist/src/web-ui/app/components/automations/timeline.js +2 -2
  515. package/dist/src/web-ui/app/components/automations/workspace-navigation.js +37 -0
  516. package/dist/src/web-ui/app/components/automations/workspace.js +39 -45
  517. package/dist/src/web-ui/app/components/config-workspace/config-model.js +6 -0
  518. package/dist/src/web-ui/app/components/config-workspace/model-removal.js +4 -2
  519. package/dist/src/web-ui/app/components/config-workspace/model-rendering.js +8 -16
  520. package/dist/src/web-ui/app/components/config-workspace/reasoning-budget-edit.js +113 -0
  521. package/dist/src/web-ui/app/components/config-workspace/reasoning-budget.d.ts +16 -0
  522. package/dist/src/web-ui/app/components/config-workspace/reasoning-budget.js +67 -0
  523. package/dist/src/web-ui/app/components/config-workspace/reasoning-mode-budgets.d.ts +7 -0
  524. package/dist/src/web-ui/app/components/config-workspace/reasoning-mode-budgets.js +25 -0
  525. package/dist/src/web-ui/app/components/config-workspace/workspace-events.js +15 -7
  526. package/dist/src/web-ui/app/components/config-workspace/workspace-mutations.js +32 -12
  527. package/dist/src/web-ui/app/components/config-workspace/workspace-persistence.js +1 -1
  528. package/dist/src/web-ui/app/components/config-workspace.js +2 -1
  529. package/dist/src/web-ui/app/components/confirmation-dialog.js +88 -0
  530. package/dist/src/web-ui/app/components/conversation-activity.d.ts +2 -0
  531. package/dist/src/web-ui/app/components/conversation-activity.js +32 -3
  532. package/dist/src/web-ui/app/components/conversation-memory-activity.js +31 -0
  533. package/dist/src/web-ui/app/components/conversation-role-cards.d.ts +2 -0
  534. package/dist/src/web-ui/app/components/conversation-role-cards.js +32 -2
  535. package/dist/src/web-ui/app/components/conversation-role-delegations.d.ts +12 -0
  536. package/dist/src/web-ui/app/components/conversation-role-delegations.js +24 -0
  537. package/dist/src/web-ui/app/components/conversation-role-history.d.ts +13 -0
  538. package/dist/src/web-ui/app/components/conversation-role-history.js +81 -0
  539. package/dist/src/web-ui/app/components/conversation-role-returns.d.ts +12 -0
  540. package/dist/src/web-ui/app/components/conversation-role-returns.js +23 -0
  541. package/dist/src/web-ui/app/components/conversation-skill-activity.js +67 -0
  542. package/dist/src/web-ui/app/components/conversation-tools.js +5 -5
  543. package/dist/src/web-ui/app/components/conversation-view.js +6 -0
  544. package/dist/src/web-ui/app/components/dashboard/approvals.js +13 -1
  545. package/dist/src/web-ui/app/components/long-term-memory/embedding-connection-dialog.d.ts +38 -0
  546. package/dist/src/web-ui/app/components/long-term-memory/embedding-connection-dialog.js +289 -0
  547. package/dist/src/web-ui/app/components/long-term-memory/embedding-connection-feature.js +75 -0
  548. package/dist/src/web-ui/app/components/long-term-memory/embedding-connection-rendering.js +31 -0
  549. package/dist/src/web-ui/app/components/long-term-memory/manager.js +15 -5
  550. package/dist/src/web-ui/app/components/long-term-memory/saved-embedding-profiles.js +114 -0
  551. package/dist/src/web-ui/app/components/long-term-memory/setup-rendering.js +55 -0
  552. package/dist/src/web-ui/app/components/long-term-memory-setup.js +141 -76
  553. package/dist/src/web-ui/app/components/model-setup/rendering.js +3 -2
  554. package/dist/src/web-ui/app/components/model-setup/validation.js +6 -2
  555. package/dist/src/web-ui/app/components/model-setup/wizard.d.ts +1 -0
  556. package/dist/src/web-ui/app/components/model-setup/wizard.js +28 -5
  557. package/dist/src/web-ui/app/components/onboarding-workspace-access.js +1 -1
  558. package/dist/src/web-ui/app/components/passive-learning/memory.js +12 -5
  559. package/dist/src/web-ui/app/components/plugins/manager.js +14 -0
  560. package/dist/src/web-ui/app/components/plugins/removal.js +10 -2
  561. package/dist/src/web-ui/app/components/project-group-actions.js +35 -0
  562. package/dist/src/web-ui/app/components/project-session-groups.js +17 -31
  563. package/dist/src/web-ui/app/components/runtime-setup/commands.js +1 -1
  564. package/dist/src/web-ui/app/components/runtime-setup/connection-form.d.ts +15 -0
  565. package/dist/src/web-ui/app/components/runtime-setup/connection-form.js +32 -9
  566. package/dist/src/web-ui/app/components/runtime-setup/connection-input.js +23 -0
  567. package/dist/src/web-ui/app/components/runtime-setup/connection-inspection.js +57 -0
  568. package/dist/src/web-ui/app/components/runtime-setup/connection-state.js +18 -4
  569. package/dist/src/web-ui/app/components/runtime-setup/embedding-credential-status.js +3 -0
  570. package/dist/src/web-ui/app/components/runtime-setup/embedding-provider-options.js +54 -0
  571. package/dist/src/web-ui/app/components/runtime-setup/embedding-provider-receipt.js +3 -0
  572. package/dist/src/web-ui/app/components/runtime-setup/embedding-rendering.js +22 -22
  573. package/dist/src/web-ui/app/components/runtime-setup/embedding.js +60 -16
  574. package/dist/src/web-ui/app/components/runtime-setup/reasoning-fields.d.ts +17 -0
  575. package/dist/src/web-ui/app/components/runtime-setup/reasoning-fields.js +54 -0
  576. package/dist/src/web-ui/app/components/runtime-setup/validation.js +5 -1
  577. package/dist/src/web-ui/app/components/runtime-setup-guide.d.ts +9 -3
  578. package/dist/src/web-ui/app/components/runtime-setup-guide.js +20 -29
  579. package/dist/src/web-ui/app/components/schedules/details.js +2 -2
  580. package/dist/src/web-ui/app/components/schedules/form.js +12 -5
  581. package/dist/src/web-ui/app/components/schedules/workspace.js +30 -18
  582. package/dist/src/web-ui/app/components/session-list-viewport.js +49 -0
  583. package/dist/src/web-ui/app/components/session-search-disclosure.js +27 -0
  584. package/dist/src/web-ui/app/components/skills/workspace.js +123 -0
  585. package/dist/src/web-ui/app/components/spark-chat/panel.js +7 -3
  586. package/dist/src/web-ui/app/components/spark-chat/settings.js +57 -15
  587. package/dist/src/web-ui/app/components/tool-approval-card.d.ts +2 -1
  588. package/dist/src/web-ui/app/components/tool-approval-card.js +10 -2
  589. package/dist/src/web-ui/app/components/tool-approval-rejection-input.js +116 -0
  590. package/dist/src/web-ui/app/components/workspace-shell.js +41 -39
  591. package/dist/src/web-ui/app/components/workspace-transitions.js +42 -0
  592. package/dist/src/web-ui/app/configuration-feature.js +34 -4
  593. package/dist/src/web-ui/app/controllers/app-event-bindings.js +45 -29
  594. package/dist/src/web-ui/app/controllers/appearance-controller.js +105 -0
  595. package/dist/src/web-ui/app/controllers/automation-read-projection.js +8 -4
  596. package/dist/src/web-ui/app/controllers/automation-run-actions.js +3 -1
  597. package/dist/src/web-ui/app/controllers/automation-run-history.js +159 -0
  598. package/dist/src/web-ui/app/controllers/automations-controller.js +36 -12
  599. package/dist/src/web-ui/app/controllers/composer-feature.d.ts +1 -1
  600. package/dist/src/web-ui/app/controllers/composer-feature.js +10 -3
  601. package/dist/src/web-ui/app/controllers/composer-queue-controller.d.ts +1 -1
  602. package/dist/src/web-ui/app/controllers/composer-queue-controller.js +9 -3
  603. package/dist/src/web-ui/app/controllers/composer-submission-lifecycle.d.ts +1 -1
  604. package/dist/src/web-ui/app/controllers/conversation-workspace-activation.js +8 -2
  605. package/dist/src/web-ui/app/controllers/dashboard-approvals-controller.js +10 -9
  606. package/dist/src/web-ui/app/controllers/environment-transition.js +2 -2
  607. package/dist/src/web-ui/app/controllers/environment-workspace-preparation.js +12 -6
  608. package/dist/src/web-ui/app/controllers/preference-view-sync.js +35 -0
  609. package/dist/src/web-ui/app/controllers/projects-controller.d.ts +4 -0
  610. package/dist/src/web-ui/app/controllers/projects-controller.js +64 -3
  611. package/dist/src/web-ui/app/controllers/realtime-event-controller.js +22 -1
  612. package/dist/src/web-ui/app/controllers/reasoning-budget-controller.d.ts +17 -0
  613. package/dist/src/web-ui/app/controllers/reasoning-budget-controller.js +80 -0
  614. package/dist/src/web-ui/app/controllers/reasoning-budget-menu-events.js +45 -0
  615. package/dist/src/web-ui/app/controllers/reasoning-mode-controller.js +35 -40
  616. package/dist/src/web-ui/app/controllers/runtime-selection-controller.d.ts +6 -1
  617. package/dist/src/web-ui/app/controllers/runtime-selection-controller.js +23 -4
  618. package/dist/src/web-ui/app/controllers/session-controller.js +34 -9
  619. package/dist/src/web-ui/app/controllers/session-sidebar-controller.js +4 -3
  620. package/dist/src/web-ui/app/controllers/skills-controller.js +254 -0
  621. package/dist/src/web-ui/app/controllers/spark-chat-sync.js +1 -1
  622. package/dist/src/web-ui/app/controllers/spark-handoff-navigation.js +7 -1
  623. package/dist/src/web-ui/app/controllers/tool-approval-controller.d.ts +2 -1
  624. package/dist/src/web-ui/app/controllers/tool-approval-controller.js +36 -3
  625. package/dist/src/web-ui/app/controllers/workspace-conversation-opener.js +8 -2
  626. package/dist/src/web-ui/app/controllers/workspace-route-controller.js +41 -10
  627. package/dist/src/web-ui/app/index.html +38 -32
  628. package/dist/src/web-ui/app/lib/color-palettes.d.ts +17 -0
  629. package/dist/src/web-ui/app/lib/color-palettes.js +20 -0
  630. package/dist/src/web-ui/app/lib/conversation-role-model.d.ts +5 -0
  631. package/dist/src/web-ui/app/lib/conversation-role-model.js +63 -5
  632. package/dist/src/web-ui/app/lib/event-presentation.js +34 -0
  633. package/dist/src/web-ui/app/lib/memory-activity-model.d.ts +12 -0
  634. package/dist/src/web-ui/app/lib/memory-activity-model.js +61 -0
  635. package/dist/src/web-ui/app/lib/navigation-display.d.ts +8 -0
  636. package/dist/src/web-ui/app/lib/navigation-display.js +12 -0
  637. package/dist/src/web-ui/app/lib/reasoning-controls.js +47 -6
  638. package/dist/src/web-ui/app/lib/reasoning-preference.d.ts +9 -0
  639. package/dist/src/web-ui/app/lib/reasoning-preference.js +75 -0
  640. package/dist/src/web-ui/app/lib/role-delegation-event.d.ts +18 -0
  641. package/dist/src/web-ui/app/lib/role-delegation-event.js +47 -0
  642. package/dist/src/web-ui/app/lib/role-return-event.d.ts +19 -0
  643. package/dist/src/web-ui/app/lib/role-return-event.js +36 -0
  644. package/dist/src/web-ui/app/lib/session-composer-queue.d.ts +4 -0
  645. package/dist/src/web-ui/app/lib/session-composer-queue.js +4 -0
  646. package/dist/src/web-ui/app/lib/session-project-groups.js +28 -0
  647. package/dist/src/web-ui/app/lib/session-sidebar-order.js +7 -5
  648. package/dist/src/web-ui/app/lib/tool-activity-event.d.ts +1 -0
  649. package/dist/src/web-ui/app/lib/tool-activity-event.js +9 -6
  650. package/dist/src/web-ui/app/lib/tool-activity-model.d.ts +1 -0
  651. package/dist/src/web-ui/app/lib/tool-activity-model.js +1 -0
  652. package/dist/src/web-ui/app/lib/tool-approval-rejection-drafts.js +45 -0
  653. package/dist/src/web-ui/app/lib/tool-skill-activity-fields.js +50 -0
  654. package/dist/src/web-ui/app/lib/workspace-route.js +1 -0
  655. package/dist/src/web-ui/app/notifications-feature.js +10 -2
  656. package/dist/src/web-ui/app/passive-learning-feature.js +2 -2
  657. package/dist/src/web-ui/app/projects-feature.js +40 -10
  658. package/dist/src/web-ui/app/runtime-onboarding-feature.js +1 -0
  659. package/dist/src/web-ui/app/schedules-feature.js +28 -5
  660. package/dist/src/web-ui/app/services/client-preferences.d.ts +4 -1
  661. package/dist/src/web-ui/app/services/client-preferences.js +2 -0
  662. package/dist/src/web-ui/app/services/conversation-reasoning-preferences.d.ts +11 -0
  663. package/dist/src/web-ui/app/services/conversation-reasoning-preferences.js +30 -0
  664. package/dist/src/web-ui/app/services/runtime-web-client/automations.d.ts +9 -1
  665. package/dist/src/web-ui/app/services/runtime-web-client/automations.js +16 -6
  666. package/dist/src/web-ui/app/services/runtime-web-client/configuration.js +5 -0
  667. package/dist/src/web-ui/app/services/runtime-web-client/memory.js +21 -0
  668. package/dist/src/web-ui/app/services/runtime-web-client/projects.d.ts +2 -1
  669. package/dist/src/web-ui/app/services/runtime-web-client/projects.js +4 -0
  670. package/dist/src/web-ui/app/services/runtime-web-client/skills.js +23 -0
  671. package/dist/src/web-ui/app/services/runtime-web-client/tool-approvals.js +2 -0
  672. package/dist/src/web-ui/app/services/runtime-web-client.d.ts +16 -0
  673. package/dist/src/web-ui/app/services/runtime-web-client.js +4 -0
  674. package/dist/src/web-ui/app/services/session-sidebar-preferences.js +33 -13
  675. package/dist/src/web-ui/app/skills-feature.js +35 -0
  676. package/dist/src/web-ui/app/spark-chat-conversation.js +29 -3
  677. package/dist/src/web-ui/app/spark-chat-feature.js +13 -7
  678. package/dist/src/web-ui/app/styles/01-color-palettes.css +90 -0
  679. package/dist/src/web-ui/app/styles/11-product-links.css +6 -2
  680. package/dist/src/web-ui/app/styles/11-workspace-header-width.css +37 -25
  681. package/dist/src/web-ui/app/styles/12-conversation-sidebar.css +56 -22
  682. package/dist/src/web-ui/app/styles/13-projects.css +56 -19
  683. package/dist/src/web-ui/app/styles/19-runtime-setup.css +16 -0
  684. package/dist/src/web-ui/app/styles/22-reasoning-budget.css +39 -0
  685. package/dist/src/web-ui/app/styles/24-conversation-role-cards.css +58 -0
  686. package/dist/src/web-ui/app/styles/27-conversation-memory.css +45 -0
  687. package/dist/src/web-ui/app/styles/27-conversation-skills.css +96 -0
  688. package/dist/src/web-ui/app/styles/28-tool-approval-card.css +38 -1
  689. package/dist/src/web-ui/app/styles/35-embedding-profiles.css +159 -0
  690. package/dist/src/web-ui/app/styles/40-skills.css +34 -0
  691. package/dist/src/web-ui/app/styles/50-automations.css +24 -3
  692. package/dist/src/web-ui/app/styles/54-spark-chat.css +62 -46
  693. package/dist/src/web-ui/app/styles/65-appearance.css +60 -0
  694. package/dist/src/web-ui/app/styles/66-navigation-display.css +30 -0
  695. package/dist/src/web-ui/app/styles/67-confirmation-dialog.css +32 -0
  696. package/dist/src/web-ui/app/styles/95-home-widgets.css +2 -1
  697. package/dist/src/web-ui/app/styles.css +9 -0
  698. package/dist/src/web-ui/app/ui-behavior.d.ts +1 -1
  699. package/dist/src/web-ui/app/ui-behavior.js +1 -0
  700. package/dist/src/web-ui/client-state/preference-shapes.js +6 -1
  701. package/dist/src/web-ui/client-state/preferences.js +8 -2
  702. package/dist/src/web-ui/client-state/reasoning-preference-shape.d.ts +1 -0
  703. package/dist/src/web-ui/client-state/reasoning-preference-shape.js +18 -0
  704. package/dist/src/web-ui/client-state/store.js +3 -2
  705. package/dist/src/web-ui/client-state/transaction-order.d.ts +2 -0
  706. package/dist/src/web-ui/client-state/transaction-order.js +18 -0
  707. package/dist/src/web-ui/local-runtime/api-router.d.ts +2 -0
  708. package/dist/src/web-ui/local-runtime/api-router.js +18 -0
  709. package/dist/src/web-ui/local-runtime/automation-routes.js +2 -1
  710. package/dist/src/web-ui/local-runtime/automation-run-page.d.ts +5 -0
  711. package/dist/src/web-ui/local-runtime/automation-run-page.js +26 -0
  712. package/dist/src/web-ui/local-runtime/memory-embedding-connection-input.d.ts +7 -0
  713. package/dist/src/web-ui/local-runtime/memory-embedding-connection-input.js +22 -0
  714. package/dist/src/web-ui/local-runtime/memory-embedding-connection-service.d.ts +20 -0
  715. package/dist/src/web-ui/local-runtime/memory-embedding-connection-service.js +47 -0
  716. package/dist/src/web-ui/local-runtime/memory-onboarding-routes.js +32 -0
  717. package/dist/src/web-ui/local-runtime/model-connection-inspection.d.ts +7 -0
  718. package/dist/src/web-ui/local-runtime/model-connection-inspection.js +48 -0
  719. package/dist/src/web-ui/local-runtime/model-setup-catalog.d.ts +2 -1
  720. package/dist/src/web-ui/local-runtime/model-setup-catalog.js +3 -1
  721. package/dist/src/web-ui/local-runtime/model-setup-identity.js +1 -1
  722. package/dist/src/web-ui/local-runtime/model-setup-input.d.ts +5 -2
  723. package/dist/src/web-ui/local-runtime/model-setup-input.js +29 -6
  724. package/dist/src/web-ui/local-runtime/model-setup-provider.d.ts +1 -1
  725. package/dist/src/web-ui/local-runtime/model-setup-provider.js +9 -6
  726. package/dist/src/web-ui/local-runtime/model-setup-retry.js +4 -1
  727. package/dist/src/web-ui/local-runtime/model-setup-service.d.ts +2 -1
  728. package/dist/src/web-ui/local-runtime/pending-tool-approvals.js +4 -1
  729. package/dist/src/web-ui/local-runtime/project-routes.js +10 -2
  730. package/dist/src/web-ui/local-runtime/request-execution.js +1 -0
  731. package/dist/src/web-ui/local-runtime/runtime-setup-auth.d.ts +2 -0
  732. package/dist/src/web-ui/local-runtime/runtime-setup-auth.js +20 -0
  733. package/dist/src/web-ui/local-runtime/runtime-setup-connection-edit.js +3 -2
  734. package/dist/src/web-ui/local-runtime/runtime-setup-credential-completion.js +6 -1
  735. package/dist/src/web-ui/local-runtime/runtime-setup-input.d.ts +3 -2
  736. package/dist/src/web-ui/local-runtime/runtime-setup-input.js +17 -5
  737. package/dist/src/web-ui/local-runtime/runtime-setup-provider.d.ts +4 -1
  738. package/dist/src/web-ui/local-runtime/runtime-setup-provider.js +6 -2
  739. package/dist/src/web-ui/local-runtime/runtime-setup-routes.d.ts +11 -2
  740. package/dist/src/web-ui/local-runtime/runtime-setup-routes.js +11 -2
  741. package/dist/src/web-ui/local-runtime/runtime-setup-scaffold.js +3 -2
  742. package/dist/src/web-ui/local-runtime/runtime-setup-service.d.ts +25 -4
  743. package/dist/src/web-ui/local-runtime/runtime-setup-service.js +19 -9
  744. package/dist/src/web-ui/local-runtime/setup-embedding-input.d.ts +3 -1
  745. package/dist/src/web-ui/local-runtime/setup-embedding-input.js +38 -6
  746. package/dist/src/web-ui/local-runtime/setup-embedding-llamacpp.d.ts +11 -0
  747. package/dist/src/web-ui/local-runtime/setup-embedding-llamacpp.js +53 -0
  748. package/dist/src/web-ui/local-runtime/setup-embedding-provider.js +23 -9
  749. package/dist/src/web-ui/local-runtime/setup-embedding-routes.d.ts +7 -2
  750. package/dist/src/web-ui/local-runtime/setup-embedding-routes.js +5 -3
  751. package/dist/src/web-ui/local-runtime/setup-embedding-service.d.ts +1 -0
  752. package/dist/src/web-ui/local-runtime/skill-management-routes.d.ts +18 -0
  753. package/dist/src/web-ui/local-runtime/skill-management-routes.js +118 -0
  754. package/docs/configuration.md +11 -1
  755. package/docs/installation.md +11 -5
  756. package/docs/llamacpp.md +248 -0
  757. package/docs/long-term-memory.md +12 -0
  758. package/docs/running-locally.md +7 -1
  759. package/docs/runtime-public-contracts.md +37 -0
  760. package/examples/request-runner.config.example.json +3 -0
  761. package/package.json +2 -1
  762. package/plugins/project-orientation/source/index.ts +2 -3
  763. package/plugins/project-orientation/source/inspection-failure.ts +1 -1
  764. package/plugins/project-orientation/source/project-target.ts +29 -0
  765. package/plugins/project-orientation/src/index.cjs +21 -2
  766. package/plugins/web/skills/web_fetch_skill/SKILL.md +1 -2
  767. package/plugins/web/skills/web_search_skill/SKILL.md +3 -7
  768. package/runtime.config.schema.json +140 -0
  769. package/src/runtime/README.md +145 -4
@@ -1,8 +1,9 @@
1
1
  import { projectCanonicalRequestToolResult } from "../../context/canonical-capability-result.js";
2
+ import { createSemanticCompactionSha256Fingerprint, } from "../../context/semantic-compaction/contracts.js";
2
3
  export const EXECUTION_CAPABILITY_RESULT_MESSAGE_KIND = "runtime_execution_capability_result_v1";
3
4
  export const EXECUTION_CAPABILITY_TOOL_NAME = "runtime_capability";
4
- /** One exact native result representation for active input and saved-source compatibility. */
5
- export function buildExecutionCapabilityResultMessage(head, execution) {
5
+ /** Canonical bytes stay stable; only the model view may omit an exact duplicate. */
6
+ export function buildExecutionCapabilityResultMessage(head, execution, projection = "canonical") {
6
7
  if (execution.status !== "settled" || execution.exactResult === undefined) {
7
8
  throw new Error("execution_agent_continuation_result_invalid");
8
9
  }
@@ -19,7 +20,9 @@ export function buildExecutionCapabilityResultMessage(head, execution) {
19
20
  capabilityId: execution.capabilityId,
20
21
  outcome: canonical.outcome,
21
22
  observedEffect: canonical.observedEffect,
22
- summary: canonical.summary,
23
+ ...(canOmitDuplicateSummary(projection, canonical)
24
+ ? {}
25
+ : { summary: canonical.summary }),
23
26
  adapterResult: execution.exactResult,
24
27
  },
25
28
  }),
@@ -27,3 +30,19 @@ export function buildExecutionCapabilityResultMessage(head, execution) {
27
30
  toolName: EXECUTION_CAPABILITY_TOOL_NAME,
28
31
  });
29
32
  }
33
+ /** Reuse the original native-message identity for compaction and approval resume. */
34
+ export function buildExecutionCapabilityResultSource(head, execution) {
35
+ const content = JSON.stringify(buildExecutionCapabilityResultMessage(head, execution));
36
+ return Object.freeze({
37
+ sourceRef: `tool-result:${execution.executionId}`,
38
+ sourceFingerprint: createSemanticCompactionSha256Fingerprint(content),
39
+ content,
40
+ });
41
+ }
42
+ function canOmitDuplicateSummary(projection, result) {
43
+ if (projection !== "model")
44
+ return false;
45
+ if (result.adapterResult?.kind !== "registered_tool_execution_result_v1")
46
+ return false;
47
+ return result.summary === result.adapterResult.result.output;
48
+ }
@@ -0,0 +1,17 @@
1
+ import { type CapabilityCatalogGroup, type CapabilityDescriptor } from "../../orchestration/capability-adapters/index.js";
2
+ import type { RoleCallFrame, RoleCallLedgerHead } from "../../orchestration/role-calls/index.js";
3
+ import { type RequestExecutionScope } from "../../request/execution-scope.js";
4
+ /** One decision-local capability offer shared by guidance loading and input. */
5
+ export type ExecutionCapabilityScope = Readonly<{
6
+ capabilities: readonly CapabilityDescriptor[];
7
+ capabilityCatalogGroups: readonly CapabilityCatalogGroup[];
8
+ activeCapabilityCatalogGroupIds: readonly string[] | null;
9
+ knownGroupIds: readonly string[];
10
+ remainingExecutions: number;
11
+ capabilityScopeAction: "open" | "extend" | null;
12
+ }>;
13
+ export declare function resolveExecutionCapabilityScope(request: RequestExecutionScope, options: Readonly<{
14
+ head: RoleCallLedgerHead;
15
+ call: RoleCallFrame;
16
+ }>): ExecutionCapabilityScope;
17
+ export declare function assertExecutionAgentCanonicalSource(request: RequestExecutionScope, head: RoleCallLedgerHead, call: RoleCallFrame): void;
@@ -0,0 +1,54 @@
1
+ import { projectCapabilityCatalogGroups, projectCapabilityScope, } from "../../orchestration/capability-adapters/index.js";
2
+ import { resolveRequestWorkerCapabilities, } from "../../request/execution-scope.js";
3
+ export function resolveExecutionCapabilityScope(request, options) {
4
+ assertExecutionAgentCanonicalSource(request, options.head, options.call);
5
+ const allCapabilities = resolveRequestWorkerCapabilities(request).provider.getDescriptors();
6
+ const capabilityCatalogGroups = projectCapabilityCatalogGroups(allCapabilities);
7
+ const activeCapabilityCatalogGroupIds = options.call.workerCapabilityScope
8
+ ? Object.freeze([...options.call.workerCapabilityScope.catalogGroupIds])
9
+ : null;
10
+ const remainingExecutions = options.head.policy.limits.maxCapabilityExecutions -
11
+ options.head.state.capabilityExecutions.length;
12
+ const capabilities = canOfferScopedCapabilities(activeCapabilityCatalogGroupIds, remainingExecutions)
13
+ ? projectCapabilityScope({
14
+ entries: allCapabilities,
15
+ scope: options.call.workerCapabilityScope,
16
+ descriptorOf: (entry) => entry,
17
+ }).entries
18
+ : Object.freeze([]);
19
+ const knownGroupIds = Object.freeze(capabilityCatalogGroups.map(({ groupId }) => groupId));
20
+ return Object.freeze({
21
+ capabilities,
22
+ capabilityCatalogGroups,
23
+ activeCapabilityCatalogGroupIds,
24
+ knownGroupIds,
25
+ remainingExecutions,
26
+ capabilityScopeAction: resolveCapabilityScopeAction(activeCapabilityCatalogGroupIds, knownGroupIds, remainingExecutions),
27
+ });
28
+ }
29
+ export function assertExecutionAgentCanonicalSource(request, head, call) {
30
+ if (head.state.requestId !== request.requestId ||
31
+ head.state.phase !== "running" ||
32
+ head.state.rootCallId !== call.callId ||
33
+ head.state.activeCallId !== call.callId ||
34
+ call.parentCallId !== null ||
35
+ call.status !== "active") {
36
+ throw new Error("execution_agent_head_invalid");
37
+ }
38
+ }
39
+ function canOfferScopedCapabilities(activeGroupIds, remainingExecutions) {
40
+ if (activeGroupIds === null)
41
+ return false;
42
+ return remainingExecutions > 0;
43
+ }
44
+ function resolveCapabilityScopeAction(activeGroupIds, knownGroupIds, remainingExecutions) {
45
+ if (remainingExecutions <= 0)
46
+ return null;
47
+ if (knownGroupIds.length === 0)
48
+ return null;
49
+ if (activeGroupIds === null)
50
+ return "open";
51
+ if (knownGroupIds.some((groupId) => !activeGroupIds.includes(groupId)))
52
+ return "extend";
53
+ return null;
54
+ }
@@ -1,17 +1,18 @@
1
1
  import type { RequestSteeringSnapshot } from "../../request/request-steering.js";
2
2
  import type { ModelStep } from "../../../shared/model-steps.js";
3
- import type { RoleCallFrame } from "../../orchestration/role-calls/index.js";
3
+ import type { RoleCallFrame, RoleCallLedgerHead } from "../../orchestration/role-calls/index.js";
4
4
  import type { RequestExecutionScope } from "../../request/execution-scope.js";
5
5
  type ExecutionAgentCompactionOptions = Readonly<{
6
6
  call: RoleCallFrame;
7
7
  steeringSnapshot: RequestSteeringSnapshot;
8
- sourceRevision: number;
8
+ head: RoleCallLedgerHead;
9
9
  consumer?: ModelStep;
10
10
  allowedConsumers: readonly ModelStep[];
11
11
  scopeSuffix?: string;
12
12
  }>;
13
13
  export declare function createExecutionAgentCompactionController(request: RequestExecutionScope, options: ExecutionAgentCompactionOptions): Readonly<{
14
14
  project(messages: readonly import("../../../model-gateway/types.js").ChatMessage[]): import("../../../model-gateway/types.js").ChatMessage[];
15
+ projectForCompaction?(messages: readonly import("../../../model-gateway/types.js").ChatMessage[]): readonly import("../../../model-gateway/types.js").ChatMessage[];
15
16
  hasExhaustedVerifiedCompactionSources?(messages: readonly import("../../../model-gateway/types.js").ChatMessage[]): boolean;
16
17
  getStages(): readonly import("../../model/context-compaction-contracts.js").ModelStepCompactionStage[];
17
18
  }>;
@@ -1,18 +1,42 @@
1
+ import { resolveExecutionEvidenceCheckpoint } from "../../context/execution-compaction-checkpoint-selection.js";
1
2
  import { executionCompactionScopeId, projectExecutionCompactionObjective, } from "../../context/execution-compaction-objective.js";
2
3
  import { createModelStepCompactionController } from "../../context/model-step-compaction.js";
4
+ import { buildExecutionCapabilityResultSource } from "./capability-result-context.js";
3
5
  export function createExecutionAgentCompactionController(request, options) {
4
6
  const objective = projectExecutionCompactionObjective(request.prompt, options.steeringSnapshot.updates);
5
7
  const call = Object.freeze({ ...options.call, objective });
8
+ const scopeId = executionCompactionScopeId({
9
+ callId: call.callId,
10
+ prompt: request.prompt,
11
+ objective,
12
+ ...(options.scopeSuffix ? { scopeSuffix: options.scopeSuffix } : {}),
13
+ });
14
+ const checkpoint = resolveExecutionEvidenceCheckpoint({
15
+ requestId: request.requestId,
16
+ prompt: request.prompt,
17
+ objective,
18
+ callId: call.callId,
19
+ store: request.contextCompactionStore,
20
+ updates: options.steeringSnapshot.updates,
21
+ allowedConsumers: options.allowedConsumers,
22
+ scopeSuffix: options.scopeSuffix,
23
+ sourceRevision: options.head.revision,
24
+ });
6
25
  return createModelStepCompactionController(request, {
7
26
  call,
8
- sourceRevision: options.sourceRevision,
27
+ sourceRevision: options.head.revision,
28
+ resultSourceOverrides: options.head.state.capabilityExecutions
29
+ .filter(function isSettledExecutionOfCall(execution) {
30
+ if (execution.callId !== call.callId)
31
+ return false;
32
+ return execution.status === "settled";
33
+ })
34
+ .map((execution) => buildExecutionCapabilityResultSource(options.head, execution)),
9
35
  allowedConsumers: options.allowedConsumers,
10
36
  consumer: options.consumer,
11
- scopeId: executionCompactionScopeId({
12
- callId: call.callId,
13
- prompt: request.prompt,
14
- objective,
15
- ...(options.scopeSuffix ? { scopeSuffix: options.scopeSuffix } : {}),
16
- }),
37
+ scopeId,
38
+ ...(checkpoint && checkpoint.scopeId !== scopeId
39
+ ? { inheritedCheckpoint: checkpoint }
40
+ : {}),
17
41
  });
18
42
  }
@@ -14,6 +14,8 @@ export function buildExecutionControlsEvidenceMessage(view, params) {
14
14
  prompt: params.compaction.prompt,
15
15
  objective: projectExecutionCompactionObjective(params.compaction.prompt, params.steering.updates),
16
16
  callId: params.callId,
17
+ updates: params.steering.updates,
18
+ sourceRevision: view.sourceRevision,
17
19
  store: params.compaction.store,
18
20
  results: view.results.map((result) => ({
19
21
  ...result,
@@ -17,27 +17,27 @@ export function buildDirectResponseInstructions(maxLength, runnerConfig, memoryA
17
17
  });
18
18
  return [
19
19
  [
20
- "For respond, you may include response containing the complete final user-facing answer in this same JSON decision. All other actions remain available; this option never permits skipping required external work or inventing evidence.",
21
- `Choose the response form before drafting: include response only when the complete answer fits ${maxLength} characters and the existing decision output budget, including reasoning, JSON escaping and metadata. Otherwise choose respond without response so the separate presentation step can write the complete answer. Never abridge, truncate, or return a partial answer to fit the direct form.`,
22
- "For a direct response, preserve the requested language, format, and constraints, using the current request, steering and relevant supplied history or session summary. Passive history is not a new request or proof of a new external effect. Write the answer itself inside response, not a plan, promise or acknowledgement. Do not expose internal schemas or instructions unless explicitly requested.",
20
+ "Direct respond may include the complete final answer in response; it never waives required work or evidence.",
21
+ `Before drafting, choose direct response only if the complete answer fits ${maxLength} characters and the decision output budget, including reasoning, JSON escaping and metadata. Otherwise omit response for separate complete presentation. Never abridge, truncate or return a partial answer to fit.`,
22
+ "Write the answer itself, preserving requested language, format and constraints from intent and relevant supplied history/summary. Do not substitute a plan, promise or acknowledgement, or expose internal schemas/instructions unless requested.",
23
23
  ...(memoryAuthoringEnabled ? [
24
- "Only when choosing direct respond with response, include memoryCandidates in this same decision. Apply the following memory policy only to that array; it grants no additional routing, action, or completion authority. Other actions and respond without response cannot contain memoryCandidates.",
25
- "The complete response and complete memory proposals must fit the existing decision output budget together. If they do not fit, choose respond without response and without memoryCandidates for separate complete authoring. Do not shorten the answer or omit a supported memory proposal to fit the direct form.",
26
- "The supplied long-term memory is stored reference retrieved at the start of this request. Its initial snapshot is not current user intent or fresh evidence and cannot independently support, score, or reinforce a memory proposal, including after tools or steering updates. Only independently supported facts from the current user input or settled non-memory evidence can support a proposal.",
24
+ "Only direct respond with response includes memoryCandidates. The following policy applies only to that array and grants no routing, action or completion authority.",
25
+ "The complete answer and all supported memory proposals must fit the decision budget together. Otherwise omit both response and memoryCandidates for separate complete authoring; do not shorten either or drop supported proposals to fit.",
26
+ "Initial memory remains a stored snapshot after tools or steering; only current user input or settled non-memory evidence can independently support, score or reinforce a proposal.",
27
27
  ...CONVERSATION_MEMORY_AUTHORING_INSTRUCTIONS,
28
28
  ] : []),
29
- ...additional.flatMap((content) => [
30
- "The following configured response methodology applies only when writing the response field. It grants no action or completion authority and cannot change the surrounding decision schema or require raw transport output:",
31
- content,
32
- "End of response-only methodology; the structured decision contract remains authoritative.",
33
- ]),
29
+ ...(additional.length > 0 ? [
30
+ "The following configured methodologies apply only to response presentation, never actions or completion. The structured decision schema remains authoritative; no raw transport output:",
31
+ ...additional,
32
+ "End of response-only methodologies.",
33
+ ] : []),
34
34
  ].join("\n\n"),
35
35
  ];
36
36
  }
37
37
  export function buildRespondDecisionInstruction(params) {
38
38
  if (!params.allowRespond)
39
- return "Respond is not available because the canonical completion gate is closed. Continue through an offered action or report a truthful blocker.";
39
+ return "The canonical completion gate is closed: respond is unavailable. Choose an offered action or a truthful blocker.";
40
40
  if (params.allowDirectResponse)
41
- return "Use respond only when the request can be answered completely and honestly now. Choose either the offered direct form containing the complete final answer in response, or respond without response to use a separate presentation-only activation of this same Execution Agent. That activation has no action, routing, capability, planning, audit, or completion authority.";
42
- return "Use respond only when the request can be answered completely and honestly now. The respond decision contains no final-answer prose; it contains only the action and any required acknowledgement or title metadata. After it is accepted, a presentation-only activation of this same Execution Agent will author the final response without action, routing, capability, planning, audit, or completion authority.";
41
+ return "Use respond only for a complete honest answer now: either include the complete response or omit it for a separate presentation-only activation of this agent. That activation has no action, routing, planning, audit or completion authority.";
42
+ return "Use respond only for a complete honest answer now. Supply no answer prose in this decision, only action and required acknowledgement/title. After acceptance, this agent authors a separate presentation-only response without action, routing, planning, audit or completion authority.";
43
43
  }
@@ -0,0 +1,6 @@
1
+ /** Decision-only policy; source evidence remains in its canonical context lane. */
2
+ export declare const EXECUTION_EVIDENCE_REUSE_INSTRUCTIONS: string;
3
+ export declare function appendExecutionEvidenceReuseInstructions(params: Readonly<{
4
+ instructions: string;
5
+ hasCapabilities: boolean;
6
+ }>): string;
@@ -0,0 +1,13 @@
1
+ /** Decision-only policy; source evidence remains in its canonical context lane. */
2
+ export const EXECUTION_EVIDENCE_REUSE_INSTRUCTIONS = [
3
+ "Use the latest supplied continuation checkpoint and settled evidence as your working memory. First establish what they already tell you about the next requested outcome. When that evidence is sufficient, continue the work; do not reread just to restore the original wording or the complete file after compaction.",
4
+ "A read has real latency and token cost and can cause another compaction. Before selecting a repeated observation, identify the concrete fact still missing from the supplied evidence, or the relevant change that makes the evidence stale. Choose the smallest lookup or range that resolves that gap rather than collecting the same file again.",
5
+ "For an existing-file edit, the selected editor loads the current target itself. Reuse the collected interface and dependency facts to specify the change; do not reread the target solely to supply its full body to that editor. Related files still require evidence when their relevant contract is not already supplied.",
6
+ "Conserve reads without weakening grounding: never invent missing values, treat omissions as absence, ignore a relevant change, or skip required verification merely to save a call. If a necessary fact is genuinely missing, obtain it with a focused observation.",
7
+ "",
8
+ ].join("\n");
9
+ export function appendExecutionEvidenceReuseInstructions(params) {
10
+ if (!params.hasCapabilities)
11
+ return params.instructions;
12
+ return [params.instructions, EXECUTION_EVIDENCE_REUSE_INSTRUCTIONS].join("\n\n");
13
+ }
@@ -2,8 +2,9 @@ import { directResponseVariants } from "./direct-response-contract.js";
2
2
  import { createMemoryRecallDecisionSchema } from "../memory-recall-decision.js";
3
3
  import { createExecutionWorkPlanDecisionSchema } from "./work-plan-schema.js";
4
4
  import { isToolCatalogGroupId } from "../../../capabilities/tool-types.js";
5
- import { CAPABILITY_COUNT_MAX, EXECUTION_WORKING_DIRECTORY_MAX_LENGTH, EXECUTION_WORKING_DIRECTORY_PATTERN, canOfferCapabilityBatchSelection, normalizeCapabilityDescriptor, normalizeCapabilityControlsSchema, partitionCapabilityControlsSchema, } from "../../orchestration/capability-adapters/index.js";
5
+ import { CAPABILITY_COUNT_MAX, EXECUTION_WORKING_DIRECTORY_MAX_LENGTH, EXECUTION_WORKING_DIRECTORY_PATTERN, canOfferCapabilityBatchSelection, normalizeCapabilityDescriptor, } from "../../orchestration/capability-adapters/index.js";
6
6
  import { EXECUTION_AGENT_ACKNOWLEDGEMENT_MAX_LENGTH, EXECUTION_AGENT_AUDIT_CRITERION_COUNT_MAX, EXECUTION_AGENT_AUDIT_CRITERION_ID_MAX_LENGTH, EXECUTION_AGENT_CAPABILITY_SCOPE_GROUP_COUNT_MAX, EXECUTION_AGENT_CAPABILITY_BATCH_COUNT_MAX, EXECUTION_AGENT_OBJECTIVE_MAX_LENGTH, EXECUTION_AGENT_RESPONSE_MAX_LENGTH, EXECUTION_AGENT_TITLE_MAX_LENGTH, } from "./contracts.js";
7
+ import { partitionExecutionCapabilityControls } from "./capability-controls-partition.js";
7
8
  import { projectCapabilitySelectionProperties } from "./capability-selection-schema.js";
8
9
  import { freezeControlsEvidenceEligibility } from "./controls-evidence-contract.js";
9
10
  export function createExecutionAgentDecisionFormat(options = {}) {
@@ -183,11 +184,7 @@ export function prepareExecutionAgentDecisionContract(options) {
183
184
  if (!normalized.ok) {
184
185
  throw new Error("execution_agent_capabilities_invalid");
185
186
  }
186
- const controls = normalizeCapabilityControlsSchema(normalized.value.controls);
187
- if (!controls.ok) {
188
- throw new Error("execution_agent_capabilities_invalid");
189
- }
190
- const partition = partitionCapabilityControlsSchema(controls.value, normalized.value.selectionControlIds);
187
+ const partition = partitionExecutionCapabilityControls(normalized.value);
191
188
  if (!partition.ok) {
192
189
  throw new Error("execution_agent_capabilities_invalid");
193
190
  }
@@ -2,11 +2,13 @@ import type { ChatMessage, ModelGatewayJsonSchemaFormat } from "../../../model-g
2
2
  import type { RequestContextProjection } from "../../context/request-context-contracts.js";
3
3
  import type { ExecutionMemoryProjection } from "../../long-term-memory/initial-context.js";
4
4
  import type { RoleCallFrame, RoleCallLedgerHead } from "../../orchestration/role-calls/index.js";
5
- import { type CapabilityCatalogGroup, type CapabilityDescriptor } from "../../orchestration/capability-adapters/index.js";
5
+ import type { CapabilityCatalogGroup, CapabilityDescriptor } from "../../orchestration/capability-adapters/index.js";
6
6
  import { type RequestExecutionScope } from "../../request/execution-scope.js";
7
7
  import { appendRequestSteeringContext } from "../../request/request-steering-context.js";
8
8
  import type { RequestSteeringSnapshot } from "../../request/request-steering.js";
9
9
  import { EXECUTION_AGENT_DECISION_MODEL_STEP, type ExecutionAgentDecisionContractOptions } from "./contracts.js";
10
+ import { type ExecutionCapabilityScope } from "./capability-scope.js";
11
+ import { type ExecutionObservationGuidance } from "./observation-guidance.js";
10
12
  export type ExecutionAgentInput = Readonly<{
11
13
  context: RequestContextProjection;
12
14
  messages: ReturnType<typeof appendRequestSteeringContext>;
@@ -27,6 +29,8 @@ type BuildExecutionAgentInputOptions = Readonly<{
27
29
  allowAuditor: boolean;
28
30
  memoryRecallMessage?: ChatMessage;
29
31
  memoryContext?: ExecutionMemoryProjection;
32
+ capabilityScope?: ExecutionCapabilityScope;
33
+ observationGuidance?: readonly ExecutionObservationGuidance[];
30
34
  }>;
31
35
  export declare function buildExecutionAgentInput(request: RequestExecutionScope, options: BuildExecutionAgentInputOptions): ExecutionAgentInput;
32
36
  export {};
@@ -1,3 +1,4 @@
1
+ import { projectAvailableSkillsInstructions } from "../../knowledge-skills/available-skills-projection.js";
1
2
  import { buildRuntimeFilesystemScopeMessage, canEstablishRuntimeWorkingDirectory, } from "../../context/runtime-filesystem-scope.js";
2
3
  import { canAuthorDirectResponseMemory, resolveDirectResponseOffer } from "./direct-response-policy.js";
3
4
  import { buildDirectResponseInstructions } from "./direct-response-prompt.js";
@@ -6,13 +7,13 @@ import { buildSparkConversationInstructions } from "../../context/spark-conversa
6
7
  import { projectRequestContext } from "../../context/request-context.js";
7
8
  import { projectRootSessionMemory } from "../../context/session-memory/root-projection.js";
8
9
  import { buildConversationMemoryAvailabilityInstructions } from "../../long-term-memory/conversation-authoring/prompt.js";
10
+ import { buildConversationMemoryAuthoringPlainTextMessage } from "../../long-term-memory/conversation-authoring/plain-text-context.js";
9
11
  import { canOfferMemoryRecall } from "../../long-term-memory/recall-policy.js";
10
12
  import { projectMemoryRecallContinuations } from "../../long-term-memory/recall-continuation.js";
11
13
  import { buildRequestTemporalContextMessage } from "../../context/request-temporal-context.js";
12
14
  import { projectScheduledExecutionContext } from "../../context/scheduled-execution-context.js";
13
15
  import { buildImmediateOperationSupervisionEvidenceMessage } from "../../context/operation-supervision-evidence.js";
14
16
  import { resolveModelContextBudget } from "../../model/model-context-budget.js";
15
- import { projectCapabilityCatalogGroups, projectCapabilityScope, } from "../../orchestration/capability-adapters/index.js";
16
17
  import { resolveRequestWorkerCapabilities, } from "../../request/execution-scope.js";
17
18
  import { resolveRequestCapabilityBriefEntries } from "../../request/capability-brief.js";
18
19
  import { appendRequestSteeringContext } from "../../request/request-steering-context.js";
@@ -22,34 +23,15 @@ import { projectEligibleControlsEvidenceExecutionIds, requiresControlsEvidenceSe
22
23
  import { createExecutionAgentDecisionFormat, prepareExecutionAgentDecisionContract, } from "./format.js";
23
24
  import { projectExecutionWorkPlanOptions } from "./work-plan-sources.js";
24
25
  import { buildExecutionAgentInstructions } from "./prompt.js";
26
+ import { appendExecutionEvidenceReuseInstructions } from "./evidence-reuse-instructions.js";
27
+ import { assertExecutionAgentCanonicalSource, resolveExecutionCapabilityScope, } from "./capability-scope.js";
28
+ import { buildExecutionObservationGuidanceInstructions, } from "./observation-guidance.js";
25
29
  import { buildExecutionCapabilityCatalogMessage, buildExecutionCapabilityGroupCatalogMessage, buildExecutionContinuationMessages, buildExecutionDecisionStateMessage, } from "./state-context.js";
26
30
  export function buildExecutionAgentInput(request, options) {
27
- assertCanonicalSource(request, options.head, options.call);
31
+ assertExecutionAgentCanonicalSource(request, options.head, options.call);
28
32
  const directResponse = resolveDirectResponseOffer(request, options.head, options.call);
29
- const allCapabilities = resolveRequestWorkerCapabilities(request).provider.getDescriptors();
30
- const capabilityCatalogGroups = projectCapabilityCatalogGroups(allCapabilities);
31
- const activeCapabilityCatalogGroupIds = options.call.workerCapabilityScope?.catalogGroupIds ?? null;
33
+ const { capabilities, capabilityCatalogGroups, activeCapabilityCatalogGroupIds, knownGroupIds, remainingExecutions, capabilityScopeAction, } = options.capabilityScope ?? resolveExecutionCapabilityScope(request, options);
32
34
  const eligibleSessionArtifactPaths = projectEligibleSessionArtifactPaths(request.sessionArtifactPaths, options.head, options.call);
33
- const remainingExecutions = options.head.policy.limits.maxCapabilityExecutions -
34
- options.head.state.capabilityExecutions.length;
35
- const scopedCapabilities = activeCapabilityCatalogGroupIds !== null && remainingExecutions > 0
36
- ? projectCapabilityScope({
37
- entries: allCapabilities,
38
- scope: options.call.workerCapabilityScope,
39
- descriptorOf: (entry) => entry,
40
- }).entries
41
- : Object.freeze([]);
42
- const capabilities = scopedCapabilities;
43
- const knownGroupIds = Object.freeze(capabilityCatalogGroups.map(({ groupId }) => groupId));
44
- const hasInactiveGroup = activeCapabilityCatalogGroupIds !== null &&
45
- knownGroupIds.some((groupId) => !activeCapabilityCatalogGroupIds.includes(groupId));
46
- const capabilityScopeAction = remainingExecutions <= 0 || knownGroupIds.length === 0
47
- ? null
48
- : activeCapabilityCatalogGroupIds === null
49
- ? "open"
50
- : hasInactiveGroup
51
- ? "extend"
52
- : null;
53
35
  const auditInput = projectAuditorInputState(options.head, options.call.callId, options.steeringSnapshot.version);
54
36
  const availableAuditCriterionIds = options.allowAuditor && auditInput.available
55
37
  ? Object.freeze([EXECUTION_AGENT_ROOT_AUDIT_CRITERION_ID])
@@ -112,6 +94,7 @@ export function buildExecutionAgentInput(request, options) {
112
94
  includeTitle: options.includeTitle,
113
95
  includeWorkingDirectory: options.call.workingDirectory === undefined,
114
96
  }),
97
+ ...buildExecutionObservationGuidanceInstructions(capabilities, options.observationGuidance ?? []),
115
98
  ...buildDirectResponseInstructions(directResponse.maxLength, request.runnerConfig, directMemoryAuthoring !== undefined),
116
99
  ...buildConversationMemoryAvailabilityInstructions(request.longTermMemory?.enabled === true),
117
100
  ...buildSparkConversationInstructions(request.sessionKind),
@@ -131,7 +114,8 @@ export function buildExecutionAgentInput(request, options) {
131
114
  ...(filesystemMessage ? [filesystemMessage] : []),
132
115
  ...scheduledExecution.referenceMessages,
133
116
  ...(automaticMemoryMessage ? [automaticMemoryMessage] : []),
134
- ...(directMemoryAuthoring?.context ? [directMemoryAuthoring.context.message] : []),
117
+ ...(directMemoryAuthoring?.context
118
+ ? [buildConversationMemoryAuthoringPlainTextMessage(directMemoryAuthoring.context)] : []),
135
119
  ...(request.temporalContext
136
120
  ? [buildRequestTemporalContextMessage(request.temporalContext)]
137
121
  : []),
@@ -152,8 +136,11 @@ export function buildExecutionAgentInput(request, options) {
152
136
  requestId: request.requestId, reason: directResponse.reason,
153
137
  maxLength: directResponse.maxLength ?? null,
154
138
  });
155
- const context = projectRequestContext({
156
- instructions: scheduledExecution.instructions,
139
+ const contextInput = {
140
+ instructions: appendExecutionEvidenceReuseInstructions({
141
+ instructions: scheduledExecution.instructions,
142
+ hasCapabilities: capabilities.length > 0,
143
+ }),
157
144
  format,
158
145
  ...sessionMemory,
159
146
  prompt: request.prompt,
@@ -168,6 +155,15 @@ export function buildExecutionAgentInput(request, options) {
168
155
  callId: options.call.callId,
169
156
  },
170
157
  onEvent: request.onEvent,
158
+ };
159
+ const skills = remainingExecutions > 0
160
+ ? resolveRequestWorkerCapabilities(request).provider.getAvailableSkills?.() ?? []
161
+ : [];
162
+ const context = projectRequestContext({
163
+ ...contextInput,
164
+ instructions: projectAvailableSkillsInstructions({
165
+ skills, context: contextInput,
166
+ }),
171
167
  });
172
168
  return Object.freeze({
173
169
  context,
@@ -193,13 +189,3 @@ function projectEligibleSessionArtifactPaths(sessionArtifactPaths, head, call) {
193
189
  .slice(0, 8)
194
190
  .filter((target) => !currentRequestTargets.has(target)));
195
191
  }
196
- function assertCanonicalSource(request, head, call) {
197
- if (head.state.requestId !== request.requestId ||
198
- head.state.phase !== "running" ||
199
- head.state.rootCallId !== call.callId ||
200
- head.state.activeCallId !== call.callId ||
201
- call.parentCallId !== null ||
202
- call.status !== "active") {
203
- throw new Error("execution_agent_head_invalid");
204
- }
205
- }
@@ -0,0 +1,11 @@
1
+ import type { CapabilityDescriptor } from "../../orchestration/capability-adapters/index.js";
2
+ import { type RequestExecutionScope } from "../../request/execution-scope.js";
3
+ import type { ExecutionCapabilityScope } from "./capability-scope.js";
4
+ export type ExecutionObservationGuidance = Readonly<{
5
+ capabilityId: string;
6
+ guidance: string;
7
+ }>;
8
+ /** Load only the contracts whose operational values this decision will own. */
9
+ export declare function loadExecutionObservationGuidance(request: RequestExecutionScope, scope: ExecutionCapabilityScope): Promise<readonly ExecutionObservationGuidance[]>;
10
+ /** Preserve complete rules, deduplicate shared bodies, and bind applicability. */
11
+ export declare function buildExecutionObservationGuidanceInstructions(capabilities: readonly CapabilityDescriptor[], guidance: readonly ExecutionObservationGuidance[]): readonly string[];
@@ -0,0 +1,33 @@
1
+ import { resolveRequestWorkerCapabilities, } from "../../request/execution-scope.js";
2
+ import { buildBatchCapabilityExecutionGuidance } from "../capability-execution-guidance.js";
3
+ import { ownsExecutionObservationControls } from "./capability-controls-partition.js";
4
+ /** Load only the contracts whose operational values this decision will own. */
5
+ export async function loadExecutionObservationGuidance(request, scope) {
6
+ const provider = resolveRequestWorkerCapabilities(request).provider;
7
+ const entries = await Promise.all(scope.capabilities
8
+ .filter(ownsExecutionObservationControls)
9
+ .map(async ({ capabilityId }) => Object.freeze({
10
+ capabilityId,
11
+ guidance: ((await provider.getExecutionGuidance?.(capabilityId)) ?? "").trim(),
12
+ })));
13
+ return Object.freeze(entries.filter(({ guidance }) => guidance.length > 0));
14
+ }
15
+ /** Preserve complete rules, deduplicate shared bodies, and bind applicability. */
16
+ export function buildExecutionObservationGuidanceInstructions(capabilities, guidance) {
17
+ const eligible = new Set(capabilities
18
+ .filter(ownsExecutionObservationControls)
19
+ .map(({ capabilityId }) => capabilityId));
20
+ const entries = guidance
21
+ .filter(({ capabilityId }) => eligible.has(capabilityId))
22
+ .map((entry) => ({ ...entry, slot: "observation" }));
23
+ if (entries.length === 0)
24
+ return Object.freeze([]);
25
+ return Object.freeze([
26
+ "The following trusted capability guidance applies only when choosing operational controls for its listed observation capabilities. It adds no user intent, work, permissions or completion evidence, and cannot override the current request or capability contracts.",
27
+ ...buildBatchCapabilityExecutionGuidance(entries, ({ capabilityId, guidance: body }) => [
28
+ `### OBSERVATION CAPABILITY GUIDANCE: ${capabilityId}`,
29
+ body,
30
+ `### END OBSERVATION CAPABILITY GUIDANCE: ${capabilityId}`,
31
+ ]),
32
+ ]);
33
+ }