@abot-ai/runtime 1.3.1 → 1.4.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 (634) hide show
  1. package/dist/plugins/system/source/application-catalog.d.ts +14 -0
  2. package/dist/plugins/system/source/application-catalog.js +185 -0
  3. package/dist/plugins/system/source/application-launch.d.ts +10 -0
  4. package/dist/plugins/system/source/application-launch.js +80 -0
  5. package/dist/plugins/system/source/application-observation.d.ts +25 -0
  6. package/dist/plugins/system/source/application-observation.js +53 -0
  7. package/dist/plugins/system/source/commands.d.ts +7 -0
  8. package/dist/plugins/system/source/commands.js +71 -0
  9. package/dist/plugins/system/source/companion/autostart.d.ts +16 -0
  10. package/dist/plugins/system/source/companion/autostart.js +146 -0
  11. package/dist/plugins/system/source/companion/broker-location.d.ts +11 -0
  12. package/dist/plugins/system/source/companion/broker-location.js +76 -0
  13. package/dist/plugins/system/source/companion/broker-server.d.ts +4 -0
  14. package/dist/plugins/system/source/companion/broker-server.js +147 -0
  15. package/dist/plugins/system/source/companion/connection.d.ts +25 -0
  16. package/dist/plugins/system/source/companion/connection.js +182 -0
  17. package/dist/plugins/system/source/companion/liveness.d.ts +3 -0
  18. package/dist/plugins/system/source/companion/liveness.js +20 -0
  19. package/dist/plugins/system/source/companion/native-address.d.ts +12 -0
  20. package/dist/plugins/system/source/companion/native-address.js +41 -0
  21. package/dist/plugins/system/source/companion/native-identity.d.ts +2 -0
  22. package/dist/plugins/system/source/companion/native-identity.js +23 -0
  23. package/dist/plugins/system/source/companion/native-messages.d.ts +9 -0
  24. package/dist/plugins/system/source/companion/native-messages.js +77 -0
  25. package/dist/plugins/system/source/companion/native-session.d.ts +19 -0
  26. package/dist/plugins/system/source/companion/native-session.js +205 -0
  27. package/dist/plugins/system/source/companion/native-state.d.ts +22 -0
  28. package/dist/plugins/system/source/companion/native-state.js +126 -0
  29. package/dist/plugins/system/source/companion/native-supervisor.d.ts +10 -0
  30. package/dist/plugins/system/source/companion/native-supervisor.js +93 -0
  31. package/dist/plugins/system/source/companion/pairing-store.d.ts +22 -0
  32. package/dist/plugins/system/source/companion/pairing-store.js +102 -0
  33. package/dist/plugins/system/source/companion/private-store.d.ts +4 -0
  34. package/dist/plugins/system/source/companion/private-store.js +59 -0
  35. package/dist/plugins/system/source/companion/process-owner-identity.d.ts +22 -0
  36. package/dist/plugins/system/source/companion/process-owner-identity.js +144 -0
  37. package/dist/plugins/system/source/companion/protocol.d.ts +57 -0
  38. package/dist/plugins/system/source/companion/protocol.js +66 -0
  39. package/dist/plugins/system/source/contracts.d.ts +38 -0
  40. package/dist/plugins/system/source/contracts.js +7 -0
  41. package/dist/plugins/system/source/elevation.d.ts +8 -0
  42. package/dist/plugins/system/source/elevation.js +57 -0
  43. package/dist/plugins/system/source/handlers.d.ts +3 -0
  44. package/dist/plugins/system/source/handlers.js +90 -0
  45. package/dist/plugins/system/source/host-evidence.d.ts +4 -0
  46. package/dist/plugins/system/source/host-evidence.js +52 -0
  47. package/dist/plugins/system/source/host-observation.d.ts +25 -0
  48. package/dist/plugins/system/source/host-observation.js +59 -0
  49. package/dist/plugins/system/source/process-result.d.ts +4 -0
  50. package/dist/plugins/system/source/process-result.js +86 -0
  51. package/dist/plugins/system/source/process-runner.d.ts +3 -0
  52. package/dist/plugins/system/source/process-runner.js +103 -0
  53. package/dist/plugins/system/source/target-observation.d.ts +18 -0
  54. package/dist/plugins/system/source/target-observation.js +29 -0
  55. package/dist/plugins/system/source/targets.d.ts +8 -0
  56. package/dist/plugins/system/source/targets.js +101 -0
  57. package/dist/scripts/add-runtime-model.js +10 -53
  58. package/dist/scripts/runtime-model-addition.d.ts +13 -0
  59. package/dist/scripts/runtime-model-addition.js +53 -0
  60. package/dist/scripts/runtime-setup-files.d.ts +3 -1
  61. package/dist/scripts/runtime-setup-files.js +18 -1
  62. package/dist/src/capabilities/file-output-presentation.d.ts +43 -0
  63. package/dist/src/capabilities/file-output-presentation.js +133 -0
  64. package/dist/src/capabilities/tool-definition-validator/definition-parser.js +2 -0
  65. package/dist/src/capabilities/tool-definition-validator/event-input-text-options.d.ts +5 -0
  66. package/dist/src/capabilities/tool-definition-validator/event-input-text-options.js +37 -0
  67. package/dist/src/capabilities/tool-definition-validator/event-presentation.js +3 -0
  68. package/dist/src/capabilities/tool-definition-validator/module-registry.js +12 -0
  69. package/dist/src/capabilities/tool-event-input-text.d.ts +9 -0
  70. package/dist/src/capabilities/tool-event-input-text.js +64 -0
  71. package/dist/src/capabilities/tool-event-metadata.js +10 -0
  72. package/dist/src/capabilities/tool-executor.d.ts +1 -0
  73. package/dist/src/capabilities/tool-executor.js +1 -0
  74. package/dist/src/capabilities/tool-permission-mode.d.ts +7 -0
  75. package/dist/src/capabilities/tool-permission-mode.js +27 -0
  76. package/dist/src/capabilities/tool-types.d.ts +18 -2
  77. package/dist/src/cli/abot.js +18 -15
  78. package/dist/src/cli/host-companion-bundle.mjs +5201 -0
  79. package/dist/src/cli/host-companion-entry.d.ts +8 -0
  80. package/dist/src/cli/host-companion-entry.js +70 -0
  81. package/dist/src/cli/host-companion-startup.d.ts +4 -0
  82. package/dist/src/cli/host-companion-startup.js +35 -0
  83. package/dist/src/cli/host-companion.d.ts +5 -0
  84. package/dist/src/cli/host-companion.js +203 -0
  85. package/dist/src/model-gateway/server/configuration.js +4 -1
  86. package/dist/src/model-gateway/server/contracts.d.ts +2 -0
  87. package/dist/src/plugin-contract/entrypoint.d.ts +4 -2
  88. package/dist/src/plugin-contract/manifest.d.ts +1 -0
  89. package/dist/src/runtime/adapters/config-file-transaction.d.ts +46 -0
  90. package/dist/src/runtime/adapters/config-file-transaction.js +158 -0
  91. package/dist/src/runtime/adapters/configured-skill-provider.js +3 -3
  92. package/dist/src/runtime/adapters/in-memory-session-store.js +11 -1
  93. package/dist/src/runtime/adapters/long-term-memory/file-lock/acquisition.js +7 -3
  94. package/dist/src/runtime/adapters/long-term-memory/file-lock/contracts.d.ts +4 -1
  95. package/dist/src/runtime/adapters/long-term-memory/file-lock/install.d.ts +1 -1
  96. package/dist/src/runtime/adapters/long-term-memory/file-lock/install.js +5 -1
  97. package/dist/src/runtime/adapters/long-term-memory/file-lock/owner-identity.d.ts +3 -0
  98. package/dist/src/runtime/adapters/long-term-memory/file-lock/owner-identity.js +15 -0
  99. package/dist/src/runtime/adapters/long-term-memory/file-lock/owner-record.js +2 -0
  100. package/dist/src/runtime/adapters/long-term-memory/onboarding-config-repository.js +17 -43
  101. package/dist/src/runtime/adapters/registered-tool-normal-invocations/catalog/registrations.js +6 -2
  102. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/approval.js +10 -1
  103. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/execution-binding.d.ts +11 -0
  104. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/execution-binding.js +37 -0
  105. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/file-output-presentation.d.ts +7 -0
  106. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/file-output-presentation.js +105 -0
  107. package/dist/src/runtime/adapters/registered-tool-normal-invocations/execution/run.js +29 -3
  108. package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/action-fingerprint.d.ts +1 -0
  109. package/dist/src/runtime/adapters/registered-tool-normal-invocations/shared/action-fingerprint.js +1 -0
  110. package/dist/src/runtime/capabilities/configured-tool-registry.js +9 -1
  111. package/dist/src/runtime/capabilities/file-output-root-identity.d.ts +5 -0
  112. package/dist/src/runtime/capabilities/file-output-root-identity.js +146 -0
  113. package/dist/src/runtime/capabilities/file-output-root-marker-creation.d.ts +5 -0
  114. package/dist/src/runtime/capabilities/file-output-root-marker-creation.js +63 -0
  115. package/dist/src/runtime/capabilities/request-bound-tool-registry.d.ts +1 -0
  116. package/dist/src/runtime/capabilities/request-bound-tool-registry.js +6 -1
  117. package/dist/src/runtime/capabilities/request-module-preparation.d.ts +3 -0
  118. package/dist/src/runtime/capabilities/request-module-preparation.js +102 -0
  119. package/dist/src/runtime/capabilities/request-permission-catalog.d.ts +10 -0
  120. package/dist/src/runtime/capabilities/request-permission-catalog.js +50 -0
  121. package/dist/src/runtime/capabilities/request-permission-tool-registry.d.ts +4 -0
  122. package/dist/src/runtime/capabilities/request-permission-tool-registry.js +61 -0
  123. package/dist/src/runtime/capabilities/request-runtime-tool-registry.d.ts +3 -0
  124. package/dist/src/runtime/capabilities/request-runtime-tool-registry.js +5 -2
  125. package/dist/src/runtime/capabilities/request-working-directory.d.ts +3 -0
  126. package/dist/src/runtime/capabilities/request-working-directory.js +12 -0
  127. package/dist/src/runtime/composition.d.ts +2 -0
  128. package/dist/src/runtime/config/runner/loader.d.ts +4 -0
  129. package/dist/src/runtime/config/runner/loader.js +23 -3
  130. package/dist/src/runtime/context/capability-brief-budget.d.ts +18 -0
  131. package/dist/src/runtime/context/capability-brief-budget.js +38 -0
  132. package/dist/src/runtime/context/capability-brief-readmission.d.ts +21 -0
  133. package/dist/src/runtime/context/capability-brief-readmission.js +47 -0
  134. package/dist/src/runtime/context/capability-brief.d.ts +9 -2
  135. package/dist/src/runtime/context/capability-brief.js +21 -39
  136. package/dist/src/runtime/context/capability-descriptions.d.ts +3 -0
  137. package/dist/src/runtime/context/capability-descriptions.js +23 -0
  138. package/dist/src/runtime/default-environment-adapters.js +3 -4
  139. package/dist/src/runtime/local-application.d.ts +18 -0
  140. package/dist/src/runtime/local-application.js +12 -0
  141. package/dist/src/runtime/local-host/app-service-dispatch.d.ts +1 -0
  142. package/dist/src/runtime/local-host/app-service-dispatch.js +9 -0
  143. package/dist/src/runtime/local-host/client-services.d.ts +16 -0
  144. package/dist/src/runtime/local-host/client-services.js +3 -2
  145. package/dist/src/runtime/local-host/contracts.d.ts +4 -0
  146. package/dist/src/runtime/local-host/startup-connection.js +22 -7
  147. package/dist/src/runtime/local-host/transport.js +14 -2
  148. package/dist/src/runtime/orchestration/role-calls/candidate-validation.js +5 -2
  149. package/dist/src/runtime/orchestration/role-calls/command-decoder.js +3 -0
  150. package/dist/src/runtime/orchestration/role-calls/command-dispatch/work-plan-transition.d.ts +3 -0
  151. package/dist/src/runtime/orchestration/role-calls/command-dispatch/work-plan-transition.js +46 -0
  152. package/dist/src/runtime/orchestration/role-calls/command-dispatch.js +3 -0
  153. package/dist/src/runtime/orchestration/role-calls/contracts.d.ts +8 -4
  154. package/dist/src/runtime/orchestration/role-calls/transactions.js +2 -0
  155. package/dist/src/runtime/orchestration/role-calls/work-plan-contracts.d.ts +48 -0
  156. package/dist/src/runtime/orchestration/role-calls/work-plan-contracts.js +9 -0
  157. package/dist/src/runtime/orchestration/role-calls/work-plan-source.d.ts +7 -0
  158. package/dist/src/runtime/orchestration/role-calls/work-plan-source.js +85 -0
  159. package/dist/src/runtime/orchestration/role-calls/work-plan-transactions.d.ts +3 -0
  160. package/dist/src/runtime/orchestration/role-calls/work-plan-transactions.js +17 -0
  161. package/dist/src/runtime/orchestration/role-calls/work-plan-validation.d.ts +10 -0
  162. package/dist/src/runtime/orchestration/role-calls/work-plan-validation.js +149 -0
  163. package/dist/src/runtime/orchestration/worker-capabilities/contracts.d.ts +1 -1
  164. package/dist/src/runtime/orchestration/worker-capabilities/contracts.js +1 -1
  165. package/dist/src/runtime/plugins/compiled-catalog.d.ts +2 -1
  166. package/dist/src/runtime/plugins/configured-manifests.d.ts +3 -0
  167. package/dist/src/runtime/plugins/configured-manifests.js +37 -0
  168. package/dist/src/runtime/plugins/entrypoint-validation.d.ts +6 -0
  169. package/dist/src/runtime/plugins/entrypoint-validation.js +74 -0
  170. package/dist/src/runtime/plugins/loader.js +11 -123
  171. package/dist/src/runtime/plugins/manifest-discovery.d.ts +4 -1
  172. package/dist/src/runtime/plugins/manifest-discovery.js +8 -1
  173. package/dist/src/runtime/plugins/manifest-projection.js +3 -0
  174. package/dist/src/runtime/plugins/manifest-validator.js +7 -1
  175. package/dist/src/runtime/plugins/runtime-capability-plugins.d.ts +4 -0
  176. package/dist/src/runtime/plugins/runtime-capability-plugins.js +7 -0
  177. package/dist/src/runtime/plugins/selection.d.ts +14 -0
  178. package/dist/src/runtime/plugins/selection.js +38 -0
  179. package/dist/src/runtime/ports.d.ts +8 -2
  180. package/dist/src/runtime/projects/contracts.d.ts +40 -0
  181. package/dist/src/runtime/projects/contracts.js +10 -0
  182. package/dist/src/runtime/projects/folders.d.ts +7 -0
  183. package/dist/src/runtime/projects/folders.js +110 -0
  184. package/dist/src/runtime/projects/repository.d.ts +10 -0
  185. package/dist/src/runtime/projects/repository.js +54 -0
  186. package/dist/src/runtime/projects/service.d.ts +3 -0
  187. package/dist/src/runtime/projects/service.js +34 -0
  188. package/dist/src/runtime/projects/session-paths.d.ts +5 -0
  189. package/dist/src/runtime/projects/session-paths.js +13 -0
  190. package/dist/src/runtime/request/execution-agent-plan-update.d.ts +4 -0
  191. package/dist/src/runtime/request/execution-agent-plan-update.js +13 -0
  192. package/dist/src/runtime/request/execution-agent-root-execution.js +9 -1
  193. package/dist/src/runtime/request/handler.js +9 -2
  194. package/dist/src/runtime/request/input.d.ts +2 -1
  195. package/dist/src/runtime/request/input.js +1 -6
  196. package/dist/src/runtime/request/role-call-planner-events.js +4 -0
  197. package/dist/src/runtime/request/role-executor-composition.js +9 -1
  198. package/dist/src/runtime/request/root-contract.d.ts +6 -1
  199. package/dist/src/runtime/request/root-execution-kernel.js +17 -0
  200. package/dist/src/runtime/request/root-plan-event-projection.d.ts +3 -0
  201. package/dist/src/runtime/request/root-plan-event-projection.js +32 -0
  202. package/dist/src/runtime/request/root-plan-update.d.ts +15 -0
  203. package/dist/src/runtime/request/root-plan-update.js +20 -0
  204. package/dist/src/runtime/request/worker-capability-composition.d.ts +1 -0
  205. package/dist/src/runtime/request/worker-capability-composition.js +2 -0
  206. package/dist/src/runtime/runtime-environment.d.ts +1 -0
  207. package/dist/src/runtime/runtime-environment.js +2 -0
  208. package/dist/src/runtime/steps/auditor-decision/advisory-receipt.d.ts +32 -0
  209. package/dist/src/runtime/steps/auditor-decision/advisory-receipt.js +106 -0
  210. package/dist/src/runtime/steps/auditor-decision/advisory-result-budget.d.ts +5 -0
  211. package/dist/src/runtime/steps/auditor-decision/advisory-result-budget.js +40 -0
  212. package/dist/src/runtime/steps/auditor-decision/audit-input-state.d.ts +12 -0
  213. package/dist/src/runtime/steps/auditor-decision/audit-input-state.js +101 -0
  214. package/dist/src/runtime/steps/auditor-decision/contracts.d.ts +31 -16
  215. package/dist/src/runtime/steps/auditor-decision/contracts.js +3 -3
  216. package/dist/src/runtime/steps/auditor-decision/evidence-binding.d.ts +5 -0
  217. package/dist/src/runtime/steps/auditor-decision/evidence-binding.js +43 -0
  218. package/dist/src/runtime/steps/auditor-decision/evidence-coverage.d.ts +2 -0
  219. package/dist/src/runtime/steps/auditor-decision/evidence-coverage.js +71 -0
  220. package/dist/src/runtime/steps/auditor-decision/evidence-inventory.d.ts +13 -0
  221. package/dist/src/runtime/steps/auditor-decision/evidence-inventory.js +89 -0
  222. package/dist/src/runtime/steps/auditor-decision/evidence-representation.d.ts +10 -0
  223. package/dist/src/runtime/steps/auditor-decision/evidence-representation.js +56 -0
  224. package/dist/src/runtime/steps/auditor-decision/evidence-selection.d.ts +9 -0
  225. package/dist/src/runtime/steps/auditor-decision/evidence-selection.js +71 -0
  226. package/dist/src/runtime/steps/auditor-decision/format.js +44 -2
  227. package/dist/src/runtime/steps/auditor-decision/index.d.ts +3 -0
  228. package/dist/src/runtime/steps/auditor-decision/index.js +3 -0
  229. package/dist/src/runtime/steps/auditor-decision/input.d.ts +2 -2
  230. package/dist/src/runtime/steps/auditor-decision/input.js +64 -20
  231. package/dist/src/runtime/steps/auditor-decision/parser.js +38 -23
  232. package/dist/src/runtime/steps/auditor-decision/projection.js +49 -99
  233. package/dist/src/runtime/steps/auditor-decision/prompt.d.ts +1 -1
  234. package/dist/src/runtime/steps/auditor-decision/prompt.js +9 -4
  235. package/dist/src/runtime/steps/auditor-decision/run.js +79 -47
  236. package/dist/src/runtime/steps/execution-agent/contracts.d.ts +8 -1
  237. package/dist/src/runtime/steps/execution-agent/contracts.js +2 -0
  238. package/dist/src/runtime/steps/execution-agent/decision-parsing.js +4 -0
  239. package/dist/src/runtime/steps/execution-agent/format.js +4 -3
  240. package/dist/src/runtime/steps/execution-agent/input.js +10 -11
  241. package/dist/src/runtime/steps/execution-agent/prompt.d.ts +1 -0
  242. package/dist/src/runtime/steps/execution-agent/prompt.js +11 -4
  243. package/dist/src/runtime/steps/execution-agent/state-context.js +10 -0
  244. package/dist/src/runtime/steps/execution-agent/work-plan-contract.d.ts +18 -0
  245. package/dist/src/runtime/steps/execution-agent/work-plan-contract.js +86 -0
  246. package/dist/src/runtime/steps/execution-agent/work-plan-decision-parsing.d.ts +2 -0
  247. package/dist/src/runtime/steps/execution-agent/work-plan-decision-parsing.js +38 -0
  248. package/dist/src/runtime/steps/execution-agent/work-plan-sources.d.ts +6 -0
  249. package/dist/src/runtime/steps/execution-agent/work-plan-sources.js +54 -0
  250. package/dist/src/runtime/steps/planner-decision/capability-brief.d.ts +40 -0
  251. package/dist/src/runtime/steps/planner-decision/capability-brief.js +47 -0
  252. package/dist/src/runtime/steps/planner-decision/input.d.ts +4 -2
  253. package/dist/src/runtime/steps/planner-decision/input.js +23 -13
  254. package/dist/src/runtime/steps/planner-decision/prompt.js +2 -2
  255. package/dist/src/runtime/steps/planner-decision/run.js +11 -7
  256. package/dist/src/runtime/steps/planner-graph/parser.js +0 -11
  257. package/dist/src/runtime/steps/planner-graph/prompt.js +2 -1
  258. package/dist/src/runtime/steps/supervisor-decision/capability-brief-readmission.d.ts +10 -0
  259. package/dist/src/runtime/steps/supervisor-decision/capability-brief-readmission.js +39 -0
  260. package/dist/src/runtime/steps/supervisor-decision/run.js +2 -1
  261. package/dist/src/runtime/steps/worker-decision/parser/accepted-decision.d.ts +3 -1
  262. package/dist/src/runtime/steps/worker-decision/parser/accepted-decision.js +20 -1
  263. package/dist/src/runtime/steps/worker-decision/parser/capability-batch-validation.d.ts +1 -1
  264. package/dist/src/runtime/steps/worker-decision/parser/capability-batch-validation.js +6 -6
  265. package/dist/src/runtime/steps/worker-decision/parser/capability-invocation-validation.js +2 -1
  266. package/dist/src/sessions/project-binding.d.ts +12 -0
  267. package/dist/src/sessions/project-binding.js +49 -0
  268. package/dist/src/sessions/record/projection.d.ts +6 -1
  269. package/dist/src/sessions/record/projection.js +1 -0
  270. package/dist/src/sessions/session-service.d.ts +2 -1
  271. package/dist/src/sessions/session-service.js +11 -1
  272. package/dist/src/sessions/types.d.ts +7 -0
  273. package/dist/src/web-ui/app/ARCHITECTURE.md +121 -1
  274. package/dist/src/web-ui/app/app-bootstrap.js +3 -0
  275. package/dist/src/web-ui/app/app-dom.js +3 -0
  276. package/dist/src/web-ui/app/app-state.js +38 -0
  277. package/dist/src/web-ui/app/app.js +76 -67
  278. package/dist/src/web-ui/app/components/config-workspace/config-model.js +23 -3
  279. package/dist/src/web-ui/app/components/config-workspace/dashboard-rendering.js +2 -0
  280. package/dist/src/web-ui/app/components/config-workspace/field-rendering.js +2 -0
  281. package/dist/src/web-ui/app/components/config-workspace/model-rendering.js +6 -0
  282. package/dist/src/web-ui/app/components/config-workspace/model-setup-entry.js +27 -0
  283. package/dist/src/web-ui/app/components/config-workspace/raw-config-repair.js +28 -0
  284. package/dist/src/web-ui/app/components/config-workspace/workspace-events.js +5 -0
  285. package/dist/src/web-ui/app/components/config-workspace/workspace-mutations.js +23 -3
  286. package/dist/src/web-ui/app/components/config-workspace/workspace-persistence.js +26 -8
  287. package/dist/src/web-ui/app/components/config-workspace/workspace-view.js +56 -0
  288. package/dist/src/web-ui/app/components/config-workspace.js +11 -0
  289. package/dist/src/web-ui/app/components/conversation-activity.d.ts +6 -0
  290. package/dist/src/web-ui/app/components/conversation-activity.js +10 -2
  291. package/dist/src/web-ui/app/components/conversation-file-action.js +33 -0
  292. package/dist/src/web-ui/app/components/conversation-file-focus.d.ts +12 -0
  293. package/dist/src/web-ui/app/components/conversation-file-focus.js +149 -0
  294. package/dist/src/web-ui/app/components/conversation-file-preview.d.ts +23 -0
  295. package/dist/src/web-ui/app/components/conversation-file-preview.js +247 -0
  296. package/dist/src/web-ui/app/components/conversation-role-cards.d.ts +6 -0
  297. package/dist/src/web-ui/app/components/conversation-role-cards.js +10 -2
  298. package/dist/src/web-ui/app/components/conversation-tool-evidence.d.ts +9 -0
  299. package/dist/src/web-ui/app/components/conversation-tool-evidence.js +129 -0
  300. package/dist/src/web-ui/app/components/conversation-tools.d.ts +6 -0
  301. package/dist/src/web-ui/app/components/conversation-tools.js +25 -105
  302. package/dist/src/web-ui/app/components/conversation-view.js +10 -1
  303. package/dist/src/web-ui/app/components/dashboard/workspace.js +19 -7
  304. package/dist/src/web-ui/app/components/model-setup/rendering.js +99 -0
  305. package/dist/src/web-ui/app/components/model-setup/save-flow.js +111 -0
  306. package/dist/src/web-ui/app/components/model-setup/save-outcome.js +16 -0
  307. package/dist/src/web-ui/app/components/model-setup/validation.js +125 -0
  308. package/dist/src/web-ui/app/components/model-setup/wizard.d.ts +44 -0
  309. package/dist/src/web-ui/app/components/model-setup/wizard.js +370 -0
  310. package/dist/src/web-ui/app/components/plugins/manager.js +200 -0
  311. package/dist/src/web-ui/app/components/plugins/rendering.js +124 -0
  312. package/dist/src/web-ui/app/components/plugins/view-state.js +123 -0
  313. package/dist/src/web-ui/app/components/project-creation.js +119 -0
  314. package/dist/src/web-ui/app/components/project-session-groups.js +95 -0
  315. package/dist/src/web-ui/app/components/runtime-config-activation.js +83 -0
  316. package/dist/src/web-ui/app/components/runtime-setup/bridge-guide.d.ts +9 -0
  317. package/dist/src/web-ui/app/components/runtime-setup/bridge-guide.js +198 -0
  318. package/dist/src/web-ui/app/components/runtime-setup/bridge-rendering.js +107 -0
  319. package/dist/src/web-ui/app/components/runtime-setup/commands.js +54 -0
  320. package/dist/src/web-ui/app/components/runtime-setup/configuration-recovery.js +25 -0
  321. package/dist/src/web-ui/app/components/runtime-setup/connection-form.js +154 -0
  322. package/dist/src/web-ui/app/components/runtime-setup/connection-state.js +71 -0
  323. package/dist/src/web-ui/app/components/runtime-setup/context-window.js +18 -0
  324. package/dist/src/web-ui/app/components/runtime-setup/embedding-credential-status.d.ts +15 -0
  325. package/dist/src/web-ui/app/components/runtime-setup/embedding-credential-status.js +87 -0
  326. package/dist/src/web-ui/app/components/runtime-setup/embedding-provider-receipt.js +30 -0
  327. package/dist/src/web-ui/app/components/runtime-setup/embedding-rendering.js +57 -0
  328. package/dist/src/web-ui/app/components/runtime-setup/embedding.js +284 -0
  329. package/dist/src/web-ui/app/components/runtime-setup/optional-steps.js +117 -0
  330. package/dist/src/web-ui/app/components/runtime-setup/plugins.js +173 -0
  331. package/dist/src/web-ui/app/components/runtime-setup/rendering.js +141 -0
  332. package/dist/src/web-ui/app/components/runtime-setup/validation.js +69 -0
  333. package/dist/src/web-ui/app/components/runtime-setup/view-state.js +58 -0
  334. package/dist/src/web-ui/app/components/runtime-setup/wizard-shell.js +27 -0
  335. package/dist/src/web-ui/app/components/runtime-setup-guide.d.ts +66 -5
  336. package/dist/src/web-ui/app/components/runtime-setup-guide.js +415 -461
  337. package/dist/src/web-ui/app/components/system-host/download.js +38 -0
  338. package/dist/src/web-ui/app/components/system-host/manager.js +249 -0
  339. package/dist/src/web-ui/app/components/system-host/rendering.js +88 -0
  340. package/dist/src/web-ui/app/components/system-host/setup-notice.js +87 -0
  341. package/dist/src/web-ui/app/components/system-host/visibility.js +35 -0
  342. package/dist/src/web-ui/app/components/tool-approval-card.d.ts +4 -0
  343. package/dist/src/web-ui/app/components/tool-approval-card.js +15 -0
  344. package/dist/src/web-ui/app/configuration-environment-refresh.js +118 -0
  345. package/dist/src/web-ui/app/configuration-feature.js +125 -4
  346. package/dist/src/web-ui/app/controllers/app-event-bindings.js +2 -0
  347. package/dist/src/web-ui/app/controllers/composer-workspace-controller.d.ts +1 -0
  348. package/dist/src/web-ui/app/controllers/composer-workspace-controller.js +4 -3
  349. package/dist/src/web-ui/app/controllers/conversation-file-preview-controller.d.ts +24 -0
  350. package/dist/src/web-ui/app/controllers/conversation-file-preview-controller.js +158 -0
  351. package/dist/src/web-ui/app/controllers/conversation-file-preview-feature.d.ts +19 -0
  352. package/dist/src/web-ui/app/controllers/conversation-file-preview-feature.js +63 -0
  353. package/dist/src/web-ui/app/controllers/conversation-session-controller.d.ts +1 -0
  354. package/dist/src/web-ui/app/controllers/conversation-session-controller.js +2 -0
  355. package/dist/src/web-ui/app/controllers/conversation-view-feature.js +28 -0
  356. package/dist/src/web-ui/app/controllers/dashboard-controller.js +17 -0
  357. package/dist/src/web-ui/app/controllers/projects-controller.d.ts +45 -0
  358. package/dist/src/web-ui/app/controllers/projects-controller.js +278 -0
  359. package/dist/src/web-ui/app/controllers/realtime-event-controller.js +3 -0
  360. package/dist/src/web-ui/app/controllers/runtime-onboarding-controller.js +13 -6
  361. package/dist/src/web-ui/app/controllers/runtime-selection-controller.d.ts +7 -1
  362. package/dist/src/web-ui/app/controllers/runtime-selection-controller.js +11 -95
  363. package/dist/src/web-ui/app/controllers/session-controller.js +64 -57
  364. package/dist/src/web-ui/app/controllers/tool-permission-mode-controller.d.ts +20 -0
  365. package/dist/src/web-ui/app/controllers/tool-permission-mode-controller.js +116 -0
  366. package/dist/src/web-ui/app/dashboard-feature.js +32 -10
  367. package/dist/src/web-ui/app/index.html +44 -7
  368. package/dist/src/web-ui/app/lib/conversation-file-preview.d.ts +12 -0
  369. package/dist/src/web-ui/app/lib/conversation-file-reference.d.ts +30 -0
  370. package/dist/src/web-ui/app/lib/conversation-file-reference.js +66 -0
  371. package/dist/src/web-ui/app/lib/tool-activity-event.d.ts +2 -0
  372. package/dist/src/web-ui/app/lib/tool-activity-event.js +18 -6
  373. package/dist/src/web-ui/app/lib/tool-activity-model.d.ts +2 -0
  374. package/dist/src/web-ui/app/lib/tool-activity-model.js +4 -2
  375. package/dist/src/web-ui/app/lib/tool-permission-mode.d.ts +16 -0
  376. package/dist/src/web-ui/app/lib/tool-permission-mode.js +60 -0
  377. package/dist/src/web-ui/app/lib/tool-process-activity-fields.js +102 -0
  378. package/dist/src/web-ui/app/projects-feature.js +134 -0
  379. package/dist/src/web-ui/app/runtime-onboarding-feature.d.ts +34 -0
  380. package/dist/src/web-ui/app/runtime-onboarding-feature.js +92 -0
  381. package/dist/src/web-ui/app/runtime-setup-page-lifecycle.d.ts +5 -0
  382. package/dist/src/web-ui/app/runtime-setup-page-lifecycle.js +13 -0
  383. package/dist/src/web-ui/app/services/client-preferences.d.ts +24 -0
  384. package/dist/src/web-ui/app/services/client-preferences.js +32 -19
  385. package/dist/src/web-ui/app/services/runtime-web-client/configuration.js +46 -0
  386. package/dist/src/web-ui/app/services/runtime-web-client/conversation-files.d.ts +28 -0
  387. package/dist/src/web-ui/app/services/runtime-web-client/conversation-files.js +75 -0
  388. package/dist/src/web-ui/app/services/runtime-web-client/projects.d.ts +19 -0
  389. package/dist/src/web-ui/app/services/runtime-web-client/projects.js +34 -0
  390. package/dist/src/web-ui/app/services/runtime-web-client/system-host.js +27 -0
  391. package/dist/src/web-ui/app/services/runtime-web-client.d.ts +52 -0
  392. package/dist/src/web-ui/app/services/runtime-web-client.js +35 -4
  393. package/dist/src/web-ui/app/styles/13-projects.css +272 -0
  394. package/dist/src/web-ui/app/styles/18-dashboard.css +0 -5
  395. package/dist/src/web-ui/app/styles/19-runtime-setup.css +411 -0
  396. package/dist/src/web-ui/app/styles/20-chat-composer.css +0 -384
  397. package/dist/src/web-ui/app/styles/29-conversation-file-preview.css +254 -0
  398. package/dist/src/web-ui/app/styles/37-runtime-activation.css +26 -0
  399. package/dist/src/web-ui/app/styles/38-schedule-workspace.css +1 -10
  400. package/dist/src/web-ui/app/styles/41-plugin-management.css +351 -0
  401. package/dist/src/web-ui/app/styles/42-runtime-setup-plugins.css +179 -0
  402. package/dist/src/web-ui/app/styles/43-model-setup.css +73 -0
  403. package/dist/src/web-ui/app/styles/44-model-provider-cards.css +63 -0
  404. package/dist/src/web-ui/app/styles/45-bridge-setup.css +44 -0
  405. package/dist/src/web-ui/app/styles/46-system-host.css +132 -0
  406. package/dist/src/web-ui/app/styles.css +10 -0
  407. package/dist/src/web-ui/config-dashboard-backend.d.ts +5 -0
  408. package/dist/src/web-ui/config-dashboard-backend.js +94 -114
  409. package/dist/src/web-ui/config-dashboard-model-identity.d.ts +7 -0
  410. package/dist/src/web-ui/config-dashboard-model-identity.js +45 -0
  411. package/dist/src/web-ui/config-dashboard-save-transaction.d.ts +5 -0
  412. package/dist/src/web-ui/config-dashboard-save-transaction.js +21 -0
  413. package/dist/src/web-ui/environment-config.d.ts +17 -0
  414. package/dist/src/web-ui/environment-config.js +60 -0
  415. package/dist/src/web-ui/forwarded-loopback-policy.d.ts +2 -0
  416. package/dist/src/web-ui/forwarded-loopback-policy.js +14 -0
  417. package/dist/src/web-ui/local-runtime/api-router.d.ts +7 -0
  418. package/dist/src/web-ui/local-runtime/api-router.js +136 -12
  419. package/dist/src/web-ui/local-runtime/config-mutation-request.d.ts +8 -0
  420. package/dist/src/web-ui/local-runtime/config-mutation-request.js +55 -0
  421. package/dist/src/web-ui/local-runtime/configuration-activation-environments.d.ts +22 -0
  422. package/dist/src/web-ui/local-runtime/configuration-activation-environments.js +106 -0
  423. package/dist/src/web-ui/local-runtime/configuration-activation-source.d.ts +7 -0
  424. package/dist/src/web-ui/local-runtime/configuration-activation-source.js +36 -0
  425. package/dist/src/web-ui/local-runtime/configuration-activation.d.ts +20 -0
  426. package/dist/src/web-ui/local-runtime/configuration-activation.js +107 -0
  427. package/dist/src/web-ui/local-runtime/contracts.d.ts +8 -0
  428. package/dist/src/web-ui/local-runtime/conversation-file-access.d.ts +30 -0
  429. package/dist/src/web-ui/local-runtime/conversation-file-access.js +131 -0
  430. package/dist/src/web-ui/local-runtime/conversation-file-content.d.ts +21 -0
  431. package/dist/src/web-ui/local-runtime/conversation-file-content.js +75 -0
  432. package/dist/src/web-ui/local-runtime/conversation-file-format.d.ts +12 -0
  433. package/dist/src/web-ui/local-runtime/conversation-file-format.js +87 -0
  434. package/dist/src/web-ui/local-runtime/conversation-file-native-open.d.ts +10 -0
  435. package/dist/src/web-ui/local-runtime/conversation-file-native-open.js +94 -0
  436. package/dist/src/web-ui/local-runtime/conversation-file-native-request.d.ts +4 -0
  437. package/dist/src/web-ui/local-runtime/conversation-file-native-request.js +72 -0
  438. package/dist/src/web-ui/local-runtime/conversation-file-routes.d.ts +11 -0
  439. package/dist/src/web-ui/local-runtime/conversation-file-routes.js +105 -0
  440. package/dist/src/web-ui/local-runtime/conversation-file-target.d.ts +14 -0
  441. package/dist/src/web-ui/local-runtime/conversation-file-target.js +158 -0
  442. package/dist/src/web-ui/local-runtime/environment-registry.d.ts +14 -0
  443. package/dist/src/web-ui/local-runtime/environment-registry.js +121 -6
  444. package/dist/src/web-ui/local-runtime/memory-onboarding-routes.d.ts +2 -1
  445. package/dist/src/web-ui/local-runtime/memory-onboarding-routes.js +15 -10
  446. package/dist/src/web-ui/local-runtime/model-setup-catalog.d.ts +17 -0
  447. package/dist/src/web-ui/local-runtime/model-setup-catalog.js +45 -0
  448. package/dist/src/web-ui/local-runtime/model-setup-identity.d.ts +16 -0
  449. package/dist/src/web-ui/local-runtime/model-setup-identity.js +20 -0
  450. package/dist/src/web-ui/local-runtime/model-setup-input.d.ts +24 -0
  451. package/dist/src/web-ui/local-runtime/model-setup-input.js +107 -0
  452. package/dist/src/web-ui/local-runtime/model-setup-provider.d.ts +17 -0
  453. package/dist/src/web-ui/local-runtime/model-setup-provider.js +68 -0
  454. package/dist/src/web-ui/local-runtime/model-setup-retry.d.ts +14 -0
  455. package/dist/src/web-ui/local-runtime/model-setup-retry.js +47 -0
  456. package/dist/src/web-ui/local-runtime/model-setup-routes.d.ts +12 -0
  457. package/dist/src/web-ui/local-runtime/model-setup-routes.js +50 -0
  458. package/dist/src/web-ui/local-runtime/model-setup-service.d.ts +30 -0
  459. package/dist/src/web-ui/local-runtime/model-setup-service.js +93 -0
  460. package/dist/src/web-ui/local-runtime/model-setup-validation.d.ts +5 -0
  461. package/dist/src/web-ui/local-runtime/model-setup-validation.js +33 -0
  462. package/dist/src/web-ui/local-runtime/plugin-management-routes.d.ts +14 -0
  463. package/dist/src/web-ui/local-runtime/plugin-management-routes.js +50 -0
  464. package/dist/src/web-ui/local-runtime/project-routes.d.ts +17 -0
  465. package/dist/src/web-ui/local-runtime/project-routes.js +93 -0
  466. package/dist/src/web-ui/local-runtime/provider-credential-identity.d.ts +3 -0
  467. package/dist/src/web-ui/local-runtime/provider-credential-identity.js +18 -0
  468. package/dist/src/web-ui/local-runtime/request-execution.d.ts +1 -0
  469. package/dist/src/web-ui/local-runtime/request-execution.js +8 -0
  470. package/dist/src/web-ui/local-runtime/runtime-availability.js +36 -7
  471. package/dist/src/web-ui/local-runtime/runtime-setup-completion.d.ts +13 -0
  472. package/dist/src/web-ui/local-runtime/runtime-setup-completion.js +28 -0
  473. package/dist/src/web-ui/local-runtime/runtime-setup-connection-edit.d.ts +13 -0
  474. package/dist/src/web-ui/local-runtime/runtime-setup-connection-edit.js +110 -0
  475. package/dist/src/web-ui/local-runtime/runtime-setup-credential-completion.d.ts +4 -0
  476. package/dist/src/web-ui/local-runtime/runtime-setup-credential-completion.js +21 -0
  477. package/dist/src/web-ui/local-runtime/runtime-setup-credentials.d.ts +14 -0
  478. package/dist/src/web-ui/local-runtime/runtime-setup-credentials.js +148 -0
  479. package/dist/src/web-ui/local-runtime/runtime-setup-draft-recovery.d.ts +7 -0
  480. package/dist/src/web-ui/local-runtime/runtime-setup-draft-recovery.js +18 -0
  481. package/dist/src/web-ui/local-runtime/runtime-setup-draft.d.ts +21 -0
  482. package/dist/src/web-ui/local-runtime/runtime-setup-draft.js +105 -0
  483. package/dist/src/web-ui/local-runtime/runtime-setup-embedding-invalidation.d.ts +8 -0
  484. package/dist/src/web-ui/local-runtime/runtime-setup-embedding-invalidation.js +40 -0
  485. package/dist/src/web-ui/local-runtime/runtime-setup-environment-assignment.d.ts +1 -0
  486. package/dist/src/web-ui/local-runtime/runtime-setup-environment-assignment.js +27 -0
  487. package/dist/src/web-ui/local-runtime/runtime-setup-input.d.ts +19 -0
  488. package/dist/src/web-ui/local-runtime/runtime-setup-input.js +82 -0
  489. package/dist/src/web-ui/local-runtime/runtime-setup-model-file.d.ts +7 -0
  490. package/dist/src/web-ui/local-runtime/runtime-setup-model-file.js +35 -0
  491. package/dist/src/web-ui/local-runtime/runtime-setup-provider-ownership-recovery.d.ts +4 -0
  492. package/dist/src/web-ui/local-runtime/runtime-setup-provider-ownership-recovery.js +23 -0
  493. package/dist/src/web-ui/local-runtime/runtime-setup-provider-retention.d.ts +11 -0
  494. package/dist/src/web-ui/local-runtime/runtime-setup-provider-retention.js +31 -0
  495. package/dist/src/web-ui/local-runtime/runtime-setup-provider.d.ts +11 -0
  496. package/dist/src/web-ui/local-runtime/runtime-setup-provider.js +60 -0
  497. package/dist/src/web-ui/local-runtime/runtime-setup-receipt-file.d.ts +8 -0
  498. package/dist/src/web-ui/local-runtime/runtime-setup-receipt-file.js +77 -0
  499. package/dist/src/web-ui/local-runtime/runtime-setup-routes.d.ts +35 -0
  500. package/dist/src/web-ui/local-runtime/runtime-setup-routes.js +56 -0
  501. package/dist/src/web-ui/local-runtime/runtime-setup-scaffold.d.ts +17 -0
  502. package/dist/src/web-ui/local-runtime/runtime-setup-scaffold.js +229 -0
  503. package/dist/src/web-ui/local-runtime/runtime-setup-service.d.ts +65 -0
  504. package/dist/src/web-ui/local-runtime/runtime-setup-service.js +195 -0
  505. package/dist/src/web-ui/local-runtime/runtime-setup-validation.d.ts +8 -0
  506. package/dist/src/web-ui/local-runtime/runtime-setup-validation.js +35 -0
  507. package/dist/src/web-ui/local-runtime/saved-model-catalog.d.ts +3 -0
  508. package/dist/src/web-ui/local-runtime/saved-model-catalog.js +20 -0
  509. package/dist/src/web-ui/local-runtime/setup-embedding-input.d.ts +8 -0
  510. package/dist/src/web-ui/local-runtime/setup-embedding-input.js +71 -0
  511. package/dist/src/web-ui/local-runtime/setup-embedding-provider.d.ts +13 -0
  512. package/dist/src/web-ui/local-runtime/setup-embedding-provider.js +114 -0
  513. package/dist/src/web-ui/local-runtime/setup-embedding-routes.d.ts +12 -0
  514. package/dist/src/web-ui/local-runtime/setup-embedding-routes.js +53 -0
  515. package/dist/src/web-ui/local-runtime/setup-embedding-service.d.ts +32 -0
  516. package/dist/src/web-ui/local-runtime/setup-embedding-service.js +59 -0
  517. package/dist/src/web-ui/local-runtime-backend.d.ts +1 -0
  518. package/dist/src/web-ui/local-runtime-backend.js +3 -0
  519. package/dist/src/web-ui/plugin-capability-selection.d.ts +14 -0
  520. package/dist/src/web-ui/plugin-capability-selection.js +48 -0
  521. package/dist/src/web-ui/plugin-management-catalog.d.ts +26 -0
  522. package/dist/src/web-ui/plugin-management-catalog.js +56 -0
  523. package/dist/src/web-ui/plugin-management-selection.d.ts +16 -0
  524. package/dist/src/web-ui/plugin-management-selection.js +71 -0
  525. package/dist/src/web-ui/plugin-management-service.d.ts +29 -0
  526. package/dist/src/web-ui/plugin-management-service.js +150 -0
  527. package/dist/src/web-ui/request-authority.d.ts +8 -0
  528. package/dist/src/web-ui/request-authority.js +129 -0
  529. package/dist/src/web-ui/runtime-setup-gateway-address.d.ts +3 -0
  530. package/dist/src/web-ui/runtime-setup-gateway-address.js +26 -0
  531. package/dist/src/web-ui/runtime-setup-gateway.d.ts +29 -0
  532. package/dist/src/web-ui/runtime-setup-gateway.js +177 -0
  533. package/dist/src/web-ui/runtime-setup-shutdown.d.ts +2 -0
  534. package/dist/src/web-ui/runtime-setup-shutdown.js +20 -0
  535. package/dist/src/web-ui/server.d.ts +7 -14
  536. package/dist/src/web-ui/server.js +53 -63
  537. package/dist/src/web-ui/session-read-state/service.d.ts +12 -2
  538. package/dist/src/web-ui/system-host-service.d.ts +19 -0
  539. package/dist/src/web-ui/system-host-service.js +159 -0
  540. package/dist/src/web-ui/system-host-setup/companion-bundle.d.ts +2 -0
  541. package/dist/src/web-ui/system-host-setup/companion-bundle.js +12 -0
  542. package/dist/src/web-ui/system-host-setup/companion-macos.d.ts +2 -0
  543. package/dist/src/web-ui/system-host-setup/companion-macos.js +74 -0
  544. package/dist/src/web-ui/system-host-setup/companion-windows.d.ts +2 -0
  545. package/dist/src/web-ui/system-host-setup/companion-windows.js +105 -0
  546. package/dist/src/web-ui/system-host-setup/installer-contract.d.ts +18 -0
  547. package/dist/src/web-ui/system-host-setup/installer-contract.js +51 -0
  548. package/dist/src/web-ui/system-host-setup/installers.d.ts +6 -0
  549. package/dist/src/web-ui/system-host-setup/installers.js +30 -0
  550. package/dist/src/web-ui/system-host-setup/native-authorization.d.ts +3 -0
  551. package/dist/src/web-ui/system-host-setup/native-authorization.js +11 -0
  552. package/dist/src/web-ui/system-host-setup/node-distribution.d.ts +19 -0
  553. package/dist/src/web-ui/system-host-setup/node-distribution.js +9 -0
  554. package/dist/src/web-ui/system-host-setup/readiness.d.ts +18 -0
  555. package/dist/src/web-ui/system-host-setup/readiness.js +70 -0
  556. package/dist/src/web-ui/system-host-setup/routes.d.ts +20 -0
  557. package/dist/src/web-ui/system-host-setup/routes.js +121 -0
  558. package/dist/src/web-ui/system-host-setup/windows-script-wrapper.d.ts +2 -0
  559. package/dist/src/web-ui/system-host-setup/windows-script-wrapper.js +17 -0
  560. package/dist/src/web-ui/system-host-setup/wsl-interop-config.d.ts +3 -0
  561. package/dist/src/web-ui/system-host-setup/wsl-interop-config.js +67 -0
  562. package/dist/src/web-ui/system-host-setup/wsl-interop-windows.d.ts +1 -0
  563. package/dist/src/web-ui/system-host-setup/wsl-interop-windows.js +49 -0
  564. package/dist/src/web-ui/system-host-upgrade-authority.d.ts +5 -0
  565. package/dist/src/web-ui/system-host-upgrade-authority.js +13 -0
  566. package/docs/architecture.md +6 -1
  567. package/docs/installation.md +53 -17
  568. package/docs/known-limitations.md +14 -0
  569. package/docs/plugins.md +124 -19
  570. package/docs/projects-and-full-plus.md +218 -0
  571. package/docs/runtime-invariant-coverage.md +6 -3
  572. package/docs/runtime-prompt-policy-contracts.md +37 -5
  573. package/docs/runtime-public-contracts.md +17 -0
  574. package/package.json +5 -2
  575. package/plugins/exec/plugin.json +30 -9
  576. package/plugins/exec/skills/exec_process_skill/SKILL.md +1 -0
  577. package/plugins/exec/skills/exec_skill/SKILL.md +9 -10
  578. package/plugins/exec/source/handlers.ts +4 -38
  579. package/plugins/exec/source/paths.ts +53 -49
  580. package/plugins/exec/source/types.ts +6 -4
  581. package/plugins/exec/source/validation.ts +33 -198
  582. package/plugins/exec/src/index.cjs +62 -204
  583. package/plugins/filesystem/plugin.json +1 -1
  584. package/plugins/filesystem/skills/dev_view_skill/SKILL.md +7 -0
  585. package/plugins/filesystem/source/atomic-write.ts +6 -3
  586. package/plugins/filesystem/source/dev-view.ts +2 -1
  587. package/plugins/filesystem/source/directory-authority-write.ts +4 -0
  588. package/plugins/filesystem/source/edit-file.ts +3 -0
  589. package/plugins/filesystem/source/file-output-presentation.ts +42 -0
  590. package/plugins/filesystem/source/mutation-parent.ts +18 -9
  591. package/plugins/filesystem/source/view-locator.ts +141 -0
  592. package/plugins/filesystem/source/view-window.ts +12 -25
  593. package/plugins/filesystem/source/write-file.ts +8 -0
  594. package/plugins/filesystem/src/index.cjs +162 -35
  595. package/plugins/system/plugin.json +374 -0
  596. package/plugins/system/skills/system_actions/SKILL.md +31 -0
  597. package/plugins/system/source/application-catalog.ts +237 -0
  598. package/plugins/system/source/application-launch.ts +113 -0
  599. package/plugins/system/source/application-observation.ts +78 -0
  600. package/plugins/system/source/commands.ts +106 -0
  601. package/plugins/system/source/companion/autostart.ts +185 -0
  602. package/plugins/system/source/companion/broker-client.ts +183 -0
  603. package/plugins/system/source/companion/broker-location.ts +89 -0
  604. package/plugins/system/source/companion/broker-server.ts +169 -0
  605. package/plugins/system/source/companion/connection.ts +211 -0
  606. package/plugins/system/source/companion/liveness.ts +23 -0
  607. package/plugins/system/source/companion/native-address.ts +55 -0
  608. package/plugins/system/source/companion/native-identity.ts +26 -0
  609. package/plugins/system/source/companion/native-messages.ts +100 -0
  610. package/plugins/system/source/companion/native-session.ts +268 -0
  611. package/plugins/system/source/companion/native-state.ts +135 -0
  612. package/plugins/system/source/companion/native-supervisor.ts +98 -0
  613. package/plugins/system/source/companion/pairing-store.ts +110 -0
  614. package/plugins/system/source/companion/private-store.ts +58 -0
  615. package/plugins/system/source/companion/process-owner-identity.ts +190 -0
  616. package/plugins/system/source/companion/protocol.ts +108 -0
  617. package/plugins/system/source/contracts.ts +44 -0
  618. package/plugins/system/source/elevation.ts +88 -0
  619. package/plugins/system/source/handlers.ts +120 -0
  620. package/plugins/system/source/host-dispatch.ts +106 -0
  621. package/plugins/system/source/host-evidence.ts +72 -0
  622. package/plugins/system/source/host-observation.ts +66 -0
  623. package/plugins/system/source/index.ts +8 -0
  624. package/plugins/system/source/process-result.ts +111 -0
  625. package/plugins/system/source/process-runner.ts +104 -0
  626. package/plugins/system/source/request-system-modules.ts +117 -0
  627. package/plugins/system/source/request-target-snapshot.ts +163 -0
  628. package/plugins/system/source/target-observation.ts +43 -0
  629. package/plugins/system/source/targets.ts +147 -0
  630. package/plugins/system/src/index.cjs +1730 -0
  631. package/src/runtime/README.md +36 -8
  632. package/src/runtime/local-host/README.md +7 -0
  633. package/dist/src/runtime/steps/planner-decision/capability-catalog-context.d.ts +0 -14
  634. package/dist/src/runtime/steps/planner-decision/capability-catalog-context.js +0 -87
@@ -6,6 +6,7 @@ import type { RoleCapabilitySelectionSupervisionStage, RoleCapabilitySelectionSu
6
6
  import type { RoleCapabilitySelectionReconsiderationCause } from "./reconsideration-cause.js";
7
7
  import type { RoleCallResultReceipt } from "./result-receipt.js";
8
8
  import type { RoleMemoryRecall, RoleMemoryRecallCommand, RoleMemoryRecallCommitEffect, RoleMemoryRecallTransactions } from "./memory-recall-contract.js";
9
+ import type { AdoptedModelWorkPlan, UpdateModelWorkPlanCommand, ModelWorkPlanCommitEffect, ModelWorkPlanTransactions } from "./work-plan-contracts.js";
9
10
  export declare const ROLE_CALL_LEDGER_CONTRACT_VERSION = 18;
10
11
  export declare const ROLE_CALL_LEDGER_HEAD_KIND: "runtime_role_call_ledger_v18";
11
12
  export declare const ROLE_CALL_OBJECTIVE_MAX_LENGTH = 8192;
@@ -36,6 +37,8 @@ export type ExecutionPolicyAuthoritySnapshot = Readonly<{
36
37
  capabilityAuthorities: readonly ExecutionPolicyCapabilityAuthority[];
37
38
  /** Omission preserves the legacy normalized terminal-text contract. */
38
39
  terminalTextMode?: RoleCallTerminalTextMode;
40
+ /** Omission denies model-reported plan declarations. */
41
+ modelWorkPlanAuthority?: "root";
39
42
  }>;
40
43
  export declare const SUPERVISOR_WORKER_V1_AUTHORITY_SNAPSHOT: ExecutionPolicyAuthoritySnapshot;
41
44
  export type RoleCallPolicy = Readonly<{
@@ -90,6 +93,7 @@ export type RoleCallFrame = Readonly<{
90
93
  resultRef: string | null;
91
94
  /** Omitted unless the immediately preceding activation reconsidered a selection. */
92
95
  lastCapabilitySelectionReconsideration?: RoleCapabilitySelectionReconsideration;
96
+ adoptedWorkPlan?: AdoptedModelWorkPlan;
93
97
  }>;
94
98
  export type RoleCallResult = Readonly<{
95
99
  resultRef: string;
@@ -298,8 +302,8 @@ export type ReconsiderRoleCapabilitySelectionCommand = Readonly<{
298
302
  selection: RoleCapabilitySelectionProjection;
299
303
  cause: RoleCapabilitySelectionReconsiderationCause;
300
304
  }>;
301
- export type RoleCallLedgerCommand = RoleMemoryRecallCommand | CreateRootRoleCallCommand | CompleteRootResponseCommand | OpenChildRoleCallCommand | ReturnChildRoleCallCommand | BeginRoleCapabilityExecutionCommand | SettleRoleCapabilityExecutionCommand | BeginRoleCapabilityBatchCommand | SettleRoleCapabilityBatchCommand | UpdateRoleCapabilityScopeCommand | EstablishRoleCallWorkingDirectoryCommand | ReconsiderRoleCapabilitySelectionCommand;
302
- export type RoleCallCommitEffect = RoleMemoryRecallCommitEffect | Readonly<{
305
+ export type RoleCallLedgerCommand = UpdateModelWorkPlanCommand | RoleMemoryRecallCommand | CreateRootRoleCallCommand | CompleteRootResponseCommand | OpenChildRoleCallCommand | ReturnChildRoleCallCommand | BeginRoleCapabilityExecutionCommand | SettleRoleCapabilityExecutionCommand | BeginRoleCapabilityBatchCommand | SettleRoleCapabilityBatchCommand | UpdateRoleCapabilityScopeCommand | EstablishRoleCallWorkingDirectoryCommand | ReconsiderRoleCapabilitySelectionCommand;
306
+ export type RoleCallCommitEffect = ModelWorkPlanCommitEffect | RoleMemoryRecallCommitEffect | Readonly<{
303
307
  type: "root_created";
304
308
  callId: string;
305
309
  }> | Readonly<{
@@ -366,7 +370,7 @@ export type RoleCallValidationIssue = Readonly<{
366
370
  code: string;
367
371
  path: string;
368
372
  }>;
369
- export type RoleCallTransitionRejectionCode = "invalid_current_state" | "invalid_policy" | "invalid_command" | "root_already_created" | "root_missing" | "caller_not_active" | "root_response_not_allowed" | "supervisor_child_forbidden" | "child_role_not_authorized" | "child_dependency_invalid" | "planner_plan_binding_invalid" | "planner_plan_already_declared" | "planner_plan_missing" | "planner_plan_item_unavailable" | "planner_plan_incomplete" | "depth_limit_exceeded" | "call_limit_exceeded" | "child_return_mismatch" | "capability_caller_invalid" | "capability_invocation_mismatch" | "capability_execution_limit_exceeded" | "capability_execution_mismatch" | "capability_scope_update_invalid" | "working_directory_establishment_invalid" | "capability_selection_reconsideration_invalid" | "capability_selection_supervision_limit_exceeded" | "operation_supervision_limit_exceeded" | "memory_recall_caller_invalid" | "memory_recall_invocation_mismatch" | "memory_recall_settlement_mismatch" | "role_activation_limit_exceeded";
373
+ export type RoleCallTransitionRejectionCode = "invalid_current_state" | "invalid_policy" | "invalid_command" | "root_already_created" | "root_missing" | "caller_not_active" | "root_response_not_allowed" | "supervisor_child_forbidden" | "child_role_not_authorized" | "child_dependency_invalid" | "planner_plan_binding_invalid" | "planner_plan_already_declared" | "planner_plan_missing" | "planner_plan_item_unavailable" | "planner_plan_incomplete" | "depth_limit_exceeded" | "call_limit_exceeded" | "child_return_mismatch" | "capability_caller_invalid" | "capability_invocation_mismatch" | "capability_execution_limit_exceeded" | "capability_execution_mismatch" | "capability_scope_update_invalid" | "working_directory_establishment_invalid" | "model_work_plan_update_invalid" | "capability_selection_reconsideration_invalid" | "capability_selection_supervision_limit_exceeded" | "operation_supervision_limit_exceeded" | "memory_recall_caller_invalid" | "memory_recall_invocation_mismatch" | "memory_recall_settlement_mismatch" | "role_activation_limit_exceeded";
370
374
  export type RoleCallTransitionResult = Readonly<{
371
375
  ok: true;
372
376
  state: RoleCallState;
@@ -435,7 +439,7 @@ export type RoleCallTransactionFailure<TTransitionIssueCode extends string> = Re
435
439
  commit: RoleCallLedgerCommitResult;
436
440
  }>;
437
441
  export type RoleCallTransactionResult<TEffectType extends RoleCallCommitEffect["type"], TTransitionIssueCode extends string> = RoleCallTransactionSuccess<TEffectType> | RoleCallTransactionFailure<TTransitionIssueCode>;
438
- export type RoleCallTransactions = RoleMemoryRecallTransactions & Readonly<{
442
+ export type RoleCallTransactions = RoleMemoryRecallTransactions & ModelWorkPlanTransactions & Readonly<{
439
443
  createRoot(input: Readonly<{
440
444
  expectedHead: unknown;
441
445
  }>): Promise<RoleCallTransactionResult<"root_created", "root_create_transition_invalid">>;
@@ -1,7 +1,9 @@
1
1
  import { createMemoryRecallTransactions } from "./memory-recall-transactions.js";
2
+ import { createModelWorkPlanTransactions } from "./work-plan-transactions.js";
2
3
  import { requireEffect, invalidEffect } from "./transaction-effect.js";
3
4
  export function createRoleCallTransactions(apply) {
4
5
  return Object.freeze({
6
+ ...createModelWorkPlanTransactions(apply),
5
7
  ...createMemoryRecallTransactions(apply),
6
8
  async createRoot(input) {
7
9
  return requireEffect(await apply({
@@ -0,0 +1,48 @@
1
+ import type { RoleCallTransactionInput, RoleCallTransactionResult } from "./contracts.js";
2
+ export declare const MODEL_WORK_PLAN_ITEM_LIMIT = 16;
3
+ export declare const MODEL_WORK_PLAN_TEXT_LIMIT = 8192;
4
+ export declare const MODEL_WORK_PLAN_ID_LIMIT = 128;
5
+ export declare const MODEL_WORK_PLAN_STATUSES: readonly ["pending", "in_progress", "done", "blocked"];
6
+ export type ModelWorkPlanStatus = (typeof MODEL_WORK_PLAN_STATUSES)[number];
7
+ export type ModelWorkPlanItemUpdate = Readonly<{
8
+ itemId: string;
9
+ status: ModelWorkPlanStatus;
10
+ }>;
11
+ export type ModelWorkPlanDefinition = Readonly<{
12
+ summary: string;
13
+ items: readonly Readonly<{
14
+ itemId: string;
15
+ title: string;
16
+ objective: string;
17
+ }>[];
18
+ }>;
19
+ /** A root model's report, never execution evidence or terminal authority. */
20
+ export type AdoptedModelWorkPlan = Readonly<{
21
+ sourceResultRef: string;
22
+ definition: ModelWorkPlanDefinition;
23
+ itemStates: readonly ModelWorkPlanItemUpdate[];
24
+ }>;
25
+ export type ModelWorkPlanUpdate = Readonly<{
26
+ mode: "adopt";
27
+ sourceResultRef: string;
28
+ definition: ModelWorkPlanDefinition;
29
+ itemUpdates: readonly ModelWorkPlanItemUpdate[];
30
+ }> | Readonly<{
31
+ mode: "progress";
32
+ sourceResultRef: string;
33
+ itemUpdates: readonly ModelWorkPlanItemUpdate[];
34
+ }>;
35
+ export type UpdateModelWorkPlanCommand = Readonly<{
36
+ authority: "active_role";
37
+ type: "update_model_work_plan";
38
+ callId: string;
39
+ invocationAttempt: number;
40
+ update: ModelWorkPlanUpdate;
41
+ }>;
42
+ export type ModelWorkPlanCommitEffect = Readonly<{
43
+ type: "model_work_plan_updated";
44
+ callId: string;
45
+ }>;
46
+ export type ModelWorkPlanTransactions = Readonly<{
47
+ updateModelWorkPlan(input: RoleCallTransactionInput<UpdateModelWorkPlanCommand>): Promise<RoleCallTransactionResult<"model_work_plan_updated", "model_work_plan_transition_invalid">>;
48
+ }>;
@@ -0,0 +1,9 @@
1
+ export const MODEL_WORK_PLAN_ITEM_LIMIT = 16;
2
+ export const MODEL_WORK_PLAN_TEXT_LIMIT = 8_192;
3
+ export const MODEL_WORK_PLAN_ID_LIMIT = 128;
4
+ export const MODEL_WORK_PLAN_STATUSES = [
5
+ "pending",
6
+ "in_progress",
7
+ "done",
8
+ "blocked",
9
+ ];
@@ -0,0 +1,7 @@
1
+ import type { RoleCallFrame, RoleCallPolicy, RoleCallState } from "./contracts.js";
2
+ import type { ModelWorkPlanDefinition } from "./work-plan-contracts.js";
3
+ export declare function ownsModelWorkPlanSource(state: RoleCallState, call: RoleCallFrame, sourceResultRef: string): boolean;
4
+ /** Derive the exact adoptable definition from the sole canonical result ledger. */
5
+ export declare function resolveModelWorkPlanSourceDefinition(state: RoleCallState, call: RoleCallFrame, sourceResultRef: string, policy: RoleCallPolicy): ModelWorkPlanDefinition | undefined;
6
+ /** Object key order is irrelevant; proposed item order and all semantic fields are exact. */
7
+ export declare function areModelWorkPlanDefinitionsEqual(definition: ModelWorkPlanDefinition, source: ModelWorkPlanDefinition): boolean;
@@ -0,0 +1,85 @@
1
+ import { exactKeys, isRecord } from "../../validation/strict-record.js";
2
+ import { EXECUTION_AGENT_PLANNER_GRAPH_LIMITS } from "../../steps/planner-graph/contracts.js";
3
+ import { parsePlannerGraphOutput } from "../../steps/planner-graph/parser.js";
4
+ export function ownsModelWorkPlanSource(state, call, sourceResultRef) {
5
+ const source = state.results.find((result) => result.resultRef === sourceResultRef);
6
+ if (!source || source.outcome !== "completed")
7
+ return false;
8
+ const producer = state.calls.find((candidate) => candidate.callId === source.producerCallId);
9
+ if (!producer || producer.status !== "completed")
10
+ return false;
11
+ if (producer.parentCallId !== call.callId)
12
+ return false;
13
+ if (producer.resultRef !== source.resultRef)
14
+ return false;
15
+ return call.childCallIds.includes(producer.callId);
16
+ }
17
+ /** Derive the exact adoptable definition from the sole canonical result ledger. */
18
+ export function resolveModelWorkPlanSourceDefinition(state, call, sourceResultRef, policy) {
19
+ if (policy.authority.modelWorkPlanAuthority !== "root")
20
+ return undefined;
21
+ if (state.rootCallId !== call.callId || call.parentCallId !== null)
22
+ return undefined;
23
+ if (!ownsModelWorkPlanSource(state, call, sourceResultRef))
24
+ return undefined;
25
+ const result = state.results.find((entry) => entry.resultRef === sourceResultRef);
26
+ if (result.roleId !== "planner")
27
+ return undefined;
28
+ let advisory;
29
+ try {
30
+ advisory = JSON.parse(result.summary);
31
+ }
32
+ catch {
33
+ return undefined;
34
+ }
35
+ if (!isOwnedPlannerProposalAdvisory(advisory, result.producerCallId))
36
+ return undefined;
37
+ const parsed = parsePlannerGraphOutput(JSON.stringify({ decision: advisory.proposal }), EXECUTION_AGENT_PLANNER_GRAPH_LIMITS);
38
+ if (!parsed.ok || parsed.decision.outcome !== "proposal")
39
+ return undefined;
40
+ return {
41
+ summary: parsed.decision.proposal.summary,
42
+ items: parsed.decision.proposal.nodes.map((node) => ({
43
+ itemId: node.localId,
44
+ title: node.title,
45
+ objective: node.objective,
46
+ })),
47
+ };
48
+ }
49
+ function isOwnedPlannerProposalAdvisory(advisory, producerCallId) {
50
+ if (!isRecord(advisory))
51
+ return false;
52
+ if (!exactKeys(advisory, [
53
+ "kind",
54
+ "authority",
55
+ "presenceEffect",
56
+ "plannerCallId",
57
+ "outcome",
58
+ "proposal",
59
+ ]))
60
+ return false;
61
+ if (advisory.kind !== "runtime_execution_agent_planner_advisory_v1")
62
+ return false;
63
+ if (advisory.authority !== "model_advisory")
64
+ return false;
65
+ if (advisory.presenceEffect !== "passive_result_not_execution_or_completion")
66
+ return false;
67
+ if (advisory.plannerCallId !== producerCallId)
68
+ return false;
69
+ return advisory.outcome === "proposal";
70
+ }
71
+ /** Object key order is irrelevant; proposed item order and all semantic fields are exact. */
72
+ export function areModelWorkPlanDefinitionsEqual(definition, source) {
73
+ if (definition.summary !== source.summary)
74
+ return false;
75
+ if (definition.items.length !== source.items.length)
76
+ return false;
77
+ return definition.items.every((item, index) => isSameModelWorkPlanItemDefinition(item, source.items[index]));
78
+ }
79
+ function isSameModelWorkPlanItemDefinition(item, source) {
80
+ if (item.itemId !== source.itemId)
81
+ return false;
82
+ if (item.title !== source.title)
83
+ return false;
84
+ return item.objective === source.objective;
85
+ }
@@ -0,0 +1,3 @@
1
+ import type { RoleCallLedger } from "./contracts.js";
2
+ import type { ModelWorkPlanTransactions } from "./work-plan-contracts.js";
3
+ export declare function createModelWorkPlanTransactions(apply: RoleCallLedger["apply"]): ModelWorkPlanTransactions;
@@ -0,0 +1,17 @@
1
+ import { requireEffect } from "./transaction-effect.js";
2
+ export function createModelWorkPlanTransactions(apply) {
3
+ return Object.freeze({
4
+ async updateModelWorkPlan(input) {
5
+ return requireEffect(await apply({
6
+ expectedHead: input.expectedHead,
7
+ command: {
8
+ authority: "active_role",
9
+ type: "update_model_work_plan",
10
+ callId: input.callId,
11
+ invocationAttempt: input.invocationAttempt,
12
+ update: input.update,
13
+ },
14
+ }), "model_work_plan_updated", "model_work_plan_transition_invalid", (effect) => effect.callId === input.callId);
15
+ },
16
+ });
17
+ }
@@ -0,0 +1,10 @@
1
+ import type { DecodedRoleCallCommand } from "./command-decoder.js";
2
+ import type { RoleCallFrame, RoleCallPolicy, RoleCallState } from "./contracts.js";
3
+ import { type ModelWorkPlanDefinition, type ModelWorkPlanItemUpdate, type ModelWorkPlanUpdate } from "./work-plan-contracts.js";
4
+ export declare function isModelWorkPlanText(value: unknown, limit?: number): value is string;
5
+ export declare function parseModelWorkPlanItemUpdates(value: unknown): readonly ModelWorkPlanItemUpdate[] | undefined;
6
+ export declare function parseModelWorkPlanDefinition(value: unknown): ModelWorkPlanDefinition | undefined;
7
+ export declare function parseModelWorkPlanUpdate(value: unknown): ModelWorkPlanUpdate | undefined;
8
+ export declare function decodeModelWorkPlanCommand(input: Record<string, unknown>): DecodedRoleCallCommand;
9
+ export declare function updatesNameKnownItems(definition: ModelWorkPlanDefinition, updates: readonly ModelWorkPlanItemUpdate[]): boolean;
10
+ export declare function isValidAdoptedModelWorkPlan(state: RoleCallState, call: RoleCallFrame, policy: RoleCallPolicy): boolean;
@@ -0,0 +1,149 @@
1
+ import { exactKeys, isRecord } from "../../validation/strict-record.js";
2
+ import { areModelWorkPlanDefinitionsEqual, resolveModelWorkPlanSourceDefinition, } from "./work-plan-source.js";
3
+ import { MODEL_WORK_PLAN_ID_LIMIT, MODEL_WORK_PLAN_ITEM_LIMIT, MODEL_WORK_PLAN_STATUSES, MODEL_WORK_PLAN_TEXT_LIMIT, } from "./work-plan-contracts.js";
4
+ export function isModelWorkPlanText(value, limit = MODEL_WORK_PLAN_TEXT_LIMIT) {
5
+ return (typeof value === "string" &&
6
+ value.trim().length > 0 &&
7
+ value.length <= limit);
8
+ }
9
+ export function parseModelWorkPlanItemUpdates(value) {
10
+ if (!Array.isArray(value) || value.length > MODEL_WORK_PLAN_ITEM_LIMIT)
11
+ return undefined;
12
+ const updates = [];
13
+ const ids = new Set();
14
+ for (const entry of value) {
15
+ if (!isRecord(entry) || !exactKeys(entry, ["itemId", "status"]))
16
+ return undefined;
17
+ if (!isModelWorkPlanText(entry.itemId, MODEL_WORK_PLAN_ID_LIMIT))
18
+ return undefined;
19
+ if (!MODEL_WORK_PLAN_STATUSES.includes(entry.status))
20
+ return undefined;
21
+ if (ids.has(entry.itemId))
22
+ return undefined;
23
+ ids.add(entry.itemId);
24
+ updates.push({
25
+ itemId: entry.itemId,
26
+ status: entry.status,
27
+ });
28
+ }
29
+ return updates;
30
+ }
31
+ export function parseModelWorkPlanDefinition(value) {
32
+ if (!isRecord(value) || !exactKeys(value, ["summary", "items"]))
33
+ return undefined;
34
+ if (!isModelWorkPlanText(value.summary) || !Array.isArray(value.items))
35
+ return undefined;
36
+ if (value.items.length === 0 ||
37
+ value.items.length > MODEL_WORK_PLAN_ITEM_LIMIT)
38
+ return undefined;
39
+ const items = [];
40
+ const ids = new Set();
41
+ for (const item of value.items) {
42
+ if (!isRecord(item) || !exactKeys(item, ["itemId", "title", "objective"]))
43
+ return undefined;
44
+ if (!isModelWorkPlanText(item.itemId, MODEL_WORK_PLAN_ID_LIMIT))
45
+ return undefined;
46
+ if (!isModelWorkPlanText(item.title) ||
47
+ !isModelWorkPlanText(item.objective))
48
+ return undefined;
49
+ if (ids.has(item.itemId))
50
+ return undefined;
51
+ ids.add(item.itemId);
52
+ items.push({
53
+ itemId: item.itemId,
54
+ title: item.title,
55
+ objective: item.objective,
56
+ });
57
+ }
58
+ return { summary: value.summary, items };
59
+ }
60
+ export function parseModelWorkPlanUpdate(value) {
61
+ if (!isRecord(value))
62
+ return undefined;
63
+ if (!isModelWorkPlanText(value.sourceResultRef, 256))
64
+ return undefined;
65
+ const itemUpdates = parseModelWorkPlanItemUpdates(value.itemUpdates);
66
+ if (!itemUpdates)
67
+ return undefined;
68
+ if (value.mode === "progress") {
69
+ if (!exactKeys(value, ["mode", "sourceResultRef", "itemUpdates"]) ||
70
+ itemUpdates.length === 0)
71
+ return undefined;
72
+ return {
73
+ mode: "progress",
74
+ sourceResultRef: value.sourceResultRef,
75
+ itemUpdates,
76
+ };
77
+ }
78
+ if (value.mode !== "adopt")
79
+ return undefined;
80
+ if (!exactKeys(value, ["mode", "sourceResultRef", "definition", "itemUpdates"]))
81
+ return undefined;
82
+ const definition = parseModelWorkPlanDefinition(value.definition);
83
+ if (!definition || !updatesNameKnownItems(definition, itemUpdates))
84
+ return undefined;
85
+ return {
86
+ mode: "adopt",
87
+ sourceResultRef: value.sourceResultRef,
88
+ definition,
89
+ itemUpdates,
90
+ };
91
+ }
92
+ export function decodeModelWorkPlanCommand(input) {
93
+ const invalid = { ok: false, code: "invalid_command" };
94
+ if (!exactKeys(input, [
95
+ "authority",
96
+ "type",
97
+ "callId",
98
+ "invocationAttempt",
99
+ "update",
100
+ ]))
101
+ return invalid;
102
+ if (input.authority !== "active_role" ||
103
+ !isModelWorkPlanText(input.callId, 256))
104
+ return invalid;
105
+ if (!Number.isSafeInteger(input.invocationAttempt) ||
106
+ input.invocationAttempt < 1)
107
+ return invalid;
108
+ const update = parseModelWorkPlanUpdate(input.update);
109
+ if (!update)
110
+ return invalid;
111
+ return {
112
+ ok: true,
113
+ value: {
114
+ authority: "active_role",
115
+ type: "update_model_work_plan",
116
+ callId: input.callId,
117
+ invocationAttempt: input.invocationAttempt,
118
+ update,
119
+ },
120
+ };
121
+ }
122
+ export function updatesNameKnownItems(definition, updates) {
123
+ const ids = new Set(definition.items.map((item) => item.itemId));
124
+ return updates.every((update) => ids.has(update.itemId));
125
+ }
126
+ export function isValidAdoptedModelWorkPlan(state, call, policy) {
127
+ const plan = call.adoptedWorkPlan;
128
+ if (plan === undefined)
129
+ return true;
130
+ if (policy.authority.modelWorkPlanAuthority !== "root")
131
+ return false;
132
+ if (call.callId !== state.rootCallId || call.parentCallId !== null)
133
+ return false;
134
+ if (!isRecord(plan) ||
135
+ !exactKeys(plan, ["sourceResultRef", "definition", "itemStates"]))
136
+ return false;
137
+ if (!isModelWorkPlanText(plan.sourceResultRef, 256))
138
+ return false;
139
+ const source = resolveModelWorkPlanSourceDefinition(state, call, plan.sourceResultRef, policy);
140
+ if (!source)
141
+ return false;
142
+ const definition = parseModelWorkPlanDefinition(plan.definition);
143
+ const states = parseModelWorkPlanItemUpdates(plan.itemStates);
144
+ if (!definition || !states || definition.items.length !== states.length)
145
+ return false;
146
+ if (!areModelWorkPlanDefinitionsEqual(definition, source))
147
+ return false;
148
+ return updatesNameKnownItems(definition, states);
149
+ }
@@ -7,7 +7,7 @@ export declare const WORKER_CAPABILITY_INTENT_MAX_LENGTH = 500;
7
7
  /** Immutable Worker-only assignment for authoring one capability payload. */
8
8
  export declare const WORKER_CAPABILITY_AUTHORING_OBJECTIVE_MAX_LENGTH = 8192;
9
9
  export declare const WORKER_CAPABILITY_SUMMARY_MAX_LENGTH = 512;
10
- export declare const WORKER_CAPABILITY_COUNT_MAX = 64;
10
+ export declare const WORKER_CAPABILITY_COUNT_MAX = 128;
11
11
  export declare const WORKER_CAPABILITY_CONTROL_COUNT_MAX = 16;
12
12
  export declare const WORKER_CAPABILITY_CONTROL_ID_MAX_LENGTH = 64;
13
13
  export declare const WORKER_CAPABILITY_CONTROL_STRING_MAX_LENGTH = 4096;
@@ -5,7 +5,7 @@ export const WORKER_CAPABILITY_INTENT_MAX_LENGTH = 500;
5
5
  /** Immutable Worker-only assignment for authoring one capability payload. */
6
6
  export const WORKER_CAPABILITY_AUTHORING_OBJECTIVE_MAX_LENGTH = ROLE_CALL_OBJECTIVE_MAX_LENGTH;
7
7
  export const WORKER_CAPABILITY_SUMMARY_MAX_LENGTH = 512;
8
- export const WORKER_CAPABILITY_COUNT_MAX = 64;
8
+ export const WORKER_CAPABILITY_COUNT_MAX = 128;
9
9
  export const WORKER_CAPABILITY_CONTROL_COUNT_MAX = 16;
10
10
  export const WORKER_CAPABILITY_CONTROL_ID_MAX_LENGTH = 64;
11
11
  export const WORKER_CAPABILITY_CONTROL_STRING_MAX_LENGTH = 4_096;
@@ -1,10 +1,11 @@
1
- import type { CanonicalToolDefinitionDeclaration, ToolCallAdapter, ToolImplementation } from "../../capabilities/tool-types.js";
1
+ import type { CanonicalToolDefinitionDeclaration, ToolCallAdapter, ToolImplementation, ToolModuleRequestPreparation } from "../../capabilities/tool-types.js";
2
2
  import type { ToolNormalInvocationContract } from "../../capabilities/normal-invocation/contracts.js";
3
3
  export type CompiledPluginCapability = Readonly<{
4
4
  definition: CanonicalToolDefinitionDeclaration;
5
5
  normalInvocation: ToolNormalInvocationContract;
6
6
  execute: ToolImplementation;
7
7
  adapter?: ToolCallAdapter;
8
+ prepareRequest?: ToolModuleRequestPreparation;
8
9
  }>;
9
10
  export type CompiledRuntimePlugin = Readonly<{
10
11
  id: string;
@@ -0,0 +1,3 @@
1
+ import type { DiscoveredAgentPluginManifest } from "./discovered-manifest.js";
2
+ import { type AgentPluginManifestDiscoveryOptions } from "./manifest-discovery.js";
3
+ export declare function discoverConfiguredRuntimePluginManifests(consumerRoot: string, options?: AgentPluginManifestDiscoveryOptions): readonly DiscoveredAgentPluginManifest[];
@@ -0,0 +1,37 @@
1
+ import { realpathSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ import { discoverAgentPluginManifests, } from "./manifest-discovery.js";
4
+ import { resolveBundledRuntimeRoot } from "./bundled-root.js";
5
+ function canonicalPluginDiscoveryRoot(rootDir) {
6
+ const absoluteRoot = resolve(rootDir);
7
+ try {
8
+ return realpathSync(absoluteRoot);
9
+ }
10
+ catch (error) {
11
+ if (error.code !== "ENOENT") {
12
+ throw error;
13
+ }
14
+ return absoluteRoot;
15
+ }
16
+ }
17
+ function assertUniquePluginManifestIds(plugins) {
18
+ const manifestPathsByPluginId = new Map();
19
+ for (const plugin of plugins) {
20
+ const pluginId = plugin.manifest.name;
21
+ const previousManifestPath = manifestPathsByPluginId.get(pluginId);
22
+ if (previousManifestPath) {
23
+ throw new Error(`Duplicate runtime plugin id: ${pluginId}; manifests: ${previousManifestPath}, ${plugin.manifestPath}`);
24
+ }
25
+ manifestPathsByPluginId.set(pluginId, plugin.manifestPath);
26
+ }
27
+ }
28
+ export function discoverConfiguredRuntimePluginManifests(consumerRoot, options = {}) {
29
+ const bundledRoot = resolveBundledRuntimeRoot();
30
+ const roots = canonicalPluginDiscoveryRoot(bundledRoot) ===
31
+ canonicalPluginDiscoveryRoot(consumerRoot)
32
+ ? [consumerRoot]
33
+ : [bundledRoot, consumerRoot];
34
+ const plugins = roots.flatMap((rootDir) => discoverAgentPluginManifests(rootDir, options));
35
+ assertUniquePluginManifestIds(plugins);
36
+ return Object.freeze(plugins);
37
+ }
@@ -0,0 +1,6 @@
1
+ import type { RuntimePluginEntrypoint } from "../../plugin-contract/entrypoint.js";
2
+ export declare function validateManifestEntrypoint(params: {
3
+ pluginId: string;
4
+ expectedCapabilityIds: readonly string[];
5
+ raw: unknown;
6
+ }): RuntimePluginEntrypoint;
@@ -0,0 +1,74 @@
1
+ function isRecord(value) {
2
+ return !!value && typeof value === "object" && !Array.isArray(value);
3
+ }
4
+ export function validateManifestEntrypoint(params) {
5
+ if (!isRecord(params.raw) || !isRecord(params.raw.handlers)) {
6
+ throw new Error(`Runtime plugin ${params.pluginId} entrypoint must export handlers`);
7
+ }
8
+ const unsupported = Object.keys(params.raw).find((key) => !["handlers", "adapters", "prepareRequest"].includes(key));
9
+ if (unsupported) {
10
+ throw new Error(`Runtime plugin ${params.pluginId} entrypoint contains unsupported field ${unsupported}`);
11
+ }
12
+ const handlers = validateEntrypointHandlers(params.pluginId, params.expectedCapabilityIds, params.raw.handlers);
13
+ const adapters = validateEntrypointAdapters(params.pluginId, params.expectedCapabilityIds, params.raw.adapters);
14
+ const prepareRequest = params.raw.prepareRequest;
15
+ if (!isOptionalEntrypointFunction(prepareRequest)) {
16
+ throw new Error(`Runtime plugin ${params.pluginId} prepareRequest must be a function`);
17
+ }
18
+ return {
19
+ handlers,
20
+ ...(prepareRequest
21
+ ? {
22
+ prepareRequest: prepareRequest,
23
+ }
24
+ : {}),
25
+ ...(Object.keys(adapters).length > 0 ? { adapters } : {}),
26
+ };
27
+ }
28
+ function validateEntrypointHandlers(pluginId, expectedCapabilityIds, raw) {
29
+ const handlers = {};
30
+ for (const [capabilityId, handler] of Object.entries(raw)) {
31
+ if (typeof handler !== "function") {
32
+ throw new Error(`Runtime plugin ${pluginId} handler ${capabilityId} must be a function`);
33
+ }
34
+ handlers[capabilityId] = handler;
35
+ }
36
+ const expected = new Set(expectedCapabilityIds);
37
+ const missing = expectedCapabilityIds.filter((id) => !handlers[id]);
38
+ const unexpected = Object.keys(handlers).filter((id) => !expected.has(id));
39
+ if (missing.length > 0 || unexpected.length > 0) {
40
+ throw new Error(`Runtime plugin ${pluginId} handler mismatch: missing=${missing.join(",") || "none"}; unexpected=${unexpected.join(",") || "none"}`);
41
+ }
42
+ return handlers;
43
+ }
44
+ function validateEntrypointAdapters(pluginId, expectedCapabilityIds, raw) {
45
+ if (raw === undefined)
46
+ return {};
47
+ if (!isRecord(raw)) {
48
+ throw new Error(`Runtime plugin ${pluginId} entrypoint adapters must be an object`);
49
+ }
50
+ const adapters = {};
51
+ for (const [capabilityId, adapter] of Object.entries(raw)) {
52
+ if (!expectedCapabilityIds.includes(capabilityId)) {
53
+ throw new Error(`Runtime plugin ${pluginId} adapter ${capabilityId} has no declared capability`);
54
+ }
55
+ adapters[capabilityId] = validateEntrypointAdapter(pluginId, capabilityId, adapter);
56
+ }
57
+ return adapters;
58
+ }
59
+ function validateEntrypointAdapter(pluginId, capabilityId, raw) {
60
+ const label = `Runtime plugin ${pluginId} adapter ${capabilityId}`;
61
+ if (!isRecord(raw))
62
+ throw new Error(`${label} must be an object`);
63
+ const fields = ["normalizeCall", "validateCall", "executionBinding"];
64
+ const unsupported = Object.keys(raw).find((key) => !fields.includes(key));
65
+ if (unsupported)
66
+ throw new Error(`${label} contains unsupported field ${unsupported}`);
67
+ const invalidFunction = fields.find((key) => !isOptionalEntrypointFunction(raw[key]));
68
+ if (invalidFunction)
69
+ throw new Error(`${label}.${invalidFunction} must be a function`);
70
+ return raw;
71
+ }
72
+ function isOptionalEntrypointFunction(value) {
73
+ return value === undefined || typeof value === "function";
74
+ }