@abot-ai/runtime 1.6.0 → 1.8.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 (750) hide show
  1. package/README.md +2 -0
  2. package/dist/src/bridge/request-steering.js +60 -15
  3. package/dist/src/capabilities/normal-invocation/contracts.d.ts +3 -0
  4. package/dist/src/capabilities/normal-invocation/output-channels.d.ts +10 -0
  5. package/dist/src/capabilities/normal-invocation/output-channels.js +29 -0
  6. package/dist/src/capabilities/normal-invocation/validator.js +4 -2
  7. package/dist/src/capabilities/tool-request-resources.d.ts +3 -0
  8. package/dist/src/capabilities/tool-types.d.ts +1 -1
  9. package/dist/src/cli/abot.js +2 -0
  10. package/dist/src/cli/host-companion-bundle.mjs +8003 -6796
  11. package/dist/src/cli/host-companion-entry.js +5 -22
  12. package/dist/src/cli/host-companion-input.d.ts +3 -0
  13. package/dist/src/cli/host-companion-input.js +21 -0
  14. package/dist/src/cli/host-companion-lifecycle.d.ts +11 -0
  15. package/dist/src/cli/host-companion-lifecycle.js +32 -0
  16. package/dist/src/cli/host-companion-setup-target.d.ts +4 -0
  17. package/dist/src/cli/host-companion-setup-target.js +17 -0
  18. package/dist/src/cli/host-companion-startup.d.ts +2 -0
  19. package/dist/src/cli/host-companion-startup.js +7 -2
  20. package/dist/src/cli/host-companion.d.ts +6 -0
  21. package/dist/src/cli/host-companion.js +30 -27
  22. package/dist/src/cli/windows-companion-store-entry.d.ts +9 -0
  23. package/dist/src/cli/windows-companion-store-entry.js +67 -0
  24. package/dist/src/computer-access/collection-consent.d.ts +9 -0
  25. package/dist/src/computer-access/collection-consent.js +47 -0
  26. package/dist/src/computer-access/command-output-capture.d.ts +48 -0
  27. package/dist/src/computer-access/command-output-capture.js +202 -0
  28. package/dist/src/computer-access/command-output-protection.d.ts +17 -0
  29. package/dist/src/computer-access/command-output-protection.js +59 -0
  30. package/dist/src/computer-access/command-output-retention.d.ts +5 -0
  31. package/dist/src/computer-access/command-output-retention.js +90 -0
  32. package/dist/src/computer-access/command-output.d.ts +7 -0
  33. package/dist/src/computer-access/command-output.js +1 -0
  34. package/dist/src/computer-access/commands.d.ts +1 -0
  35. package/dist/src/computer-access/commands.js +1 -1
  36. package/dist/src/computer-access/companion/command-output-protocol.d.ts +12 -0
  37. package/dist/src/computer-access/companion/command-output-protocol.js +28 -0
  38. package/dist/src/computer-access/companion/command-output.d.ts +14 -0
  39. package/dist/src/computer-access/companion/command-output.js +127 -0
  40. package/dist/src/computer-access/companion/install-link-macos.d.ts +7 -0
  41. package/dist/src/computer-access/companion/install-link-macos.js +49 -0
  42. package/dist/src/computer-access/companion/install-link-registration.d.ts +4 -0
  43. package/dist/src/computer-access/companion/install-link-registration.js +184 -0
  44. package/dist/src/computer-access/companion/install-link-windows.d.ts +4 -0
  45. package/dist/src/computer-access/companion/install-link-windows.js +65 -0
  46. package/dist/src/computer-access/companion/install-link.d.ts +9 -0
  47. package/dist/src/computer-access/companion/install-link.js +54 -0
  48. package/dist/src/computer-access/companion/native-messages.js +3 -0
  49. package/dist/src/computer-access/companion/native-notifications.js +3 -2
  50. package/dist/src/computer-access/companion/native-session.d.ts +1 -0
  51. package/dist/src/computer-access/companion/native-session.js +20 -4
  52. package/dist/src/computer-access/companion/native-supervisor.js +1 -0
  53. package/dist/src/computer-access/companion/notification-windows.d.ts +1 -1
  54. package/dist/src/computer-access/companion/notification-windows.js +8 -3
  55. package/dist/src/computer-access/companion/observation-filter.js +2 -26
  56. package/dist/src/computer-access/companion/observation-process.d.ts +2 -0
  57. package/dist/src/computer-access/companion/observation-process.js +51 -25
  58. package/dist/src/computer-access/companion/observation-redaction.d.ts +2 -7
  59. package/dist/src/computer-access/companion/observation-redaction.js +2 -111
  60. package/dist/src/computer-access/companion/protocol.d.ts +1 -1
  61. package/dist/src/computer-access/companion/protocol.js +6 -0
  62. package/dist/src/computer-access/companion/release-version.d.ts +1 -1
  63. package/dist/src/computer-access/companion/release-version.js +1 -1
  64. package/dist/src/computer-access/companion/secret-protection-protocol.d.ts +6 -0
  65. package/dist/src/computer-access/companion/secret-protection-protocol.js +6 -0
  66. package/dist/src/computer-access/companion/windows-store/connection-error.d.ts +7 -0
  67. package/dist/src/computer-access/companion/windows-store/connection-error.js +19 -0
  68. package/dist/src/computer-access/companion/windows-store/connection-link.d.ts +13 -0
  69. package/dist/src/computer-access/companion/windows-store/connection-link.js +109 -0
  70. package/dist/src/computer-access/companion/windows-store/identity.d.ts +13 -0
  71. package/dist/src/computer-access/companion/windows-store/identity.js +13 -0
  72. package/dist/src/computer-access/companion/windows-store/lifecycle.d.ts +5 -0
  73. package/dist/src/computer-access/companion/windows-store/lifecycle.js +90 -0
  74. package/dist/src/computer-access/computer/companion-sessions.js +7 -6
  75. package/dist/src/computer-access/computer/unix-native-process.js +23 -11
  76. package/dist/src/computer-access/contracts.d.ts +1 -1
  77. package/dist/src/computer-access/handlers.d.ts +3 -1
  78. package/dist/src/computer-access/handlers.js +83 -11
  79. package/dist/src/computer-access/host-observation.d.ts +3 -3
  80. package/dist/src/computer-access/native-observation-connection.d.ts +12 -0
  81. package/dist/src/computer-access/native-observation-connection.js +78 -0
  82. package/dist/src/computer-access/native-observation-ownership.d.ts +6 -0
  83. package/dist/src/computer-access/native-observation-ownership.js +55 -0
  84. package/dist/src/computer-access/native-observation-shutdown.d.ts +7 -0
  85. package/dist/src/computer-access/native-observation-shutdown.js +58 -0
  86. package/dist/src/computer-access/observation-source.d.ts +6 -0
  87. package/dist/src/computer-access/observation-source.js +10 -0
  88. package/dist/src/computer-access/process-capture.d.ts +6 -0
  89. package/dist/src/computer-access/process-capture.js +1 -0
  90. package/dist/src/computer-access/process-result.d.ts +2 -0
  91. package/dist/src/computer-access/process-result.js +14 -6
  92. package/dist/src/computer-access/process-runner.d.ts +2 -1
  93. package/dist/src/computer-access/process-runner.js +21 -13
  94. package/dist/src/computer-access/security/desktop-result.d.ts +8 -0
  95. package/dist/src/computer-access/security/desktop-result.js +146 -0
  96. package/dist/src/computer-access/security/observed-error.d.ts +2 -0
  97. package/dist/src/computer-access/security/observed-error.js +10 -0
  98. package/dist/src/computer-access/security/secret-text.d.ts +7 -0
  99. package/dist/src/computer-access/security/secret-text.js +111 -0
  100. package/dist/src/computer-access/security/system-results.d.ts +2 -0
  101. package/dist/src/computer-access/security/system-results.js +53 -0
  102. package/dist/src/computer-access/system-result-protection.d.ts +11 -0
  103. package/dist/src/computer-access/system-result-protection.js +1 -0
  104. package/dist/src/model-gateway/observability/provider-response-capture.d.ts +60 -0
  105. package/dist/src/model-gateway/observability/provider-response-capture.js +68 -0
  106. package/dist/src/model-gateway/observability/provider-response-prefix.d.ts +7 -0
  107. package/dist/src/model-gateway/observability/provider-response-prefix.js +14 -0
  108. package/dist/src/model-gateway/observability/provider-response-tail.d.ts +8 -0
  109. package/dist/src/model-gateway/observability/provider-response-tail.js +28 -0
  110. package/dist/src/model-gateway/observability/provider-sse-diagnostics.d.ts +30 -0
  111. package/dist/src/model-gateway/observability/provider-sse-diagnostics.js +119 -0
  112. package/dist/src/model-gateway/observability/provider-trace.js +30 -8
  113. package/dist/src/model-gateway/providers/ollama/adapter.js +8 -2
  114. package/dist/src/model-gateway/providers/ollama/stream-normalizer.js +70 -50
  115. package/dist/src/model-gateway/providers/ollama/stream-termination.d.ts +6 -0
  116. package/dist/src/model-gateway/providers/ollama/stream-termination.js +20 -0
  117. package/dist/src/model-gateway/providers/openai/adapter.js +9 -7
  118. package/dist/src/model-gateway/providers/openai/diagnostics.d.ts +0 -1
  119. package/dist/src/model-gateway/providers/openai/diagnostics.js +0 -9
  120. package/dist/src/model-gateway/providers/openai/function-output.d.ts +11 -0
  121. package/dist/src/model-gateway/providers/openai/function-output.js +37 -0
  122. package/dist/src/model-gateway/providers/openai/function-result.d.ts +7 -0
  123. package/dist/src/model-gateway/providers/openai/function-result.js +35 -0
  124. package/dist/src/model-gateway/providers/openai/message-output-policy.d.ts +3 -0
  125. package/dist/src/model-gateway/providers/openai/message-output-policy.js +16 -0
  126. package/dist/src/model-gateway/providers/openai/payload.d.ts +0 -2
  127. package/dist/src/model-gateway/providers/openai/payload.js +6 -23
  128. package/dist/src/model-gateway/providers/openai/response-lifetime.d.ts +2 -0
  129. package/dist/src/model-gateway/providers/openai/response-lifetime.js +64 -0
  130. package/dist/src/model-gateway/providers/openai/sse-data.d.ts +9 -0
  131. package/dist/src/model-gateway/providers/openai/sse-data.js +67 -0
  132. package/dist/src/model-gateway/providers/openai/stream-normalizer.d.ts +10 -22
  133. package/dist/src/model-gateway/providers/openai/stream-normalizer.js +78 -79
  134. package/dist/src/model-gateway/providers/openai/stream.js +13 -41
  135. package/dist/src/model-gateway/providers/openai/structured-message-output.d.ts +42 -0
  136. package/dist/src/model-gateway/providers/openai/structured-message-output.js +175 -0
  137. package/dist/src/model-gateway/server/configuration.d.ts +2 -0
  138. package/dist/src/model-gateway/server/configuration.js +73 -21
  139. package/dist/src/model-gateway/server.js +5 -1
  140. package/dist/src/plugin-contract/index.d.ts +1 -0
  141. package/dist/src/plugin-contract/index.js +1 -0
  142. package/dist/src/plugin-contract/install-source.d.ts +13 -0
  143. package/dist/src/plugin-contract/install-source.js +99 -0
  144. package/dist/src/plugin-contract/manifest.d.ts +4 -1
  145. package/dist/src/plugin-contract/manifest.js +1 -0
  146. package/dist/src/plugin-contract/platform-compatibility.d.ts +16 -0
  147. package/dist/src/plugin-contract/platform-compatibility.js +3 -0
  148. package/dist/src/plugin-sdk/computer-access.d.ts +12 -0
  149. package/dist/src/plugin-sdk/computer-access.js +6 -0
  150. package/dist/src/plugin-sdk/files-windows/process.d.ts +3 -0
  151. package/dist/src/plugin-sdk/files-windows/process.js +93 -0
  152. package/dist/src/plugin-sdk/files-windows/read-script.d.ts +1 -0
  153. package/dist/src/plugin-sdk/files-windows/read-script.js +43 -0
  154. package/dist/src/plugin-sdk/files-windows/read.d.ts +6 -0
  155. package/dist/src/plugin-sdk/files-windows/read.js +56 -0
  156. package/dist/src/plugin-sdk/files-windows/result.d.ts +4 -0
  157. package/dist/src/plugin-sdk/files-windows/result.js +67 -0
  158. package/dist/src/plugin-sdk/files.js +4 -0
  159. package/dist/src/plugin-sdk/index.d.ts +1 -0
  160. package/dist/src/plugin-sdk/index.js +1 -0
  161. package/dist/src/plugin-sdk/mutation-result.d.ts +7 -0
  162. package/dist/src/plugin-sdk/mutation-result.js +11 -0
  163. package/dist/src/runtime/adapters/in-memory-session-store.js +6 -16
  164. package/dist/src/runtime/adapters/long-term-memory/file-lock/acquisition.js +20 -3
  165. package/dist/src/runtime/adapters/long-term-memory/file-lock/owner-record.js +3 -1
  166. package/dist/src/runtime/adapters/long-term-memory/file-lock/path-observation.d.ts +3 -0
  167. package/dist/src/runtime/adapters/long-term-memory/file-lock/path-observation.js +20 -0
  168. package/dist/src/runtime/adapters/long-term-memory/file-lock/snapshot.js +7 -3
  169. package/dist/src/runtime/adapters/passive-learning-runtime.d.ts +1 -1
  170. package/dist/src/runtime/adapters/passive-learning-runtime.js +3 -3
  171. package/dist/src/runtime/adapters/runtime-observation-connection.d.ts +5 -0
  172. package/dist/src/runtime/adapters/runtime-observation-connection.js +13 -0
  173. package/dist/src/runtime/admin/config-control.js +2 -1
  174. package/dist/src/runtime/automations/catalog.d.ts +3 -0
  175. package/dist/src/runtime/automations/catalog.js +1 -0
  176. package/dist/src/runtime/automations/model-dependency-projection.d.ts +2 -0
  177. package/dist/src/runtime/automations/service.d.ts +2 -0
  178. package/dist/src/runtime/capabilities/automation-builder/authoring-reference.d.ts +10 -5
  179. package/dist/src/runtime/capabilities/automation-builder/authoring-reference.js +8 -7
  180. package/dist/src/runtime/capabilities/automation-builder/payload-instructions.d.ts +2 -2
  181. package/dist/src/runtime/capabilities/automation-builder/payload-instructions.js +2 -2
  182. package/dist/src/runtime/capabilities/automation-builder/tool-contract.d.ts +2 -2
  183. package/dist/src/runtime/capabilities/automations/authoring-catalog.js +1 -1
  184. package/dist/src/runtime/capabilities/automations/authoring-preparation.d.ts +11 -5
  185. package/dist/src/runtime/capabilities/automations/tool-module.js +1 -1
  186. package/dist/src/runtime/capabilities/request-permission-catalog.d.ts +3 -1
  187. package/dist/src/runtime/capabilities/request-permission-catalog.js +21 -2
  188. package/dist/src/runtime/capabilities/request-permission-tool-registry.d.ts +2 -1
  189. package/dist/src/runtime/capabilities/request-permission-tool-registry.js +18 -10
  190. package/dist/src/runtime/capabilities/request-runtime-tool-registry.d.ts +2 -0
  191. package/dist/src/runtime/capabilities/request-runtime-tool-registry.js +1 -1
  192. package/dist/src/runtime/capabilities/scheduling/create-operations.d.ts +6 -0
  193. package/dist/src/runtime/config/builders.js +6 -5
  194. package/dist/src/runtime/config/effective-model-config-validation.js +4 -35
  195. package/dist/src/runtime/config/fields.js +15 -0
  196. package/dist/src/runtime/config/model-context-capacity.d.ts +20 -0
  197. package/dist/src/runtime/config/model-context-capacity.js +55 -0
  198. package/dist/src/runtime/config/model-execution-policy.d.ts +5 -1
  199. package/dist/src/runtime/config/model-execution-policy.js +16 -0
  200. package/dist/src/runtime/config/model-plugin-config.d.ts +8 -0
  201. package/dist/src/runtime/config/model-plugin-config.js +40 -0
  202. package/dist/src/runtime/config/schema.js +5 -1
  203. package/dist/src/runtime/config/validation/model-profile-validation.js +2 -0
  204. package/dist/src/runtime/config/validation/runtime-config-validation-contract.d.ts +3 -1
  205. package/dist/src/runtime/config/validation/runtime-config-validation-contract.js +3 -1
  206. package/dist/src/runtime/config/validation/runtime-root-section-validation.js +11 -4
  207. package/dist/src/runtime/config/validation/web-ui-config-validation.js +3 -2
  208. package/dist/src/runtime/config/web-ui.d.ts +5 -0
  209. package/dist/src/runtime/config/web-ui.js +5 -0
  210. package/dist/src/runtime/config.js +2 -0
  211. package/dist/src/runtime/local-application.d.ts +2 -0
  212. package/dist/src/runtime/local-host/app-owner.js +50 -6
  213. package/dist/src/runtime/local-host/app-request-control.d.ts +3 -1
  214. package/dist/src/runtime/local-host/app-request-control.js +91 -11
  215. package/dist/src/runtime/local-host/client-requests.js +32 -5
  216. package/dist/src/runtime/local-host/client-services.d.ts +2 -0
  217. package/dist/src/runtime/local-host/local-request-diagnostics.d.ts +9 -0
  218. package/dist/src/runtime/local-host/local-request-diagnostics.js +47 -0
  219. package/dist/src/runtime/local-host/saved-approvals.js +23 -2
  220. package/dist/src/runtime/local-host/windows-private-access.js +2 -0
  221. package/dist/src/runtime/model/model-selection.js +4 -1
  222. package/dist/src/runtime/observability/request-control-diagnostics.d.ts +6 -0
  223. package/dist/src/runtime/observability/request-control-diagnostics.js +52 -0
  224. package/dist/src/runtime/passive-learning/application-catalog.js +3 -1
  225. package/dist/src/runtime/passive-learning/collection-source.js +7 -0
  226. package/dist/src/runtime/passive-learning/service.js +2 -3
  227. package/dist/src/runtime/passive-learning/status-projection.d.ts +2 -0
  228. package/dist/src/runtime/passive-learning/status-projection.js +9 -0
  229. package/dist/src/runtime/plugins/configuration-context.d.ts +9 -0
  230. package/dist/src/runtime/plugins/configuration-context.js +42 -0
  231. package/dist/src/runtime/plugins/configuration-settings.d.ts +2 -0
  232. package/dist/src/runtime/plugins/configuration-settings.js +26 -0
  233. package/dist/src/runtime/plugins/configuration-store.d.ts +23 -0
  234. package/dist/src/runtime/plugins/configuration-store.js +100 -0
  235. package/dist/src/runtime/plugins/configuration-write.d.ts +5 -0
  236. package/dist/src/runtime/plugins/configuration-write.js +58 -0
  237. package/dist/src/runtime/plugins/installation/archive.d.ts +2 -0
  238. package/dist/src/runtime/plugins/installation/archive.js +107 -0
  239. package/dist/src/runtime/plugins/installation/github-download.d.ts +9 -0
  240. package/dist/src/runtime/plugins/installation/github-download.js +72 -0
  241. package/dist/src/runtime/plugins/installation/installed-package.d.ts +9 -0
  242. package/dist/src/runtime/plugins/installation/installed-package.js +66 -0
  243. package/dist/src/runtime/plugins/installation/package.d.ts +53 -0
  244. package/dist/src/runtime/plugins/installation/package.js +81 -0
  245. package/dist/src/runtime/plugins/installation/portable-path.d.ts +2 -0
  246. package/dist/src/runtime/plugins/installation/portable-path.js +10 -0
  247. package/dist/src/runtime/plugins/installation/publication.d.ts +10 -0
  248. package/dist/src/runtime/plugins/installation/publication.js +17 -0
  249. package/dist/src/runtime/plugins/installation/service.d.ts +48 -0
  250. package/dist/src/runtime/plugins/installation/service.js +80 -0
  251. package/dist/src/runtime/plugins/loader.js +34 -38
  252. package/dist/src/runtime/plugins/manifest-platform-compatibility.d.ts +2 -0
  253. package/dist/src/runtime/plugins/manifest-platform-compatibility.js +39 -0
  254. package/dist/src/runtime/plugins/manifest-projection.js +1 -0
  255. package/dist/src/runtime/plugins/manifest-validator.js +12 -1
  256. package/dist/src/runtime/plugins/module-cache.d.ts +2 -0
  257. package/dist/src/runtime/plugins/module-cache.js +19 -0
  258. package/dist/src/runtime/plugins/platform-compatibility.d.ts +4 -0
  259. package/dist/src/runtime/plugins/platform-compatibility.js +44 -0
  260. package/dist/src/runtime/plugins/selection.d.ts +2 -0
  261. package/dist/src/runtime/plugins/selection.js +16 -11
  262. package/dist/src/runtime/ports.d.ts +6 -4
  263. package/dist/src/runtime/request/approval-wait/activation-events.js +19 -7
  264. package/dist/src/runtime/request/approval-wait/execution-compaction-restore.d.ts +20 -0
  265. package/dist/src/runtime/request/approval-wait/execution-compaction-restore.js +118 -0
  266. package/dist/src/runtime/request/approval-wait/super-compaction-restore.js +2 -1
  267. package/dist/src/runtime/request/dependencies.d.ts +2 -1
  268. package/dist/src/runtime/request/execution-payload-compacted-evidence.d.ts +1 -1
  269. package/dist/src/runtime/request/handler.js +8 -0
  270. package/dist/src/runtime/request/prepared-execution.js +9 -1
  271. package/dist/src/runtime/request/request-steering.d.ts +4 -0
  272. package/dist/src/runtime/request/request-steering.js +37 -12
  273. package/dist/src/runtime/request/worker-capability-composition.d.ts +2 -0
  274. package/dist/src/runtime/request/worker-capability-composition.js +4 -1
  275. package/dist/src/runtime/scheduler/journal-index-state.d.ts +1 -1
  276. package/dist/src/runtime/steps/execution-agent/capability-result-context.d.ts +6 -0
  277. package/dist/src/runtime/steps/execution-agent/capability-result-context.js +29 -0
  278. package/dist/src/runtime/steps/execution-agent/format.js +2 -3
  279. package/dist/src/runtime/steps/execution-agent/input.js +1 -1
  280. package/dist/src/runtime/steps/execution-agent/prompt.js +5 -5
  281. package/dist/src/runtime/steps/execution-agent/response-prompt.js +1 -0
  282. package/dist/src/runtime/steps/execution-agent/state-context.d.ts +2 -3
  283. package/dist/src/runtime/steps/execution-agent/state-context.js +26 -35
  284. package/dist/src/runtime/steps/execution-agent/work-plan-contract.d.ts +1 -3
  285. package/dist/src/runtime/steps/execution-agent/work-plan-contract.js +0 -55
  286. package/dist/src/runtime/steps/execution-agent/work-plan-schema.d.ts +3 -0
  287. package/dist/src/runtime/steps/execution-agent/work-plan-schema.js +61 -0
  288. package/dist/src/sessions/assistant-initiative-message.d.ts +3 -0
  289. package/dist/src/sessions/assistant-initiative-message.js +12 -0
  290. package/dist/src/sessions/assistant-initiative.d.ts +2 -2
  291. package/dist/src/sessions/assistant-initiative.js +1 -7
  292. package/dist/src/sessions/durable-session-commit.d.ts +2 -1
  293. package/dist/src/sessions/durable-session-commit.js +9 -4
  294. package/dist/src/sessions/metadata/projection.d.ts +15 -0
  295. package/dist/src/sessions/metadata/projection.js +55 -0
  296. package/dist/src/sessions/metadata/publication.d.ts +12 -0
  297. package/dist/src/sessions/metadata/publication.js +78 -0
  298. package/dist/src/sessions/metadata/source-receipt.d.ts +5 -0
  299. package/dist/src/sessions/metadata/source-receipt.js +42 -0
  300. package/dist/src/sessions/metadata/store.d.ts +7 -0
  301. package/dist/src/sessions/metadata/store.js +119 -0
  302. package/dist/src/sessions/prepared-session-replacement.d.ts +6 -0
  303. package/dist/src/sessions/prepared-session-replacement.js +46 -0
  304. package/dist/src/sessions/record/projection.d.ts +3 -1
  305. package/dist/src/sessions/record/projection.js +26 -18
  306. package/dist/src/sessions/request-lifecycle/service.js +3 -3
  307. package/dist/src/sessions/session-service.d.ts +2 -4
  308. package/dist/src/sessions/session-service.js +4 -16
  309. package/dist/src/sessions/session-store.d.ts +2 -1
  310. package/dist/src/sessions/session-store.js +11 -5
  311. package/dist/src/sessions/snapshot.d.ts +17 -0
  312. package/dist/src/sessions/snapshot.js +105 -0
  313. package/dist/src/sessions/types.d.ts +2 -0
  314. package/dist/src/shared/passive-observation-self-exclusion.d.ts +5 -0
  315. package/dist/src/shared/passive-observation-self-exclusion.js +37 -0
  316. package/dist/src/shared/tool-selection.d.ts +2 -0
  317. package/dist/src/shared/tool-selection.js +7 -0
  318. package/dist/src/shared/windows-file-io/authority-script.d.ts +1 -0
  319. package/dist/src/shared/windows-file-io/authority-script.js +94 -0
  320. package/dist/src/shared/windows-file-io/native-script.d.ts +2 -0
  321. package/dist/src/shared/windows-file-io/native-script.js +120 -0
  322. package/dist/src/shared/windows-file-io/read-bytes-script.d.ts +1 -0
  323. package/dist/src/shared/windows-file-io/read-bytes-script.js +18 -0
  324. package/dist/src/shared/windows-job-object.d.ts +2 -0
  325. package/dist/src/shared/windows-job-object.js +66 -0
  326. package/dist/src/web-ui/app/ARCHITECTURE.md +14 -0
  327. package/dist/src/web-ui/app/app-bootstrap.js +14 -1
  328. package/dist/src/web-ui/app/app-state.js +0 -7
  329. package/dist/src/web-ui/app/app.js +59 -159
  330. package/dist/src/web-ui/app/components/automations/node-inspector.js +3 -2
  331. package/dist/src/web-ui/app/components/automations/step-editor-dialog.js +3 -0
  332. package/dist/src/web-ui/app/components/composer-submission-notice.js +50 -0
  333. package/dist/src/web-ui/app/components/config-workspace/config-model.js +2 -0
  334. package/dist/src/web-ui/app/components/config-workspace/model-plugin-permissions.js +136 -0
  335. package/dist/src/web-ui/app/components/config-workspace/model-plugin-selection.js +180 -0
  336. package/dist/src/web-ui/app/components/config-workspace/model-plugin-view-state.js +114 -0
  337. package/dist/src/web-ui/app/components/config-workspace/model-rendering.js +3 -0
  338. package/dist/src/web-ui/app/components/config-workspace/model-summary.js +39 -0
  339. package/dist/src/web-ui/app/components/config-workspace/summary-rendering.js +30 -0
  340. package/dist/src/web-ui/app/components/config-workspace/workspace-events.js +37 -0
  341. package/dist/src/web-ui/app/components/config-workspace/workspace-mutations.js +24 -2
  342. package/dist/src/web-ui/app/components/config-workspace/workspace-persistence.js +9 -1
  343. package/dist/src/web-ui/app/components/config-workspace/workspace-view.js +23 -67
  344. package/dist/src/web-ui/app/components/config-workspace.js +11 -2
  345. package/dist/src/web-ui/app/components/conversation-view.js +36 -5
  346. package/dist/src/web-ui/app/components/dashboard/recent-conversations.js +2 -1
  347. package/dist/src/web-ui/app/components/dashboard/workspace.js +2 -1
  348. package/dist/src/web-ui/app/components/home-guidance/daily-review.js +2 -2
  349. package/dist/src/web-ui/app/components/home-guidance/home-guidance.js +20 -6
  350. package/dist/src/web-ui/app/components/model-setup/context-window-feedback.js +53 -0
  351. package/dist/src/web-ui/app/components/model-setup/save-flow.js +3 -1
  352. package/dist/src/web-ui/app/components/model-setup/save-outcome.js +1 -0
  353. package/dist/src/web-ui/app/components/model-setup/wizard.js +12 -0
  354. package/dist/src/web-ui/app/components/operations-summary.js +105 -0
  355. package/dist/src/web-ui/app/components/passive-learning/activity-controls.js +4 -0
  356. package/dist/src/web-ui/app/components/passive-learning/collection-access.js +35 -0
  357. package/dist/src/web-ui/app/components/passive-learning/collection-consent-dialog.js +59 -0
  358. package/dist/src/web-ui/app/components/passive-learning/collection-consent-gate.js +94 -0
  359. package/dist/src/web-ui/app/components/passive-learning/computer-update-notice.js +6 -0
  360. package/dist/src/web-ui/app/components/passive-learning/failure-copy.js +1 -0
  361. package/dist/src/web-ui/app/components/passive-learning/home.js +8 -11
  362. package/dist/src/web-ui/app/components/passive-learning/macos-collection-restart-notice.js +1 -0
  363. package/dist/src/web-ui/app/components/passive-learning/memory.js +2 -4
  364. package/dist/src/web-ui/app/components/passive-learning/workspace-view.js +2 -2
  365. package/dist/src/web-ui/app/components/plugins/compatibility.js +13 -0
  366. package/dist/src/web-ui/app/components/plugins/configuration-draft.js +34 -0
  367. package/dist/src/web-ui/app/components/plugins/configuration-editor.js +147 -0
  368. package/dist/src/web-ui/app/components/plugins/configuration-fields.js +103 -0
  369. package/dist/src/web-ui/app/components/plugins/configuration-retained-secrets.js +20 -0
  370. package/dist/src/web-ui/app/components/plugins/configuration-settings.js +108 -0
  371. package/dist/src/web-ui/app/components/plugins/discovery-rendering.js +45 -0
  372. package/dist/src/web-ui/app/components/plugins/installation-compatibility.js +7 -0
  373. package/dist/src/web-ui/app/components/plugins/installation.js +213 -0
  374. package/dist/src/web-ui/app/components/plugins/manager.js +160 -6
  375. package/dist/src/web-ui/app/components/plugins/removal.js +130 -0
  376. package/dist/src/web-ui/app/components/plugins/rendering.js +17 -2
  377. package/dist/src/web-ui/app/components/plugins/summary.js +54 -0
  378. package/dist/src/web-ui/app/components/plugins/tabs.js +31 -0
  379. package/dist/src/web-ui/app/components/plugins/view-state.js +3 -1
  380. package/dist/src/web-ui/app/components/reasoning-override-prompt.js +82 -0
  381. package/dist/src/web-ui/app/components/runtime-config-activation.js +22 -8
  382. package/dist/src/web-ui/app/components/runtime-setup/connection-form.js +5 -2
  383. package/dist/src/web-ui/app/components/runtime-setup/connection-state.js +9 -1
  384. package/dist/src/web-ui/app/components/runtime-setup/context-window-feedback.js +71 -0
  385. package/dist/src/web-ui/app/components/runtime-setup/optional-steps.js +9 -4
  386. package/dist/src/web-ui/app/components/runtime-setup/plugins.js +3 -1
  387. package/dist/src/web-ui/app/components/runtime-setup/rendering.js +6 -4
  388. package/dist/src/web-ui/app/components/runtime-setup-guide.d.ts +1 -0
  389. package/dist/src/web-ui/app/components/runtime-setup-guide.js +15 -3
  390. package/dist/src/web-ui/app/components/schedules/form.js +10 -8
  391. package/dist/src/web-ui/app/components/schedules/workspace.js +23 -4
  392. package/dist/src/web-ui/app/components/session-sidebar-sections.js +2 -2
  393. package/dist/src/web-ui/app/components/spark-chat/empty-state.js +1 -0
  394. package/dist/src/web-ui/app/components/spark-chat/handoff-actions.js +9 -3
  395. package/dist/src/web-ui/app/components/spark-chat/panel.js +1 -0
  396. package/dist/src/web-ui/app/components/spark-chat/placement.js +4 -7
  397. package/dist/src/web-ui/app/components/spark-chat/settings.js +7 -3
  398. package/dist/src/web-ui/app/components/system-host/connection-card.js +35 -0
  399. package/dist/src/web-ui/app/components/system-host/macos-permissions.js +2 -0
  400. package/dist/src/web-ui/app/components/system-host/macos-setup.js +1 -1
  401. package/dist/src/web-ui/app/components/system-host/manager.js +45 -12
  402. package/dist/src/web-ui/app/components/system-host/native-windows-access.js +50 -0
  403. package/dist/src/web-ui/app/components/system-host/rendering.js +114 -106
  404. package/dist/src/web-ui/app/components/system-host/windows-store-setup.js +293 -0
  405. package/dist/src/web-ui/app/components/workspace-shell.js +6 -0
  406. package/dist/src/web-ui/app/components/workspace-storage-notice.js +37 -0
  407. package/dist/src/web-ui/app/computer-access-feature.js +22 -5
  408. package/dist/src/web-ui/app/configuration-environment-refresh.js +27 -34
  409. package/dist/src/web-ui/app/configuration-feature.js +44 -3
  410. package/dist/src/web-ui/app/controllers/app-event-bindings.js +41 -105
  411. package/dist/src/web-ui/app/controllers/chat-request-controller.d.ts +28 -0
  412. package/dist/src/web-ui/app/controllers/chat-request-controller.js +34 -66
  413. package/dist/src/web-ui/app/controllers/composer-attachments-controller.d.ts +15 -40
  414. package/dist/src/web-ui/app/controllers/composer-attachments-controller.js +26 -69
  415. package/dist/src/web-ui/app/controllers/composer-draft-view.d.ts +27 -0
  416. package/dist/src/web-ui/app/controllers/composer-draft-view.js +48 -0
  417. package/dist/src/web-ui/app/controllers/composer-drafts.d.ts +55 -0
  418. package/dist/src/web-ui/app/controllers/composer-drafts.js +120 -0
  419. package/dist/src/web-ui/app/controllers/composer-feature.d.ts +65 -0
  420. package/dist/src/web-ui/app/controllers/composer-feature.js +124 -0
  421. package/dist/src/web-ui/app/controllers/composer-queue-controller.d.ts +33 -94
  422. package/dist/src/web-ui/app/controllers/composer-queue-controller.js +185 -251
  423. package/dist/src/web-ui/app/controllers/composer-submission-lifecycle.d.ts +48 -0
  424. package/dist/src/web-ui/app/controllers/composer-submission-lifecycle.js +97 -0
  425. package/dist/src/web-ui/app/controllers/composer-submit-controller.d.ts +30 -61
  426. package/dist/src/web-ui/app/controllers/composer-submit-controller.js +56 -138
  427. package/dist/src/web-ui/app/controllers/composer-surface-controller.js +6 -0
  428. package/dist/src/web-ui/app/controllers/composer-workspace-controller.d.ts +22 -40
  429. package/dist/src/web-ui/app/controllers/composer-workspace-controller.js +49 -165
  430. package/dist/src/web-ui/app/controllers/conversation-navigation-intent.js +15 -0
  431. package/dist/src/web-ui/app/controllers/conversation-read-state-controller.d.ts +1 -0
  432. package/dist/src/web-ui/app/controllers/conversation-read-state-controller.js +7 -3
  433. package/dist/src/web-ui/app/controllers/conversation-request-hydration.js +91 -0
  434. package/dist/src/web-ui/app/controllers/conversation-session-controller.d.ts +10 -5
  435. package/dist/src/web-ui/app/controllers/conversation-session-controller.js +97 -162
  436. package/dist/src/web-ui/app/controllers/conversation-workspace-activation.js +27 -0
  437. package/dist/src/web-ui/app/controllers/daily-memory-review.js +15 -16
  438. package/dist/src/web-ui/app/controllers/environment-transition.js +126 -0
  439. package/dist/src/web-ui/app/controllers/environment-workspace-preparation.js +18 -0
  440. package/dist/src/web-ui/app/controllers/history-pagination.js +111 -0
  441. package/dist/src/web-ui/app/controllers/home-composer-feature.d.ts +14 -36
  442. package/dist/src/web-ui/app/controllers/home-composer-feature.js +17 -114
  443. package/dist/src/web-ui/app/controllers/home-conversation-activation.js +6 -8
  444. package/dist/src/web-ui/app/controllers/operations-controller.d.ts +12 -0
  445. package/dist/src/web-ui/app/controllers/operations-controller.js +28 -21
  446. package/dist/src/web-ui/app/controllers/passive-learning-controller.js +56 -0
  447. package/dist/src/web-ui/app/controllers/projects-controller.d.ts +1 -1
  448. package/dist/src/web-ui/app/controllers/projects-controller.js +6 -1
  449. package/dist/src/web-ui/app/controllers/reasoning-mode-controller.js +174 -0
  450. package/dist/src/web-ui/app/controllers/runtime-onboarding-controller.d.ts +1 -0
  451. package/dist/src/web-ui/app/controllers/runtime-onboarding-controller.js +11 -0
  452. package/dist/src/web-ui/app/controllers/runtime-selection-controller.d.ts +7 -0
  453. package/dist/src/web-ui/app/controllers/runtime-selection-controller.js +20 -155
  454. package/dist/src/web-ui/app/controllers/session-controller.js +43 -19
  455. package/dist/src/web-ui/app/controllers/session-list-pagination.js +71 -0
  456. package/dist/src/web-ui/app/controllers/session-pin-updates.js +14 -0
  457. package/dist/src/web-ui/app/controllers/session-sidebar-controller.js +17 -17
  458. package/dist/src/web-ui/app/controllers/spark-chat-reading.js +1 -0
  459. package/dist/src/web-ui/app/controllers/spark-chat-sync.js +26 -7
  460. package/dist/src/web-ui/app/controllers/steer-controller.js +9 -7
  461. package/dist/src/web-ui/app/controllers/tool-permission-mode-controller.js +1 -1
  462. package/dist/src/web-ui/app/controllers/workspace-conversation-opener.js +34 -0
  463. package/dist/src/web-ui/app/controllers/workspace-route-controller.js +21 -19
  464. package/dist/src/web-ui/app/dashboard-feature.js +4 -3
  465. package/dist/src/web-ui/app/index.html +6 -2
  466. package/dist/src/web-ui/app/lib/history-page-messages.js +49 -0
  467. package/dist/src/web-ui/app/lib/reasoning-controls.js +35 -0
  468. package/dist/src/web-ui/app/lib/request-lifecycle-view.js +8 -0
  469. package/dist/src/web-ui/app/lib/session-composer-queue-ownership.js +58 -0
  470. package/dist/src/web-ui/app/lib/session-composer-queue.d.ts +12 -0
  471. package/dist/src/web-ui/app/lib/session-composer-queue.js +25 -6
  472. package/dist/src/web-ui/app/lib/workspace-route.d.ts +3 -0
  473. package/dist/src/web-ui/app/lib/workspace-route.js +4 -0
  474. package/dist/src/web-ui/app/passive-learning-feature.js +16 -4
  475. package/dist/src/web-ui/app/runtime-onboarding-feature.js +3 -0
  476. package/dist/src/web-ui/app/schedules-feature.js +5 -3
  477. package/dist/src/web-ui/app/services/client-preferences.d.ts +18 -10
  478. package/dist/src/web-ui/app/services/client-preferences.js +25 -16
  479. package/dist/src/web-ui/app/services/home-guidance-preferences.js +13 -13
  480. package/dist/src/web-ui/app/services/reasoning-override.js +12 -0
  481. package/dist/src/web-ui/app/services/runtime-web-client/automations.js +10 -2
  482. package/dist/src/web-ui/app/services/runtime-web-client/configuration.js +20 -0
  483. package/dist/src/web-ui/app/services/runtime-web-client/memory.js +7 -2
  484. package/dist/src/web-ui/app/services/runtime-web-client/plugin-configuration.js +19 -0
  485. package/dist/src/web-ui/app/services/runtime-web-client/spark-chat.js +4 -4
  486. package/dist/src/web-ui/app/services/runtime-web-client/system-host.js +4 -0
  487. package/dist/src/web-ui/app/services/runtime-web-client.d.ts +8 -1
  488. package/dist/src/web-ui/app/services/runtime-web-client.js +14 -3
  489. package/dist/src/web-ui/app/services/server-composer-queue.js +32 -0
  490. package/dist/src/web-ui/app/services/session-sidebar-preferences.js +5 -5
  491. package/dist/src/web-ui/app/services/workspace-state-storage.js +116 -0
  492. package/dist/src/web-ui/app/services/workspace-state.js +27 -0
  493. package/dist/src/web-ui/app/spark-chat-conversation.js +34 -45
  494. package/dist/src/web-ui/app/spark-chat-feature.js +84 -21
  495. package/dist/src/web-ui/app/styles/11-product-links.css +30 -0
  496. package/dist/src/web-ui/app/styles/21-composer-controls.css +16 -0
  497. package/dist/src/web-ui/app/styles/41-plugin-configuration.css +79 -0
  498. package/dist/src/web-ui/app/styles/41-plugin-discovery.css +132 -0
  499. package/dist/src/web-ui/app/styles/41-plugin-management.css +14 -0
  500. package/dist/src/web-ui/app/styles/42-model-plugin-permissions.css +174 -0
  501. package/dist/src/web-ui/app/styles/46-system-host.css +61 -107
  502. package/dist/src/web-ui/app/styles/47-config-controls.css +13 -1
  503. package/dist/src/web-ui/app/styles/49-collection-consent.css +30 -0
  504. package/dist/src/web-ui/app/styles/54-spark-chat.css +33 -1
  505. package/dist/src/web-ui/app/styles/64-workspace-storage.css +23 -0
  506. package/dist/src/web-ui/app/styles.css +6 -0
  507. package/dist/src/web-ui/client-state/contracts.d.ts +15 -0
  508. package/dist/src/web-ui/client-state/contracts.js +13 -0
  509. package/dist/src/web-ui/client-state/preference-shapes.d.ts +2 -0
  510. package/dist/src/web-ui/client-state/preference-shapes.js +80 -0
  511. package/dist/src/web-ui/client-state/preferences.d.ts +3 -0
  512. package/dist/src/web-ui/client-state/preferences.js +84 -0
  513. package/dist/src/web-ui/client-state/queue.d.ts +3 -0
  514. package/dist/src/web-ui/client-state/queue.js +43 -0
  515. package/dist/src/web-ui/client-state/routes.d.ts +7 -0
  516. package/dist/src/web-ui/client-state/routes.js +58 -0
  517. package/dist/src/web-ui/client-state/store.d.ts +14 -0
  518. package/dist/src/web-ui/client-state/store.js +88 -0
  519. package/dist/src/web-ui/local-runtime/api-router.js +11 -6
  520. package/dist/src/web-ui/local-runtime/approval-request-attachment.js +14 -5
  521. package/dist/src/web-ui/local-runtime/configuration-activation-source.d.ts +1 -1
  522. package/dist/src/web-ui/local-runtime/configuration-activation-source.js +11 -3
  523. package/dist/src/web-ui/local-runtime/contracts.d.ts +4 -3
  524. package/dist/src/web-ui/local-runtime/environment-registry.d.ts +5 -1
  525. package/dist/src/web-ui/local-runtime/environment-registry.js +53 -11
  526. package/dist/src/web-ui/local-runtime/history-pagination.d.ts +16 -0
  527. package/dist/src/web-ui/local-runtime/history-pagination.js +20 -0
  528. package/dist/src/web-ui/local-runtime/http.js +11 -2
  529. package/dist/src/web-ui/local-runtime/model-context-capacity-error.d.ts +14 -0
  530. package/dist/src/web-ui/local-runtime/model-context-capacity-error.js +28 -0
  531. package/dist/src/web-ui/local-runtime/model-setup-context-window.d.ts +15 -0
  532. package/dist/src/web-ui/local-runtime/model-setup-context-window.js +25 -0
  533. package/dist/src/web-ui/local-runtime/model-setup-routes.js +2 -0
  534. package/dist/src/web-ui/local-runtime/model-setup-service.js +5 -2
  535. package/dist/src/web-ui/local-runtime/model-setup-validation.d.ts +1 -0
  536. package/dist/src/web-ui/local-runtime/model-setup-validation.js +14 -7
  537. package/dist/src/web-ui/local-runtime/plugin-configuration-routes.d.ts +16 -0
  538. package/dist/src/web-ui/local-runtime/plugin-configuration-routes.js +68 -0
  539. package/dist/src/web-ui/local-runtime/plugin-installation-routes.d.ts +16 -0
  540. package/dist/src/web-ui/local-runtime/plugin-installation-routes.js +96 -0
  541. package/dist/src/web-ui/local-runtime/plugin-management-routes.d.ts +8 -1
  542. package/dist/src/web-ui/local-runtime/plugin-management-routes.js +17 -0
  543. package/dist/src/web-ui/local-runtime/plugin-mutation-admission.d.ts +7 -0
  544. package/dist/src/web-ui/local-runtime/plugin-mutation-admission.js +17 -0
  545. package/dist/src/web-ui/local-runtime/plugin-removal-routes.d.ts +18 -0
  546. package/dist/src/web-ui/local-runtime/plugin-removal-routes.js +60 -0
  547. package/dist/src/web-ui/local-runtime/realtime-controller.js +41 -2
  548. package/dist/src/web-ui/local-runtime/request-body-error.d.ts +11 -0
  549. package/dist/src/web-ui/local-runtime/request-body-error.js +14 -0
  550. package/dist/src/web-ui/local-runtime/request-cancellation-route.js +28 -1
  551. package/dist/src/web-ui/local-runtime/request-control-observation.d.ts +19 -0
  552. package/dist/src/web-ui/local-runtime/request-control-observation.js +80 -0
  553. package/dist/src/web-ui/local-runtime/request-execution.js +66 -34
  554. package/dist/src/web-ui/local-runtime/runtime-setup-connection-edit.d.ts +2 -0
  555. package/dist/src/web-ui/local-runtime/runtime-setup-connection-edit.js +35 -22
  556. package/dist/src/web-ui/local-runtime/runtime-setup-context-window.d.ts +13 -0
  557. package/dist/src/web-ui/local-runtime/runtime-setup-context-window.js +21 -0
  558. package/dist/src/web-ui/local-runtime/runtime-setup-credentials.d.ts +15 -1
  559. package/dist/src/web-ui/local-runtime/runtime-setup-credentials.js +30 -11
  560. package/dist/src/web-ui/local-runtime/runtime-setup-edit-files.d.ts +20 -0
  561. package/dist/src/web-ui/local-runtime/runtime-setup-edit-files.js +104 -0
  562. package/dist/src/web-ui/local-runtime/runtime-setup-edit-journal.d.ts +29 -0
  563. package/dist/src/web-ui/local-runtime/runtime-setup-edit-journal.js +151 -0
  564. package/dist/src/web-ui/local-runtime/runtime-setup-edit-recovery.d.ts +7 -0
  565. package/dist/src/web-ui/local-runtime/runtime-setup-edit-recovery.js +87 -0
  566. package/dist/src/web-ui/local-runtime/runtime-setup-edit-transaction.d.ts +3 -0
  567. package/dist/src/web-ui/local-runtime/runtime-setup-edit-transaction.js +37 -0
  568. package/dist/src/web-ui/local-runtime/runtime-setup-routes.js +2 -0
  569. package/dist/src/web-ui/local-runtime/runtime-setup-service.js +4 -0
  570. package/dist/src/web-ui/local-runtime/runtime-setup-validation.js +9 -2
  571. package/dist/src/web-ui/local-runtime/session-routes.d.ts +1 -0
  572. package/dist/src/web-ui/local-runtime/session-routes.js +16 -4
  573. package/dist/src/web-ui/local-runtime/spark-chat-routes.js +4 -3
  574. package/dist/src/web-ui/local-runtime-backend.js +14 -0
  575. package/dist/src/web-ui/plugin-capability-selection.js +4 -1
  576. package/dist/src/web-ui/plugin-configuration-input.d.ts +12 -0
  577. package/dist/src/web-ui/plugin-configuration-input.js +68 -0
  578. package/dist/src/web-ui/plugin-configuration-retained-secrets.d.ts +9 -0
  579. package/dist/src/web-ui/plugin-configuration-retained-secrets.js +48 -0
  580. package/dist/src/web-ui/plugin-configuration-service.d.ts +52 -0
  581. package/dist/src/web-ui/plugin-configuration-service.js +66 -0
  582. package/dist/src/web-ui/plugin-configuration-view.d.ts +25 -0
  583. package/dist/src/web-ui/plugin-configuration-view.js +45 -0
  584. package/dist/src/web-ui/plugin-disabled-selection.d.ts +7 -0
  585. package/dist/src/web-ui/plugin-disabled-selection.js +17 -0
  586. package/dist/src/web-ui/plugin-management-catalog.d.ts +5 -1
  587. package/dist/src/web-ui/plugin-management-catalog.js +13 -1
  588. package/dist/src/web-ui/plugin-management-selection.js +22 -9
  589. package/dist/src/web-ui/plugin-management-service.d.ts +6 -1
  590. package/dist/src/web-ui/plugin-management-service.js +11 -7
  591. package/dist/src/web-ui/plugin-removal-error.d.ts +7 -0
  592. package/dist/src/web-ui/plugin-removal-error.js +16 -0
  593. package/dist/src/web-ui/plugin-removal-service.d.ts +31 -0
  594. package/dist/src/web-ui/plugin-removal-service.js +109 -0
  595. package/dist/src/web-ui/runtime-setup-gateway.d.ts +6 -2
  596. package/dist/src/web-ui/runtime-setup-gateway.js +30 -10
  597. package/dist/src/web-ui/server-readiness.d.ts +3 -0
  598. package/dist/src/web-ui/server-readiness.js +36 -0
  599. package/dist/src/web-ui/server.d.ts +2 -0
  600. package/dist/src/web-ui/server.js +29 -3
  601. package/dist/src/web-ui/session-read-state/overview.d.ts +42 -0
  602. package/dist/src/web-ui/session-read-state/overview.js +16 -0
  603. package/dist/src/web-ui/session-read-state/pagination.d.ts +15 -0
  604. package/dist/src/web-ui/session-read-state/pagination.js +42 -0
  605. package/dist/src/web-ui/session-read-state/projection.d.ts +4 -3
  606. package/dist/src/web-ui/session-read-state/service.d.ts +213 -20
  607. package/dist/src/web-ui/session-read-state/service.js +25 -23
  608. package/dist/src/web-ui/session-read-state/visible-messages.d.ts +3 -3
  609. package/dist/src/web-ui/system-host-service.js +13 -2
  610. package/dist/src/web-ui/system-host-setup/collection-consent-route.d.ts +3 -0
  611. package/dist/src/web-ui/system-host-setup/collection-consent-route.js +30 -0
  612. package/dist/src/web-ui/system-host-setup/companion-linux.js +1 -1
  613. package/dist/src/web-ui/system-host-setup/installer-contract.d.ts +1 -1
  614. package/dist/src/web-ui/system-host-setup/installer-contract.js +2 -2
  615. package/dist/src/web-ui/system-host-setup/installers.js +0 -7
  616. package/dist/src/web-ui/system-host-setup/local-connection.d.ts +4 -1
  617. package/dist/src/web-ui/system-host-setup/local-connection.js +10 -17
  618. package/dist/src/web-ui/system-host-setup/routes.d.ts +2 -0
  619. package/dist/src/web-ui/system-host-setup/routes.js +32 -9
  620. package/dist/src/web-ui/system-host-setup/setup-mutation.d.ts +9 -0
  621. package/dist/src/web-ui/system-host-setup/setup-mutation.js +27 -0
  622. package/dist/src/web-ui/system-host-setup/windows-store-route.d.ts +13 -0
  623. package/dist/src/web-ui/system-host-setup/windows-store-route.js +68 -0
  624. package/docs/configuration.md +46 -0
  625. package/docs/installation.md +88 -28
  626. package/docs/plugins.md +310 -6
  627. package/docs/projects-and-full-plus.md +2 -6
  628. package/docs/runtime-library.md +0 -1
  629. package/docs/tool-execution-result-evidence-contract.md +57 -0
  630. package/docs/windows-companion-store.md +132 -0
  631. package/package.json +6 -4
  632. package/plugins/capability-brief/plugin.json +4 -0
  633. package/plugins/code-outline/README.md +20 -0
  634. package/plugins/code-outline/plugin.json +1 -0
  635. package/plugins/code-outline/source/index.ts +16 -20
  636. package/plugins/code-outline/source/read-failure.ts +40 -0
  637. package/plugins/code-outline/src/index.cjs +614 -29
  638. package/plugins/document-reader/README.md +33 -0
  639. package/plugins/document-reader/plugin.json +2 -0
  640. package/plugins/document-reader/source/pdf-contract.ts +57 -0
  641. package/plugins/document-reader/source/pdf-parser.ts +139 -0
  642. package/plugins/document-reader/source/pdf-process-main.ts +56 -0
  643. package/plugins/document-reader/source/pdf-process.ts +207 -0
  644. package/plugins/document-reader/source/pdf-result.ts +79 -0
  645. package/plugins/document-reader/source/pdf-worker.ts +39 -303
  646. package/plugins/document-reader/source/pdf.ts +4 -1
  647. package/plugins/document-reader/source/read-failure.ts +37 -0
  648. package/plugins/document-reader/source/reader.ts +3 -19
  649. package/plugins/document-reader/src/index.cjs +995 -211
  650. package/plugins/exec/README.md +19 -0
  651. package/plugins/exec/plugin.json +7 -3
  652. package/plugins/exec/skills/exec_skill/SKILL.md +3 -2
  653. package/plugins/exec/source/filesystem-file-observer.ts +98 -0
  654. package/plugins/exec/source/filesystem-observer.ts +8 -79
  655. package/plugins/exec/source/output-files.ts +12 -6
  656. package/plugins/exec/source/paths.ts +3 -1
  657. package/plugins/exec/source/process-manager.ts +8 -24
  658. package/plugins/exec/source/shell-platform.ts +19 -3
  659. package/plugins/exec/source/shell-process.ts +55 -0
  660. package/plugins/exec/source/windows-job-source.ts +1 -0
  661. package/plugins/exec/source/windows-shell-bootstrap.ts +20 -0
  662. package/plugins/exec/src/index.cjs +252 -96
  663. package/plugins/filesystem/README.md +65 -0
  664. package/plugins/filesystem/plugin.json +8 -2
  665. package/plugins/filesystem/source/atomic-write.ts +2 -0
  666. package/plugins/filesystem/source/bounded-io.ts +80 -306
  667. package/plugins/filesystem/source/directory-sample.ts +2 -0
  668. package/plugins/filesystem/source/errors.ts +14 -0
  669. package/plugins/filesystem/source/file-observation.ts +151 -0
  670. package/plugins/filesystem/source/file-version.ts +41 -0
  671. package/plugins/filesystem/source/index.ts +6 -0
  672. package/plugins/filesystem/source/mutation-coordinator.ts +1 -0
  673. package/plugins/filesystem/source/windows/authority-script.ts +1 -0
  674. package/plugins/filesystem/source/windows/native-script.ts +1 -0
  675. package/plugins/filesystem/source/windows/operations.ts +197 -0
  676. package/plugins/filesystem/source/windows/process.ts +214 -0
  677. package/plugins/filesystem/source/windows/publication-script.ts +29 -0
  678. package/plugins/filesystem/source/windows/read-script.ts +63 -0
  679. package/plugins/filesystem/source/windows/request-availability.ts +67 -0
  680. package/plugins/filesystem/source/windows/source.ts +42 -0
  681. package/plugins/filesystem/source/windows/storage-script.ts +11 -0
  682. package/plugins/filesystem/source/windows/streams-script.ts +24 -0
  683. package/plugins/filesystem/source/windows/write-script.ts +86 -0
  684. package/plugins/filesystem/src/index.cjs +1208 -322
  685. package/plugins/json-inspector/README.md +18 -0
  686. package/plugins/json-inspector/plugin.json +1 -0
  687. package/plugins/json-inspector/source/index.ts +16 -19
  688. package/plugins/json-inspector/source/read-failure.ts +42 -0
  689. package/plugins/json-inspector/src/index.cjs +612 -27
  690. package/plugins/local-search/README.md +29 -0
  691. package/plugins/local-search/plugin.json +2 -0
  692. package/plugins/local-search/source/errors.ts +2 -0
  693. package/plugins/local-search/source/paths.ts +3 -0
  694. package/plugins/local-search/source/ripgrep-process.ts +31 -5
  695. package/plugins/local-search/source/ripgrep.ts +3 -3
  696. package/plugins/local-search/source/windows-authority.ts +99 -0
  697. package/plugins/local-search/source/windows-search-lease.ts +49 -0
  698. package/plugins/local-search/source/windows-search-process.ts +91 -0
  699. package/plugins/local-search/source/windows-search-script.ts +52 -0
  700. package/plugins/local-search/src/index.cjs +595 -26
  701. package/plugins/memory/plugin.json +4 -0
  702. package/plugins/memory/source/lock-directory-claim.ts +56 -0
  703. package/plugins/memory/source/lock-owner-file.ts +71 -0
  704. package/plugins/memory/source/lock-path-observation.ts +26 -0
  705. package/plugins/memory/source/prepared-memory-replacement.ts +40 -0
  706. package/plugins/memory/source/store-lock.ts +12 -7
  707. package/plugins/memory/source/store.ts +3 -2
  708. package/plugins/memory/src/index.cjs +174 -25
  709. package/plugins/project-orientation/README.md +23 -0
  710. package/plugins/project-orientation/plugin.json +1 -0
  711. package/plugins/project-orientation/source/index.ts +12 -9
  712. package/plugins/project-orientation/source/inspection-failure.ts +70 -0
  713. package/plugins/project-orientation/source/manifest-summary.ts +9 -2
  714. package/plugins/project-orientation/source/tree.ts +6 -0
  715. package/plugins/project-orientation/src/index.cjs +647 -31
  716. package/plugins/system/README.md +81 -5
  717. package/plugins/system/plugin.json +10 -1
  718. package/plugins/system/skills/system_actions/SKILL.md +1 -1
  719. package/plugins/system/source/command-working-directory.ts +47 -0
  720. package/plugins/system/source/companion-command-output.ts +82 -0
  721. package/plugins/system/source/computer/handlers.ts +13 -9
  722. package/plugins/system/source/computer/observation-result.ts +10 -5
  723. package/plugins/system/source/computer/request-computers.ts +10 -3
  724. package/plugins/system/source/computer/request-modules.ts +3 -6
  725. package/plugins/system/source/computer/runtime-platform.ts +18 -0
  726. package/plugins/system/source/host-dispatch.ts +21 -1
  727. package/plugins/system/source/index.ts +14 -6
  728. package/plugins/system/source/local-command-output-retention.ts +16 -0
  729. package/plugins/system/source/local-command-output.ts +69 -0
  730. package/plugins/system/source/request-system-modules.ts +14 -2
  731. package/plugins/system/source/request-target-snapshot.ts +2 -1
  732. package/plugins/system/source/security/desktop-result.ts +177 -0
  733. package/plugins/system/source/security/observed-error.ts +10 -0
  734. package/plugins/system/source/security/secret-text.ts +118 -0
  735. package/plugins/system/source/security/system-results.ts +62 -0
  736. package/plugins/system/source/security/windows-output-directory.ts +82 -0
  737. package/plugins/system/src/index.cjs +1207 -86
  738. package/plugins/system-probe/plugin.json +8 -2
  739. package/plugins/system-probe/source/disk-path.ts +8 -0
  740. package/plugins/system-probe/source/index.ts +10 -5
  741. package/plugins/system-probe/source/machine-load.ts +33 -0
  742. package/plugins/system-probe/source/metrics.ts +6 -8
  743. package/plugins/system-probe/src/index.cjs +49 -16
  744. package/plugins/web/README.md +2 -2
  745. package/plugins/web/plugin.json +8 -0
  746. package/runtime.config.schema.json +25 -1
  747. package/src/runtime/README.md +12 -2
  748. package/dist/src/web-ui/system-host-setup/companion-windows.d.ts +0 -2
  749. package/dist/src/web-ui/system-host-setup/companion-windows.js +0 -108
  750. package/docs/publishing.md +0 -167
@@ -4,6 +4,10 @@
4
4
  "version": "1.0.0",
5
5
  "description": "Inspect current machine health and disk capacity.",
6
6
  "extensions": {
7
+ "ai.abot.compatibility": {
8
+ "version": 1,
9
+ "runtimePlatforms": ["linux", "darwin", "win32"]
10
+ },
7
11
  "ai.abot.runtime": {
8
12
  "version": 1,
9
13
  "entrypoint": "./src/index.cjs",
@@ -17,9 +21,11 @@
17
21
  "metadata": {
18
22
  "path": {
19
23
  "param": "path",
20
- "kind": "string",
21
- "default": "/"
24
+ "kind": "string"
22
25
  }
26
+ },
27
+ "resultMetadata": {
28
+ "path": { "path": "data.diskPath", "kind": "preview" }
23
29
  }
24
30
  },
25
31
  "skills": [],
@@ -0,0 +1,8 @@
1
+ /** The Windows default follows the runtime root's actual filesystem volume. */
2
+ export function defaultDiskProbePath(
3
+ runtimeRoot: string,
4
+ platform: NodeJS.Platform = process.platform,
5
+ ): string {
6
+ if (platform === "win32") return runtimeRoot;
7
+ return "/";
8
+ }
@@ -9,6 +9,7 @@ import {
9
9
  successResult,
10
10
  } from "../../../src/plugin-sdk/index.js";
11
11
 
12
+ import { defaultDiskProbePath } from "./disk-path.js";
12
13
  import { bytesToGiB, formatDuration, readMachineMetrics } from "./metrics.js";
13
14
 
14
15
  const ALLOWED_PATH_LOCATIONS = Object.freeze([
@@ -35,10 +36,14 @@ export default defineRuntimePlugin((context) => ({
35
36
  executionContext?.runtimePathResolver ?? context.runtimePathResolver,
36
37
  };
37
38
  try {
38
- const target = resolvePluginPath(pathContext, explicitPath ?? "/", {
39
- requirePath: true,
40
- allowedLocations: ALLOWED_PATH_LOCATIONS,
41
- });
39
+ const target = resolvePluginPath(
40
+ pathContext,
41
+ explicitPath ?? defaultDiskProbePath(context.runtimePaths.rootDir),
42
+ {
43
+ requirePath: true,
44
+ allowedLocations: ALLOWED_PATH_LOCATIONS,
45
+ },
46
+ );
42
47
  let disk:
43
48
  | Readonly<{
44
49
  totalBytes: number;
@@ -90,7 +95,7 @@ export default defineRuntimePlugin((context) => ({
90
95
  `uptime: ${formatDuration(machine.uptimeSeconds)}`,
91
96
  `cpu_count: ${machine.cpuCount}`,
92
97
  `load_level: ${machine.loadLevel}`,
93
- `load_average: ${machine.loadAverage.map((value) => value.toFixed(2)).join(" ")}`,
98
+ `load_average: ${machine.loadAverage?.map((value) => value.toFixed(2)).join(" ") ?? "unsupported"}`,
94
99
  `memory_used: ${bytesToGiB(machine.memoryUsedBytes)} / ${bytesToGiB(machine.memoryTotalBytes)}`,
95
100
  `memory_free: ${bytesToGiB(machine.memoryFreeBytes)}`,
96
101
  `disk_path: ${target.logicalPath}`,
@@ -0,0 +1,33 @@
1
+ import os from "node:os";
2
+
3
+ type MachineLoad = Readonly<{
4
+ loadAverage: readonly number[] | null;
5
+ loadLevel: "low" | "moderate" | "high" | "unsupported";
6
+ }>;
7
+
8
+ function supportsLoadAverage(platform: NodeJS.Platform): boolean {
9
+ return platform !== "win32";
10
+ }
11
+
12
+ function classifyLoadPerCpu(loadAverage: readonly number[], cpuCount: number) {
13
+ const average = loadAverage[0] ?? 0;
14
+ const loadPerCpu = cpuCount > 0 ? average / cpuCount : average;
15
+ if (loadPerCpu < 0.5) return "low";
16
+ if (loadPerCpu < 1) return "moderate";
17
+ return "high";
18
+ }
19
+
20
+ export function readMachineLoad(
21
+ platform: NodeJS.Platform,
22
+ cpuCount: number,
23
+ readLoadAverage: () => number[] = () => os.loadavg(),
24
+ ): MachineLoad {
25
+ if (!supportsLoadAverage(platform)) {
26
+ return Object.freeze({ loadAverage: null, loadLevel: "unsupported" });
27
+ }
28
+ const loadAverage = Object.freeze(readLoadAverage());
29
+ return Object.freeze({
30
+ loadAverage,
31
+ loadLevel: classifyLoadPerCpu(loadAverage, cpuCount),
32
+ });
33
+ }
@@ -1,5 +1,7 @@
1
1
  import os from "node:os";
2
2
 
3
+ import { readMachineLoad } from "./machine-load.js";
4
+
3
5
  export function bytesToGiB(bytes: number): string {
4
6
  return `${(bytes / 1024 / 1024 / 1024).toFixed(1)} GiB`;
5
7
  }
@@ -19,19 +21,15 @@ export function formatDuration(totalSeconds: number): string {
19
21
  export function readMachineMetrics() {
20
22
  const memoryTotalBytes = os.totalmem();
21
23
  const memoryFreeBytes = os.freemem();
22
- const loadAverage = os.loadavg();
23
24
  const cpuCount = os.cpus().length;
24
- const loadPerCpu =
25
- cpuCount > 0 ? (loadAverage[0] ?? 0) / cpuCount : (loadAverage[0] ?? 0);
26
- const loadLevel =
27
- loadPerCpu < 0.5 ? "low" : loadPerCpu < 1 ? "moderate" : "high";
25
+ const platform = os.platform();
26
+ const load = readMachineLoad(platform, cpuCount);
28
27
  return Object.freeze({
29
- platform: os.platform(),
28
+ platform,
30
29
  architecture: os.arch(),
31
30
  uptimeSeconds: os.uptime(),
32
31
  cpuCount,
33
- loadAverage: Object.freeze(loadAverage),
34
- loadLevel,
32
+ ...load,
35
33
  memoryTotalBytes,
36
34
  memoryFreeBytes,
37
35
  memoryUsedBytes: Math.max(0, memoryTotalBytes - memoryFreeBytes),
@@ -225,8 +225,39 @@ function failureFromError(error, options) {
225
225
  // src/capabilities/tool-media.ts
226
226
  var TOOL_IMAGE_MAX_BYTES = 10 * 1024 * 1024;
227
227
 
228
+ // plugins/system-probe/source/disk-path.ts
229
+ function defaultDiskProbePath(runtimeRoot, platform = process.platform) {
230
+ if (platform === "win32") return runtimeRoot;
231
+ return "/";
232
+ }
233
+
228
234
  // plugins/system-probe/source/metrics.ts
235
+ var import_node_os2 = __toESM(require("node:os"), 1);
236
+
237
+ // plugins/system-probe/source/machine-load.ts
229
238
  var import_node_os = __toESM(require("node:os"), 1);
239
+ function supportsLoadAverage(platform) {
240
+ return platform !== "win32";
241
+ }
242
+ function classifyLoadPerCpu(loadAverage, cpuCount) {
243
+ const average = loadAverage[0] ?? 0;
244
+ const loadPerCpu = cpuCount > 0 ? average / cpuCount : average;
245
+ if (loadPerCpu < 0.5) return "low";
246
+ if (loadPerCpu < 1) return "moderate";
247
+ return "high";
248
+ }
249
+ function readMachineLoad(platform, cpuCount, readLoadAverage = () => import_node_os.default.loadavg()) {
250
+ if (!supportsLoadAverage(platform)) {
251
+ return Object.freeze({ loadAverage: null, loadLevel: "unsupported" });
252
+ }
253
+ const loadAverage = Object.freeze(readLoadAverage());
254
+ return Object.freeze({
255
+ loadAverage,
256
+ loadLevel: classifyLoadPerCpu(loadAverage, cpuCount)
257
+ });
258
+ }
259
+
260
+ // plugins/system-probe/source/metrics.ts
230
261
  function bytesToGiB(bytes) {
231
262
  return `${(bytes / 1024 / 1024 / 1024).toFixed(1)} GiB`;
232
263
  }
@@ -242,19 +273,17 @@ function formatDuration(totalSeconds) {
242
273
  return parts.join(" ");
243
274
  }
244
275
  function readMachineMetrics() {
245
- const memoryTotalBytes = import_node_os.default.totalmem();
246
- const memoryFreeBytes = import_node_os.default.freemem();
247
- const loadAverage = import_node_os.default.loadavg();
248
- const cpuCount = import_node_os.default.cpus().length;
249
- const loadPerCpu = cpuCount > 0 ? (loadAverage[0] ?? 0) / cpuCount : loadAverage[0] ?? 0;
250
- const loadLevel = loadPerCpu < 0.5 ? "low" : loadPerCpu < 1 ? "moderate" : "high";
276
+ const memoryTotalBytes = import_node_os2.default.totalmem();
277
+ const memoryFreeBytes = import_node_os2.default.freemem();
278
+ const cpuCount = import_node_os2.default.cpus().length;
279
+ const platform = import_node_os2.default.platform();
280
+ const load = readMachineLoad(platform, cpuCount);
251
281
  return Object.freeze({
252
- platform: import_node_os.default.platform(),
253
- architecture: import_node_os.default.arch(),
254
- uptimeSeconds: import_node_os.default.uptime(),
282
+ platform,
283
+ architecture: import_node_os2.default.arch(),
284
+ uptimeSeconds: import_node_os2.default.uptime(),
255
285
  cpuCount,
256
- loadAverage: Object.freeze(loadAverage),
257
- loadLevel,
286
+ ...load,
258
287
  memoryTotalBytes,
259
288
  memoryFreeBytes,
260
289
  memoryUsedBytes: Math.max(0, memoryTotalBytes - memoryFreeBytes)
@@ -281,10 +310,14 @@ var index_default = defineRuntimePlugin((context) => ({
281
310
  runtimePathResolver: executionContext?.runtimePathResolver ?? context.runtimePathResolver
282
311
  };
283
312
  try {
284
- const target = resolvePluginPath(pathContext, explicitPath ?? "/", {
285
- requirePath: true,
286
- allowedLocations: ALLOWED_PATH_LOCATIONS
287
- });
313
+ const target = resolvePluginPath(
314
+ pathContext,
315
+ explicitPath ?? defaultDiskProbePath(context.runtimePaths.rootDir),
316
+ {
317
+ requirePath: true,
318
+ allowedLocations: ALLOWED_PATH_LOCATIONS
319
+ }
320
+ );
288
321
  let disk;
289
322
  let diskStatus = "available";
290
323
  try {
@@ -328,7 +361,7 @@ var index_default = defineRuntimePlugin((context) => ({
328
361
  `uptime: ${formatDuration(machine.uptimeSeconds)}`,
329
362
  `cpu_count: ${machine.cpuCount}`,
330
363
  `load_level: ${machine.loadLevel}`,
331
- `load_average: ${machine.loadAverage.map((value) => value.toFixed(2)).join(" ")}`,
364
+ `load_average: ${machine.loadAverage?.map((value) => value.toFixed(2)).join(" ") ?? "unsupported"}`,
332
365
  `memory_used: ${bytesToGiB(machine.memoryUsedBytes)} / ${bytesToGiB(machine.memoryTotalBytes)}`,
333
366
  `memory_free: ${bytesToGiB(machine.memoryFreeBytes)}`,
334
367
  `disk_path: ${target.logicalPath}`,
@@ -130,5 +130,5 @@ discovery of a URL absent from the catalog. It does not require a search key,
130
130
  external network, or model invocation.
131
131
 
132
132
  Run `npm run build:plugins` followed by `npm run validate` from the repository
133
- root. Actual source availability is a separate bounded direct-HTTP check;
134
- model/client acceptance uses the maintained, separately authorized live smoke.
133
+ root. These offline checks do not establish availability of external sources or
134
+ model behavior in a live client session.
@@ -4,6 +4,10 @@
4
4
  "version": "0.1.0",
5
5
  "description": "Search the public web and fetch readable content from public URLs.",
6
6
  "extensions": {
7
+ "ai.abot.compatibility": {
8
+ "version": 1,
9
+ "runtimePlatforms": ["linux", "darwin", "win32"]
10
+ },
7
11
  "ai.abot.runtime": {
8
12
  "version": 1,
9
13
  "entrypoint": "./src/index.cjs",
@@ -48,6 +52,7 @@
48
52
  "operations": {
49
53
  "search_one": {
50
54
  "summary": "Search real public Internet domains for one current or external query; never use this operation for local files, configured work paths, or project state.",
55
+ "outputChannels": {"text": "content", "data": "metadata"},
51
56
  "input": {
52
57
  "type": "object",
53
58
  "additionalProperties": false,
@@ -65,6 +70,7 @@
65
70
  },
66
71
  "search_many": {
67
72
  "summary": "Search real public Internet domains for up to five distinct external queries in parallel; never use this operation for local files, configured work paths, or project state.",
73
+ "outputChannels": {"text": "content", "data": "metadata"},
68
74
  "input": {
69
75
  "type": "object",
70
76
  "additionalProperties": false,
@@ -101,6 +107,7 @@
101
107
  "operations": {
102
108
  "fetch_one": {
103
109
  "summary": "Fetch readable content from one real public http(s) domain URL; never use this operation for local files, configured work paths, localhost, or private-network targets.",
110
+ "outputChannels": {"text": "content", "data": "metadata"},
104
111
  "input": {
105
112
  "type": "object",
106
113
  "additionalProperties": false,
@@ -118,6 +125,7 @@
118
125
  },
119
126
  "fetch_many": {
120
127
  "summary": "Fetch readable content from up to three real public http(s) domain URLs; never use this operation for local files, configured work paths, localhost, or private-network targets.",
128
+ "outputChannels": {"text": "content", "data": "metadata"},
121
129
  "input": {
122
130
  "type": "object",
123
131
  "additionalProperties": false,
@@ -172,8 +172,14 @@
172
172
  },
173
173
  "webUi": {
174
174
  "type": "object",
175
- "description": "Local Web UI startup behavior.",
175
+ "description": "Local Web UI behavior.",
176
176
  "properties": {
177
+ "pageSize": {
178
+ "type": "integer",
179
+ "minimum": 1,
180
+ "default": 20,
181
+ "description": "Sessions and messages per Web UI history page, including SPARK."
182
+ },
177
183
  "openOnRuntimeServiceStart": {
178
184
  "type": "boolean",
179
185
  "default": false,
@@ -329,6 +335,12 @@
329
335
  "default": [],
330
336
  "description": "Installed plugin or capability ids denied after applying the allow-list.",
331
337
  "items": { "type": "string" }
338
+ },
339
+ "disabledPluginIds": {
340
+ "type": "array",
341
+ "default": [],
342
+ "description": "Exact plugin ids disabled independently of tool selectors. Entries are literal ids, not wildcards.",
343
+ "items": { "type": "string" }
332
344
  }
333
345
  },
334
346
  "additionalProperties": false
@@ -501,6 +513,18 @@
501
513
  }
502
514
  }
503
515
  },
516
+ "plugins": {
517
+ "type": "object",
518
+ "description": "Runtime-only restrictions applied to the entire request selected by this model profile. Global plugin restrictions still apply.",
519
+ "properties": {
520
+ "deny": {
521
+ "type": "array",
522
+ "items": { "type": "string" },
523
+ "description": "Denied plugin IDs, capability names, plugin.capability selectors, or *. These restrictions do not depend on per-step model overrides."
524
+ }
525
+ },
526
+ "additionalProperties": false
527
+ },
504
528
  "execution": {
505
529
  "type": "object",
506
530
  "description": "Runtime-only request execution policy for this model profile. Omission selects supervisor-worker-v1; execution-agent-v1 is an explicit per-profile opt-in. This metadata is not forwarded to the model gateway.",
@@ -459,12 +459,22 @@ context admission before a new checkpoint is committed. Controls and payload
459
459
  authors do not receive this current supervision capsule.
460
460
 
461
461
  Every tool and skill binding is declared once by a package under root
462
- `plugins/`. Runtime config only applies `plugins.enabled`, `plugins.allow`, and
463
- `plugins.deny`. The request-scoped capability provider projects the effective
462
+ `plugins/`. Runtime config applies `plugins.enabled`, `plugins.allow`,
463
+ `plugins.deny`, and the exact-ID `plugins.disabledPluginIds` block list.
464
+ Exact disabled plugin IDs do not match capability names or qualified selectors. The request-scoped capability provider projects the effective
464
465
  registered operations generically for an authorized Worker or root. Adding,
465
466
  removing, or renaming a tool must not require a request-runner or role prompt
466
467
  branch.
467
468
 
469
+
470
+ A model profile may further narrow this catalog through `plugins.deny`.
471
+ The request captures these selectors from its effective primary profile in the
472
+ existing execution selection, including the saved approval continuation.
473
+ The shared request Tool Registry applies them alongside permission-mode
474
+ restrictions to discovery and execution for both root policies. Per-step model
475
+ overrides cannot change the captured restriction; other requests retain their
476
+ own profile selection. The metadata is not projected to the model gateway.
477
+
468
478
  ABot Studio draft authoring uses the same capability engine. The
469
479
  `automation_builder` capability creates a draft from optional `settings` and
470
480
  ordered `steps`. Each step has a local `key`; explicit `$key` result bindings
@@ -1,2 +0,0 @@
1
- import { type CompanionInstallerInput } from "./installer-contract.js";
2
- export declare function renderWindowsCompanionScript(input: CompanionInstallerInput): string;
@@ -1,108 +0,0 @@
1
- import { installerMetadataBase64, } from "./installer-contract.js";
2
- import { COMPANION_NODE_DISTRIBUTIONS, COMPANION_NODE_VERSION, } from "./node-distribution.js";
3
- import { wrapWindowsSetupScript } from "./windows-script-wrapper.js";
4
- export function renderWindowsCompanionScript(input) {
5
- const metadata = installerMetadataBase64({
6
- ...input,
7
- nodeVersion: COMPANION_NODE_VERSION,
8
- distributions: COMPANION_NODE_DISTRIBUTIONS,
9
- });
10
- return wrapWindowsSetupScript(String.raw `
11
- $ErrorActionPreference = 'Stop'
12
- $ProgressPreference = 'SilentlyContinue'
13
- $OutputEncoding = New-Object System.Text.UTF8Encoding($false)
14
- $Metadata = [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('${metadata}')) | ConvertFrom-Json
15
- $Temporary = $null
16
- function Assert-CompanionDirectory {
17
- if ((Get-Item -LiteralPath $Base).Attributes -band [IO.FileAttributes]::ReparsePoint) { throw 'The companion installation directory must not be a link.' }
18
- }
19
- function Invoke-VerifiedCompanionSetup {
20
- if (-not (Test-Path -LiteralPath $Node -PathType Leaf)) { throw 'The cached Node.js runtime is missing. Restore this installation before resuming setup.' }
21
- if (-not (Test-Path -LiteralPath $Bundle -PathType Leaf)) { throw 'The cached companion bundle is missing. Restore this installation before resuming setup.' }
22
- Assert-CompanionDirectory
23
- if ((& $Node --version) -ne $Metadata.nodeVersion -or $LASTEXITCODE -ne 0) { throw 'The dedicated Node.js runtime could not be verified.' }
24
- if ((Get-FileHash -LiteralPath $Bundle -Algorithm SHA256).Hash -ne $Metadata.bundleSha256) { throw 'The existing companion bundle does not match its recorded checksum.' }
25
- Write-Host 'Connecting this computer and enabling startup at sign-in...'
26
- $Setup = @{ url = $Metadata.url; code = $Metadata.code }
27
- if ($Metadata.upgradeHostId) { $Setup.upgradeHostId = $Metadata.upgradeHostId }
28
- $Payload = $Setup | ConvertTo-Json -Compress
29
- $Payload | & $Node $Bundle setup
30
- if ($LASTEXITCODE -ne 0) { throw 'Companion setup did not complete. Check the message above before resuming setup.' }
31
- Write-Host 'Companion setup completed. Return to ABot to check the computer connection.'
32
- }
33
- function Get-VerifiedDownload([string]$Url, [string]$Destination, [string]$ExpectedHash, [string]$Bearer = '') {
34
- $Original = [Uri]$Url
35
- $Address = $Original
36
- if ($Original.Host -eq 'localhost' -or $Original.Host.EndsWith('.localhost')) {
37
- $Builder = New-Object UriBuilder($Original)
38
- $Builder.Host = '127.0.0.1'
39
- $Address = $Builder.Uri
40
- }
41
- $Request = [Net.HttpWebRequest]::Create($Address)
42
- $Request.Host = $Original.Authority
43
- $Request.AllowAutoRedirect = $false
44
- $Request.Timeout = 300000
45
- $Request.ReadWriteTimeout = 300000
46
- $Request.Proxy = $null
47
- if ($Bearer) { $Request.Headers['Authorization'] = 'Bearer ' + $Bearer }
48
- $Response = $null
49
- $File = $null
50
- try {
51
- $Response = $Request.GetResponse()
52
- if ([int]$Response.StatusCode -ne 200) { throw 'The download endpoint did not return a file.' }
53
- $File = [IO.File]::Open($Destination, [IO.FileMode]::CreateNew)
54
- $Response.GetResponseStream().CopyTo($File)
55
- } finally {
56
- if ($File) { $File.Dispose() }
57
- if ($Response) { $Response.Dispose() }
58
- }
59
- if ((Get-FileHash -LiteralPath $Destination -Algorithm SHA256).Hash -ne $ExpectedHash) {
60
- throw 'Checksum verification failed. The downloaded file will not be executed.'
61
- }
62
- }
63
- try {
64
- $Base = Join-Path ([Environment]::GetFolderPath('LocalApplicationData')) 'ABot\HostCompanion'
65
- $Architecture = $env:PROCESSOR_ARCHITECTURE
66
- if ($env:PROCESSOR_ARCHITEW6432) { $Architecture = $env:PROCESSOR_ARCHITEW6432 }
67
- $Key = switch ($Architecture.ToUpperInvariant()) { 'AMD64' { 'win-x64' }; 'ARM64' { 'win-arm64' }; default { throw 'This Windows architecture is not supported by companion setup.' } }
68
- $Distribution = $Metadata.distributions.$Key
69
- $NodeDirectory = Join-Path $Base ([IO.Path]::GetFileNameWithoutExtension($Distribution.archive))
70
- $Node = Join-Path $NodeDirectory 'node.exe'
71
- $Bundle = Join-Path $Base ('companion-' + $Metadata.bundleSha256 + '.mjs')
72
- $ExistingConnection = Join-Path ([Environment]::GetFolderPath('UserProfile')) '.abot\host-companion\connection.json'
73
- $CanResumeCached = (Test-Path -LiteralPath $ExistingConnection -PathType Leaf) -and (Test-Path -LiteralPath $Node -PathType Leaf) -and (Test-Path -LiteralPath $Bundle -PathType Leaf)
74
- if ($CanResumeCached) {
75
- Invoke-VerifiedCompanionSetup
76
- exit 0
77
- }
78
- if ([DateTimeOffset]::UtcNow -ge [DateTimeOffset]::Parse($Metadata.expiresAt)) { throw 'This setup invitation expired. Download a fresh setup file in ABot.' }
79
- [Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
80
- [IO.Directory]::CreateDirectory($Base) | Out-Null
81
- Assert-CompanionDirectory
82
- $Temporary = Join-Path $Base ('setup-' + [Guid]::NewGuid().ToString('N'))
83
- [IO.Directory]::CreateDirectory($Temporary) | Out-Null
84
- if (-not (Test-Path -LiteralPath $Node -PathType Leaf)) {
85
- Write-Host 'Downloading the verified per-user Node.js runtime...'
86
- $Archive = Join-Path $Temporary 'node.zip'
87
- Get-VerifiedDownload ('https://nodejs.org/dist/' + $Metadata.nodeVersion + '/' + $Distribution.archive) $Archive $Distribution.sha256
88
- $Extracted = Join-Path $Temporary 'node'
89
- Expand-Archive -LiteralPath $Archive -DestinationPath $Extracted
90
- Move-Item -LiteralPath (Join-Path $Extracted ([IO.Path]::GetFileNameWithoutExtension($Distribution.archive))) -Destination $NodeDirectory
91
- }
92
- Write-Host 'Downloading and verifying the ABot companion...'
93
- $Candidate = Join-Path $Temporary 'companion.mjs'
94
- Get-VerifiedDownload ($Metadata.url + '/web-api/runtime/system-host/bundle') $Candidate $Metadata.bundleSha256 $Metadata.code
95
- if (-not (Test-Path -LiteralPath $Bundle)) { Move-Item -LiteralPath $Candidate -Destination $Bundle }
96
- Invoke-VerifiedCompanionSetup
97
- } catch {
98
- Write-Host ('Setup failed: ' + $_.Exception.Message) -ForegroundColor Red
99
- exit 1
100
- } finally {
101
- if ($Temporary -and (Test-Path -LiteralPath $Temporary)) {
102
- $ResolvedBase = [IO.Path]::GetFullPath($Base).TrimEnd('\') + '\'
103
- $ResolvedTemporary = [IO.Path]::GetFullPath($Temporary)
104
- if ($ResolvedTemporary.StartsWith($ResolvedBase, [StringComparison]::OrdinalIgnoreCase)) { Remove-Item -LiteralPath $ResolvedTemporary -Recurse -Force }
105
- }
106
- }
107
- `);
108
- }
@@ -1,167 +0,0 @@
1
- # Publishing
2
-
3
- This checklist covers the repo state expected before opening `abot` as a
4
- public Git repository or publishing a package artifact.
5
-
6
- The private development checkout is the canonical product source. Its
7
- `package.json` sets `private: true`, so direct `npm publish` is blocked. Every
8
- public Git and npm release must be created from a freshly built and verified
9
- public snapshot of one exact private commit. Never copy or publish the private
10
- checkout directly, and never develop or hotfix product changes in the public
11
- repository.
12
-
13
- ## 1. Public Metadata
14
-
15
- Keep `package.json` metadata current:
16
-
17
- - `description`
18
- - `license`
19
- - `keywords`
20
- - `engines.node`
21
- - public `exports`
22
- - package `files`
23
-
24
- Add the real public repository URL after the new public repository exists. Do
25
- not publish placeholder repository, bugs, or homepage URLs.
26
-
27
- ## 2. Local Init Flow
28
-
29
- A fresh source checkout should be able to start with:
30
-
31
- ```bash
32
- npm install
33
- npm run init -- --provider ollama --model <model-id>
34
- ```
35
-
36
- `npm run init` must create only local ignored files:
37
-
38
- - `.env`
39
- - `local/runtime.config.json`
40
- - `local/request-runner.config.json`
41
- - `local/models/default.config.json`
42
- - `.runtime/compiled`
43
- - `.runtime/shared/logs`
44
- - `.runtime/prod`
45
- - `.runtime/dev`
46
-
47
- It must not commit or generate secrets. The provider and model are explicit;
48
- use `npm run init -- --provider openai --model <model-id>` for OpenAI.
49
-
50
- ## 3. Secrets And Generated State
51
-
52
- Before publishing, confirm the repository does not include:
53
-
54
- - `.env`
55
- - `runtime.config.json`
56
- - `local/runtime.config.json`
57
- - `.runtime/`
58
- - `logs/`
59
- - `sessions/`
60
- - `dist/`
61
- - `memory/`
62
- - `*.bak`
63
- - `*:Zone.Identifier`
64
-
65
- Secrets are referenced by environment variable name only, for example
66
- `OPENAI_API_KEY` and `AGENT_BRIDGE_TOKEN`.
67
-
68
- ## 4. Package Surface
69
-
70
- The public library surface is the package `exports` map. Hosts should not import
71
- internal runtime files directly. The installed command surface is the `abot`
72
- binary with its documented `init`, `add-model`, and `start` commands.
73
-
74
- Source-checkout scripts such as `npm run dev`, `npm run model-gateway`, and
75
- `npm run web-ui` are repository tooling; they are not installed CLI commands.
76
- Package consumers should use `npx abot`.
77
-
78
- Inside the verified public snapshot, run:
79
-
80
- ```bash
81
- npm run check:runtime-package
82
- npm run check:publication
83
- npm run check:public-snapshot
84
- ```
85
-
86
- `check:runtime-package` validates the packed artifact. `check:publication`
87
- validates public repo hygiene. `check:public-snapshot` verifies every payload
88
- file against `PUBLIC-SNAPSHOT.json`; the public `npm run validate` chain runs
89
- all three checks. For a public package, the packed-artifact check also rejects
90
- any plugin set other than the exact public allowlist.
91
-
92
- ## 5. Examples And Docs
93
-
94
- Keep these public onboarding files in sync:
95
-
96
- - `README.md`
97
- - `docs/installation.md`
98
- - `docs/configuration.md`
99
- - `docs/running-locally.md`
100
- - `docs/architecture.md`
101
- - `docs/bridge-compatibility.md`
102
- - `docs/known-limitations.md`
103
- - `docs/plugins.md`
104
- - `docs/troubleshooting.md`
105
- - `src/runtime/README.md`
106
- - `examples/minimal-runtime-composition.ts`
107
- - `examples/runtime.config.example.json`
108
- - `examples/request-runner.config.example.json`
109
- - `plugins/`
110
-
111
- Example config must stay sanitized and must not include host-specific URLs
112
- except local development defaults.
113
-
114
- ## 6. Build A Fresh Snapshot For Every Release
115
-
116
- Select one clean, synchronized, fully tracked private commit. Validate it, then
117
- build a new snapshot into a fresh empty directory:
118
-
119
- ```bash
120
- npm run validate
121
- npm run build:public-snapshot -- --output /absolute/path/to/empty/public-snapshot
122
- ```
123
-
124
- `build:public-snapshot` is a private-source export command. It is intentionally
125
- absent from the exported public package. Run it again for every release; do not
126
- reuse or edit an older snapshot.
127
-
128
- The generated `PUBLIC-SNAPSHOT.json` records the exact exported tree. Validate
129
- the snapshot itself before producing a package artifact:
130
-
131
- ```bash
132
- cd /absolute/path/to/empty/public-snapshot
133
- npm ci --ignore-scripts
134
- npm run validate
135
- npm pack
136
- ```
137
-
138
- If validation finds a defect or an incomplete dependency closure, stop and fix
139
- it in the private canonical repository. Validate that change there and generate
140
- a completely new snapshot. Do not patch the generated snapshot in place.
141
-
142
- ## 7. Validate And Promote The Frozen Artifacts
143
-
144
- Install the exact tarball from the verified snapshot into a fresh consumer
145
- project. Exercise the installed binary, not a source-tree fallback:
146
-
147
- ```bash
148
- npm install /absolute/path/to/abot-ai-runtime-<version>.tgz
149
- npx --no-install abot --help
150
- ```
151
-
152
- Also verify empty-config Web UI onboarding, non-destructive provider/profile
153
- addition, default-profile selection, and the packaged Web UI. For an upgrade,
154
- install the candidate tarball over a real prior-version consumer without
155
- rerunning init and confirm that its local config remains unchanged.
156
-
157
- The public repository is a generated distribution projection, not an
158
- independent maintenance branch. Promote only the contents of the verified
159
- snapshot. Any proposed public-repository fix must first return to the private
160
- canonical repository and pass the complete flow again.
161
-
162
- Publishing the frozen snapshot, running `npm publish`, pushing a public tag, and
163
- creating a GitHub Release are separate external mutations. Perform them only
164
- after explicit authorization names the exact private commit, snapshot tree,
165
- tarball, and version. Never overwrite a version already published to npm; a
166
- post-release defect ships from a new private commit under a new semantic
167
- version.