@pellux/goodvibes-sdk 0.21.30 → 0.21.34

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 (307) hide show
  1. package/dist/_internal/contracts/zod-schemas/accounts.d.ts +9 -9
  2. package/dist/_internal/contracts/zod-schemas/auth.d.ts +1 -1
  3. package/dist/_internal/daemon/context.d.ts +1 -0
  4. package/dist/_internal/daemon/context.d.ts.map +1 -1
  5. package/dist/_internal/daemon/error-response.js +22 -22
  6. package/dist/_internal/daemon/integration-route-types.d.ts +2 -1
  7. package/dist/_internal/daemon/integration-route-types.d.ts.map +1 -1
  8. package/dist/_internal/daemon/knowledge-routes.js +5 -5
  9. package/dist/_internal/daemon/media-routes.d.ts.map +1 -1
  10. package/dist/_internal/daemon/media-routes.js +4 -3
  11. package/dist/_internal/daemon/operator.d.ts +1 -1
  12. package/dist/_internal/daemon/operator.d.ts.map +1 -1
  13. package/dist/_internal/daemon/operator.js +2 -0
  14. package/dist/_internal/daemon/runtime-route-types.d.ts +2 -1
  15. package/dist/_internal/daemon/runtime-route-types.d.ts.map +1 -1
  16. package/dist/_internal/daemon/runtime-routes.d.ts +1 -1
  17. package/dist/_internal/daemon/runtime-routes.d.ts.map +1 -1
  18. package/dist/_internal/daemon/runtime-routes.js +1 -0
  19. package/dist/_internal/daemon/telemetry-routes.d.ts.map +1 -1
  20. package/dist/_internal/daemon/telemetry-routes.js +13 -12
  21. package/dist/_internal/errors/daemon-error-contract.d.ts +17 -0
  22. package/dist/_internal/errors/daemon-error-contract.d.ts.map +1 -1
  23. package/dist/_internal/errors/daemon-error-contract.js +17 -1
  24. package/dist/_internal/errors/index.d.ts +2 -1
  25. package/dist/_internal/errors/index.d.ts.map +1 -1
  26. package/dist/_internal/errors/index.js +1 -0
  27. package/dist/_internal/platform/artifacts/store.d.ts.map +1 -1
  28. package/dist/_internal/platform/artifacts/store.js +2 -1
  29. package/dist/_internal/platform/automation/scheduler-capacity.d.ts +29 -0
  30. package/dist/_internal/platform/automation/scheduler-capacity.d.ts.map +1 -0
  31. package/dist/_internal/platform/automation/scheduler-capacity.js +31 -0
  32. package/dist/_internal/platform/channels/delivery/shared.d.ts.map +1 -1
  33. package/dist/_internal/platform/channels/delivery/shared.js +3 -2
  34. package/dist/_internal/platform/channels/delivery/strategies-bridge.d.ts.map +1 -1
  35. package/dist/_internal/platform/channels/delivery/strategies-bridge.js +3 -2
  36. package/dist/_internal/platform/channels/delivery/strategies-core.d.ts.map +1 -1
  37. package/dist/_internal/platform/channels/delivery/strategies-core.js +5 -4
  38. package/dist/_internal/platform/channels/delivery/strategies-enterprise.d.ts.map +1 -1
  39. package/dist/_internal/platform/channels/delivery/strategies-enterprise.js +4 -3
  40. package/dist/_internal/platform/config/manager.d.ts.map +1 -1
  41. package/dist/_internal/platform/config/manager.js +2 -1
  42. package/dist/_internal/platform/config/schema-domain-runtime.d.ts +6 -0
  43. package/dist/_internal/platform/config/schema-domain-runtime.d.ts.map +1 -1
  44. package/dist/_internal/platform/config/schema-domain-runtime.js +22 -0
  45. package/dist/_internal/platform/config/schema-types.d.ts +16 -2
  46. package/dist/_internal/platform/config/schema-types.d.ts.map +1 -1
  47. package/dist/_internal/platform/config/schema.d.ts.map +1 -1
  48. package/dist/_internal/platform/config/schema.js +1 -0
  49. package/dist/_internal/platform/config/service-registry.d.ts.map +1 -1
  50. package/dist/_internal/platform/config/service-registry.js +2 -1
  51. package/dist/_internal/platform/control-plane/gateway-web-ui.d.ts +0 -1
  52. package/dist/_internal/platform/control-plane/gateway-web-ui.d.ts.map +1 -1
  53. package/dist/_internal/platform/control-plane/gateway-web-ui.js +7 -6
  54. package/dist/_internal/platform/control-plane/session-broker.d.ts.map +1 -1
  55. package/dist/_internal/platform/control-plane/session-broker.js +12 -4
  56. package/dist/_internal/platform/core/orchestrator-tool-runtime.d.ts.map +1 -1
  57. package/dist/_internal/platform/core/orchestrator-tool-runtime.js +6 -6
  58. package/dist/_internal/platform/core/orchestrator-turn-loop.d.ts.map +1 -1
  59. package/dist/_internal/platform/core/orchestrator-turn-loop.js +10 -2
  60. package/dist/_internal/platform/daemon/facade-composition.d.ts +4 -131
  61. package/dist/_internal/platform/daemon/facade-composition.d.ts.map +1 -1
  62. package/dist/_internal/platform/daemon/facade-composition.js +9 -10
  63. package/dist/_internal/platform/daemon/facade-types.d.ts +141 -0
  64. package/dist/_internal/platform/daemon/facade-types.d.ts.map +1 -0
  65. package/dist/_internal/platform/daemon/facade-types.js +1 -0
  66. package/dist/_internal/platform/daemon/http/rate-limiter.d.ts +23 -0
  67. package/dist/_internal/platform/daemon/http/rate-limiter.d.ts.map +1 -0
  68. package/dist/_internal/platform/daemon/http/rate-limiter.js +71 -0
  69. package/dist/_internal/platform/daemon/http/router-route-contexts.d.ts.map +1 -1
  70. package/dist/_internal/platform/daemon/http/router-route-contexts.js +2 -1
  71. package/dist/_internal/platform/daemon/http/router.d.ts.map +1 -1
  72. package/dist/_internal/platform/daemon/http/router.js +70 -65
  73. package/dist/_internal/platform/daemon/http/runtime-route-types.d.ts.map +1 -1
  74. package/dist/_internal/platform/daemon/http-listener.d.ts +1 -0
  75. package/dist/_internal/platform/daemon/http-listener.d.ts.map +1 -1
  76. package/dist/_internal/platform/daemon/http-listener.js +53 -73
  77. package/dist/_internal/platform/daemon/surface-delivery.d.ts.map +1 -1
  78. package/dist/_internal/platform/daemon/surface-delivery.js +6 -5
  79. package/dist/_internal/platform/discovery/mcp-scanner.d.ts.map +1 -1
  80. package/dist/_internal/platform/discovery/mcp-scanner.js +28 -22
  81. package/dist/_internal/platform/discovery/scanner.d.ts.map +1 -1
  82. package/dist/_internal/platform/discovery/scanner.js +38 -22
  83. package/dist/_internal/platform/export/session-export.d.ts +0 -1
  84. package/dist/_internal/platform/export/session-export.d.ts.map +1 -1
  85. package/dist/_internal/platform/export/session-export.js +1 -33
  86. package/dist/_internal/platform/hooks/runners/http.d.ts.map +1 -1
  87. package/dist/_internal/platform/hooks/runners/http.js +2 -1
  88. package/dist/_internal/platform/integrations/delivery.d.ts +3 -1
  89. package/dist/_internal/platform/integrations/delivery.d.ts.map +1 -1
  90. package/dist/_internal/platform/integrations/delivery.js +3 -2
  91. package/dist/_internal/platform/integrations/discord.d.ts.map +1 -1
  92. package/dist/_internal/platform/integrations/discord.js +6 -5
  93. package/dist/_internal/platform/integrations/ntfy.d.ts.map +1 -1
  94. package/dist/_internal/platform/integrations/ntfy.js +3 -2
  95. package/dist/_internal/platform/integrations/webhooks.d.ts.map +1 -1
  96. package/dist/_internal/platform/integrations/webhooks.js +2 -1
  97. package/dist/_internal/platform/intelligence/lsp/binary-downloader.d.ts.map +1 -1
  98. package/dist/_internal/platform/intelligence/lsp/binary-downloader.js +4 -3
  99. package/dist/_internal/platform/knowledge/store.d.ts.map +1 -1
  100. package/dist/_internal/platform/knowledge/store.js +50 -25
  101. package/dist/_internal/platform/mcp/client.d.ts.map +1 -1
  102. package/dist/_internal/platform/mcp/client.js +3 -2
  103. package/dist/_internal/platform/media/builtin-generation-providers.d.ts.map +1 -1
  104. package/dist/_internal/platform/media/builtin-generation-providers.js +4 -3
  105. package/dist/_internal/platform/media/builtin-image-understanding.d.ts.map +1 -1
  106. package/dist/_internal/platform/media/builtin-image-understanding.js +5 -4
  107. package/dist/_internal/platform/providers/anthropic-compat.d.ts.map +1 -1
  108. package/dist/_internal/platform/providers/anthropic-compat.js +5 -3
  109. package/dist/_internal/platform/providers/anthropic.d.ts.map +1 -1
  110. package/dist/_internal/platform/providers/anthropic.js +10 -7
  111. package/dist/_internal/platform/providers/builtin-catalog.d.ts.map +1 -1
  112. package/dist/_internal/platform/providers/builtin-catalog.js +3 -2
  113. package/dist/_internal/platform/providers/catalogue.d.ts +56 -0
  114. package/dist/_internal/platform/providers/catalogue.d.ts.map +1 -0
  115. package/dist/_internal/platform/providers/catalogue.js +111 -0
  116. package/dist/_internal/platform/providers/context-discovery.d.ts.map +1 -1
  117. package/dist/_internal/platform/providers/context-discovery.js +2 -1
  118. package/dist/_internal/platform/providers/credentials.d.ts +12 -0
  119. package/dist/_internal/platform/providers/credentials.d.ts.map +1 -0
  120. package/dist/_internal/platform/providers/credentials.js +54 -0
  121. package/dist/_internal/platform/providers/gemini.d.ts.map +1 -1
  122. package/dist/_internal/platform/providers/gemini.js +6 -5
  123. package/dist/_internal/platform/providers/github-copilot.d.ts.map +1 -1
  124. package/dist/_internal/platform/providers/github-copilot.js +2 -1
  125. package/dist/_internal/platform/providers/health.d.ts +15 -0
  126. package/dist/_internal/platform/providers/health.d.ts.map +1 -0
  127. package/dist/_internal/platform/providers/health.js +32 -0
  128. package/dist/_internal/platform/providers/llama-cpp.d.ts.map +1 -1
  129. package/dist/_internal/platform/providers/llama-cpp.js +5 -3
  130. package/dist/_internal/platform/providers/lm-studio.d.ts.map +1 -1
  131. package/dist/_internal/platform/providers/lm-studio.js +5 -3
  132. package/dist/_internal/platform/providers/model-benchmarks.d.ts.map +1 -1
  133. package/dist/_internal/platform/providers/model-benchmarks.js +2 -1
  134. package/dist/_internal/platform/providers/model-catalog-cache.d.ts.map +1 -1
  135. package/dist/_internal/platform/providers/model-catalog-cache.js +2 -1
  136. package/dist/_internal/platform/providers/model-limits.d.ts.map +1 -1
  137. package/dist/_internal/platform/providers/model-limits.js +2 -1
  138. package/dist/_internal/platform/providers/ollama.d.ts.map +1 -1
  139. package/dist/_internal/platform/providers/ollama.js +5 -3
  140. package/dist/_internal/platform/providers/openai-codex.d.ts.map +1 -1
  141. package/dist/_internal/platform/providers/openai-codex.js +4 -2
  142. package/dist/_internal/platform/providers/openai-compat.d.ts.map +1 -1
  143. package/dist/_internal/platform/providers/openai-compat.js +3 -2
  144. package/dist/_internal/platform/providers/provider-not-found-error.d.ts +3 -1
  145. package/dist/_internal/platform/providers/provider-not-found-error.d.ts.map +1 -1
  146. package/dist/_internal/platform/providers/provider-not-found-error.js +3 -4
  147. package/dist/_internal/platform/providers/well-known-endpoints.d.ts +53 -0
  148. package/dist/_internal/platform/providers/well-known-endpoints.d.ts.map +1 -0
  149. package/dist/_internal/platform/providers/well-known-endpoints.js +52 -0
  150. package/dist/_internal/platform/runtime/auth/oauth-core.d.ts.map +1 -1
  151. package/dist/_internal/platform/runtime/auth/oauth-core.js +2 -1
  152. package/dist/_internal/platform/runtime/contracts/index.d.ts.map +1 -1
  153. package/dist/_internal/platform/runtime/contracts/index.js +1 -5
  154. package/dist/_internal/platform/runtime/contracts/migrations/schemas.d.ts +57 -0
  155. package/dist/_internal/platform/runtime/contracts/migrations/schemas.d.ts.map +1 -0
  156. package/dist/_internal/platform/runtime/contracts/migrations/schemas.js +157 -0
  157. package/dist/_internal/platform/runtime/correlation.d.ts +44 -0
  158. package/dist/_internal/platform/runtime/correlation.d.ts.map +1 -0
  159. package/dist/_internal/platform/runtime/correlation.js +40 -0
  160. package/dist/_internal/platform/runtime/emitters/security.d.ts +32 -0
  161. package/dist/_internal/platform/runtime/emitters/security.d.ts.map +1 -1
  162. package/dist/_internal/platform/runtime/emitters/security.js +26 -0
  163. package/dist/_internal/platform/runtime/emitters/tools.d.ts +11 -2
  164. package/dist/_internal/platform/runtime/emitters/tools.d.ts.map +1 -1
  165. package/dist/_internal/platform/runtime/emitters/tools.js +27 -0
  166. package/dist/_internal/platform/runtime/emitters/transport.d.ts +27 -0
  167. package/dist/_internal/platform/runtime/emitters/transport.d.ts.map +1 -1
  168. package/dist/_internal/platform/runtime/emitters/transport.js +19 -0
  169. package/dist/_internal/platform/runtime/emitters/turn.d.ts +22 -1
  170. package/dist/_internal/platform/runtime/emitters/turn.d.ts.map +1 -1
  171. package/dist/_internal/platform/runtime/emitters/turn.js +9 -0
  172. package/dist/_internal/platform/runtime/events/index.d.ts +45 -0
  173. package/dist/_internal/platform/runtime/events/index.d.ts.map +1 -1
  174. package/dist/_internal/platform/runtime/events/index.js +108 -14
  175. package/dist/_internal/platform/runtime/events/ops.d.ts +8 -0
  176. package/dist/_internal/platform/runtime/events/ops.d.ts.map +1 -1
  177. package/dist/_internal/platform/runtime/events/security.d.ts +47 -0
  178. package/dist/_internal/platform/runtime/events/security.d.ts.map +1 -1
  179. package/dist/_internal/platform/runtime/events/tools.d.ts +14 -2
  180. package/dist/_internal/platform/runtime/events/tools.d.ts.map +1 -1
  181. package/dist/_internal/platform/runtime/events/transport.d.ts +31 -0
  182. package/dist/_internal/platform/runtime/events/transport.d.ts.map +1 -1
  183. package/dist/_internal/platform/runtime/events/turn.d.ts +25 -1
  184. package/dist/_internal/platform/runtime/events/turn.d.ts.map +1 -1
  185. package/dist/_internal/platform/runtime/events/workspace.d.ts +16 -0
  186. package/dist/_internal/platform/runtime/events/workspace.d.ts.map +1 -1
  187. package/dist/_internal/platform/runtime/llm-observability.d.ts +43 -0
  188. package/dist/_internal/platform/runtime/llm-observability.d.ts.map +1 -0
  189. package/dist/_internal/platform/runtime/llm-observability.js +107 -0
  190. package/dist/_internal/platform/runtime/metrics.d.ts +49 -0
  191. package/dist/_internal/platform/runtime/metrics.d.ts.map +1 -0
  192. package/dist/_internal/platform/runtime/metrics.js +114 -0
  193. package/dist/_internal/platform/runtime/ops/control-plane.d.ts +5 -2
  194. package/dist/_internal/platform/runtime/ops/control-plane.d.ts.map +1 -1
  195. package/dist/_internal/platform/runtime/ops/control-plane.js +5 -4
  196. package/dist/_internal/platform/runtime/permissions/divergence-dashboard.d.ts +3 -1
  197. package/dist/_internal/platform/runtime/permissions/divergence-dashboard.d.ts.map +1 -1
  198. package/dist/_internal/platform/runtime/permissions/divergence-dashboard.js +3 -2
  199. package/dist/_internal/platform/runtime/permissions/policy-loader.d.ts +3 -1
  200. package/dist/_internal/platform/runtime/permissions/policy-loader.d.ts.map +1 -1
  201. package/dist/_internal/platform/runtime/permissions/policy-loader.js +3 -2
  202. package/dist/_internal/platform/runtime/permissions/policy-signer.d.ts.map +1 -1
  203. package/dist/_internal/platform/runtime/permissions/policy-signer.js +7 -2
  204. package/dist/_internal/platform/runtime/permissions/simulation.d.ts +3 -1
  205. package/dist/_internal/platform/runtime/permissions/simulation.d.ts.map +1 -1
  206. package/dist/_internal/platform/runtime/permissions/simulation.js +3 -2
  207. package/dist/_internal/platform/runtime/remote/transport-contract.d.ts +14 -2
  208. package/dist/_internal/platform/runtime/remote/transport-contract.d.ts.map +1 -1
  209. package/dist/_internal/platform/runtime/remote/transport-contract.js +7 -5
  210. package/dist/_internal/platform/runtime/store/helpers/reducers/sync.d.ts.map +1 -1
  211. package/dist/_internal/platform/runtime/store/helpers/reducers/sync.js +12 -1
  212. package/dist/_internal/platform/runtime/tasks/manager.d.ts +7 -3
  213. package/dist/_internal/platform/runtime/tasks/manager.d.ts.map +1 -1
  214. package/dist/_internal/platform/runtime/tasks/manager.js +7 -6
  215. package/dist/_internal/platform/runtime/telemetry/api-helpers.d.ts +14 -0
  216. package/dist/_internal/platform/runtime/telemetry/api-helpers.d.ts.map +1 -1
  217. package/dist/_internal/platform/runtime/telemetry/api-helpers.js +59 -0
  218. package/dist/_internal/platform/runtime/telemetry/api.d.ts.map +1 -1
  219. package/dist/_internal/platform/runtime/telemetry/api.js +9 -2
  220. package/dist/_internal/platform/runtime/telemetry/exporters/otlp.d.ts.map +1 -1
  221. package/dist/_internal/platform/runtime/telemetry/exporters/otlp.js +19 -6
  222. package/dist/_internal/platform/runtime/telemetry/exporters/queue.d.ts.map +1 -1
  223. package/dist/_internal/platform/runtime/telemetry/exporters/queue.js +11 -4
  224. package/dist/_internal/platform/runtime/telemetry/meter.d.ts.map +1 -1
  225. package/dist/_internal/platform/runtime/telemetry/meter.js +7 -3
  226. package/dist/_internal/platform/runtime/telemetry/redaction-config.d.ts +9 -0
  227. package/dist/_internal/platform/runtime/telemetry/redaction-config.d.ts.map +1 -0
  228. package/dist/_internal/platform/runtime/telemetry/redaction-config.js +52 -0
  229. package/dist/_internal/platform/runtime/tools/phases/budget.d.ts.map +1 -1
  230. package/dist/_internal/platform/runtime/tools/phases/budget.js +3 -2
  231. package/dist/_internal/platform/runtime/transports/daemon-http-client.d.ts.map +1 -1
  232. package/dist/_internal/platform/runtime/transports/daemon-http-client.js +138 -17
  233. package/dist/_internal/platform/scheduler/scheduler.d.ts.map +1 -1
  234. package/dist/_internal/platform/scheduler/scheduler.js +6 -2
  235. package/dist/_internal/platform/sessions/manager.d.ts.map +1 -1
  236. package/dist/_internal/platform/sessions/manager.js +6 -2
  237. package/dist/_internal/platform/state/memory-embedding-http.d.ts.map +1 -1
  238. package/dist/_internal/platform/state/memory-embedding-http.js +3 -2
  239. package/dist/_internal/platform/state/project-index.d.ts.map +1 -1
  240. package/dist/_internal/platform/state/project-index.js +6 -4
  241. package/dist/_internal/platform/tools/agent/index.d.ts.map +1 -1
  242. package/dist/_internal/platform/tools/agent/index.js +2 -1
  243. package/dist/_internal/platform/tools/analyze/git-modes.d.ts.map +1 -1
  244. package/dist/_internal/platform/tools/analyze/git-modes.js +2 -1
  245. package/dist/_internal/platform/tools/edit/core.d.ts.map +1 -1
  246. package/dist/_internal/platform/tools/edit/core.js +2 -1
  247. package/dist/_internal/platform/tools/exec/runtime.d.ts.map +1 -1
  248. package/dist/_internal/platform/tools/exec/runtime.js +3 -2
  249. package/dist/_internal/platform/tools/fetch/runtime.d.ts.map +1 -1
  250. package/dist/_internal/platform/tools/fetch/runtime.js +4 -2
  251. package/dist/_internal/platform/tools/read/index.d.ts.map +1 -1
  252. package/dist/_internal/platform/tools/read/index.js +2 -1
  253. package/dist/_internal/platform/tools/registry-tool/index.d.ts.map +1 -1
  254. package/dist/_internal/platform/tools/registry-tool/index.js +2 -1
  255. package/dist/_internal/platform/tools/state/index.d.ts.map +1 -1
  256. package/dist/_internal/platform/tools/state/index.js +2 -1
  257. package/dist/_internal/platform/tools/task/index.d.ts.map +1 -1
  258. package/dist/_internal/platform/tools/task/index.js +2 -1
  259. package/dist/_internal/platform/tools/team/index.d.ts.map +1 -1
  260. package/dist/_internal/platform/tools/team/index.js +2 -1
  261. package/dist/_internal/platform/tools/web-search/index.d.ts.map +1 -1
  262. package/dist/_internal/platform/tools/web-search/index.js +2 -1
  263. package/dist/_internal/platform/tools/worklist/index.d.ts.map +1 -1
  264. package/dist/_internal/platform/tools/worklist/index.js +2 -1
  265. package/dist/_internal/platform/types/errors.d.ts +12 -10
  266. package/dist/_internal/platform/types/errors.d.ts.map +1 -1
  267. package/dist/_internal/platform/types/errors.js +21 -20
  268. package/dist/_internal/platform/utils/error-display.d.ts.map +1 -1
  269. package/dist/_internal/platform/utils/error-display.js +6 -4
  270. package/dist/_internal/platform/utils/fetch-with-timeout.d.ts +17 -0
  271. package/dist/_internal/platform/utils/fetch-with-timeout.d.ts.map +1 -1
  272. package/dist/_internal/platform/utils/fetch-with-timeout.js +59 -0
  273. package/dist/_internal/platform/utils/record-coerce.d.ts +11 -0
  274. package/dist/_internal/platform/utils/record-coerce.d.ts.map +1 -0
  275. package/dist/_internal/platform/utils/record-coerce.js +12 -0
  276. package/dist/_internal/platform/utils/redaction.js +1 -1
  277. package/dist/_internal/platform/utils/ring-buffer.d.ts +54 -0
  278. package/dist/_internal/platform/utils/ring-buffer.d.ts.map +1 -0
  279. package/dist/_internal/platform/utils/ring-buffer.js +96 -0
  280. package/dist/_internal/platform/utils/shell-split.d.ts +11 -0
  281. package/dist/_internal/platform/utils/shell-split.d.ts.map +1 -0
  282. package/dist/_internal/platform/utils/shell-split.js +83 -0
  283. package/dist/_internal/platform/version.js +1 -1
  284. package/dist/_internal/platform/voice/providers/deepgram.d.ts.map +1 -1
  285. package/dist/_internal/platform/voice/providers/deepgram.js +2 -1
  286. package/dist/_internal/platform/voice/providers/elevenlabs.d.ts.map +1 -1
  287. package/dist/_internal/platform/voice/providers/elevenlabs.js +5 -4
  288. package/dist/_internal/platform/voice/providers/google.d.ts.map +1 -1
  289. package/dist/_internal/platform/voice/providers/google.js +5 -4
  290. package/dist/_internal/platform/voice/providers/microsoft.d.ts.map +1 -1
  291. package/dist/_internal/platform/voice/providers/microsoft.js +2 -1
  292. package/dist/_internal/platform/voice/providers/openai.d.ts.map +1 -1
  293. package/dist/_internal/platform/voice/providers/openai.js +4 -3
  294. package/dist/_internal/platform/voice/providers/shared.d.ts.map +1 -1
  295. package/dist/_internal/platform/voice/providers/shared.js +2 -1
  296. package/dist/_internal/platform/voice/providers/vydra.d.ts.map +1 -1
  297. package/dist/_internal/platform/voice/providers/vydra.js +3 -2
  298. package/dist/_internal/platform/watchers/registry.d.ts.map +1 -1
  299. package/dist/_internal/platform/watchers/registry.js +3 -2
  300. package/dist/_internal/platform/workflow/trigger-executor.d.ts.map +1 -1
  301. package/dist/_internal/platform/workflow/trigger-executor.js +5 -3
  302. package/dist/_internal/platform/workspace/daemon-home.d.ts.map +1 -1
  303. package/dist/_internal/platform/workspace/daemon-home.js +6 -2
  304. package/dist/_internal/platform/workspace/workspace-swap-manager.d.ts +1 -0
  305. package/dist/_internal/platform/workspace/workspace-swap-manager.d.ts.map +1 -1
  306. package/dist/_internal/platform/workspace/workspace-swap-manager.js +14 -2
  307. package/package.json +1 -1
@@ -1,4 +1,21 @@
1
1
  export type DaemonErrorCategory = 'authentication' | 'authorization' | 'billing' | 'rate_limit' | 'timeout' | 'network' | 'bad_request' | 'not_found' | 'permission' | 'tool' | 'config' | 'protocol' | 'service' | 'internal' | 'unknown';
2
+ export declare const DaemonErrorCategory: {
3
+ readonly AUTHENTICATION: "authentication";
4
+ readonly AUTHORIZATION: "authorization";
5
+ readonly BILLING: "billing";
6
+ readonly RATE_LIMIT: "rate_limit";
7
+ readonly TIMEOUT: "timeout";
8
+ readonly NETWORK: "network";
9
+ readonly BAD_REQUEST: "bad_request";
10
+ readonly NOT_FOUND: "not_found";
11
+ readonly PERMISSION: "permission";
12
+ readonly TOOL: "tool";
13
+ readonly CONFIG: "config";
14
+ readonly PROTOCOL: "protocol";
15
+ readonly SERVICE: "service";
16
+ readonly INTERNAL: "internal";
17
+ readonly UNKNOWN: "unknown";
18
+ };
2
19
  export type DaemonErrorSource = 'provider' | 'tool' | 'transport' | 'config' | 'permission' | 'runtime' | 'render' | 'acp' | 'unknown';
3
20
  export interface StructuredDaemonErrorBody {
4
21
  readonly error: string;
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-error-contract.d.ts","sourceRoot":"","sources":["../../../src/_internal/errors/daemon-error-contract.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,eAAe,GACf,SAAS,GACT,YAAY,GACZ,SAAS,GACT,SAAS,GACT,aAAa,GACb,WAAW,GACX,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,MAAM,GACN,WAAW,GACX,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,KAAK,GACL,SAAS,CAAC;AAEd,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC"}
1
+ {"version":3,"file":"daemon-error-contract.d.ts","sourceRoot":"","sources":["../../../src/_internal/errors/daemon-error-contract.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,eAAe,GACf,SAAS,GACT,YAAY,GACZ,SAAS,GACT,SAAS,GACT,aAAa,GACb,WAAW,GACX,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,CAAC;AAEd,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;CAgBwB,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,MAAM,GACN,WAAW,GACX,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,KAAK,GACL,SAAS,CAAC;AAEd,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC"}
@@ -1 +1,17 @@
1
- export {};
1
+ export const DaemonErrorCategory = {
2
+ AUTHENTICATION: 'authentication',
3
+ AUTHORIZATION: 'authorization',
4
+ BILLING: 'billing',
5
+ RATE_LIMIT: 'rate_limit',
6
+ TIMEOUT: 'timeout',
7
+ NETWORK: 'network',
8
+ BAD_REQUEST: 'bad_request',
9
+ NOT_FOUND: 'not_found',
10
+ PERMISSION: 'permission',
11
+ TOOL: 'tool',
12
+ CONFIG: 'config',
13
+ PROTOCOL: 'protocol',
14
+ SERVICE: 'service',
15
+ INTERNAL: 'internal',
16
+ UNKNOWN: 'unknown',
17
+ };
@@ -1,5 +1,6 @@
1
1
  import type { DaemonErrorCategory, DaemonErrorSource, StructuredDaemonErrorBody } from './daemon-error-contract.js';
2
- export type { DaemonErrorCategory, DaemonErrorSource, StructuredDaemonErrorBody, } from './daemon-error-contract.js';
2
+ export type { DaemonErrorSource, StructuredDaemonErrorBody, } from './daemon-error-contract.js';
3
+ export { DaemonErrorCategory } from './daemon-error-contract.js';
3
4
  export type ErrorCategory = DaemonErrorCategory | 'contract';
4
5
  export type ErrorSource = DaemonErrorSource | 'contract';
5
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_internal/errors/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_internal/errors/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,UAAU,CAAC;AAE7D,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,UAAU,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,QAAQ,GACR,UAAU,GACV,SAAS,GACT,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,YAAY,GACZ,SAAS,CAAC;AAiCd,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAAmC,CAAC;AAcxF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAgB,QAAQ,EAAE,aAAa,CAAC;IACxC,SAAgB,MAAM,EAAE,WAAW,CAAC;IACpC,SAAgB,WAAW,EAAE,OAAO,CAAC;IACrC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC,SAAgB,GAAG,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC,SAAgB,IAAI,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnC,SAAgB,KAAK,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnC,SAAgB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtC,SAAgB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtC,SAAgB,YAAY,CAAC,EAAE,MAAM,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B;CAqBpE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;gBAC3C,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B;CASpE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;gBACtC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B;CASpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB;gBACxC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B;CAOpE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,yBAAyB,CAE9F;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,YAAY,CAAC,EAAE,MAAM,GACpB,eAAe,CAiCjB"}
@@ -1,3 +1,4 @@
1
+ export { DaemonErrorCategory } from './daemon-error-contract.js';
1
2
  function inferKind(category) {
2
3
  switch (category) {
3
4
  case 'authentication':
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/artifacts/store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAEV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAElB,cAAc,EACd,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAOpB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,wBAAwB,CAAC,EAAE,MAAM,MAAM,CAAC;QACxC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC;KACnC,CAAC;IACF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC5C;AA4GD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;gBAEtC,MAAM,EAAE,mBAAmB;IAavC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,CAAC,KAAK,SAAM,GAAG,kBAAkB,EAAE;IAQvC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAM1C,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAKtC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAU5E,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsC/D,YAAY,CAChB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,GAAE;QACP,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;KACzC,GACL,OAAO,CAAC,kBAAkB,CAAC;IAoC9B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,iBAAiB;YAaX,YAAY;YA0DZ,kBAAkB;IA6DhC,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,uBAAuB;CAchC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/artifacts/store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAEV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAElB,cAAc,EACd,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAQpB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,wBAAwB,CAAC,EAAE,MAAM,MAAM,CAAC;QACxC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC;KACnC,CAAC;IACF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC5C;AA4GD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;gBAEtC,MAAM,EAAE,mBAAmB;IAavC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,CAAC,KAAK,SAAM,GAAG,kBAAkB,EAAE;IAQvC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAM1C,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAKtC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAU5E,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsC/D,YAAY,CAChB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,GAAE;QACP,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;KACzC,GACL,OAAO,CAAC,kBAAkB,CAAC;IAoC9B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,iBAAiB;YAaX,YAAY;YA0DZ,kBAAkB;IA6DhC,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,uBAAuB;CAchC"}
@@ -6,6 +6,7 @@ import { logger } from '../utils/logger.js';
6
6
  import { classifyHostTrustTier, extractHostname } from '../tools/fetch/trust-tiers.js';
7
7
  import { summarizeError } from '../utils/error-display.js';
8
8
  import { guessMimeType, inferArtifactKind, sanitizeArtifactFilename, } from './types.js';
9
+ import { instrumentedFetch } from '../utils/fetch-with-timeout.js';
9
10
  const DEFAULT_ARTIFACT_MAX_BYTES = 10 * 1024 * 1024;
10
11
  const DEFAULT_ARTIFACT_RETENTION_MS = 30 * 24 * 60 * 60 * 1000;
11
12
  const DEFAULT_MAX_RETENTION_MS = 90 * 24 * 60 * 60 * 1000;
@@ -338,7 +339,7 @@ export class ArtifactStore {
338
339
  throw new Error('Private-host remote artifact fetches are disabled by config.');
339
340
  }
340
341
  this.assertRemoteHostAllowed(current, fetchMode);
341
- const response = await fetch(current, {
342
+ const response = await instrumentedFetch(current, {
342
343
  method: 'GET',
343
344
  redirect: 'manual',
344
345
  });
@@ -0,0 +1,29 @@
1
+ /**
2
+ * scheduler-capacity.ts
3
+ *
4
+ * Standalone capacity-reporting logic for the AutomationManager.
5
+ * Extracted so the report can be computed and tested independently
6
+ * of the full manager class (QA-05).
7
+ *
8
+ * Wire format uses camelCase at the API boundary per SDK convention.
9
+ */
10
+ import type { AutomationRun } from './runs.js';
11
+ /**
12
+ * Scheduler capacity report returned at the API boundary.
13
+ * All field names are camelCase per SDK wire convention.
14
+ */
15
+ export interface SchedulerCapacityReport {
16
+ readonly slotsTotal: number;
17
+ readonly slotsInUse: number;
18
+ readonly queueDepth: number;
19
+ readonly oldestQueuedAgeMs: number | null;
20
+ }
21
+ /**
22
+ * Compute a scheduler capacity report from raw scheduler state.
23
+ *
24
+ * @param slotsTotal - Maximum concurrent run slots (from config)
25
+ * @param runs - Current run map values
26
+ * @param nowMs - Current timestamp in ms (injectable for testability; defaults to Date.now())
27
+ */
28
+ export declare function computeSchedulerCapacity(slotsTotal: number, runs: Iterable<AutomationRun>, nowMs?: number): SchedulerCapacityReport;
29
+ //# sourceMappingURL=scheduler-capacity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler-capacity.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/automation/scheduler-capacity.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC7B,KAAK,SAAa,GACjB,uBAAuB,CAezB"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * scheduler-capacity.ts
3
+ *
4
+ * Standalone capacity-reporting logic for the AutomationManager.
5
+ * Extracted so the report can be computed and tested independently
6
+ * of the full manager class (QA-05).
7
+ *
8
+ * Wire format uses camelCase at the API boundary per SDK convention.
9
+ */
10
+ /**
11
+ * Compute a scheduler capacity report from raw scheduler state.
12
+ *
13
+ * @param slotsTotal - Maximum concurrent run slots (from config)
14
+ * @param runs - Current run map values
15
+ * @param nowMs - Current timestamp in ms (injectable for testability; defaults to Date.now())
16
+ */
17
+ export function computeSchedulerCapacity(slotsTotal, runs, nowMs = Date.now()) {
18
+ let slotsInUse = 0;
19
+ const queuedRuns = [];
20
+ for (const run of runs) {
21
+ if (run.status === 'running')
22
+ slotsInUse += 1;
23
+ if (run.status === 'queued')
24
+ queuedRuns.push(run);
25
+ }
26
+ const queueDepth = queuedRuns.length;
27
+ const oldestQueuedAgeMs = queueDepth > 0
28
+ ? nowMs - Math.min(...queuedRuns.map((r) => r.queuedAt))
29
+ : null;
30
+ return { slotsTotal, slotsInUse, queueDepth, oldestQueuedAgeMs };
31
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/delivery/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAA0B,MAAM,0BAA0B,CAAC;AAC1G,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,qBAAqB,GAC5B,0BAA0B,GAAG,SAAS,CAExC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,wBAAgB,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAElE;AAYD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,sBAAsB,EAC/B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAU/B;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,kBAAkB,EAAE,GAAG,MAAM,CAQxG;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIrE;AAED,wBAAgB,aAAa,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,SAAS,CAK7F;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAID,wBAAsB,yBAAyB,CAC7C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,MAAM,CAAC,CA+CjB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CActE;AAmBD,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAW3F;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE;IACP,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAY7B"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/delivery/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAA0B,MAAM,0BAA0B,CAAC;AAC1G,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAGpB,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,qBAAqB,GAC5B,0BAA0B,GAAG,SAAS,CAExC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,wBAAgB,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAElE;AAYD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,sBAAsB,EAC/B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAU/B;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,kBAAkB,EAAE,GAAG,MAAM,CAQxG;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIrE;AAED,wBAAgB,aAAa,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,SAAS,CAK7F;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAID,wBAAsB,yBAAyB,CAC7C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,MAAM,CAAC,CA+CjB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CActE;AAmBD,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAW3F;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE;IACP,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAY7B"}
@@ -1,6 +1,7 @@
1
1
  import { ArtifactStore } from '../../artifacts/index.js';
2
2
  import { ConfigManager } from '../../config/manager.js';
3
3
  import { ServiceRegistry } from '../../config/service-registry.js';
4
+ import { instrumentedFetch } from '../../utils/fetch-with-timeout.js';
4
5
  export function resolveChannelDeliverySurfaceKind(target) {
5
6
  return target.surfaceKind ?? (target.kind === 'webhook' ? 'webhook' : undefined);
6
7
  }
@@ -77,7 +78,7 @@ export async function resolveMSTeamsAccessToken(configManager, serviceRegistry)
77
78
  client_secret: appPassword,
78
79
  scope: 'https://api.botframework.com/.default',
79
80
  });
80
- const response = await fetch(`https://login.microsoftonline.com/${encodeURIComponent(tenantId)}/oauth2/v2.0/token`, {
81
+ const response = await instrumentedFetch(`https://login.microsoftonline.com/${encodeURIComponent(tenantId)}/oauth2/v2.0/token`, {
81
82
  method: 'POST',
82
83
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
83
84
  body: body.toString(),
@@ -151,7 +152,7 @@ export async function requireOkResponse(label, response) {
151
152
  return payload;
152
153
  }
153
154
  export async function postBridgePayload(bridgeUrl, payload, options) {
154
- const response = await fetch(bridgeUrl, {
155
+ const response = await instrumentedFetch(bridgeUrl, {
155
156
  method: 'POST',
156
157
  headers: {
157
158
  'Content-Type': 'application/json',
@@ -1 +1 @@
1
- {"version":3,"file":"strategies-bridge.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/delivery/strategies-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAc1D,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA6CzB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA2EzB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA6CzB;AAED,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAyCzB"}
1
+ {"version":3,"file":"strategies-bridge.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/delivery/strategies-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAe1D,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA6CzB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA2EzB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA6CzB;AAED,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAyCzB"}
@@ -2,6 +2,7 @@ import { ArtifactStore } from '../../artifacts/index.js';
2
2
  import { ConfigManager } from '../../config/manager.js';
3
3
  import { ServiceRegistry } from '../../config/service-registry.js';
4
4
  import { appendAttachmentSummary, extractResponseId, firstNonEmpty, normalizeBaseUrl, postBridgePayload, requireOkResponse, resolveAttachments, resolveChannelDeliverySurfaceKind, success, trimForSurface, } from './shared.js';
5
+ import { instrumentedFetch } from '../../utils/fetch-with-timeout.js';
5
6
  export function createSignalDeliveryStrategy(configManager, serviceRegistry, artifactStore) {
6
7
  return {
7
8
  id: 'channel-delivery:signal',
@@ -76,7 +77,7 @@ export function createWhatsAppDeliveryStrategy(configManager, serviceRegistry, a
76
77
  if (!accessToken)
77
78
  throw new Error('Missing WhatsApp access token');
78
79
  const apiBaseUrl = firstNonEmpty(process.env.WHATSAPP_BASE_URL, 'https://graph.facebook.com/v17.0');
79
- const response = await fetch(`${normalizeBaseUrl(apiBaseUrl)}/${encodeURIComponent(phoneNumberId)}/messages`, {
80
+ const response = await instrumentedFetch(`${normalizeBaseUrl(apiBaseUrl)}/${encodeURIComponent(phoneNumberId)}/messages`, {
80
81
  method: 'POST',
81
82
  headers: {
82
83
  'Content-Type': 'application/json',
@@ -149,7 +150,7 @@ export function createBlueBubblesDeliveryStrategy(configManager, serviceRegistry
149
150
  throw new Error('Missing BlueBubbles password');
150
151
  if (!chatGuid)
151
152
  throw new Error('Missing BlueBubbles chat guid');
152
- const response = await fetch(`${normalizeBaseUrl(serverUrl)}/api/v1/message/text?password=${encodeURIComponent(password)}`, {
153
+ const response = await instrumentedFetch(`${normalizeBaseUrl(serverUrl)}/api/v1/message/text?password=${encodeURIComponent(password)}`, {
153
154
  method: 'POST',
154
155
  headers: { 'Content-Type': 'application/json' },
155
156
  body: JSON.stringify({
@@ -1 +1 @@
1
- {"version":3,"file":"strategies-core.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/delivery/strategies-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAa1D,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,GAAG,uBAAuB,CAsCjI;AAED,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA0CzB;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA2CzB;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAuBzB;AAED,wBAAgB,qCAAqC,CACnD,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,mBAAmB,GAAG,IAAI,GAC3C,uBAAuB,CA6BzB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAqCzB;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA+BzB"}
1
+ {"version":3,"file":"strategies-core.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/delivery/strategies-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAc1D,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,GAAG,uBAAuB,CAsCjI;AAED,wBAAgB,2BAA2B,CACzC,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA0CzB;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA2CzB;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAuBzB;AAED,wBAAgB,qCAAqC,CACnD,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,mBAAmB,GAAG,IAAI,GAC3C,uBAAuB,CA6BzB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAqCzB;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA+BzB"}
@@ -5,6 +5,7 @@ import { ControlPlaneGateway } from '../../control-plane/gateway.js';
5
5
  import { DiscordIntegration, NtfyIntegration, SlackIntegration } from '../../integrations/index.js';
6
6
  import { validatePublicWebhookUrl } from '../../utils/url-safety.js';
7
7
  import { appendAttachmentSummary, extractResponseId, firstNonEmpty, requireOkResponse, resolveAttachments, resolveChannelDeliverySurfaceKind, success, titleFromBody, trimForSurface, } from './shared.js';
8
+ import { instrumentedFetch } from '../../utils/fetch-with-timeout.js';
8
9
  export function createWebhookDeliveryStrategy(configManager, artifactStore) {
9
10
  return {
10
11
  id: 'channel-delivery:webhook',
@@ -22,7 +23,7 @@ export function createWebhookDeliveryStrategy(configManager, artifactStore) {
22
23
  if (!validation.ok)
23
24
  throw new Error(validation.error);
24
25
  const timeoutMs = Number(configManager.get('surfaces.webhook.timeoutMs') ?? 15_000);
25
- const response = await fetch(validation.url, {
26
+ const response = await instrumentedFetch(validation.url, {
26
27
  method: 'POST',
27
28
  headers: {
28
29
  'Content-Type': 'application/json',
@@ -64,7 +65,7 @@ export function createSlackDeliveryStrategy(serviceRegistry, configManager, arti
64
65
  ? request.binding.metadata.responseUrl
65
66
  : undefined;
66
67
  if (responseUrl?.startsWith('https://hooks.slack.com/')) {
67
- await fetch(responseUrl, {
68
+ await instrumentedFetch(responseUrl, {
68
69
  method: 'POST',
69
70
  headers: { 'Content-Type': 'application/json' },
70
71
  body: JSON.stringify({
@@ -193,7 +194,7 @@ export function createTelegramDeliveryStrategy(configManager, serviceRegistry, a
193
194
  throw new Error('Missing Telegram bot token');
194
195
  if (!chatId)
195
196
  throw new Error('Missing Telegram chat id');
196
- const response = await fetch(`https://api.telegram.org/bot${encodeURIComponent(token)}/sendMessage`, {
197
+ const response = await instrumentedFetch(`https://api.telegram.org/bot${encodeURIComponent(token)}/sendMessage`, {
197
198
  method: 'POST',
198
199
  headers: { 'Content-Type': 'application/json' },
199
200
  body: JSON.stringify({
@@ -223,7 +224,7 @@ export function createGoogleChatDeliveryStrategy(configManager, serviceRegistry,
223
224
  throw new Error('Missing Google Chat webhook URL');
224
225
  }
225
226
  const threadKey = firstNonEmpty(request.binding?.threadId, request.binding?.channelId, request.binding?.externalId);
226
- const response = await fetch(webhookUrl, {
227
+ const response = await instrumentedFetch(webhookUrl, {
227
228
  method: 'POST',
228
229
  headers: { 'Content-Type': 'application/json; charset=UTF-8' },
229
230
  body: JSON.stringify({
@@ -1 +1 @@
1
- {"version":3,"file":"strategies-enterprise.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/delivery/strategies-enterprise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAc1D,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA+CzB;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA2CzB;AAED,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAsDzB"}
1
+ {"version":3,"file":"strategies-enterprise.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/channels/delivery/strategies-enterprise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAe1D,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA+CzB;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA2CzB;AAED,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAsDzB"}
@@ -2,6 +2,7 @@ import { ArtifactStore } from '../../artifacts/index.js';
2
2
  import { ConfigManager } from '../../config/manager.js';
3
3
  import { ServiceRegistry } from '../../config/service-registry.js';
4
4
  import { appendAttachmentSummary, extractResponseId, firstNonEmpty, normalizeBaseUrl, requireOkResponse, resolveAttachments, resolveChannelDeliverySurfaceKind, resolveMSTeamsAccessToken, success, trimForSurface, } from './shared.js';
5
+ import { instrumentedFetch } from '../../utils/fetch-with-timeout.js';
5
6
  export function createMSTeamsDeliveryStrategy(configManager, serviceRegistry, artifactStore) {
6
7
  return {
7
8
  id: 'channel-delivery:msteams',
@@ -21,7 +22,7 @@ export function createMSTeamsDeliveryStrategy(configManager, serviceRegistry, ar
21
22
  ? `${rawConversationId};messageid=${threadId}`
22
23
  : rawConversationId;
23
24
  const accessToken = await resolveMSTeamsAccessToken(configManager, serviceRegistry);
24
- const response = await fetch(`${normalizeBaseUrl(serviceUrl)}/v3/conversations/${encodeURIComponent(conversationId)}/activities`, {
25
+ const response = await instrumentedFetch(`${normalizeBaseUrl(serviceUrl)}/v3/conversations/${encodeURIComponent(conversationId)}/activities`, {
25
26
  method: 'POST',
26
27
  headers: {
27
28
  'Content-Type': 'application/json',
@@ -56,7 +57,7 @@ export function createMattermostDeliveryStrategy(configManager, serviceRegistry,
56
57
  throw new Error('Missing Mattermost bot token');
57
58
  if (!channelId)
58
59
  throw new Error('Missing Mattermost channel id');
59
- const response = await fetch(`${normalizeBaseUrl(baseUrl)}/api/v4/posts`, {
60
+ const response = await instrumentedFetch(`${normalizeBaseUrl(baseUrl)}/api/v4/posts`, {
60
61
  method: 'POST',
61
62
  headers: {
62
63
  'Content-Type': 'application/json',
@@ -92,7 +93,7 @@ export function createMatrixDeliveryStrategy(configManager, serviceRegistry, art
92
93
  throw new Error('Missing Matrix room id');
93
94
  const txnId = crypto.randomUUID();
94
95
  const threadId = request.binding?.threadId;
95
- const response = await fetch(`${normalizeBaseUrl(homeserverUrl)}/_matrix/client/v3/rooms/${encodeURIComponent(roomId)}/send/m.room.message/${encodeURIComponent(txnId)}`, {
96
+ const response = await instrumentedFetch(`${normalizeBaseUrl(homeserverUrl)}/_matrix/client/v3/rooms/${encodeURIComponent(roomId)}/send/m.room.message/${encodeURIComponent(txnId)}`, {
96
97
  method: 'POST',
97
98
  headers: {
98
99
  'Content-Type': 'application/json',
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/manager.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { logger } from '../utils/logger.js';
6
6
  import { getManagedSettingLock } from '../runtime/settings/control-plane.js';
7
7
  import { requireSurfaceRoot, resolveSurfaceDirectory, resolveSurfaceSharedFile } from '../runtime/surface-root.js';
8
8
  import { summarizeError } from '../utils/error-display.js';
9
+ import { toRecord } from '../utils/record-coerce.js';
9
10
  const DEFAULT_CONFIG_SNAPSHOT = structuredClone(DEFAULT_CONFIG);
10
11
  const PERMISSION_TOOL_KEYS = new Set(Object.keys(DEFAULT_CONFIG.permissions.tools));
11
12
  function cloneDefaultConfig() {
@@ -316,7 +317,7 @@ export class ConfigManager {
316
317
  if (!schema)
317
318
  throw new ConfigError(`Unknown config key: ${key}`);
318
319
  const livePath = this.resolvePath(key);
319
- const defaultPath = resolveArbitraryPath(DEFAULT_CONFIG_SNAPSHOT, key);
320
+ const defaultPath = resolveArbitraryPath(toRecord(DEFAULT_CONFIG_SNAPSHOT), key);
320
321
  livePath.parent[livePath.field] = structuredClone(defaultPath.parent[defaultPath.field]);
321
322
  }
322
323
  this.save();
@@ -4,6 +4,12 @@ export declare const runtimeConfigDefaults: {
4
4
  companionChatLimiter: {
5
5
  perSessionLimit: number;
6
6
  };
7
+ eventBus: {
8
+ maxListeners: number;
9
+ };
10
+ };
11
+ telemetry: {
12
+ includeRawPrompts: boolean;
7
13
  };
8
14
  automation: {
9
15
  enabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"schema-domain-runtime.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/schema-domain-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EjC,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,uBAAuB,EAyMjE,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,uBAAuB,EAyGnE,CAAC"}
1
+ {"version":3,"file":"schema-domain-runtime.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/schema-domain-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgFjC,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,uBAAuB,EAyMjE,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,uBAAuB,EA2HnE,CAAC"}
@@ -3,6 +3,12 @@ export const runtimeConfigDefaults = {
3
3
  companionChatLimiter: {
4
4
  perSessionLimit: 10,
5
5
  },
6
+ eventBus: {
7
+ maxListeners: 100,
8
+ },
9
+ },
10
+ telemetry: {
11
+ includeRawPrompts: false,
6
12
  },
7
13
  automation: {
8
14
  enabled: false,
@@ -379,4 +385,20 @@ export const runtimeSecondaryConfigSettings = [
379
385
  'Overrides the GOODVIBES_CHAT_LIMITER_THRESHOLD env var (env is read once at daemon startup; ' +
380
386
  'this config key is read on each check() call and takes precedence when set to a positive integer).',
381
387
  },
388
+ {
389
+ key: 'runtime.eventBus.maxListeners',
390
+ type: 'number',
391
+ default: 100,
392
+ description: 'Maximum number of listeners per event channel (per-type and per-domain) before a warning is emitted in production ' +
393
+ 'or a RangeError is thrown in development mode. Raise this only if you have verified there is no subscriber leak.',
394
+ validate: (v) => typeof v === 'number' && Number.isInteger(v) && v >= 1 && v <= 100_000,
395
+ },
396
+ {
397
+ key: 'telemetry.includeRawPrompts',
398
+ type: 'boolean',
399
+ default: false,
400
+ description: 'When false (default), turn emitters emit a redacted prompt summary {length, sha256, first100chars} instead of raw prompt/response content. ' +
401
+ 'Set to true ONLY for debugging in non-production environments — raw prompts may contain PII, secrets, or proprietary data. ' +
402
+ 'When true at startup, a WARN log is emitted to make the configuration visible to ops.',
403
+ },
382
404
  ];
@@ -224,6 +224,19 @@ export interface RuntimeConfig {
224
224
  companionChatLimiter: {
225
225
  perSessionLimit: number;
226
226
  };
227
+ eventBus: {
228
+ maxListeners: number;
229
+ };
230
+ }
231
+ export interface TelemetryConfig {
232
+ /**
233
+ * OBS-06: when true, raw prompt/response content remains visible in
234
+ * telemetry events (and view='raw' is permitted for operators).
235
+ * Default false: prompt/response fields in events are redacted via the
236
+ * standard sanitizer at safe-view egress. Set true only in non-production
237
+ * environments; a startup WARN is logged.
238
+ */
239
+ includeRawPrompts: boolean;
227
240
  }
228
241
  export interface GoodVibesConfig {
229
242
  display: {
@@ -334,6 +347,7 @@ export interface GoodVibesConfig {
334
347
  /** Persisted feature flag overrides keyed by flag id. */
335
348
  featureFlags: Record<string, PersistedFlagState>;
336
349
  runtime: RuntimeConfig;
350
+ telemetry: TelemetryConfig;
337
351
  }
338
352
  export interface ConfigSetting {
339
353
  key: ConfigKey;
@@ -344,7 +358,7 @@ export interface ConfigSetting {
344
358
  validate?: (value: unknown) => boolean;
345
359
  }
346
360
  /** Dot-path config keys for all settings. */
347
- export type ConfigKey = 'display.stream' | 'display.lineNumbers' | 'display.collapseThreshold' | 'display.theme' | 'display.showThinking' | 'display.showReasoningSummary' | 'display.showTokenSpeed' | 'display.showToolPreview' | 'provider.reasoningEffort' | 'provider.model' | 'provider.provider' | 'provider.embeddingProvider' | 'provider.systemPromptFile' | 'behavior.autoApprove' | 'behavior.autoCompactThreshold' | 'behavior.staleContextWarnings' | 'behavior.saveHistory' | 'behavior.notifyOnComplete' | 'behavior.suggestAlternativeOnProviderFail' | 'behavior.hitlMode' | 'behavior.returnContextMode' | 'behavior.guidanceMode' | 'storage.secretPolicy' | 'permissions.mode' | 'permissions.tools.read' | 'permissions.tools.write' | 'permissions.tools.edit' | 'permissions.tools.exec' | 'permissions.tools.find' | 'permissions.tools.fetch' | 'permissions.tools.analyze' | 'permissions.tools.inspect' | 'permissions.tools.agent' | 'permissions.tools.state' | 'permissions.tools.workflow' | 'permissions.tools.registry' | 'permissions.tools.delegate' | 'permissions.tools.mcp' | 'orchestration.recursionEnabled' | 'orchestration.maxActiveAgents' | 'orchestration.maxDepth' | 'sandbox.replIsolation' | 'sandbox.mcpIsolation' | 'sandbox.windowsMode' | 'sandbox.vmBackend' | 'sandbox.qemuBinary' | 'sandbox.qemuImagePath' | 'sandbox.qemuExecWrapper' | 'sandbox.qemuGuestHost' | 'sandbox.qemuGuestPort' | 'sandbox.qemuGuestUser' | 'sandbox.qemuWorkspacePath' | 'sandbox.qemuSessionMode' | 'ui.voiceEnabled' | 'ui.systemMessages' | 'ui.operationalMessages' | 'ui.wrfcMessages' | 'release.channel' | 'danger.daemon' | 'danger.httpListener' | 'tools.llmEnabled' | 'tools.llmProvider' | 'tools.llmModel' | 'tools.autoHeal' | 'tools.defaultTokenBudget' | 'tools.hooksFile' | 'wrfc.scoreThreshold' | 'wrfc.maxFixAttempts' | 'wrfc.autoCommit' | 'cache.enabled' | 'cache.stableTtl' | 'cache.monitorHitRate' | 'cache.hitRateWarningThreshold' | 'helper.enabled' | 'helper.globalProvider' | 'helper.globalModel' | 'automation.enabled' | 'automation.maxConcurrentRuns' | 'automation.runHistoryLimit' | 'automation.defaultTimeoutMs' | 'automation.catchUpWindowMinutes' | 'automation.failureCooldownMs' | 'automation.deleteAfterRun' | 'controlPlane.enabled' | 'controlPlane.hostMode' | 'controlPlane.host' | 'controlPlane.port' | 'controlPlane.baseUrl' | 'controlPlane.streamMode' | 'controlPlane.allowRemote' | 'controlPlane.trustProxy' | 'controlPlane.tls.mode' | 'controlPlane.tls.certFile' | 'controlPlane.tls.keyFile' | 'httpListener.hostMode' | 'httpListener.host' | 'httpListener.port' | 'httpListener.trustProxy' | 'httpListener.tls.mode' | 'httpListener.tls.certFile' | 'httpListener.tls.keyFile' | 'web.enabled' | 'web.hostMode' | 'web.host' | 'web.port' | 'web.publicBaseUrl' | 'web.staticAssetsDir' | 'surfaces.slack.enabled' | 'surfaces.slack.signingSecret' | 'surfaces.slack.botToken' | 'surfaces.slack.appToken' | 'surfaces.slack.defaultChannel' | 'surfaces.slack.workspaceId' | 'surfaces.discord.enabled' | 'surfaces.discord.publicKey' | 'surfaces.discord.botToken' | 'surfaces.discord.applicationId' | 'surfaces.discord.defaultChannelId' | 'surfaces.discord.guildId' | 'surfaces.ntfy.enabled' | 'surfaces.ntfy.baseUrl' | 'surfaces.ntfy.topic' | 'surfaces.ntfy.token' | 'surfaces.ntfy.defaultPriority' | 'surfaces.webhook.enabled' | 'surfaces.webhook.defaultTarget' | 'surfaces.webhook.timeoutMs' | 'surfaces.webhook.secret' | 'surfaces.telegram.enabled' | 'surfaces.telegram.botToken' | 'surfaces.telegram.webhookSecret' | 'surfaces.telegram.defaultChatId' | 'surfaces.telegram.botUsername' | 'surfaces.telegram.mode' | 'surfaces.googleChat.enabled' | 'surfaces.googleChat.webhookUrl' | 'surfaces.googleChat.verificationToken' | 'surfaces.googleChat.appId' | 'surfaces.googleChat.spaceId' | 'surfaces.signal.enabled' | 'surfaces.signal.bridgeUrl' | 'surfaces.signal.account' | 'surfaces.signal.token' | 'surfaces.signal.defaultRecipient' | 'surfaces.whatsapp.enabled' | 'surfaces.whatsapp.provider' | 'surfaces.whatsapp.accessToken' | 'surfaces.whatsapp.verifyToken' | 'surfaces.whatsapp.signingSecret' | 'surfaces.whatsapp.phoneNumberId' | 'surfaces.whatsapp.businessAccountId' | 'surfaces.whatsapp.defaultRecipient' | 'surfaces.imessage.enabled' | 'surfaces.imessage.bridgeUrl' | 'surfaces.imessage.account' | 'surfaces.imessage.token' | 'surfaces.imessage.defaultChatId' | 'surfaces.msteams.enabled' | 'surfaces.msteams.appId' | 'surfaces.msteams.appPassword' | 'surfaces.msteams.tenantId' | 'surfaces.msteams.serviceUrl' | 'surfaces.msteams.botId' | 'surfaces.msteams.defaultConversationId' | 'surfaces.msteams.defaultChannelId' | 'surfaces.bluebubbles.enabled' | 'surfaces.bluebubbles.serverUrl' | 'surfaces.bluebubbles.password' | 'surfaces.bluebubbles.account' | 'surfaces.bluebubbles.defaultChatGuid' | 'surfaces.mattermost.enabled' | 'surfaces.mattermost.baseUrl' | 'surfaces.mattermost.botToken' | 'surfaces.mattermost.teamId' | 'surfaces.mattermost.defaultChannelId' | 'surfaces.matrix.enabled' | 'surfaces.matrix.homeserverUrl' | 'surfaces.matrix.accessToken' | 'surfaces.matrix.userId' | 'surfaces.matrix.defaultRoomId' | 'watchers.enabled' | 'watchers.pollIntervalMs' | 'watchers.heartbeatIntervalMs' | 'watchers.recoveryWindowMinutes' | 'service.enabled' | 'service.autostart' | 'service.restartOnFailure' | 'service.platform' | 'service.serviceName' | 'service.logPath' | 'network.outboundTls.mode' | 'network.outboundTls.customCaFile' | 'network.outboundTls.customCaDir' | 'network.outboundTls.allowInsecureLocalhost' | 'network.remoteFetch.allowPrivateHosts' | 'runtime.companionChatLimiter.perSessionLimit';
361
+ export type ConfigKey = 'display.stream' | 'display.lineNumbers' | 'display.collapseThreshold' | 'display.theme' | 'display.showThinking' | 'display.showReasoningSummary' | 'display.showTokenSpeed' | 'display.showToolPreview' | 'provider.reasoningEffort' | 'provider.model' | 'provider.provider' | 'provider.embeddingProvider' | 'provider.systemPromptFile' | 'behavior.autoApprove' | 'behavior.autoCompactThreshold' | 'behavior.staleContextWarnings' | 'behavior.saveHistory' | 'behavior.notifyOnComplete' | 'behavior.suggestAlternativeOnProviderFail' | 'behavior.hitlMode' | 'behavior.returnContextMode' | 'behavior.guidanceMode' | 'storage.secretPolicy' | 'permissions.mode' | 'permissions.tools.read' | 'permissions.tools.write' | 'permissions.tools.edit' | 'permissions.tools.exec' | 'permissions.tools.find' | 'permissions.tools.fetch' | 'permissions.tools.analyze' | 'permissions.tools.inspect' | 'permissions.tools.agent' | 'permissions.tools.state' | 'permissions.tools.workflow' | 'permissions.tools.registry' | 'permissions.tools.delegate' | 'permissions.tools.mcp' | 'orchestration.recursionEnabled' | 'orchestration.maxActiveAgents' | 'orchestration.maxDepth' | 'sandbox.replIsolation' | 'sandbox.mcpIsolation' | 'sandbox.windowsMode' | 'sandbox.vmBackend' | 'sandbox.qemuBinary' | 'sandbox.qemuImagePath' | 'sandbox.qemuExecWrapper' | 'sandbox.qemuGuestHost' | 'sandbox.qemuGuestPort' | 'sandbox.qemuGuestUser' | 'sandbox.qemuWorkspacePath' | 'sandbox.qemuSessionMode' | 'ui.voiceEnabled' | 'ui.systemMessages' | 'ui.operationalMessages' | 'ui.wrfcMessages' | 'release.channel' | 'danger.daemon' | 'danger.httpListener' | 'tools.llmEnabled' | 'tools.llmProvider' | 'tools.llmModel' | 'tools.autoHeal' | 'tools.defaultTokenBudget' | 'tools.hooksFile' | 'wrfc.scoreThreshold' | 'wrfc.maxFixAttempts' | 'wrfc.autoCommit' | 'cache.enabled' | 'cache.stableTtl' | 'cache.monitorHitRate' | 'cache.hitRateWarningThreshold' | 'helper.enabled' | 'helper.globalProvider' | 'helper.globalModel' | 'automation.enabled' | 'automation.maxConcurrentRuns' | 'automation.runHistoryLimit' | 'automation.defaultTimeoutMs' | 'automation.catchUpWindowMinutes' | 'automation.failureCooldownMs' | 'automation.deleteAfterRun' | 'controlPlane.enabled' | 'controlPlane.hostMode' | 'controlPlane.host' | 'controlPlane.port' | 'controlPlane.baseUrl' | 'controlPlane.streamMode' | 'controlPlane.allowRemote' | 'controlPlane.trustProxy' | 'controlPlane.tls.mode' | 'controlPlane.tls.certFile' | 'controlPlane.tls.keyFile' | 'httpListener.hostMode' | 'httpListener.host' | 'httpListener.port' | 'httpListener.trustProxy' | 'httpListener.tls.mode' | 'httpListener.tls.certFile' | 'httpListener.tls.keyFile' | 'web.enabled' | 'web.hostMode' | 'web.host' | 'web.port' | 'web.publicBaseUrl' | 'web.staticAssetsDir' | 'surfaces.slack.enabled' | 'surfaces.slack.signingSecret' | 'surfaces.slack.botToken' | 'surfaces.slack.appToken' | 'surfaces.slack.defaultChannel' | 'surfaces.slack.workspaceId' | 'surfaces.discord.enabled' | 'surfaces.discord.publicKey' | 'surfaces.discord.botToken' | 'surfaces.discord.applicationId' | 'surfaces.discord.defaultChannelId' | 'surfaces.discord.guildId' | 'surfaces.ntfy.enabled' | 'surfaces.ntfy.baseUrl' | 'surfaces.ntfy.topic' | 'surfaces.ntfy.token' | 'surfaces.ntfy.defaultPriority' | 'surfaces.webhook.enabled' | 'surfaces.webhook.defaultTarget' | 'surfaces.webhook.timeoutMs' | 'surfaces.webhook.secret' | 'surfaces.telegram.enabled' | 'surfaces.telegram.botToken' | 'surfaces.telegram.webhookSecret' | 'surfaces.telegram.defaultChatId' | 'surfaces.telegram.botUsername' | 'surfaces.telegram.mode' | 'surfaces.googleChat.enabled' | 'surfaces.googleChat.webhookUrl' | 'surfaces.googleChat.verificationToken' | 'surfaces.googleChat.appId' | 'surfaces.googleChat.spaceId' | 'surfaces.signal.enabled' | 'surfaces.signal.bridgeUrl' | 'surfaces.signal.account' | 'surfaces.signal.token' | 'surfaces.signal.defaultRecipient' | 'surfaces.whatsapp.enabled' | 'surfaces.whatsapp.provider' | 'surfaces.whatsapp.accessToken' | 'surfaces.whatsapp.verifyToken' | 'surfaces.whatsapp.signingSecret' | 'surfaces.whatsapp.phoneNumberId' | 'surfaces.whatsapp.businessAccountId' | 'surfaces.whatsapp.defaultRecipient' | 'surfaces.imessage.enabled' | 'surfaces.imessage.bridgeUrl' | 'surfaces.imessage.account' | 'surfaces.imessage.token' | 'surfaces.imessage.defaultChatId' | 'surfaces.msteams.enabled' | 'surfaces.msteams.appId' | 'surfaces.msteams.appPassword' | 'surfaces.msteams.tenantId' | 'surfaces.msteams.serviceUrl' | 'surfaces.msteams.botId' | 'surfaces.msteams.defaultConversationId' | 'surfaces.msteams.defaultChannelId' | 'surfaces.bluebubbles.enabled' | 'surfaces.bluebubbles.serverUrl' | 'surfaces.bluebubbles.password' | 'surfaces.bluebubbles.account' | 'surfaces.bluebubbles.defaultChatGuid' | 'surfaces.mattermost.enabled' | 'surfaces.mattermost.baseUrl' | 'surfaces.mattermost.botToken' | 'surfaces.mattermost.teamId' | 'surfaces.mattermost.defaultChannelId' | 'surfaces.matrix.enabled' | 'surfaces.matrix.homeserverUrl' | 'surfaces.matrix.accessToken' | 'surfaces.matrix.userId' | 'surfaces.matrix.defaultRoomId' | 'watchers.enabled' | 'watchers.pollIntervalMs' | 'watchers.heartbeatIntervalMs' | 'watchers.recoveryWindowMinutes' | 'service.enabled' | 'service.autostart' | 'service.restartOnFailure' | 'service.platform' | 'service.serviceName' | 'service.logPath' | 'network.outboundTls.mode' | 'network.outboundTls.customCaFile' | 'network.outboundTls.customCaDir' | 'network.outboundTls.allowInsecureLocalhost' | 'network.remoteFetch.allowPrivateHosts' | 'runtime.companionChatLimiter.perSessionLimit' | 'runtime.eventBus.maxListeners' | 'telemetry.includeRawPrompts';
348
362
  /** Maps a ConfigKey to its value type. */
349
- export type ConfigValue<K extends ConfigKey> = K extends 'display.stream' ? boolean : K extends 'display.lineNumbers' ? LineNumberMode : K extends 'display.collapseThreshold' ? number : K extends 'display.theme' ? string : K extends 'display.showThinking' ? boolean : K extends 'display.showReasoningSummary' ? boolean : K extends 'display.showTokenSpeed' ? boolean : K extends 'display.showToolPreview' ? boolean : K extends 'provider.reasoningEffort' ? 'instant' | 'low' | 'medium' | 'high' : K extends 'provider.model' ? string : K extends 'provider.provider' ? string : K extends 'provider.embeddingProvider' ? string : K extends 'provider.systemPromptFile' ? string : K extends 'behavior.autoApprove' ? boolean : K extends 'behavior.autoCompactThreshold' ? number : K extends 'behavior.staleContextWarnings' ? boolean : K extends 'behavior.saveHistory' ? boolean : K extends 'behavior.notifyOnComplete' ? boolean : K extends 'behavior.suggestAlternativeOnProviderFail' ? boolean : K extends 'behavior.hitlMode' ? 'quiet' | 'balanced' | 'operator' : K extends 'behavior.returnContextMode' ? 'off' | 'local' | 'assisted' : K extends 'behavior.guidanceMode' ? 'off' | 'minimal' | 'guided' : K extends 'storage.secretPolicy' ? 'plaintext_allowed' | 'preferred_secure' | 'require_secure' : K extends 'permissions.mode' ? PermissionMode : K extends 'permissions.tools.read' ? PermissionAction : K extends 'permissions.tools.write' ? PermissionAction : K extends 'permissions.tools.edit' ? PermissionAction : K extends 'permissions.tools.exec' ? PermissionAction : K extends 'permissions.tools.find' ? PermissionAction : K extends 'permissions.tools.fetch' ? PermissionAction : K extends 'permissions.tools.analyze' ? PermissionAction : K extends 'permissions.tools.inspect' ? PermissionAction : K extends 'permissions.tools.agent' ? PermissionAction : K extends 'permissions.tools.state' ? PermissionAction : K extends 'permissions.tools.workflow' ? PermissionAction : K extends 'permissions.tools.registry' ? PermissionAction : K extends 'permissions.tools.delegate' ? PermissionAction : K extends 'permissions.tools.mcp' ? PermissionAction : K extends 'orchestration.recursionEnabled' ? boolean : K extends 'orchestration.maxActiveAgents' ? number : K extends 'orchestration.maxDepth' ? number : K extends 'sandbox.replIsolation' ? 'shared-vm' | 'per-runtime-vm' : K extends 'sandbox.mcpIsolation' ? 'disabled' | 'shared-vm' | 'hybrid' | 'per-server-vm' : K extends 'sandbox.windowsMode' ? 'native-basic' | 'require-wsl' : K extends 'sandbox.vmBackend' ? 'local' | 'qemu' : K extends 'sandbox.qemuBinary' ? string : K extends 'sandbox.qemuImagePath' ? string : K extends 'sandbox.qemuExecWrapper' ? string : K extends 'sandbox.qemuGuestHost' ? string : K extends 'sandbox.qemuGuestPort' ? number : K extends 'sandbox.qemuGuestUser' ? string : K extends 'sandbox.qemuWorkspacePath' ? string : K extends 'sandbox.qemuSessionMode' ? 'attach' | 'launch-per-command' : K extends 'ui.voiceEnabled' ? boolean : K extends 'ui.systemMessages' ? 'panel' | 'conversation' | 'both' : K extends 'ui.operationalMessages' ? 'panel' | 'conversation' | 'both' : K extends 'ui.wrfcMessages' ? 'panel' | 'conversation' | 'both' : K extends 'release.channel' ? 'stable' | 'preview' : K extends 'danger.daemon' ? boolean : K extends 'danger.httpListener' ? boolean : K extends 'tools.llmEnabled' ? boolean : K extends 'tools.llmProvider' ? string : K extends 'tools.llmModel' ? string : K extends 'tools.autoHeal' ? boolean : K extends 'tools.defaultTokenBudget' ? number : K extends 'tools.hooksFile' ? string : K extends 'wrfc.scoreThreshold' ? number : K extends 'wrfc.maxFixAttempts' ? number : K extends 'wrfc.autoCommit' ? boolean : K extends 'cache.enabled' ? boolean : K extends 'cache.stableTtl' ? '5m' | '1h' : K extends 'cache.monitorHitRate' ? boolean : K extends 'cache.hitRateWarningThreshold' ? number : K extends 'helper.enabled' ? boolean : K extends 'helper.globalProvider' ? string : K extends 'helper.globalModel' ? string : K extends 'automation.enabled' ? boolean : K extends 'automation.maxConcurrentRuns' ? number : K extends 'automation.runHistoryLimit' ? number : K extends 'automation.defaultTimeoutMs' ? number : K extends 'automation.catchUpWindowMinutes' ? number : K extends 'automation.failureCooldownMs' ? number : K extends 'automation.deleteAfterRun' ? boolean : K extends 'controlPlane.enabled' ? boolean : K extends 'controlPlane.hostMode' ? 'local' | 'network' | 'custom' : K extends 'controlPlane.host' ? string : K extends 'controlPlane.port' ? number : K extends 'controlPlane.baseUrl' ? string : K extends 'controlPlane.streamMode' ? 'sse' | 'websocket' | 'both' : K extends 'controlPlane.allowRemote' ? boolean : K extends 'controlPlane.trustProxy' ? boolean : K extends 'controlPlane.tls.mode' ? 'off' | 'proxy' | 'direct' : K extends 'controlPlane.tls.certFile' ? string : K extends 'controlPlane.tls.keyFile' ? string : K extends 'httpListener.hostMode' ? 'local' | 'network' | 'custom' : K extends 'httpListener.host' ? string : K extends 'httpListener.port' ? number : K extends 'httpListener.trustProxy' ? boolean : K extends 'httpListener.tls.mode' ? 'off' | 'proxy' | 'direct' : K extends 'httpListener.tls.certFile' ? string : K extends 'httpListener.tls.keyFile' ? string : K extends 'web.enabled' ? boolean : K extends 'web.hostMode' ? 'local' | 'network' | 'custom' : K extends 'web.host' ? string : K extends 'web.port' ? number : K extends 'web.publicBaseUrl' ? string : K extends 'web.staticAssetsDir' ? string : K extends 'surfaces.slack.enabled' ? boolean : K extends 'surfaces.slack.signingSecret' ? string : K extends 'surfaces.slack.botToken' ? string : K extends 'surfaces.slack.appToken' ? string : K extends 'surfaces.slack.defaultChannel' ? string : K extends 'surfaces.slack.workspaceId' ? string : K extends 'surfaces.discord.enabled' ? boolean : K extends 'surfaces.discord.publicKey' ? string : K extends 'surfaces.discord.botToken' ? string : K extends 'surfaces.discord.applicationId' ? string : K extends 'surfaces.discord.defaultChannelId' ? string : K extends 'surfaces.discord.guildId' ? string : K extends 'surfaces.ntfy.enabled' ? boolean : K extends 'surfaces.ntfy.baseUrl' ? string : K extends 'surfaces.ntfy.topic' ? string : K extends 'surfaces.ntfy.token' ? string : K extends 'surfaces.ntfy.defaultPriority' ? number : K extends 'surfaces.webhook.enabled' ? boolean : K extends 'surfaces.webhook.defaultTarget' ? string : K extends 'surfaces.webhook.timeoutMs' ? number : K extends 'surfaces.webhook.secret' ? string : K extends 'surfaces.telegram.enabled' ? boolean : K extends 'surfaces.telegram.botToken' ? string : K extends 'surfaces.telegram.webhookSecret' ? string : K extends 'surfaces.telegram.defaultChatId' ? string : K extends 'surfaces.telegram.botUsername' ? string : K extends 'surfaces.telegram.mode' ? 'webhook' | 'polling' : K extends 'surfaces.googleChat.enabled' ? boolean : K extends 'surfaces.googleChat.webhookUrl' ? string : K extends 'surfaces.googleChat.verificationToken' ? string : K extends 'surfaces.googleChat.appId' ? string : K extends 'surfaces.googleChat.spaceId' ? string : K extends 'surfaces.signal.enabled' ? boolean : K extends 'surfaces.signal.bridgeUrl' ? string : K extends 'surfaces.signal.account' ? string : K extends 'surfaces.signal.token' ? string : K extends 'surfaces.signal.defaultRecipient' ? string : K extends 'surfaces.whatsapp.enabled' ? boolean : K extends 'surfaces.whatsapp.provider' ? 'meta-cloud' | 'bridge' : K extends 'surfaces.whatsapp.accessToken' ? string : K extends 'surfaces.whatsapp.verifyToken' ? string : K extends 'surfaces.whatsapp.signingSecret' ? string : K extends 'surfaces.whatsapp.phoneNumberId' ? string : K extends 'surfaces.whatsapp.businessAccountId' ? string : K extends 'surfaces.whatsapp.defaultRecipient' ? string : K extends 'surfaces.imessage.enabled' ? boolean : K extends 'surfaces.imessage.bridgeUrl' ? string : K extends 'surfaces.imessage.account' ? string : K extends 'surfaces.imessage.token' ? string : K extends 'surfaces.imessage.defaultChatId' ? string : K extends 'surfaces.msteams.enabled' ? boolean : K extends 'surfaces.msteams.appId' ? string : K extends 'surfaces.msteams.appPassword' ? string : K extends 'surfaces.msteams.tenantId' ? string : K extends 'surfaces.msteams.serviceUrl' ? string : K extends 'surfaces.msteams.botId' ? string : K extends 'surfaces.msteams.defaultConversationId' ? string : K extends 'surfaces.msteams.defaultChannelId' ? string : K extends 'surfaces.bluebubbles.enabled' ? boolean : K extends 'surfaces.bluebubbles.serverUrl' ? string : K extends 'surfaces.bluebubbles.password' ? string : K extends 'surfaces.bluebubbles.account' ? string : K extends 'surfaces.bluebubbles.defaultChatGuid' ? string : K extends 'surfaces.mattermost.enabled' ? boolean : K extends 'surfaces.mattermost.baseUrl' ? string : K extends 'surfaces.mattermost.botToken' ? string : K extends 'surfaces.mattermost.teamId' ? string : K extends 'surfaces.mattermost.defaultChannelId' ? string : K extends 'surfaces.matrix.enabled' ? boolean : K extends 'surfaces.matrix.homeserverUrl' ? string : K extends 'surfaces.matrix.accessToken' ? string : K extends 'surfaces.matrix.userId' ? string : K extends 'surfaces.matrix.defaultRoomId' ? string : K extends 'watchers.enabled' ? boolean : K extends 'watchers.pollIntervalMs' ? number : K extends 'watchers.heartbeatIntervalMs' ? number : K extends 'watchers.recoveryWindowMinutes' ? number : K extends 'service.enabled' ? boolean : K extends 'service.autostart' ? boolean : K extends 'service.restartOnFailure' ? boolean : K extends 'service.platform' ? 'auto' | 'systemd' | 'launchd' | 'windows' | 'manual' : K extends 'service.serviceName' ? string : K extends 'service.logPath' ? string : K extends 'network.outboundTls.mode' ? 'bundled' | 'bundled+custom' | 'custom' : K extends 'network.outboundTls.customCaFile' ? string : K extends 'network.outboundTls.customCaDir' ? string : K extends 'network.outboundTls.allowInsecureLocalhost' ? boolean : K extends 'network.remoteFetch.allowPrivateHosts' ? boolean : K extends 'runtime.companionChatLimiter.perSessionLimit' ? number : never;
363
+ export type ConfigValue<K extends ConfigKey> = K extends 'display.stream' ? boolean : K extends 'display.lineNumbers' ? LineNumberMode : K extends 'display.collapseThreshold' ? number : K extends 'display.theme' ? string : K extends 'display.showThinking' ? boolean : K extends 'display.showReasoningSummary' ? boolean : K extends 'display.showTokenSpeed' ? boolean : K extends 'display.showToolPreview' ? boolean : K extends 'provider.reasoningEffort' ? 'instant' | 'low' | 'medium' | 'high' : K extends 'provider.model' ? string : K extends 'provider.provider' ? string : K extends 'provider.embeddingProvider' ? string : K extends 'provider.systemPromptFile' ? string : K extends 'behavior.autoApprove' ? boolean : K extends 'behavior.autoCompactThreshold' ? number : K extends 'behavior.staleContextWarnings' ? boolean : K extends 'behavior.saveHistory' ? boolean : K extends 'behavior.notifyOnComplete' ? boolean : K extends 'behavior.suggestAlternativeOnProviderFail' ? boolean : K extends 'behavior.hitlMode' ? 'quiet' | 'balanced' | 'operator' : K extends 'behavior.returnContextMode' ? 'off' | 'local' | 'assisted' : K extends 'behavior.guidanceMode' ? 'off' | 'minimal' | 'guided' : K extends 'storage.secretPolicy' ? 'plaintext_allowed' | 'preferred_secure' | 'require_secure' : K extends 'permissions.mode' ? PermissionMode : K extends 'permissions.tools.read' ? PermissionAction : K extends 'permissions.tools.write' ? PermissionAction : K extends 'permissions.tools.edit' ? PermissionAction : K extends 'permissions.tools.exec' ? PermissionAction : K extends 'permissions.tools.find' ? PermissionAction : K extends 'permissions.tools.fetch' ? PermissionAction : K extends 'permissions.tools.analyze' ? PermissionAction : K extends 'permissions.tools.inspect' ? PermissionAction : K extends 'permissions.tools.agent' ? PermissionAction : K extends 'permissions.tools.state' ? PermissionAction : K extends 'permissions.tools.workflow' ? PermissionAction : K extends 'permissions.tools.registry' ? PermissionAction : K extends 'permissions.tools.delegate' ? PermissionAction : K extends 'permissions.tools.mcp' ? PermissionAction : K extends 'orchestration.recursionEnabled' ? boolean : K extends 'orchestration.maxActiveAgents' ? number : K extends 'orchestration.maxDepth' ? number : K extends 'sandbox.replIsolation' ? 'shared-vm' | 'per-runtime-vm' : K extends 'sandbox.mcpIsolation' ? 'disabled' | 'shared-vm' | 'hybrid' | 'per-server-vm' : K extends 'sandbox.windowsMode' ? 'native-basic' | 'require-wsl' : K extends 'sandbox.vmBackend' ? 'local' | 'qemu' : K extends 'sandbox.qemuBinary' ? string : K extends 'sandbox.qemuImagePath' ? string : K extends 'sandbox.qemuExecWrapper' ? string : K extends 'sandbox.qemuGuestHost' ? string : K extends 'sandbox.qemuGuestPort' ? number : K extends 'sandbox.qemuGuestUser' ? string : K extends 'sandbox.qemuWorkspacePath' ? string : K extends 'sandbox.qemuSessionMode' ? 'attach' | 'launch-per-command' : K extends 'ui.voiceEnabled' ? boolean : K extends 'ui.systemMessages' ? 'panel' | 'conversation' | 'both' : K extends 'ui.operationalMessages' ? 'panel' | 'conversation' | 'both' : K extends 'ui.wrfcMessages' ? 'panel' | 'conversation' | 'both' : K extends 'release.channel' ? 'stable' | 'preview' : K extends 'danger.daemon' ? boolean : K extends 'danger.httpListener' ? boolean : K extends 'tools.llmEnabled' ? boolean : K extends 'tools.llmProvider' ? string : K extends 'tools.llmModel' ? string : K extends 'tools.autoHeal' ? boolean : K extends 'tools.defaultTokenBudget' ? number : K extends 'tools.hooksFile' ? string : K extends 'wrfc.scoreThreshold' ? number : K extends 'wrfc.maxFixAttempts' ? number : K extends 'wrfc.autoCommit' ? boolean : K extends 'cache.enabled' ? boolean : K extends 'cache.stableTtl' ? '5m' | '1h' : K extends 'cache.monitorHitRate' ? boolean : K extends 'cache.hitRateWarningThreshold' ? number : K extends 'helper.enabled' ? boolean : K extends 'helper.globalProvider' ? string : K extends 'helper.globalModel' ? string : K extends 'automation.enabled' ? boolean : K extends 'automation.maxConcurrentRuns' ? number : K extends 'automation.runHistoryLimit' ? number : K extends 'automation.defaultTimeoutMs' ? number : K extends 'automation.catchUpWindowMinutes' ? number : K extends 'automation.failureCooldownMs' ? number : K extends 'automation.deleteAfterRun' ? boolean : K extends 'controlPlane.enabled' ? boolean : K extends 'controlPlane.hostMode' ? 'local' | 'network' | 'custom' : K extends 'controlPlane.host' ? string : K extends 'controlPlane.port' ? number : K extends 'controlPlane.baseUrl' ? string : K extends 'controlPlane.streamMode' ? 'sse' | 'websocket' | 'both' : K extends 'controlPlane.allowRemote' ? boolean : K extends 'controlPlane.trustProxy' ? boolean : K extends 'controlPlane.tls.mode' ? 'off' | 'proxy' | 'direct' : K extends 'controlPlane.tls.certFile' ? string : K extends 'controlPlane.tls.keyFile' ? string : K extends 'httpListener.hostMode' ? 'local' | 'network' | 'custom' : K extends 'httpListener.host' ? string : K extends 'httpListener.port' ? number : K extends 'httpListener.trustProxy' ? boolean : K extends 'httpListener.tls.mode' ? 'off' | 'proxy' | 'direct' : K extends 'httpListener.tls.certFile' ? string : K extends 'httpListener.tls.keyFile' ? string : K extends 'web.enabled' ? boolean : K extends 'web.hostMode' ? 'local' | 'network' | 'custom' : K extends 'web.host' ? string : K extends 'web.port' ? number : K extends 'web.publicBaseUrl' ? string : K extends 'web.staticAssetsDir' ? string : K extends 'surfaces.slack.enabled' ? boolean : K extends 'surfaces.slack.signingSecret' ? string : K extends 'surfaces.slack.botToken' ? string : K extends 'surfaces.slack.appToken' ? string : K extends 'surfaces.slack.defaultChannel' ? string : K extends 'surfaces.slack.workspaceId' ? string : K extends 'surfaces.discord.enabled' ? boolean : K extends 'surfaces.discord.publicKey' ? string : K extends 'surfaces.discord.botToken' ? string : K extends 'surfaces.discord.applicationId' ? string : K extends 'surfaces.discord.defaultChannelId' ? string : K extends 'surfaces.discord.guildId' ? string : K extends 'surfaces.ntfy.enabled' ? boolean : K extends 'surfaces.ntfy.baseUrl' ? string : K extends 'surfaces.ntfy.topic' ? string : K extends 'surfaces.ntfy.token' ? string : K extends 'surfaces.ntfy.defaultPriority' ? number : K extends 'surfaces.webhook.enabled' ? boolean : K extends 'surfaces.webhook.defaultTarget' ? string : K extends 'surfaces.webhook.timeoutMs' ? number : K extends 'surfaces.webhook.secret' ? string : K extends 'surfaces.telegram.enabled' ? boolean : K extends 'surfaces.telegram.botToken' ? string : K extends 'surfaces.telegram.webhookSecret' ? string : K extends 'surfaces.telegram.defaultChatId' ? string : K extends 'surfaces.telegram.botUsername' ? string : K extends 'surfaces.telegram.mode' ? 'webhook' | 'polling' : K extends 'surfaces.googleChat.enabled' ? boolean : K extends 'surfaces.googleChat.webhookUrl' ? string : K extends 'surfaces.googleChat.verificationToken' ? string : K extends 'surfaces.googleChat.appId' ? string : K extends 'surfaces.googleChat.spaceId' ? string : K extends 'surfaces.signal.enabled' ? boolean : K extends 'surfaces.signal.bridgeUrl' ? string : K extends 'surfaces.signal.account' ? string : K extends 'surfaces.signal.token' ? string : K extends 'surfaces.signal.defaultRecipient' ? string : K extends 'surfaces.whatsapp.enabled' ? boolean : K extends 'surfaces.whatsapp.provider' ? 'meta-cloud' | 'bridge' : K extends 'surfaces.whatsapp.accessToken' ? string : K extends 'surfaces.whatsapp.verifyToken' ? string : K extends 'surfaces.whatsapp.signingSecret' ? string : K extends 'surfaces.whatsapp.phoneNumberId' ? string : K extends 'surfaces.whatsapp.businessAccountId' ? string : K extends 'surfaces.whatsapp.defaultRecipient' ? string : K extends 'surfaces.imessage.enabled' ? boolean : K extends 'surfaces.imessage.bridgeUrl' ? string : K extends 'surfaces.imessage.account' ? string : K extends 'surfaces.imessage.token' ? string : K extends 'surfaces.imessage.defaultChatId' ? string : K extends 'surfaces.msteams.enabled' ? boolean : K extends 'surfaces.msteams.appId' ? string : K extends 'surfaces.msteams.appPassword' ? string : K extends 'surfaces.msteams.tenantId' ? string : K extends 'surfaces.msteams.serviceUrl' ? string : K extends 'surfaces.msteams.botId' ? string : K extends 'surfaces.msteams.defaultConversationId' ? string : K extends 'surfaces.msteams.defaultChannelId' ? string : K extends 'surfaces.bluebubbles.enabled' ? boolean : K extends 'surfaces.bluebubbles.serverUrl' ? string : K extends 'surfaces.bluebubbles.password' ? string : K extends 'surfaces.bluebubbles.account' ? string : K extends 'surfaces.bluebubbles.defaultChatGuid' ? string : K extends 'surfaces.mattermost.enabled' ? boolean : K extends 'surfaces.mattermost.baseUrl' ? string : K extends 'surfaces.mattermost.botToken' ? string : K extends 'surfaces.mattermost.teamId' ? string : K extends 'surfaces.mattermost.defaultChannelId' ? string : K extends 'surfaces.matrix.enabled' ? boolean : K extends 'surfaces.matrix.homeserverUrl' ? string : K extends 'surfaces.matrix.accessToken' ? string : K extends 'surfaces.matrix.userId' ? string : K extends 'surfaces.matrix.defaultRoomId' ? string : K extends 'watchers.enabled' ? boolean : K extends 'watchers.pollIntervalMs' ? number : K extends 'watchers.heartbeatIntervalMs' ? number : K extends 'watchers.recoveryWindowMinutes' ? number : K extends 'service.enabled' ? boolean : K extends 'service.autostart' ? boolean : K extends 'service.restartOnFailure' ? boolean : K extends 'service.platform' ? 'auto' | 'systemd' | 'launchd' | 'windows' | 'manual' : K extends 'service.serviceName' ? string : K extends 'service.logPath' ? string : K extends 'network.outboundTls.mode' ? 'bundled' | 'bundled+custom' | 'custom' : K extends 'network.outboundTls.customCaFile' ? string : K extends 'network.outboundTls.customCaDir' ? string : K extends 'network.outboundTls.allowInsecureLocalhost' ? boolean : K extends 'network.remoteFetch.allowPrivateHosts' ? boolean : K extends 'runtime.companionChatLimiter.perSessionLimit' ? number : K extends 'runtime.eventBus.maxListeners' ? number : K extends 'telemetry.includeRawPrompts' ? boolean : never;
350
364
  //# sourceMappingURL=schema-types.d.ts.map