@pellux/goodvibes-sdk 0.21.29 → 0.21.33

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 (323) 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/companion/companion-chat-rate-limiter.d.ts +7 -0
  41. package/dist/_internal/platform/companion/companion-chat-rate-limiter.d.ts.map +1 -1
  42. package/dist/_internal/platform/companion/companion-chat-rate-limiter.js +16 -0
  43. package/dist/_internal/platform/config/manager.d.ts.map +1 -1
  44. package/dist/_internal/platform/config/manager.js +2 -1
  45. package/dist/_internal/platform/config/schema-domain-runtime.d.ts +6 -0
  46. package/dist/_internal/platform/config/schema-domain-runtime.d.ts.map +1 -1
  47. package/dist/_internal/platform/config/schema-domain-runtime.js +22 -0
  48. package/dist/_internal/platform/config/schema-types.d.ts +16 -2
  49. package/dist/_internal/platform/config/schema-types.d.ts.map +1 -1
  50. package/dist/_internal/platform/config/schema.d.ts.map +1 -1
  51. package/dist/_internal/platform/config/schema.js +1 -0
  52. package/dist/_internal/platform/config/service-registry.d.ts.map +1 -1
  53. package/dist/_internal/platform/config/service-registry.js +2 -1
  54. package/dist/_internal/platform/control-plane/gateway-web-ui.d.ts +0 -1
  55. package/dist/_internal/platform/control-plane/gateway-web-ui.d.ts.map +1 -1
  56. package/dist/_internal/platform/control-plane/gateway-web-ui.js +7 -6
  57. package/dist/_internal/platform/control-plane/gateway.d.ts.map +1 -1
  58. package/dist/_internal/platform/control-plane/gateway.js +7 -0
  59. package/dist/_internal/platform/control-plane/session-broker.d.ts.map +1 -1
  60. package/dist/_internal/platform/control-plane/session-broker.js +38 -5
  61. package/dist/_internal/platform/core/orchestrator-tool-runtime.d.ts.map +1 -1
  62. package/dist/_internal/platform/core/orchestrator-tool-runtime.js +6 -6
  63. package/dist/_internal/platform/core/orchestrator-turn-loop.d.ts.map +1 -1
  64. package/dist/_internal/platform/core/orchestrator-turn-loop.js +10 -2
  65. package/dist/_internal/platform/core/orchestrator.d.ts.map +1 -1
  66. package/dist/_internal/platform/core/orchestrator.js +2 -0
  67. package/dist/_internal/platform/daemon/facade-composition.d.ts +4 -131
  68. package/dist/_internal/platform/daemon/facade-composition.d.ts.map +1 -1
  69. package/dist/_internal/platform/daemon/facade-composition.js +9 -10
  70. package/dist/_internal/platform/daemon/facade-types.d.ts +141 -0
  71. package/dist/_internal/platform/daemon/facade-types.d.ts.map +1 -0
  72. package/dist/_internal/platform/daemon/facade-types.js +1 -0
  73. package/dist/_internal/platform/daemon/http/rate-limiter.d.ts +23 -0
  74. package/dist/_internal/platform/daemon/http/rate-limiter.d.ts.map +1 -0
  75. package/dist/_internal/platform/daemon/http/rate-limiter.js +71 -0
  76. package/dist/_internal/platform/daemon/http/router-route-contexts.d.ts.map +1 -1
  77. package/dist/_internal/platform/daemon/http/router-route-contexts.js +2 -1
  78. package/dist/_internal/platform/daemon/http/router.d.ts.map +1 -1
  79. package/dist/_internal/platform/daemon/http/router.js +90 -66
  80. package/dist/_internal/platform/daemon/http/runtime-route-types.d.ts.map +1 -1
  81. package/dist/_internal/platform/daemon/http-listener.d.ts +14 -0
  82. package/dist/_internal/platform/daemon/http-listener.d.ts.map +1 -1
  83. package/dist/_internal/platform/daemon/http-listener.js +92 -86
  84. package/dist/_internal/platform/daemon/surface-delivery.d.ts.map +1 -1
  85. package/dist/_internal/platform/daemon/surface-delivery.js +6 -5
  86. package/dist/_internal/platform/discovery/mcp-scanner.d.ts.map +1 -1
  87. package/dist/_internal/platform/discovery/mcp-scanner.js +28 -22
  88. package/dist/_internal/platform/discovery/scanner.d.ts.map +1 -1
  89. package/dist/_internal/platform/discovery/scanner.js +38 -22
  90. package/dist/_internal/platform/export/session-export.d.ts +0 -1
  91. package/dist/_internal/platform/export/session-export.d.ts.map +1 -1
  92. package/dist/_internal/platform/export/session-export.js +1 -33
  93. package/dist/_internal/platform/hooks/runners/http.d.ts.map +1 -1
  94. package/dist/_internal/platform/hooks/runners/http.js +15 -1
  95. package/dist/_internal/platform/hooks/types.d.ts +7 -0
  96. package/dist/_internal/platform/hooks/types.d.ts.map +1 -1
  97. package/dist/_internal/platform/integrations/delivery.d.ts +3 -1
  98. package/dist/_internal/platform/integrations/delivery.d.ts.map +1 -1
  99. package/dist/_internal/platform/integrations/delivery.js +3 -2
  100. package/dist/_internal/platform/integrations/discord.d.ts.map +1 -1
  101. package/dist/_internal/platform/integrations/discord.js +6 -5
  102. package/dist/_internal/platform/integrations/ntfy.d.ts.map +1 -1
  103. package/dist/_internal/platform/integrations/ntfy.js +3 -2
  104. package/dist/_internal/platform/integrations/webhooks.d.ts.map +1 -1
  105. package/dist/_internal/platform/integrations/webhooks.js +12 -1
  106. package/dist/_internal/platform/intelligence/lsp/binary-downloader.d.ts.map +1 -1
  107. package/dist/_internal/platform/intelligence/lsp/binary-downloader.js +4 -3
  108. package/dist/_internal/platform/knowledge/store.d.ts.map +1 -1
  109. package/dist/_internal/platform/knowledge/store.js +50 -25
  110. package/dist/_internal/platform/mcp/client.d.ts.map +1 -1
  111. package/dist/_internal/platform/mcp/client.js +3 -2
  112. package/dist/_internal/platform/media/builtin-generation-providers.d.ts.map +1 -1
  113. package/dist/_internal/platform/media/builtin-generation-providers.js +4 -3
  114. package/dist/_internal/platform/media/builtin-image-understanding.d.ts.map +1 -1
  115. package/dist/_internal/platform/media/builtin-image-understanding.js +5 -4
  116. package/dist/_internal/platform/providers/anthropic-compat.d.ts.map +1 -1
  117. package/dist/_internal/platform/providers/anthropic-compat.js +5 -3
  118. package/dist/_internal/platform/providers/anthropic.d.ts.map +1 -1
  119. package/dist/_internal/platform/providers/anthropic.js +10 -7
  120. package/dist/_internal/platform/providers/builtin-catalog.d.ts.map +1 -1
  121. package/dist/_internal/platform/providers/builtin-catalog.js +3 -2
  122. package/dist/_internal/platform/providers/catalogue.d.ts +56 -0
  123. package/dist/_internal/platform/providers/catalogue.d.ts.map +1 -0
  124. package/dist/_internal/platform/providers/catalogue.js +111 -0
  125. package/dist/_internal/platform/providers/context-discovery.d.ts.map +1 -1
  126. package/dist/_internal/platform/providers/context-discovery.js +2 -1
  127. package/dist/_internal/platform/providers/credentials.d.ts +12 -0
  128. package/dist/_internal/platform/providers/credentials.d.ts.map +1 -0
  129. package/dist/_internal/platform/providers/credentials.js +54 -0
  130. package/dist/_internal/platform/providers/gemini.d.ts.map +1 -1
  131. package/dist/_internal/platform/providers/gemini.js +6 -5
  132. package/dist/_internal/platform/providers/github-copilot.d.ts.map +1 -1
  133. package/dist/_internal/platform/providers/github-copilot.js +2 -1
  134. package/dist/_internal/platform/providers/health.d.ts +15 -0
  135. package/dist/_internal/platform/providers/health.d.ts.map +1 -0
  136. package/dist/_internal/platform/providers/health.js +32 -0
  137. package/dist/_internal/platform/providers/llama-cpp.d.ts.map +1 -1
  138. package/dist/_internal/platform/providers/llama-cpp.js +5 -3
  139. package/dist/_internal/platform/providers/lm-studio.d.ts.map +1 -1
  140. package/dist/_internal/platform/providers/lm-studio.js +5 -3
  141. package/dist/_internal/platform/providers/model-benchmarks.d.ts.map +1 -1
  142. package/dist/_internal/platform/providers/model-benchmarks.js +2 -1
  143. package/dist/_internal/platform/providers/model-catalog-cache.d.ts.map +1 -1
  144. package/dist/_internal/platform/providers/model-catalog-cache.js +2 -1
  145. package/dist/_internal/platform/providers/model-limits.d.ts.map +1 -1
  146. package/dist/_internal/platform/providers/model-limits.js +2 -1
  147. package/dist/_internal/platform/providers/ollama.d.ts.map +1 -1
  148. package/dist/_internal/platform/providers/ollama.js +5 -3
  149. package/dist/_internal/platform/providers/openai-codex.d.ts.map +1 -1
  150. package/dist/_internal/platform/providers/openai-codex.js +4 -2
  151. package/dist/_internal/platform/providers/openai-compat.d.ts.map +1 -1
  152. package/dist/_internal/platform/providers/openai-compat.js +3 -2
  153. package/dist/_internal/platform/providers/provider-not-found-error.d.ts +3 -1
  154. package/dist/_internal/platform/providers/provider-not-found-error.d.ts.map +1 -1
  155. package/dist/_internal/platform/providers/provider-not-found-error.js +3 -4
  156. package/dist/_internal/platform/providers/well-known-endpoints.d.ts +53 -0
  157. package/dist/_internal/platform/providers/well-known-endpoints.d.ts.map +1 -0
  158. package/dist/_internal/platform/providers/well-known-endpoints.js +52 -0
  159. package/dist/_internal/platform/runtime/auth/oauth-core.d.ts.map +1 -1
  160. package/dist/_internal/platform/runtime/auth/oauth-core.js +2 -1
  161. package/dist/_internal/platform/runtime/bootstrap-runtime-events.d.ts.map +1 -1
  162. package/dist/_internal/platform/runtime/bootstrap-runtime-events.js +2 -0
  163. package/dist/_internal/platform/runtime/contracts/index.d.ts.map +1 -1
  164. package/dist/_internal/platform/runtime/contracts/index.js +1 -5
  165. package/dist/_internal/platform/runtime/contracts/migrations/schemas.d.ts +57 -0
  166. package/dist/_internal/platform/runtime/contracts/migrations/schemas.d.ts.map +1 -0
  167. package/dist/_internal/platform/runtime/contracts/migrations/schemas.js +157 -0
  168. package/dist/_internal/platform/runtime/correlation.d.ts +44 -0
  169. package/dist/_internal/platform/runtime/correlation.d.ts.map +1 -0
  170. package/dist/_internal/platform/runtime/correlation.js +40 -0
  171. package/dist/_internal/platform/runtime/emitters/security.d.ts +32 -0
  172. package/dist/_internal/platform/runtime/emitters/security.d.ts.map +1 -1
  173. package/dist/_internal/platform/runtime/emitters/security.js +26 -0
  174. package/dist/_internal/platform/runtime/emitters/tools.d.ts +11 -2
  175. package/dist/_internal/platform/runtime/emitters/tools.d.ts.map +1 -1
  176. package/dist/_internal/platform/runtime/emitters/tools.js +27 -0
  177. package/dist/_internal/platform/runtime/emitters/transport.d.ts +27 -0
  178. package/dist/_internal/platform/runtime/emitters/transport.d.ts.map +1 -1
  179. package/dist/_internal/platform/runtime/emitters/transport.js +19 -0
  180. package/dist/_internal/platform/runtime/emitters/turn.d.ts +22 -1
  181. package/dist/_internal/platform/runtime/emitters/turn.d.ts.map +1 -1
  182. package/dist/_internal/platform/runtime/emitters/turn.js +9 -0
  183. package/dist/_internal/platform/runtime/events/index.d.ts +45 -0
  184. package/dist/_internal/platform/runtime/events/index.d.ts.map +1 -1
  185. package/dist/_internal/platform/runtime/events/index.js +130 -22
  186. package/dist/_internal/platform/runtime/events/ops.d.ts +8 -0
  187. package/dist/_internal/platform/runtime/events/ops.d.ts.map +1 -1
  188. package/dist/_internal/platform/runtime/events/security.d.ts +47 -0
  189. package/dist/_internal/platform/runtime/events/security.d.ts.map +1 -1
  190. package/dist/_internal/platform/runtime/events/tools.d.ts +14 -2
  191. package/dist/_internal/platform/runtime/events/tools.d.ts.map +1 -1
  192. package/dist/_internal/platform/runtime/events/transport.d.ts +31 -0
  193. package/dist/_internal/platform/runtime/events/transport.d.ts.map +1 -1
  194. package/dist/_internal/platform/runtime/events/turn.d.ts +25 -1
  195. package/dist/_internal/platform/runtime/events/turn.d.ts.map +1 -1
  196. package/dist/_internal/platform/runtime/events/workspace.d.ts +16 -0
  197. package/dist/_internal/platform/runtime/events/workspace.d.ts.map +1 -1
  198. package/dist/_internal/platform/runtime/integration/helpers.d.ts.map +1 -1
  199. package/dist/_internal/platform/runtime/integration/helpers.js +5 -0
  200. package/dist/_internal/platform/runtime/llm-observability.d.ts +43 -0
  201. package/dist/_internal/platform/runtime/llm-observability.d.ts.map +1 -0
  202. package/dist/_internal/platform/runtime/llm-observability.js +107 -0
  203. package/dist/_internal/platform/runtime/metrics.d.ts +49 -0
  204. package/dist/_internal/platform/runtime/metrics.d.ts.map +1 -0
  205. package/dist/_internal/platform/runtime/metrics.js +114 -0
  206. package/dist/_internal/platform/runtime/ops/control-plane.d.ts +5 -2
  207. package/dist/_internal/platform/runtime/ops/control-plane.d.ts.map +1 -1
  208. package/dist/_internal/platform/runtime/ops/control-plane.js +5 -4
  209. package/dist/_internal/platform/runtime/perf/slo-collector.d.ts.map +1 -1
  210. package/dist/_internal/platform/runtime/perf/slo-collector.js +2 -0
  211. package/dist/_internal/platform/runtime/permissions/divergence-dashboard.d.ts +3 -1
  212. package/dist/_internal/platform/runtime/permissions/divergence-dashboard.d.ts.map +1 -1
  213. package/dist/_internal/platform/runtime/permissions/divergence-dashboard.js +3 -2
  214. package/dist/_internal/platform/runtime/permissions/policy-loader.d.ts +3 -1
  215. package/dist/_internal/platform/runtime/permissions/policy-loader.d.ts.map +1 -1
  216. package/dist/_internal/platform/runtime/permissions/policy-loader.js +3 -2
  217. package/dist/_internal/platform/runtime/permissions/policy-signer.d.ts.map +1 -1
  218. package/dist/_internal/platform/runtime/permissions/policy-signer.js +7 -2
  219. package/dist/_internal/platform/runtime/permissions/simulation.d.ts +3 -1
  220. package/dist/_internal/platform/runtime/permissions/simulation.d.ts.map +1 -1
  221. package/dist/_internal/platform/runtime/permissions/simulation.js +3 -2
  222. package/dist/_internal/platform/runtime/remote/transport-contract.d.ts +14 -2
  223. package/dist/_internal/platform/runtime/remote/transport-contract.d.ts.map +1 -1
  224. package/dist/_internal/platform/runtime/remote/transport-contract.js +7 -5
  225. package/dist/_internal/platform/runtime/store/helpers/reducers/sync.d.ts.map +1 -1
  226. package/dist/_internal/platform/runtime/store/helpers/reducers/sync.js +12 -1
  227. package/dist/_internal/platform/runtime/tasks/manager.d.ts +7 -3
  228. package/dist/_internal/platform/runtime/tasks/manager.d.ts.map +1 -1
  229. package/dist/_internal/platform/runtime/tasks/manager.js +7 -6
  230. package/dist/_internal/platform/runtime/telemetry/api-helpers.d.ts +14 -0
  231. package/dist/_internal/platform/runtime/telemetry/api-helpers.d.ts.map +1 -1
  232. package/dist/_internal/platform/runtime/telemetry/api-helpers.js +59 -0
  233. package/dist/_internal/platform/runtime/telemetry/api.d.ts.map +1 -1
  234. package/dist/_internal/platform/runtime/telemetry/api.js +19 -4
  235. package/dist/_internal/platform/runtime/telemetry/exporters/otlp.d.ts.map +1 -1
  236. package/dist/_internal/platform/runtime/telemetry/exporters/otlp.js +19 -6
  237. package/dist/_internal/platform/runtime/telemetry/exporters/queue.d.ts.map +1 -1
  238. package/dist/_internal/platform/runtime/telemetry/exporters/queue.js +11 -4
  239. package/dist/_internal/platform/runtime/telemetry/meter.d.ts.map +1 -1
  240. package/dist/_internal/platform/runtime/telemetry/meter.js +7 -3
  241. package/dist/_internal/platform/runtime/telemetry/redaction-config.d.ts +9 -0
  242. package/dist/_internal/platform/runtime/telemetry/redaction-config.d.ts.map +1 -0
  243. package/dist/_internal/platform/runtime/telemetry/redaction-config.js +52 -0
  244. package/dist/_internal/platform/runtime/tools/phases/budget.d.ts.map +1 -1
  245. package/dist/_internal/platform/runtime/tools/phases/budget.js +3 -2
  246. package/dist/_internal/platform/runtime/transports/daemon-http-client.d.ts.map +1 -1
  247. package/dist/_internal/platform/runtime/transports/daemon-http-client.js +138 -17
  248. package/dist/_internal/platform/scheduler/scheduler.d.ts +19 -2
  249. package/dist/_internal/platform/scheduler/scheduler.d.ts.map +1 -1
  250. package/dist/_internal/platform/scheduler/scheduler.js +65 -25
  251. package/dist/_internal/platform/sessions/manager.d.ts.map +1 -1
  252. package/dist/_internal/platform/sessions/manager.js +6 -2
  253. package/dist/_internal/platform/state/memory-embedding-http.d.ts.map +1 -1
  254. package/dist/_internal/platform/state/memory-embedding-http.js +3 -2
  255. package/dist/_internal/platform/state/project-index.d.ts.map +1 -1
  256. package/dist/_internal/platform/state/project-index.js +6 -4
  257. package/dist/_internal/platform/tools/agent/index.d.ts.map +1 -1
  258. package/dist/_internal/platform/tools/agent/index.js +2 -1
  259. package/dist/_internal/platform/tools/analyze/git-modes.d.ts.map +1 -1
  260. package/dist/_internal/platform/tools/analyze/git-modes.js +2 -1
  261. package/dist/_internal/platform/tools/edit/core.d.ts.map +1 -1
  262. package/dist/_internal/platform/tools/edit/core.js +2 -1
  263. package/dist/_internal/platform/tools/exec/runtime.d.ts.map +1 -1
  264. package/dist/_internal/platform/tools/exec/runtime.js +3 -2
  265. package/dist/_internal/platform/tools/fetch/runtime.d.ts.map +1 -1
  266. package/dist/_internal/platform/tools/fetch/runtime.js +4 -2
  267. package/dist/_internal/platform/tools/read/index.d.ts.map +1 -1
  268. package/dist/_internal/platform/tools/read/index.js +2 -1
  269. package/dist/_internal/platform/tools/registry-tool/index.d.ts.map +1 -1
  270. package/dist/_internal/platform/tools/registry-tool/index.js +2 -1
  271. package/dist/_internal/platform/tools/state/index.d.ts.map +1 -1
  272. package/dist/_internal/platform/tools/state/index.js +2 -1
  273. package/dist/_internal/platform/tools/task/index.d.ts.map +1 -1
  274. package/dist/_internal/platform/tools/task/index.js +2 -1
  275. package/dist/_internal/platform/tools/team/index.d.ts.map +1 -1
  276. package/dist/_internal/platform/tools/team/index.js +2 -1
  277. package/dist/_internal/platform/tools/web-search/index.d.ts.map +1 -1
  278. package/dist/_internal/platform/tools/web-search/index.js +2 -1
  279. package/dist/_internal/platform/tools/worklist/index.d.ts.map +1 -1
  280. package/dist/_internal/platform/tools/worklist/index.js +2 -1
  281. package/dist/_internal/platform/types/errors.d.ts +12 -10
  282. package/dist/_internal/platform/types/errors.d.ts.map +1 -1
  283. package/dist/_internal/platform/types/errors.js +21 -20
  284. package/dist/_internal/platform/utils/error-display.d.ts.map +1 -1
  285. package/dist/_internal/platform/utils/error-display.js +6 -4
  286. package/dist/_internal/platform/utils/fetch-with-timeout.d.ts +17 -0
  287. package/dist/_internal/platform/utils/fetch-with-timeout.d.ts.map +1 -1
  288. package/dist/_internal/platform/utils/fetch-with-timeout.js +59 -0
  289. package/dist/_internal/platform/utils/record-coerce.d.ts +11 -0
  290. package/dist/_internal/platform/utils/record-coerce.d.ts.map +1 -0
  291. package/dist/_internal/platform/utils/record-coerce.js +12 -0
  292. package/dist/_internal/platform/utils/redaction.js +1 -1
  293. package/dist/_internal/platform/utils/ring-buffer.d.ts +54 -0
  294. package/dist/_internal/platform/utils/ring-buffer.d.ts.map +1 -0
  295. package/dist/_internal/platform/utils/ring-buffer.js +96 -0
  296. package/dist/_internal/platform/utils/shell-split.d.ts +11 -0
  297. package/dist/_internal/platform/utils/shell-split.d.ts.map +1 -0
  298. package/dist/_internal/platform/utils/shell-split.js +83 -0
  299. package/dist/_internal/platform/version.js +1 -1
  300. package/dist/_internal/platform/voice/providers/deepgram.d.ts.map +1 -1
  301. package/dist/_internal/platform/voice/providers/deepgram.js +2 -1
  302. package/dist/_internal/platform/voice/providers/elevenlabs.d.ts.map +1 -1
  303. package/dist/_internal/platform/voice/providers/elevenlabs.js +5 -4
  304. package/dist/_internal/platform/voice/providers/google.d.ts.map +1 -1
  305. package/dist/_internal/platform/voice/providers/google.js +5 -4
  306. package/dist/_internal/platform/voice/providers/microsoft.d.ts.map +1 -1
  307. package/dist/_internal/platform/voice/providers/microsoft.js +2 -1
  308. package/dist/_internal/platform/voice/providers/openai.d.ts.map +1 -1
  309. package/dist/_internal/platform/voice/providers/openai.js +4 -3
  310. package/dist/_internal/platform/voice/providers/shared.d.ts.map +1 -1
  311. package/dist/_internal/platform/voice/providers/shared.js +2 -1
  312. package/dist/_internal/platform/voice/providers/vydra.d.ts.map +1 -1
  313. package/dist/_internal/platform/voice/providers/vydra.js +3 -2
  314. package/dist/_internal/platform/watchers/registry.d.ts.map +1 -1
  315. package/dist/_internal/platform/watchers/registry.js +3 -2
  316. package/dist/_internal/platform/workflow/trigger-executor.d.ts.map +1 -1
  317. package/dist/_internal/platform/workflow/trigger-executor.js +5 -3
  318. package/dist/_internal/platform/workspace/daemon-home.d.ts.map +1 -1
  319. package/dist/_internal/platform/workspace/daemon-home.js +6 -2
  320. package/dist/_internal/platform/workspace/workspace-swap-manager.d.ts +1 -0
  321. package/dist/_internal/platform/workspace/workspace-swap-manager.d.ts.map +1 -1
  322. package/dist/_internal/platform/workspace/workspace-swap-manager.js +14 -2
  323. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import OpenAI from 'openai';
2
2
  import { ProviderError } from '../types/errors.js';
3
3
  import { withRetry } from '../utils/retry.js';
4
+ import { instrumentedLlmCall } from '../runtime/llm-observability.js';
4
5
  import { toOpenAITools, toOpenAIMessages, fromOpenAIToolCalls, extractTextToolCalls, } from './tool-formats.js';
5
6
  import { getCacheCapability } from './cache-capability.js';
6
7
  import { extractOpenAIStreamTextDelta } from './openai-stream-delta.js';
@@ -235,7 +236,7 @@ export class OpenAICompatProvider {
235
236
  }
236
237
  async chat(params) {
237
238
  const { messages, tools, model, maxTokens, signal, systemPrompt, reasoningEffort, reasoningSummary, onDelta, } = params;
238
- return withRetry(async () => {
239
+ return (await instrumentedLlmCall(() => withRetry(async () => {
239
240
  const allowReasoningStream = this.reasoningFormat !== 'none';
240
241
  let responseText = '';
241
242
  let inputTokens = 0;
@@ -419,7 +420,7 @@ export class OpenAICompatProvider {
419
420
  cacheReadTokens,
420
421
  });
421
422
  return response;
422
- });
423
+ }), { provider: this.name, model: model ?? this.defaultModel })).result;
423
424
  }
424
425
  async embed(request) {
425
426
  let response;
@@ -1,3 +1,4 @@
1
+ import { GoodVibesSdkError } from '../../errors/index.js';
1
2
  /**
2
3
  * Thrown by {@link ProviderRegistry.require} when no provider with the given ID
3
4
  * is registered.
@@ -6,7 +7,8 @@
6
7
  * so callers can quickly see what is available without having to inspect the
7
8
  * registry separately.
8
9
  */
9
- export declare class ProviderNotFoundError extends Error {
10
+ export declare class ProviderNotFoundError extends GoodVibesSdkError {
11
+ readonly code: 'PROVIDER_NOT_FOUND';
10
12
  /** The provider ID that was requested. */
11
13
  readonly providerId: string;
12
14
  /** Sorted list of currently-registered provider IDs at the time of the error. */
@@ -1 +1 @@
1
- {"version":3,"file":"provider-not-found-error.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/providers/provider-not-found-error.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,iFAAiF;IACjF,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;gBAE7B,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE;CAY7D"}
1
+ {"version":3,"file":"provider-not-found-error.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/providers/provider-not-found-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;;;;GAOG;AACH,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,SAAiB,IAAI,EAAE,oBAAoB,CAAC;IAC5C,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,iFAAiF;IACjF,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;gBAE7B,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE;CAW7D"}
@@ -1,3 +1,4 @@
1
+ import { GoodVibesSdkError } from '../../errors/index.js';
1
2
  /**
2
3
  * Thrown by {@link ProviderRegistry.require} when no provider with the given ID
3
4
  * is registered.
@@ -6,7 +7,7 @@
6
7
  * so callers can quickly see what is available without having to inspect the
7
8
  * registry separately.
8
9
  */
9
- export class ProviderNotFoundError extends Error {
10
+ export class ProviderNotFoundError extends GoodVibesSdkError {
10
11
  /** The provider ID that was requested. */
11
12
  providerId;
12
13
  /** Sorted list of currently-registered provider IDs at the time of the error. */
@@ -14,11 +15,9 @@ export class ProviderNotFoundError extends Error {
14
15
  constructor(providerId, available) {
15
16
  const ids = available.length > 0 ? available.join(', ') : '(none)';
16
17
  super(`Provider '${providerId}' is not registered. ` +
17
- `Available providers: ${ids}`);
18
+ `Available providers: ${ids}`, { code: 'PROVIDER_NOT_FOUND', category: 'not_found', source: 'provider', recoverable: false });
18
19
  this.name = 'ProviderNotFoundError';
19
20
  this.providerId = providerId;
20
21
  this.availableIds = available;
21
- // Maintains proper prototype chain for instanceof checks
22
- Object.setPrototypeOf(this, new.target.prototype);
23
22
  }
24
23
  }
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Well-known local LLM service endpoints and ports.
3
+ *
4
+ * These are **fallback defaults** used for zero-config local LLM discovery when
5
+ * no explicit base URL has been provided by the user. They represent the
6
+ * conventional ports that popular local inference servers listen on out of the box.
7
+ *
8
+ * Usage:
9
+ * - Import the base URL when building a default `baseURL` string literal.
10
+ * - Import the port when doing port-based fingerprinting in the scanner.
11
+ * - Never use these to override a user-supplied config value.
12
+ *
13
+ * @module well-known-endpoints
14
+ */
15
+ /**
16
+ * Frozen map of well-known local LLM service base URLs.
17
+ *
18
+ * Keys correspond to the canonical service identifier used across the codebase.
19
+ * Values are the bare origin (scheme + host + port, **no trailing slash**).
20
+ * Append a path suffix (e.g. `/v1`) at the call site where the full URL is built.
21
+ */
22
+ export declare const WELL_KNOWN_LOCAL_ENDPOINTS: Readonly<{
23
+ /** Ollama — default listen address (loopback) */
24
+ readonly ollama: "http://127.0.0.1:11434";
25
+ /** LM Studio — default OpenAI-compat server */
26
+ readonly lmStudio: "http://127.0.0.1:1234";
27
+ /** llama.cpp — default HTTP server */
28
+ readonly llamaCpp: "http://localhost:8080";
29
+ /** LiteLLM — default proxy gateway */
30
+ readonly liteLLM: "http://localhost:4000";
31
+ /** Copilot Proxy — operator-managed local gateway */
32
+ readonly copilotProxy: "http://localhost:3000";
33
+ }>;
34
+ /**
35
+ * Frozen map of well-known local LLM service port numbers.
36
+ *
37
+ * Used by the scanner when fingerprinting discovered servers by port. The full
38
+ * `KNOWN_PORTS` scan list is derived from this plus additional ports for less
39
+ * common services.
40
+ */
41
+ export declare const WELL_KNOWN_LOCAL_PORTS: Readonly<{
42
+ readonly ollama: 11434;
43
+ readonly lmStudio: 1234;
44
+ readonly llamaCpp: 8080;
45
+ readonly liteLLM: 4000;
46
+ readonly copilotProxy: 3000;
47
+ /** Oobabooga / Text Generation WebUI (common alt port) */
48
+ readonly jan: 1337;
49
+ readonly gpt4all: 4891;
50
+ readonly koboldCpp: 5001;
51
+ readonly aphrodite: 2242;
52
+ }>;
53
+ //# sourceMappingURL=well-known-endpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"well-known-endpoints.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/providers/well-known-endpoints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;IACrC,iDAAiD;;IAEjD,+CAA+C;;IAE/C,sCAAsC;;IAEtC,sCAAsC;;IAEtC,qDAAqD;;EAE5C,CAAC;AAEZ;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;;IAMjC,0DAA0D;;;;;EAKjD,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Well-known local LLM service endpoints and ports.
3
+ *
4
+ * These are **fallback defaults** used for zero-config local LLM discovery when
5
+ * no explicit base URL has been provided by the user. They represent the
6
+ * conventional ports that popular local inference servers listen on out of the box.
7
+ *
8
+ * Usage:
9
+ * - Import the base URL when building a default `baseURL` string literal.
10
+ * - Import the port when doing port-based fingerprinting in the scanner.
11
+ * - Never use these to override a user-supplied config value.
12
+ *
13
+ * @module well-known-endpoints
14
+ */
15
+ /**
16
+ * Frozen map of well-known local LLM service base URLs.
17
+ *
18
+ * Keys correspond to the canonical service identifier used across the codebase.
19
+ * Values are the bare origin (scheme + host + port, **no trailing slash**).
20
+ * Append a path suffix (e.g. `/v1`) at the call site where the full URL is built.
21
+ */
22
+ export const WELL_KNOWN_LOCAL_ENDPOINTS = Object.freeze({
23
+ /** Ollama — default listen address (loopback) */
24
+ ollama: 'http://127.0.0.1:11434',
25
+ /** LM Studio — default OpenAI-compat server */
26
+ lmStudio: 'http://127.0.0.1:1234',
27
+ /** llama.cpp — default HTTP server */
28
+ llamaCpp: 'http://localhost:8080',
29
+ /** LiteLLM — default proxy gateway */
30
+ liteLLM: 'http://localhost:4000',
31
+ /** Copilot Proxy — operator-managed local gateway */
32
+ copilotProxy: 'http://localhost:3000',
33
+ });
34
+ /**
35
+ * Frozen map of well-known local LLM service port numbers.
36
+ *
37
+ * Used by the scanner when fingerprinting discovered servers by port. The full
38
+ * `KNOWN_PORTS` scan list is derived from this plus additional ports for less
39
+ * common services.
40
+ */
41
+ export const WELL_KNOWN_LOCAL_PORTS = Object.freeze({
42
+ ollama: 11434,
43
+ lmStudio: 1234,
44
+ llamaCpp: 8080,
45
+ liteLLM: 4000,
46
+ copilotProxy: 3000,
47
+ /** Oobabooga / Text Generation WebUI (common alt port) */
48
+ jan: 1337,
49
+ gpt4all: 4891,
50
+ koboldCpp: 5001,
51
+ aphrodite: 2242,
52
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-core.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/auth/oauth-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACpF,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEpF,wBAAgB,gBAAgB,CAAC,KAAK,SAAK,GAAG,MAAM,CAEnD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAK,GAAG,MAAM,CAErD;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAI5E;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,mBAAmB,EAC3B,KAAK,CAAC,EAAE;IACN,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,GACA,OAAO,CAAC,eAAe,CAAC,CA4B1B;AA4CD,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE;IACL,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC,iBAAiB,CAAC,CAc5B;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAc5B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAa9E"}
1
+ {"version":3,"file":"oauth-core.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/auth/oauth-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEpF,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEpF,wBAAgB,gBAAgB,CAAC,KAAK,SAAK,GAAG,MAAM,CAEnD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAK,GAAG,MAAM,CAErD;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAI5E;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,mBAAmB,EAC3B,KAAK,CAAC,EAAE;IACN,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,GACA,OAAO,CAAC,eAAe,CAAC,CA4B1B;AA4CD,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE;IACL,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC,iBAAiB,CAAC,CAc5B;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAc5B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAa9E"}
@@ -1,4 +1,5 @@
1
1
  import { createSha256Hash, randomBytesBase64url } from './crypto-adapter.js';
2
+ import { instrumentedFetch } from '../../utils/fetch-with-timeout.js';
2
3
  export function createOAuthState(bytes = 24) {
3
4
  return randomBytesBase64url(bytes);
4
5
  }
@@ -47,7 +48,7 @@ async function exchangeOAuthRequest(url, encoding, payload) {
47
48
  const body = encoding === 'json'
48
49
  ? JSON.stringify(payload)
49
50
  : new URLSearchParams(Object.entries(payload).map(([key, value]) => [key, String(value)])).toString();
50
- const response = await fetch(url, {
51
+ const response = await instrumentedFetch(url, {
51
52
  method: 'POST',
52
53
  headers: {
53
54
  'Content-Type': encoding === 'json' ? 'application/json' : 'application/x-www-form-urlencoded',
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-runtime-events.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/bootstrap-runtime-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,KAAK,EAA6B,eAAe,EAAiB,MAAM,mBAAmB,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAI5D,MAAM,WAAW,wBAAwB;IACvC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IACjE,QAAQ,CAAC,sBAAsB,EAAE,MAAM,wBAAwB,GAAG,IAAI,CAAC;IACvE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC9E,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;CACzC;AAoED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,6BAA6B,GACrC;IAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAAC,sBAAsB,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,CAoKzG;AAED,MAAM,MAAM,kCAAkC,GAAG,6BAA6B,CAAC;AAC/E,eAAO,MAAM,8BAA8B,kCAA4B,CAAC"}
1
+ {"version":3,"file":"bootstrap-runtime-events.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/bootstrap-runtime-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,KAAK,EAA6B,eAAe,EAAiB,MAAM,mBAAmB,CAAC;AACnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAI5D,MAAM,WAAW,wBAAwB;IACvC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IACjE,QAAQ,CAAC,sBAAsB,EAAE,MAAM,wBAAwB,GAAG,IAAI,CAAC;IACvE,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC9E,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;CACzC;AAoED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,6BAA6B,GACrC;IAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAAC,sBAAsB,EAAE;QAAE,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,CAsKzG;AAED,MAAM,MAAM,kCAAkC,GAAG,6BAA6B,CAAC;AAC/E,eAAO,MAAM,8BAA8B,kCAA4B,CAAC"}
@@ -194,6 +194,8 @@ export function registerHostRuntimeEvents(options) {
194
194
  });
195
195
  requestRender();
196
196
  }, AGENT_STATUS_INTERVAL_MS);
197
+ // Don't block clean process exit (PERF-07).
198
+ agentStatusIntervalRef.value.unref?.();
197
199
  return { unsubs, agentStatusIntervalRef };
198
200
  }
199
201
  export const registerBootstrapRuntimeEvents = registerHostRuntimeEvents;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/contracts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAUjD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,IAAI;IACxC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;CAC9C,CAsGA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/contracts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAYjD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,IAAI;IACxC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;CAC9C,CAsGA"}
@@ -20,11 +20,7 @@ export * from './version.js';
20
20
  export * from './validators/index.js';
21
21
  import { MigrationRegistry } from './migrations/index.js';
22
22
  import { SCHEMA_VERSIONS, MIN_SUPPORTED_VERSIONS } from './version.js';
23
- import { getRuntimeStateMigrationSteps } from './migrations/runtime-state.js';
24
- import { getEventEnvelopeMigrationSteps } from './migrations/event-envelope.js';
25
- import { getSessionMigrationSteps } from './migrations/session.js';
26
- import { getPluginManifestMigrationSteps } from './migrations/plugin-manifest.js';
27
- import { getTaskRecordMigrationSteps } from './migrations/task-record.js';
23
+ import { getRuntimeStateMigrationSteps, getEventEnvelopeMigrationSteps, getSessionMigrationSteps, getPluginManifestMigrationSteps, getTaskRecordMigrationSteps, } from './migrations/schemas.js';
28
24
  import { validateRuntimeState } from './validators/runtime-state.js';
29
25
  import { validateEventEnvelope } from './validators/event-envelope.js';
30
26
  import { validateSession } from './validators/session.js';
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Compatibility Contracts — Consolidated Migration Schemas
3
+ *
4
+ * All domain migration steps in one place. Each schema section:
5
+ * - Declares a private `_STEPS` array (MigrationStep[])
6
+ * - Exports a `_VERSION` constant (re-exported from SCHEMA_VERSIONS)
7
+ * - Exports a `get…MigrationSteps()` function for the contract registry
8
+ *
9
+ * Previously split across 5 stub files; consolidated here for DRY.
10
+ * Split back out if any individual contract accumulates > 10 migration steps.
11
+ *
12
+ * All migration functions must be pure — no mutations, no side effects.
13
+ *
14
+ * @module contracts/migrations/schemas
15
+ */
16
+ import type { MigrationStep } from '../types.js';
17
+ /** The current EventEnvelope schema version (re-exported for convenience). */
18
+ export declare const EVENT_ENVELOPE_VERSION: {
19
+ readonly major: 1;
20
+ readonly minor: 1;
21
+ readonly patch: 0;
22
+ };
23
+ /** Returns all EventEnvelope migration steps. Used by the contract registry. */
24
+ export declare function getEventEnvelopeMigrationSteps(): MigrationStep[];
25
+ /** The current PluginManifest schema version (re-exported for convenience). */
26
+ export declare const PLUGIN_MANIFEST_VERSION: {
27
+ readonly major: 1;
28
+ readonly minor: 0;
29
+ readonly patch: 0;
30
+ };
31
+ /** Returns all PluginManifest migration steps. Used by the contract registry. */
32
+ export declare function getPluginManifestMigrationSteps(): MigrationStep[];
33
+ /** The current RuntimeState schema version (re-exported for convenience). */
34
+ export declare const RUNTIME_STATE_VERSION: {
35
+ readonly major: 1;
36
+ readonly minor: 0;
37
+ readonly patch: 0;
38
+ };
39
+ /** Returns all RuntimeState migration steps. Used by the contract registry. */
40
+ export declare function getRuntimeStateMigrationSteps(): MigrationStep[];
41
+ /** The current Session schema version (re-exported for convenience). */
42
+ export declare const SESSION_VERSION: {
43
+ readonly major: 1;
44
+ readonly minor: 0;
45
+ readonly patch: 0;
46
+ };
47
+ /** Returns all Session migration steps. Used by the contract registry. */
48
+ export declare function getSessionMigrationSteps(): MigrationStep[];
49
+ /** The current TaskRecord schema version (re-exported for convenience). */
50
+ export declare const TASK_RECORD_VERSION: {
51
+ readonly major: 1;
52
+ readonly minor: 0;
53
+ readonly patch: 0;
54
+ };
55
+ /** Returns all TaskRecord migration steps. Used by the contract registry. */
56
+ export declare function getTaskRecordMigrationSteps(): MigrationStep[];
57
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/runtime/contracts/migrations/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA2BjD,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB;;;;CAAgC,CAAC;AAEpE,gFAAgF;AAChF,wBAAgB,8BAA8B,IAAI,aAAa,EAAE,CAEhE;AA0BD,+EAA+E;AAC/E,eAAO,MAAM,uBAAuB;;;;CAAiC,CAAC;AAEtE,iFAAiF;AACjF,wBAAgB,+BAA+B,IAAI,aAAa,EAAE,CAEjE;AA0BD,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB;;;;CAA+B,CAAC;AAElE,+EAA+E;AAC/E,wBAAgB,6BAA6B,IAAI,aAAa,EAAE,CAE/D;AA2BD,wEAAwE;AACxE,eAAO,MAAM,eAAe;;;;CAA0B,CAAC;AAEvD,0EAA0E;AAC1E,wBAAgB,wBAAwB,IAAI,aAAa,EAAE,CAE1D;AA0BD,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB;;;;CAA6B,CAAC;AAE9D,6EAA6E;AAC7E,wBAAgB,2BAA2B,IAAI,aAAa,EAAE,CAE7D"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Compatibility Contracts — Consolidated Migration Schemas
3
+ *
4
+ * All domain migration steps in one place. Each schema section:
5
+ * - Declares a private `_STEPS` array (MigrationStep[])
6
+ * - Exports a `_VERSION` constant (re-exported from SCHEMA_VERSIONS)
7
+ * - Exports a `get…MigrationSteps()` function for the contract registry
8
+ *
9
+ * Previously split across 5 stub files; consolidated here for DRY.
10
+ * Split back out if any individual contract accumulates > 10 migration steps.
11
+ *
12
+ * All migration functions must be pure — no mutations, no side effects.
13
+ *
14
+ * @module contracts/migrations/schemas
15
+ */
16
+ import { SCHEMA_VERSIONS } from '../version.js';
17
+ // ─── EventEnvelope ────────────────────────────────────────────────────────────
18
+ /**
19
+ * All registered EventEnvelope migration steps.
20
+ *
21
+ * Currently empty — the schema is at its initial version (1.0.0).
22
+ * Future steps must be appended here and registered via the contract registry.
23
+ *
24
+ * Example: if `agentId` becomes required in v1.1.0, a migration step would
25
+ * backfill it with a sentinel value for older persisted envelopes.
26
+ */
27
+ const EVENT_ENVELOPE_STEPS = [
28
+ // Example structure for future use:
29
+ // {
30
+ // from: { major: 1, minor: 0, patch: 0 },
31
+ // to: { major: 1, minor: 1, patch: 0 },
32
+ // description: 'Backfill missing agentId with null sentinel',
33
+ // migrate: (data: unknown): unknown => {
34
+ // const d = data as Record<string, unknown>;
35
+ // return { ...d, agentId: d['agentId'] ?? null };
36
+ // },
37
+ // },
38
+ ];
39
+ /** The current EventEnvelope schema version (re-exported for convenience). */
40
+ export const EVENT_ENVELOPE_VERSION = SCHEMA_VERSIONS.eventEnvelope;
41
+ /** Returns all EventEnvelope migration steps. Used by the contract registry. */
42
+ export function getEventEnvelopeMigrationSteps() {
43
+ return EVENT_ENVELOPE_STEPS;
44
+ }
45
+ // ─── PluginManifest ───────────────────────────────────────────────────────────
46
+ /**
47
+ * All registered PluginManifest migration steps.
48
+ *
49
+ * Currently empty — the schema is at its initial version (1.0.0).
50
+ * Future steps must be appended here and registered via the contract registry.
51
+ *
52
+ * Example: if `capabilities` becomes an explicit array in v1.1.0, a migration
53
+ * step would synthesize it from `registerCommand`/`registerTool` declarations.
54
+ */
55
+ const PLUGIN_MANIFEST_STEPS = [
56
+ // Example structure for future use:
57
+ // {
58
+ // from: { major: 1, minor: 0, patch: 0 },
59
+ // to: { major: 1, minor: 1, patch: 0 },
60
+ // description: 'Add capabilities array to plugin manifest',
61
+ // migrate: (data: unknown): unknown => {
62
+ // const d = data as Record<string, unknown>;
63
+ // return { ...d, capabilities: d['capabilities'] ?? [] };
64
+ // },
65
+ // },
66
+ ];
67
+ /** The current PluginManifest schema version (re-exported for convenience). */
68
+ export const PLUGIN_MANIFEST_VERSION = SCHEMA_VERSIONS.pluginManifest;
69
+ /** Returns all PluginManifest migration steps. Used by the contract registry. */
70
+ export function getPluginManifestMigrationSteps() {
71
+ return PLUGIN_MANIFEST_STEPS;
72
+ }
73
+ // ─── RuntimeState ─────────────────────────────────────────────────────────────
74
+ /**
75
+ * All registered RuntimeState migration steps.
76
+ *
77
+ * Currently empty — the schema is at its initial version (1.0.0).
78
+ * Future steps must be appended here and registered via the contract registry.
79
+ *
80
+ * Example: if `uiSettings` is added in v1.1.0, a step would backfill it with
81
+ * default values for existing persisted snapshots.
82
+ */
83
+ const RUNTIME_STATE_STEPS = [
84
+ // Example structure for future use:
85
+ // {
86
+ // from: { major: 1, minor: 0, patch: 0 },
87
+ // to: { major: 1, minor: 1, patch: 0 },
88
+ // description: 'Add optional uiSettings field with defaults',
89
+ // migrate: (data: unknown): unknown => {
90
+ // const d = data as Record<string, unknown>;
91
+ // return { ...d, uiSettings: d['uiSettings'] ?? { theme: 'dark' } };
92
+ // },
93
+ // },
94
+ ];
95
+ /** The current RuntimeState schema version (re-exported for convenience). */
96
+ export const RUNTIME_STATE_VERSION = SCHEMA_VERSIONS.runtimeState;
97
+ /** Returns all RuntimeState migration steps. Used by the contract registry. */
98
+ export function getRuntimeStateMigrationSteps() {
99
+ return RUNTIME_STATE_STEPS;
100
+ }
101
+ // ─── Session ──────────────────────────────────────────────────────────────────
102
+ /**
103
+ * All registered Session migration steps.
104
+ *
105
+ * Currently empty — the schema is at its initial version (1.0.0).
106
+ * Future steps must be appended here and registered via the contract registry.
107
+ *
108
+ * Example: if session files gain a `tags` array in v1.1.0, a migration step
109
+ * would backfill it as an empty array for existing sessions.
110
+ */
111
+ const SESSION_STEPS = [
112
+ // Example structure for future use:
113
+ // {
114
+ // from: { major: 1, minor: 0, patch: 0 },
115
+ // to: { major: 1, minor: 1, patch: 0 },
116
+ // description: 'Add empty tags array to session meta',
117
+ // migrate: (data: unknown): unknown => {
118
+ // const d = data as Record<string, unknown>;
119
+ // const meta = d['meta'] as Record<string, unknown>;
120
+ // return { ...d, meta: { ...meta, tags: meta['tags'] ?? [] } };
121
+ // },
122
+ // },
123
+ ];
124
+ /** The current Session schema version (re-exported for convenience). */
125
+ export const SESSION_VERSION = SCHEMA_VERSIONS.session;
126
+ /** Returns all Session migration steps. Used by the contract registry. */
127
+ export function getSessionMigrationSteps() {
128
+ return SESSION_STEPS;
129
+ }
130
+ // ─── TaskRecord ───────────────────────────────────────────────────────────────
131
+ /**
132
+ * All registered TaskRecord migration steps.
133
+ *
134
+ * Currently empty — the schema is at its initial version (1.0.0).
135
+ * Future steps must be appended here and registered via the contract registry.
136
+ *
137
+ * Example: if `metadata` map is added to RuntimeTask in v1.1.0, a migration
138
+ * step would backfill it as an empty object for existing persisted records.
139
+ */
140
+ const TASK_RECORD_STEPS = [
141
+ // Example structure for future use:
142
+ // {
143
+ // from: { major: 1, minor: 0, patch: 0 },
144
+ // to: { major: 1, minor: 1, patch: 0 },
145
+ // description: 'Add metadata object to task records',
146
+ // migrate: (data: unknown): unknown => {
147
+ // const d = data as Record<string, unknown>;
148
+ // return { ...d, metadata: d['metadata'] ?? {} };
149
+ // },
150
+ // },
151
+ ];
152
+ /** The current TaskRecord schema version (re-exported for convenience). */
153
+ export const TASK_RECORD_VERSION = SCHEMA_VERSIONS.taskRecord;
154
+ /** Returns all TaskRecord migration steps. Used by the contract registry. */
155
+ export function getTaskRecordMigrationSteps() {
156
+ return TASK_RECORD_STEPS;
157
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * OBS-15: AsyncLocalStorage-based correlation context for request/session/turn/run scoping.
3
+ *
4
+ * Seed at HTTP entry points and session/turn creation so downstream events can
5
+ * automatically attach the correct IDs without explicit threading.
6
+ *
7
+ * Usage:
8
+ * ```ts
9
+ * // Seed at HTTP request entry:
10
+ * correlationCtx.run({ requestId: crypto.randomUUID() }, () => handler(req));
11
+ *
12
+ * // Read anywhere downstream:
13
+ * const { requestId, sessionId } = getCorrelationContext();
14
+ * ```
15
+ */
16
+ import { AsyncLocalStorage } from 'node:async_hooks';
17
+ /** Correlation identifiers propagated via AsyncLocalStorage. */
18
+ export interface CorrelationContext {
19
+ /** HTTP request ID — seeded by the HTTP listener on every inbound request. */
20
+ readonly requestId?: string;
21
+ /** Session ID — seeded when a session starts or resumes. */
22
+ readonly sessionId?: string;
23
+ /** Run ID — seeded when a run (multi-turn conversation) begins. */
24
+ readonly runId?: string;
25
+ /** Turn ID — seeded when a turn starts within a run. */
26
+ readonly turnId?: string;
27
+ }
28
+ /** The singleton AsyncLocalStorage instance for correlation context. */
29
+ export declare const correlationCtx: AsyncLocalStorage<CorrelationContext>;
30
+ /**
31
+ * Get the current correlation context, or an empty object if none is active.
32
+ * Safe to call from anywhere — returns {} when no context is running.
33
+ */
34
+ export declare function getCorrelationContext(): Readonly<CorrelationContext>;
35
+ /**
36
+ * Run a function within a new correlation context that inherits the current
37
+ * context and overrides the provided fields.
38
+ */
39
+ export declare function withCorrelation<T>(overrides: Partial<CorrelationContext>, fn: () => T): T;
40
+ /**
41
+ * Run an async function within a new correlation context.
42
+ */
43
+ export declare function withCorrelationAsync<T>(overrides: Partial<CorrelationContext>, fn: () => Promise<T>): Promise<T>;
44
+ //# sourceMappingURL=correlation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correlation.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/correlation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,gEAAgE;AAChE,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,mEAAmE;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wEAAwE;AACxE,eAAO,MAAM,cAAc,uCAA8C,CAAC;AAE1E;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAEpE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACtC,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAGH;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACtC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAGZ"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * OBS-15: AsyncLocalStorage-based correlation context for request/session/turn/run scoping.
3
+ *
4
+ * Seed at HTTP entry points and session/turn creation so downstream events can
5
+ * automatically attach the correct IDs without explicit threading.
6
+ *
7
+ * Usage:
8
+ * ```ts
9
+ * // Seed at HTTP request entry:
10
+ * correlationCtx.run({ requestId: crypto.randomUUID() }, () => handler(req));
11
+ *
12
+ * // Read anywhere downstream:
13
+ * const { requestId, sessionId } = getCorrelationContext();
14
+ * ```
15
+ */
16
+ import { AsyncLocalStorage } from 'node:async_hooks';
17
+ /** The singleton AsyncLocalStorage instance for correlation context. */
18
+ export const correlationCtx = new AsyncLocalStorage();
19
+ /**
20
+ * Get the current correlation context, or an empty object if none is active.
21
+ * Safe to call from anywhere — returns {} when no context is running.
22
+ */
23
+ export function getCorrelationContext() {
24
+ return correlationCtx.getStore() ?? {};
25
+ }
26
+ /**
27
+ * Run a function within a new correlation context that inherits the current
28
+ * context and overrides the provided fields.
29
+ */
30
+ export function withCorrelation(overrides, fn) {
31
+ const current = correlationCtx.getStore() ?? {};
32
+ return correlationCtx.run({ ...current, ...overrides }, fn);
33
+ }
34
+ /**
35
+ * Run an async function within a new correlation context.
36
+ */
37
+ export async function withCorrelationAsync(overrides, fn) {
38
+ const current = correlationCtx.getStore() ?? {};
39
+ return correlationCtx.run({ ...current, ...overrides }, fn);
40
+ }
@@ -28,4 +28,36 @@ export declare function emitTokenBlocked(bus: RuntimeEventBus, ctx: EmitterConte
28
28
  label: string;
29
29
  reason: 'scope_violation' | 'rotation_overdue' | 'scope_violation_and_rotation_overdue';
30
30
  }): void;
31
+ /** Emit AUTH_SUCCEEDED when a user authenticates successfully. Never include credential values. */
32
+ export declare function emitAuthSucceeded(bus: RuntimeEventBus, ctx: EmitterContext, data: {
33
+ username: string;
34
+ sessionId: string;
35
+ clientIp: string;
36
+ method: 'password' | 'cookie' | 'token';
37
+ }): void;
38
+ /** Emit AUTH_FAILED when an authentication attempt fails. Never include credential values. */
39
+ export declare function emitAuthFailed(bus: RuntimeEventBus, ctx: EmitterContext, data: {
40
+ usernameAttempted: string;
41
+ clientIp: string;
42
+ reason: 'invalid_credentials' | 'rate_limited' | 'session_expired' | 'origin_denied' | 'unknown';
43
+ }): void;
44
+ /** Emit COMPANION_PAIR_REQUESTED when a pairing request is initiated. */
45
+ export declare function emitCompanionPairRequested(bus: RuntimeEventBus, ctx: EmitterContext, data: {
46
+ clientIp: string;
47
+ }): void;
48
+ /** Emit COMPANION_PAIR_VERIFIED when a companion pairing is verified. */
49
+ export declare function emitCompanionPairVerified(bus: RuntimeEventBus, ctx: EmitterContext, data: {
50
+ tokenId: string;
51
+ clientIp: string;
52
+ }): void;
53
+ /** Emit COMPANION_TOKEN_ROTATED when a companion token is rotated. */
54
+ export declare function emitCompanionTokenRotated(bus: RuntimeEventBus, ctx: EmitterContext, data: {
55
+ newTokenId: string;
56
+ clientIp: string;
57
+ }): void;
58
+ /** Emit COMPANION_TOKEN_REVOKED when a companion token is revoked. */
59
+ export declare function emitCompanionTokenRevoked(bus: RuntimeEventBus, ctx: EmitterContext, data: {
60
+ clientIp: string;
61
+ reason?: string;
62
+ }): void;
31
63
  //# sourceMappingURL=security.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/emitters/security.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAUjD,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,GACjF,IAAI,CAEN;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzF,IAAI,CAEN;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxF,IAAI,CAEN;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,sCAAsC,CAAC;CACzF,GACA,IAAI,CAEN"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/emitters/security.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAUjD,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,GACjF,IAAI,CAEN;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzF,IAAI,CAEN;AAED,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxF,IAAI,CAEN;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,sCAAsC,CAAC;CACzF,GACA,IAAI,CAEN;AAID,mGAAmG;AACnG,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;CAAE,GACvG,IAAI,CAEN;AAED,8FAA8F;AAC9F,wBAAgB,cAAc,CAC5B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IACJ,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,qBAAqB,GAAG,cAAc,GAAG,iBAAiB,GAAG,eAAe,GAAG,SAAS,CAAC;CAClG,GACA,IAAI,CAEN;AAID,yEAAyE;AACzE,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzB,IAAI,CAEN;AAED,yEAAyE;AACzE,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC1C,IAAI,CAEN;AAED,sEAAsE;AACtE,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7C,IAAI,CAEN;AAED,sEAAsE;AACtE,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,IAAI,CAEN"}
@@ -17,3 +17,29 @@ export function emitTokenRotationExpired(bus, ctx, data) {
17
17
  export function emitTokenBlocked(bus, ctx, data) {
18
18
  bus.emit('security', securityEvent('TOKEN_BLOCKED', data, ctx));
19
19
  }
20
+ // ── Auth audit emitters (OBS-02) ────────────────────────────────────────────
21
+ /** Emit AUTH_SUCCEEDED when a user authenticates successfully. Never include credential values. */
22
+ export function emitAuthSucceeded(bus, ctx, data) {
23
+ bus.emit('security', securityEvent('AUTH_SUCCEEDED', data, ctx));
24
+ }
25
+ /** Emit AUTH_FAILED when an authentication attempt fails. Never include credential values. */
26
+ export function emitAuthFailed(bus, ctx, data) {
27
+ bus.emit('security', securityEvent('AUTH_FAILED', data, ctx));
28
+ }
29
+ // ── Companion pairing emitters (OBS-21) ──────────────────────────────────
30
+ /** Emit COMPANION_PAIR_REQUESTED when a pairing request is initiated. */
31
+ export function emitCompanionPairRequested(bus, ctx, data) {
32
+ bus.emit('security', securityEvent('COMPANION_PAIR_REQUESTED', data, ctx));
33
+ }
34
+ /** Emit COMPANION_PAIR_VERIFIED when a companion pairing is verified. */
35
+ export function emitCompanionPairVerified(bus, ctx, data) {
36
+ bus.emit('security', securityEvent('COMPANION_PAIR_VERIFIED', data, ctx));
37
+ }
38
+ /** Emit COMPANION_TOKEN_ROTATED when a companion token is rotated. */
39
+ export function emitCompanionTokenRotated(bus, ctx, data) {
40
+ bus.emit('security', securityEvent('COMPANION_TOKEN_ROTATED', data, ctx));
41
+ }
42
+ /** Emit COMPANION_TOKEN_REVOKED when a companion token is revoked. */
43
+ export function emitCompanionTokenRevoked(bus, ctx, data) {
44
+ bus.emit('security', securityEvent('COMPANION_TOKEN_REVOKED', data, ctx));
45
+ }