@pellux/goodvibes-sdk 0.25.10 → 0.25.11

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 (211) hide show
  1. package/dist/_internal/contracts/artifacts/operator-contract.json +178 -6
  2. package/dist/_internal/contracts/generated/foundation-client-types.d.ts +16 -1
  3. package/dist/_internal/contracts/generated/foundation-client-types.d.ts.map +1 -1
  4. package/dist/_internal/contracts/generated/foundation-metadata.d.ts +2 -2
  5. package/dist/_internal/contracts/generated/foundation-metadata.js +2 -2
  6. package/dist/_internal/contracts/generated/operator-contract.d.ts.map +1 -1
  7. package/dist/_internal/contracts/generated/operator-contract.js +178 -6
  8. package/dist/_internal/contracts/generated/operator-method-ids.d.ts +1 -1
  9. package/dist/_internal/contracts/generated/operator-method-ids.d.ts.map +1 -1
  10. package/dist/_internal/contracts/generated/operator-method-ids.js +1 -0
  11. package/dist/_internal/daemon/context.d.ts +1 -0
  12. package/dist/_internal/daemon/context.d.ts.map +1 -1
  13. package/dist/_internal/daemon/integration-route-types.d.ts +1 -0
  14. package/dist/_internal/daemon/integration-route-types.d.ts.map +1 -1
  15. package/dist/_internal/daemon/integration-routes.d.ts +1 -1
  16. package/dist/_internal/daemon/integration-routes.d.ts.map +1 -1
  17. package/dist/_internal/daemon/integration-routes.js +3 -0
  18. package/dist/_internal/daemon/operator.d.ts +1 -1
  19. package/dist/_internal/daemon/operator.d.ts.map +1 -1
  20. package/dist/_internal/daemon/operator.js +2 -0
  21. package/dist/_internal/daemon/runtime-route-types.d.ts +1 -1
  22. package/dist/_internal/daemon/runtime-route-types.d.ts.map +1 -1
  23. package/dist/_internal/platform/adapters/discord/index.d.ts.map +1 -1
  24. package/dist/_internal/platform/adapters/discord/index.js +4 -5
  25. package/dist/_internal/platform/adapters/github/index.d.ts.map +1 -1
  26. package/dist/_internal/platform/adapters/github/index.js +4 -5
  27. package/dist/_internal/platform/adapters/google-chat/index.d.ts.map +1 -1
  28. package/dist/_internal/platform/adapters/google-chat/index.js +7 -5
  29. package/dist/_internal/platform/adapters/helpers.d.ts +2 -1
  30. package/dist/_internal/platform/adapters/helpers.d.ts.map +1 -1
  31. package/dist/_internal/platform/adapters/helpers.js +3 -34
  32. package/dist/_internal/platform/adapters/homeassistant/index.d.ts +3 -0
  33. package/dist/_internal/platform/adapters/homeassistant/index.d.ts.map +1 -0
  34. package/dist/_internal/platform/adapters/homeassistant/index.js +177 -0
  35. package/dist/_internal/platform/adapters/index.d.ts +1 -0
  36. package/dist/_internal/platform/adapters/index.d.ts.map +1 -1
  37. package/dist/_internal/platform/adapters/index.js +1 -0
  38. package/dist/_internal/platform/adapters/mattermost/index.d.ts.map +1 -1
  39. package/dist/_internal/platform/adapters/mattermost/index.js +6 -2
  40. package/dist/_internal/platform/adapters/slack/index.d.ts.map +1 -1
  41. package/dist/_internal/platform/adapters/slack/index.js +4 -5
  42. package/dist/_internal/platform/adapters/telegram/index.d.ts.map +1 -1
  43. package/dist/_internal/platform/adapters/telegram/index.js +7 -5
  44. package/dist/_internal/platform/adapters/types.d.ts +1 -1
  45. package/dist/_internal/platform/adapters/types.d.ts.map +1 -1
  46. package/dist/_internal/platform/adapters/webhook/index.d.ts.map +1 -1
  47. package/dist/_internal/platform/adapters/webhook/index.js +4 -1
  48. package/dist/_internal/platform/automation/types.d.ts +1 -1
  49. package/dist/_internal/platform/automation/types.d.ts.map +1 -1
  50. package/dist/_internal/platform/channels/builtin/accounts.d.ts.map +1 -1
  51. package/dist/_internal/platform/channels/builtin/accounts.js +22 -0
  52. package/dist/_internal/platform/channels/builtin/contracts.d.ts.map +1 -1
  53. package/dist/_internal/platform/channels/builtin/contracts.js +9 -0
  54. package/dist/_internal/platform/channels/builtin/descriptors.d.ts.map +1 -1
  55. package/dist/_internal/platform/channels/builtin/descriptors.js +9 -2
  56. package/dist/_internal/platform/channels/builtin/homeassistant.d.ts +64 -0
  57. package/dist/_internal/platform/channels/builtin/homeassistant.d.ts.map +1 -0
  58. package/dist/_internal/platform/channels/builtin/homeassistant.js +380 -0
  59. package/dist/_internal/platform/channels/builtin/plugins.d.ts.map +1 -1
  60. package/dist/_internal/platform/channels/builtin/plugins.js +2 -1
  61. package/dist/_internal/platform/channels/builtin/presentation.d.ts.map +1 -1
  62. package/dist/_internal/platform/channels/builtin/presentation.js +4 -0
  63. package/dist/_internal/platform/channels/builtin/setup-schema.d.ts.map +1 -1
  64. package/dist/_internal/platform/channels/builtin/setup-schema.js +46 -0
  65. package/dist/_internal/platform/channels/builtin/shared.d.ts +1 -1
  66. package/dist/_internal/platform/channels/builtin/shared.d.ts.map +1 -1
  67. package/dist/_internal/platform/channels/builtin/shared.js +2 -0
  68. package/dist/_internal/platform/channels/builtin/surfaces.d.ts.map +1 -1
  69. package/dist/_internal/platform/channels/builtin/surfaces.js +1 -0
  70. package/dist/_internal/platform/channels/builtin/targets.d.ts.map +1 -1
  71. package/dist/_internal/platform/channels/builtin/targets.js +24 -0
  72. package/dist/_internal/platform/channels/builtin-runtime.d.ts.map +1 -1
  73. package/dist/_internal/platform/channels/builtin-runtime.js +6 -0
  74. package/dist/_internal/platform/channels/delivery/strategies-core.d.ts +1 -0
  75. package/dist/_internal/platform/channels/delivery/strategies-core.d.ts.map +1 -1
  76. package/dist/_internal/platform/channels/delivery/strategies-core.js +41 -1
  77. package/dist/_internal/platform/channels/delivery-router.d.ts.map +1 -1
  78. package/dist/_internal/platform/channels/delivery-router.js +2 -1
  79. package/dist/_internal/platform/channels/reply-pipeline.d.ts.map +1 -1
  80. package/dist/_internal/platform/channels/reply-pipeline.js +9 -0
  81. package/dist/_internal/platform/channels/route-manager.d.ts.map +1 -1
  82. package/dist/_internal/platform/channels/route-manager.js +1 -0
  83. package/dist/_internal/platform/channels/surface-registry.d.ts.map +1 -1
  84. package/dist/_internal/platform/channels/surface-registry.js +4 -0
  85. package/dist/_internal/platform/channels/types.d.ts +1 -1
  86. package/dist/_internal/platform/channels/types.d.ts.map +1 -1
  87. package/dist/_internal/platform/cloudflare/manager.d.ts +1 -1
  88. package/dist/_internal/platform/cloudflare/manager.d.ts.map +1 -1
  89. package/dist/_internal/platform/cloudflare/manager.js +27 -24
  90. package/dist/_internal/platform/cloudflare/types.d.ts +5 -0
  91. package/dist/_internal/platform/cloudflare/types.d.ts.map +1 -1
  92. package/dist/_internal/platform/cloudflare/utils.d.ts.map +1 -1
  93. package/dist/_internal/platform/cloudflare/utils.js +4 -10
  94. package/dist/_internal/platform/companion/companion-chat-manager.d.ts +24 -4
  95. package/dist/_internal/platform/companion/companion-chat-manager.d.ts.map +1 -1
  96. package/dist/_internal/platform/companion/companion-chat-manager.js +128 -78
  97. package/dist/_internal/platform/config/schema-domain-surfaces.d.ts +11 -0
  98. package/dist/_internal/platform/config/schema-domain-surfaces.d.ts.map +1 -1
  99. package/dist/_internal/platform/config/schema-domain-surfaces.js +59 -0
  100. package/dist/_internal/platform/config/schema-types.d.ts +14 -2
  101. package/dist/_internal/platform/config/schema-types.d.ts.map +1 -1
  102. package/dist/_internal/platform/control-plane/gateway-utils.d.ts +37 -0
  103. package/dist/_internal/platform/control-plane/gateway-utils.d.ts.map +1 -0
  104. package/dist/_internal/platform/control-plane/gateway-utils.js +97 -0
  105. package/dist/_internal/platform/control-plane/gateway.d.ts +4 -9
  106. package/dist/_internal/platform/control-plane/gateway.d.ts.map +1 -1
  107. package/dist/_internal/platform/control-plane/gateway.js +26 -61
  108. package/dist/_internal/platform/control-plane/method-catalog-runtime.d.ts.map +1 -1
  109. package/dist/_internal/platform/control-plane/method-catalog-runtime.js +11 -1
  110. package/dist/_internal/platform/control-plane/operator-contract-schemas-admin.d.ts.map +1 -1
  111. package/dist/_internal/platform/control-plane/operator-contract-schemas-admin.js +3 -2
  112. package/dist/_internal/platform/control-plane/operator-contract-schemas-control.d.ts +1 -0
  113. package/dist/_internal/platform/control-plane/operator-contract-schemas-control.d.ts.map +1 -1
  114. package/dist/_internal/platform/control-plane/operator-contract-schemas-control.js +26 -0
  115. package/dist/_internal/platform/control-plane/routes/operator.d.ts +1 -1
  116. package/dist/_internal/platform/control-plane/routes/operator.d.ts.map +1 -1
  117. package/dist/_internal/platform/control-plane/routes/operator.js +2 -0
  118. package/dist/_internal/platform/control-plane/types.d.ts +1 -1
  119. package/dist/_internal/platform/control-plane/types.d.ts.map +1 -1
  120. package/dist/_internal/platform/daemon/control-plane.d.ts.map +1 -1
  121. package/dist/_internal/platform/daemon/control-plane.js +50 -6
  122. package/dist/_internal/platform/daemon/facade-composition.d.ts.map +1 -1
  123. package/dist/_internal/platform/daemon/facade-composition.js +30 -2
  124. package/dist/_internal/platform/daemon/facade-types.d.ts +1 -1
  125. package/dist/_internal/platform/daemon/facade-types.d.ts.map +1 -1
  126. package/dist/_internal/platform/daemon/http/router.d.ts +2 -2
  127. package/dist/_internal/platform/daemon/http/router.d.ts.map +1 -1
  128. package/dist/_internal/platform/daemon/http/router.js +7 -16
  129. package/dist/_internal/platform/daemon/http/runtime-route-types.d.ts +1 -1
  130. package/dist/_internal/platform/daemon/http/runtime-route-types.d.ts.map +1 -1
  131. package/dist/_internal/platform/daemon/http-listener.d.ts.map +1 -1
  132. package/dist/_internal/platform/daemon/http-listener.js +4 -8
  133. package/dist/_internal/platform/daemon/surface-actions.d.ts +1 -1
  134. package/dist/_internal/platform/daemon/surface-actions.d.ts.map +1 -1
  135. package/dist/_internal/platform/daemon/surface-delivery.d.ts +1 -1
  136. package/dist/_internal/platform/daemon/surface-delivery.d.ts.map +1 -1
  137. package/dist/_internal/platform/daemon/surface-delivery.js +1 -0
  138. package/dist/_internal/platform/daemon/surface-policy.d.ts +1 -1
  139. package/dist/_internal/platform/daemon/surface-policy.d.ts.map +1 -1
  140. package/dist/_internal/platform/daemon/surface-policy.js +8 -0
  141. package/dist/_internal/platform/daemon/types.d.ts +2 -2
  142. package/dist/_internal/platform/daemon/types.d.ts.map +1 -1
  143. package/dist/_internal/platform/integrations/homeassistant.d.ts +58 -0
  144. package/dist/_internal/platform/integrations/homeassistant.d.ts.map +1 -0
  145. package/dist/_internal/platform/integrations/homeassistant.js +174 -0
  146. package/dist/_internal/platform/integrations/index.d.ts +2 -0
  147. package/dist/_internal/platform/integrations/index.d.ts.map +1 -1
  148. package/dist/_internal/platform/integrations/index.js +1 -0
  149. package/dist/_internal/platform/runtime/events/control-plane.d.ts +1 -1
  150. package/dist/_internal/platform/runtime/events/control-plane.d.ts.map +1 -1
  151. package/dist/_internal/platform/runtime/events/control-plane.js +1 -0
  152. package/dist/_internal/platform/runtime/events/routes.d.ts +1 -1
  153. package/dist/_internal/platform/runtime/events/routes.d.ts.map +1 -1
  154. package/dist/_internal/platform/runtime/events/routes.js +1 -0
  155. package/dist/_internal/platform/runtime/feature-flags/flags.d.ts.map +1 -1
  156. package/dist/_internal/platform/runtime/feature-flags/flags.js +9 -0
  157. package/dist/_internal/platform/runtime/feature-flags/gates.d.ts.map +1 -1
  158. package/dist/_internal/platform/runtime/feature-flags/gates.js +2 -0
  159. package/dist/_internal/platform/runtime/index.d.ts +2 -0
  160. package/dist/_internal/platform/runtime/index.d.ts.map +1 -1
  161. package/dist/_internal/platform/runtime/index.js +1 -0
  162. package/dist/_internal/platform/runtime/integration/helpers.d.ts +4 -0
  163. package/dist/_internal/platform/runtime/integration/helpers.d.ts.map +1 -1
  164. package/dist/_internal/platform/runtime/integration/helpers.js +4 -0
  165. package/dist/_internal/platform/runtime/security-settings.d.ts +19 -0
  166. package/dist/_internal/platform/runtime/security-settings.d.ts.map +1 -0
  167. package/dist/_internal/platform/runtime/security-settings.js +187 -0
  168. package/dist/_internal/platform/runtime/services.d.ts.map +1 -1
  169. package/dist/_internal/platform/runtime/services.js +1 -0
  170. package/dist/_internal/platform/security/user-auth.d.ts +1 -1
  171. package/dist/_internal/platform/security/user-auth.d.ts.map +1 -1
  172. package/dist/_internal/platform/security/user-auth.js +18 -3
  173. package/dist/_internal/platform/tools/edit/core.d.ts.map +1 -1
  174. package/dist/_internal/platform/tools/edit/core.js +4 -47
  175. package/dist/_internal/platform/tools/exec/runtime.d.ts.map +1 -1
  176. package/dist/_internal/platform/tools/exec/runtime.js +7 -1
  177. package/dist/_internal/platform/tools/exec/schema.d.ts +1 -0
  178. package/dist/_internal/platform/tools/exec/schema.d.ts.map +1 -1
  179. package/dist/_internal/platform/tools/exec/schema.js +1 -0
  180. package/dist/_internal/platform/tools/fetch/runtime.d.ts.map +1 -1
  181. package/dist/_internal/platform/tools/fetch/runtime.js +140 -19
  182. package/dist/_internal/platform/tools/fetch/schema.d.ts +1 -0
  183. package/dist/_internal/platform/tools/fetch/schema.d.ts.map +1 -1
  184. package/dist/_internal/platform/tools/fetch/schema.js +1 -0
  185. package/dist/_internal/platform/tools/find/executor.d.ts.map +1 -1
  186. package/dist/_internal/platform/tools/find/executor.js +7 -1
  187. package/dist/_internal/platform/tools/find/schema.d.ts.map +1 -1
  188. package/dist/_internal/platform/tools/find/schema.js +2 -0
  189. package/dist/_internal/platform/tools/read/index.d.ts.map +1 -1
  190. package/dist/_internal/platform/tools/read/index.js +7 -1
  191. package/dist/_internal/platform/tools/read/schema.d.ts +1 -0
  192. package/dist/_internal/platform/tools/read/schema.d.ts.map +1 -1
  193. package/dist/_internal/platform/tools/read/schema.js +1 -0
  194. package/dist/_internal/platform/tools/shared/process-manager.d.ts +2 -0
  195. package/dist/_internal/platform/tools/shared/process-manager.d.ts.map +1 -1
  196. package/dist/_internal/platform/tools/shared/process-manager.js +67 -5
  197. package/dist/_internal/platform/tools/write/index.d.ts.map +1 -1
  198. package/dist/_internal/platform/tools/write/index.js +3 -36
  199. package/dist/_internal/platform/utils/concurrency.d.ts +3 -0
  200. package/dist/_internal/platform/utils/concurrency.d.ts.map +1 -0
  201. package/dist/_internal/platform/utils/concurrency.js +17 -0
  202. package/dist/_internal/platform/utils/logger.d.ts.map +1 -1
  203. package/dist/_internal/platform/utils/logger.js +19 -1
  204. package/dist/_internal/platform/utils/request-body.d.ts +4 -0
  205. package/dist/_internal/platform/utils/request-body.d.ts.map +1 -0
  206. package/dist/_internal/platform/utils/request-body.js +45 -0
  207. package/dist/_internal/platform/version.js +1 -1
  208. package/dist/workers.d.ts +6 -0
  209. package/dist/workers.d.ts.map +1 -1
  210. package/dist/workers.js +55 -3
  211. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"companion-chat-manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/companion/companion-chat-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"companion-chat-manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/companion/companion-chat-manager.ts"],"names":[],"mappings":"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"}
@@ -23,17 +23,22 @@ import { randomUUID } from 'node:crypto';
23
23
  import { ConversationManager } from '../core/conversation.js';
24
24
  import { CompanionChatPersistence, defaultSessionsDir, } from './companion-chat-persistence.js';
25
25
  import { CompanionChatRateLimiter } from './companion-chat-rate-limiter.js';
26
+ import { executeToolCalls as executeOrchestratorToolCalls } from '../core/orchestrator-tool-runtime.js';
26
27
  // ---------------------------------------------------------------------------
27
28
  // Idle GC constants (customisable for tests)
28
29
  // ---------------------------------------------------------------------------
29
30
  const DEFAULT_IDLE_ACTIVE_MS = 30 * 60 * 1_000; // 30 minutes with messages
30
31
  const DEFAULT_IDLE_EMPTY_MS = 5 * 60 * 1_000; // 5 minutes empty session
31
32
  const GC_INTERVAL_MS = 60 * 1_000; // sweep every minute
33
+ const MAX_TOOL_ROUNDS_PER_TURN = 8;
32
34
  export class CompanionChatManager {
33
35
  sessions = new Map();
34
36
  provider;
35
37
  eventPublisher;
36
38
  toolRegistry;
39
+ permissionManager;
40
+ hookDispatcher;
41
+ runtimeBus;
37
42
  persistence;
38
43
  rateLimiter;
39
44
  idleActiveMs;
@@ -52,6 +57,9 @@ export class CompanionChatManager {
52
57
  this.provider = config.provider;
53
58
  this.eventPublisher = config.eventPublisher;
54
59
  this.toolRegistry = config.toolRegistry ?? null;
60
+ this.permissionManager = config.permissionManager ?? null;
61
+ this.hookDispatcher = config.hookDispatcher ?? null;
62
+ this.runtimeBus = config.runtimeBus ?? null;
55
63
  this.idleActiveMs = config.idleActiveMs ?? DEFAULT_IDLE_ACTIVE_MS;
56
64
  this.idleEmptyMs = config.idleEmptyMs ?? DEFAULT_IDLE_EMPTY_MS;
57
65
  // Persistence
@@ -309,91 +317,82 @@ export class CompanionChatManager {
309
317
  let assistantContent = '';
310
318
  const assistantMessageId = randomUUID();
311
319
  try {
312
- const messages = session.conversation.getMessagesForLLM();
313
- // Convert ProviderMessage[] to our minimal interface
314
- const chatMessages = messages.map((m) => ({
315
- role: m.role === 'user' ? 'user' : 'assistant',
316
- content: typeof m.content === 'string' ? m.content : JSON.stringify(m.content),
317
- }));
318
- const stream = this.provider.chatStream(chatMessages, {
319
- systemPrompt: session.meta.systemPrompt,
320
- model: session.meta.model,
321
- provider: session.meta.provider,
322
- abortSignal,
323
- });
324
- for await (const chunk of stream) {
325
- if (abortSignal.aborted)
326
- break;
327
- switch (chunk.type) {
328
- case 'text_delta': {
329
- const delta = chunk.delta ?? '';
330
- assistantContent += delta;
331
- publish({ type: 'turn.delta', sessionId, turnId, delta });
320
+ const toolDefinitions = this.toolRegistry?.getToolDefinitions() ?? [];
321
+ let completed = false;
322
+ for (let round = 0; round < MAX_TOOL_ROUNDS_PER_TURN; round++) {
323
+ const stream = this.provider.chatStream([...session.conversation.getMessagesForLLM()], {
324
+ systemPrompt: session.meta.systemPrompt,
325
+ model: session.meta.model,
326
+ provider: session.meta.provider,
327
+ tools: toolDefinitions,
328
+ abortSignal,
329
+ });
330
+ let roundAssistantContent = '';
331
+ const toolCalls = [];
332
+ for await (const chunk of stream) {
333
+ if (abortSignal.aborted)
332
334
  break;
333
- }
334
- case 'tool_call': {
335
- publish({
336
- type: 'turn.tool_call',
337
- sessionId,
338
- turnId,
339
- toolCallId: chunk.toolCallId ?? '',
340
- toolName: chunk.toolName ?? '',
341
- toolInput: chunk.toolInput ?? null,
342
- });
343
- // Execute via ToolRegistry if available
344
- if (this.toolRegistry && chunk.toolName && chunk.toolCallId) {
345
- const toolCallId = chunk.toolCallId;
346
- const toolName = chunk.toolName;
335
+ switch (chunk.type) {
336
+ case 'text_delta': {
337
+ const delta = chunk.delta ?? '';
338
+ roundAssistantContent += delta;
339
+ assistantContent += delta;
340
+ publish({ type: 'turn.delta', sessionId, turnId, delta });
341
+ break;
342
+ }
343
+ case 'tool_call': {
344
+ const toolCallId = chunk.toolCallId ?? '';
345
+ const toolName = chunk.toolName ?? '';
347
346
  const toolInput = (chunk.toolInput ?? {});
348
- try {
349
- const toolResult = await this.toolRegistry.execute(toolCallId, toolName, toolInput);
350
- publish({
351
- type: 'turn.tool_result',
352
- sessionId,
353
- turnId,
354
- toolCallId,
355
- toolName,
356
- result: toolResult.output ?? null,
357
- isError: !toolResult.success,
358
- });
359
- }
360
- catch (toolErr) {
361
- const errMsg = toolErr instanceof Error ? toolErr.message : String(toolErr);
362
- publish({
363
- type: 'turn.tool_result',
364
- sessionId,
365
- turnId,
366
- toolCallId,
367
- toolName,
368
- result: errMsg,
369
- isError: true,
370
- });
347
+ publish({
348
+ type: 'turn.tool_call',
349
+ sessionId,
350
+ turnId,
351
+ toolCallId,
352
+ toolName,
353
+ toolInput,
354
+ });
355
+ if (toolCallId && toolName) {
356
+ toolCalls.push({ id: toolCallId, name: toolName, arguments: toolInput });
371
357
  }
358
+ break;
372
359
  }
373
- break;
374
- }
375
- case 'tool_result': {
376
- publish({
377
- type: 'turn.tool_result',
378
- sessionId,
379
- turnId,
380
- toolCallId: chunk.toolCallId ?? '',
381
- toolName: chunk.toolName ?? '',
382
- result: chunk.result ?? null,
383
- isError: chunk.isError ?? false,
384
- });
385
- break;
386
- }
387
- case 'error': {
388
- throw new Error(chunk.error ?? 'Provider streaming error');
360
+ case 'tool_result': {
361
+ publish({
362
+ type: 'turn.tool_result',
363
+ sessionId,
364
+ turnId,
365
+ toolCallId: chunk.toolCallId ?? '',
366
+ toolName: chunk.toolName ?? '',
367
+ result: chunk.result ?? null,
368
+ isError: chunk.isError ?? false,
369
+ });
370
+ break;
371
+ }
372
+ case 'error': {
373
+ throw new Error(chunk.error ?? 'Provider streaming error');
374
+ }
375
+ case 'done':
376
+ break;
389
377
  }
390
- case 'done':
391
- break;
392
378
  }
379
+ if (abortSignal.aborted)
380
+ break;
381
+ if (toolCalls.length === 0) {
382
+ session.conversation.addAssistantMessage(roundAssistantContent);
383
+ completed = true;
384
+ break;
385
+ }
386
+ session.conversation.addAssistantMessage(roundAssistantContent, { toolCalls });
387
+ if (!this.toolRegistry) {
388
+ completed = true;
389
+ break;
390
+ }
391
+ const toolResults = await this._executeToolCalls(toolCalls, publish, sessionId, turnId);
392
+ session.conversation.addToolResults(toolResults);
393
393
  }
394
- // Append assistant reply to conversation
395
- if (assistantContent) {
396
- session.conversation.addAssistantMessage(assistantContent);
394
+ if (!completed && !abortSignal.aborted) {
395
+ throw new Error(`Companion chat exceeded ${MAX_TOOL_ROUNDS_PER_TURN} tool rounds without a final response`);
397
396
  }
398
397
  const now = Date.now();
399
398
  const assistantMsg = {
@@ -429,6 +428,57 @@ export class CompanionChatManager {
429
428
  }
430
429
  }
431
430
  }
431
+ async _executeToolCalls(toolCalls, publish, sessionId, turnId) {
432
+ const toolRegistry = this.toolRegistry;
433
+ if (!toolRegistry)
434
+ return [];
435
+ if (!this.permissionManager) {
436
+ return toolCalls.map((call) => {
437
+ const toolResult = {
438
+ callId: call.id,
439
+ success: false,
440
+ error: 'Tool execution denied: permission manager unavailable for companion chat',
441
+ };
442
+ publish({
443
+ type: 'turn.tool_result',
444
+ sessionId,
445
+ turnId,
446
+ toolCallId: call.id,
447
+ toolName: call.name,
448
+ result: toolResult.error,
449
+ isError: true,
450
+ });
451
+ return toolResult;
452
+ });
453
+ }
454
+ const results = await executeOrchestratorToolCalls({
455
+ toolRegistry,
456
+ permissionManager: this.permissionManager,
457
+ hookDispatcher: this.hookDispatcher,
458
+ runtimeBus: this.runtimeBus,
459
+ sessionId,
460
+ emitterContext: (id) => ({
461
+ sessionId,
462
+ traceId: `${sessionId}:${id}`,
463
+ source: 'companion-chat',
464
+ }),
465
+ }, turnId, toolCalls);
466
+ for (const [index, toolResult] of results.entries()) {
467
+ const call = toolCalls[index];
468
+ if (!call)
469
+ continue;
470
+ publish({
471
+ type: 'turn.tool_result',
472
+ sessionId,
473
+ turnId,
474
+ toolCallId: call.id,
475
+ toolName: call.name,
476
+ result: toolResult.output ?? toolResult.error ?? null,
477
+ isError: !toolResult.success,
478
+ });
479
+ }
480
+ return results;
481
+ }
432
482
  // ---------------------------------------------------------------------------
433
483
  // GC sweep
434
484
  // ---------------------------------------------------------------------------
@@ -36,6 +36,17 @@ export declare const surfaceConfigDefaults: {
36
36
  secret: string;
37
37
  setupVersion: number;
38
38
  };
39
+ homeassistant: {
40
+ enabled: boolean;
41
+ instanceUrl: string;
42
+ accessToken: string;
43
+ webhookSecret: string;
44
+ defaultConversationId: string;
45
+ deviceId: string;
46
+ deviceName: string;
47
+ eventType: string;
48
+ setupVersion: number;
49
+ };
39
50
  telegram: {
40
51
  enabled: boolean;
41
52
  botToken: string;
@@ -1 +1 @@
1
- {"version":3,"file":"schema-domain-surfaces.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/schema-domain-surfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoHjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,uBAAuB,EAmU1D,CAAC"}
1
+ {"version":3,"file":"schema-domain-surfaces.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/schema-domain-surfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+HjC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,uBAAuB,EAmX1D,CAAC"}
@@ -35,6 +35,17 @@ export const surfaceConfigDefaults = {
35
35
  secret: '',
36
36
  setupVersion: 0,
37
37
  },
38
+ homeassistant: {
39
+ enabled: false,
40
+ instanceUrl: '',
41
+ accessToken: '',
42
+ webhookSecret: '',
43
+ defaultConversationId: 'goodvibes',
44
+ deviceId: 'goodvibes-daemon',
45
+ deviceName: 'GoodVibes Daemon',
46
+ eventType: 'goodvibes_message',
47
+ setupVersion: 0,
48
+ },
38
49
  telegram: {
39
50
  enabled: false,
40
51
  botToken: '',
@@ -262,6 +273,54 @@ export const surfaceConfigSettings = [
262
273
  default: '',
263
274
  description: 'Shared secret used to sign or verify webhook payloads',
264
275
  },
276
+ {
277
+ key: 'surfaces.homeassistant.enabled',
278
+ type: 'boolean',
279
+ default: false,
280
+ description: 'Enable the Home Assistant daemon surface',
281
+ },
282
+ {
283
+ key: 'surfaces.homeassistant.instanceUrl',
284
+ type: 'string',
285
+ default: '',
286
+ description: 'Home Assistant base URL, for example http://homeassistant.local:8123',
287
+ },
288
+ {
289
+ key: 'surfaces.homeassistant.accessToken',
290
+ type: 'string',
291
+ default: '',
292
+ description: 'Home Assistant long-lived access token or goodvibes secret URI',
293
+ },
294
+ {
295
+ key: 'surfaces.homeassistant.webhookSecret',
296
+ type: 'string',
297
+ default: '',
298
+ description: 'Shared secret used to verify inbound Home Assistant callbacks',
299
+ },
300
+ {
301
+ key: 'surfaces.homeassistant.defaultConversationId',
302
+ type: 'string',
303
+ default: 'goodvibes',
304
+ description: 'Default Home Assistant conversation id used for route binding',
305
+ },
306
+ {
307
+ key: 'surfaces.homeassistant.deviceId',
308
+ type: 'string',
309
+ default: 'goodvibes-daemon',
310
+ description: 'Stable Home Assistant device identifier for this daemon',
311
+ },
312
+ {
313
+ key: 'surfaces.homeassistant.deviceName',
314
+ type: 'string',
315
+ default: 'GoodVibes Daemon',
316
+ description: 'Home Assistant device display name for this daemon',
317
+ },
318
+ {
319
+ key: 'surfaces.homeassistant.eventType',
320
+ type: 'string',
321
+ default: 'goodvibes_message',
322
+ description: 'Home Assistant event type used for daemon-to-Home Assistant deliveries',
323
+ },
265
324
  {
266
325
  key: 'surfaces.telegram.enabled',
267
326
  type: 'boolean',
@@ -110,6 +110,17 @@ export interface WebhookSurfaceConfig {
110
110
  secret: string;
111
111
  setupVersion: number;
112
112
  }
113
+ export interface HomeAssistantSurfaceConfig {
114
+ enabled: boolean;
115
+ instanceUrl: string;
116
+ accessToken: string;
117
+ webhookSecret: string;
118
+ defaultConversationId: string;
119
+ deviceId: string;
120
+ deviceName: string;
121
+ eventType: string;
122
+ setupVersion: number;
123
+ }
113
124
  export interface TelegramSurfaceConfig {
114
125
  enabled: boolean;
115
126
  botToken: string;
@@ -194,6 +205,7 @@ export interface SurfacesConfig {
194
205
  discord: DiscordSurfaceConfig;
195
206
  ntfy: NtfySurfaceConfig;
196
207
  webhook: WebhookSurfaceConfig;
208
+ homeassistant: HomeAssistantSurfaceConfig;
197
209
  telegram: TelegramSurfaceConfig;
198
210
  googleChat: GoogleChatSurfaceConfig;
199
211
  signal: SignalSurfaceConfig;
@@ -416,7 +428,7 @@ export interface ConfigSetting {
416
428
  validate?: (value: unknown) => boolean;
417
429
  }
418
430
  /** Dot-path config keys for all settings. */
419
- 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' | 'tts.provider' | 'tts.voice' | 'tts.llmProvider' | 'tts.llmModel' | '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.chatTopic' | 'surfaces.ntfy.agentTopic' | 'surfaces.ntfy.remoteTopic' | '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' | 'batch.mode' | 'batch.fallback' | 'batch.queueBackend' | 'batch.tickIntervalMs' | 'batch.maxDelayMs' | 'batch.maxJobsPerProviderBatch' | 'batch.maxQueuePayloadBytes' | 'batch.maxQueueMessagesPerDay' | 'cloudflare.enabled' | 'cloudflare.freeTierMode' | 'cloudflare.accountId' | 'cloudflare.apiTokenRef' | 'cloudflare.zoneId' | 'cloudflare.zoneName' | 'cloudflare.workerName' | 'cloudflare.workerSubdomain' | 'cloudflare.workerHostname' | 'cloudflare.workerBaseUrl' | 'cloudflare.daemonBaseUrl' | 'cloudflare.daemonHostname' | 'cloudflare.workerTokenRef' | 'cloudflare.workerClientTokenRef' | 'cloudflare.workerCron' | 'cloudflare.queueName' | 'cloudflare.deadLetterQueueName' | 'cloudflare.tunnelName' | 'cloudflare.tunnelId' | 'cloudflare.tunnelTokenRef' | 'cloudflare.accessAppId' | 'cloudflare.accessServiceTokenId' | 'cloudflare.accessServiceTokenRef' | 'cloudflare.kvNamespaceName' | 'cloudflare.kvNamespaceId' | 'cloudflare.durableObjectNamespaceName' | 'cloudflare.durableObjectNamespaceId' | 'cloudflare.r2BucketName' | 'cloudflare.secretsStoreName' | 'cloudflare.secretsStoreId' | 'cloudflare.maxQueueOpsPerDay';
431
+ 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' | 'tts.provider' | 'tts.voice' | 'tts.llmProvider' | 'tts.llmModel' | '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.chatTopic' | 'surfaces.ntfy.agentTopic' | 'surfaces.ntfy.remoteTopic' | 'surfaces.ntfy.token' | 'surfaces.ntfy.defaultPriority' | 'surfaces.webhook.enabled' | 'surfaces.webhook.defaultTarget' | 'surfaces.webhook.timeoutMs' | 'surfaces.webhook.secret' | 'surfaces.homeassistant.enabled' | 'surfaces.homeassistant.instanceUrl' | 'surfaces.homeassistant.accessToken' | 'surfaces.homeassistant.webhookSecret' | 'surfaces.homeassistant.defaultConversationId' | 'surfaces.homeassistant.deviceId' | 'surfaces.homeassistant.deviceName' | 'surfaces.homeassistant.eventType' | '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' | 'batch.mode' | 'batch.fallback' | 'batch.queueBackend' | 'batch.tickIntervalMs' | 'batch.maxDelayMs' | 'batch.maxJobsPerProviderBatch' | 'batch.maxQueuePayloadBytes' | 'batch.maxQueueMessagesPerDay' | 'cloudflare.enabled' | 'cloudflare.freeTierMode' | 'cloudflare.accountId' | 'cloudflare.apiTokenRef' | 'cloudflare.zoneId' | 'cloudflare.zoneName' | 'cloudflare.workerName' | 'cloudflare.workerSubdomain' | 'cloudflare.workerHostname' | 'cloudflare.workerBaseUrl' | 'cloudflare.daemonBaseUrl' | 'cloudflare.daemonHostname' | 'cloudflare.workerTokenRef' | 'cloudflare.workerClientTokenRef' | 'cloudflare.workerCron' | 'cloudflare.queueName' | 'cloudflare.deadLetterQueueName' | 'cloudflare.tunnelName' | 'cloudflare.tunnelId' | 'cloudflare.tunnelTokenRef' | 'cloudflare.accessAppId' | 'cloudflare.accessServiceTokenId' | 'cloudflare.accessServiceTokenRef' | 'cloudflare.kvNamespaceName' | 'cloudflare.kvNamespaceId' | 'cloudflare.durableObjectNamespaceName' | 'cloudflare.durableObjectNamespaceId' | 'cloudflare.r2BucketName' | 'cloudflare.secretsStoreName' | 'cloudflare.secretsStoreId' | 'cloudflare.maxQueueOpsPerDay';
420
432
  /** Maps a ConfigKey to its value type. */
421
- 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 'tts.provider' ? string : K extends 'tts.voice' ? string : K extends 'tts.llmProvider' ? string : K extends 'tts.llmModel' ? string : 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.chatTopic' ? string : K extends 'surfaces.ntfy.agentTopic' ? string : K extends 'surfaces.ntfy.remoteTopic' ? 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 : K extends 'batch.mode' ? BatchMode : K extends 'batch.fallback' ? BatchFallbackMode : K extends 'batch.queueBackend' ? BatchQueueBackend : K extends 'batch.tickIntervalMs' ? number : K extends 'batch.maxDelayMs' ? number : K extends 'batch.maxJobsPerProviderBatch' ? number : K extends 'batch.maxQueuePayloadBytes' ? number : K extends 'batch.maxQueueMessagesPerDay' ? number : K extends 'cloudflare.enabled' ? boolean : K extends 'cloudflare.freeTierMode' ? boolean : K extends 'cloudflare.accountId' ? string : K extends 'cloudflare.apiTokenRef' ? string : K extends 'cloudflare.zoneId' ? string : K extends 'cloudflare.zoneName' ? string : K extends 'cloudflare.workerName' ? string : K extends 'cloudflare.workerSubdomain' ? string : K extends 'cloudflare.workerHostname' ? string : K extends 'cloudflare.workerBaseUrl' ? string : K extends 'cloudflare.daemonBaseUrl' ? string : K extends 'cloudflare.daemonHostname' ? string : K extends 'cloudflare.workerTokenRef' ? string : K extends 'cloudflare.workerClientTokenRef' ? string : K extends 'cloudflare.workerCron' ? string : K extends 'cloudflare.queueName' ? string : K extends 'cloudflare.deadLetterQueueName' ? string : K extends 'cloudflare.tunnelName' ? string : K extends 'cloudflare.tunnelId' ? string : K extends 'cloudflare.tunnelTokenRef' ? string : K extends 'cloudflare.accessAppId' ? string : K extends 'cloudflare.accessServiceTokenId' ? string : K extends 'cloudflare.accessServiceTokenRef' ? string : K extends 'cloudflare.kvNamespaceName' ? string : K extends 'cloudflare.kvNamespaceId' ? string : K extends 'cloudflare.durableObjectNamespaceName' ? string : K extends 'cloudflare.durableObjectNamespaceId' ? string : K extends 'cloudflare.r2BucketName' ? string : K extends 'cloudflare.secretsStoreName' ? string : K extends 'cloudflare.secretsStoreId' ? string : K extends 'cloudflare.maxQueueOpsPerDay' ? number : never;
433
+ 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 'tts.provider' ? string : K extends 'tts.voice' ? string : K extends 'tts.llmProvider' ? string : K extends 'tts.llmModel' ? string : 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.chatTopic' ? string : K extends 'surfaces.ntfy.agentTopic' ? string : K extends 'surfaces.ntfy.remoteTopic' ? 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.homeassistant.enabled' ? boolean : K extends 'surfaces.homeassistant.instanceUrl' ? string : K extends 'surfaces.homeassistant.accessToken' ? string : K extends 'surfaces.homeassistant.webhookSecret' ? string : K extends 'surfaces.homeassistant.defaultConversationId' ? string : K extends 'surfaces.homeassistant.deviceId' ? string : K extends 'surfaces.homeassistant.deviceName' ? string : K extends 'surfaces.homeassistant.eventType' ? 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 : K extends 'batch.mode' ? BatchMode : K extends 'batch.fallback' ? BatchFallbackMode : K extends 'batch.queueBackend' ? BatchQueueBackend : K extends 'batch.tickIntervalMs' ? number : K extends 'batch.maxDelayMs' ? number : K extends 'batch.maxJobsPerProviderBatch' ? number : K extends 'batch.maxQueuePayloadBytes' ? number : K extends 'batch.maxQueueMessagesPerDay' ? number : K extends 'cloudflare.enabled' ? boolean : K extends 'cloudflare.freeTierMode' ? boolean : K extends 'cloudflare.accountId' ? string : K extends 'cloudflare.apiTokenRef' ? string : K extends 'cloudflare.zoneId' ? string : K extends 'cloudflare.zoneName' ? string : K extends 'cloudflare.workerName' ? string : K extends 'cloudflare.workerSubdomain' ? string : K extends 'cloudflare.workerHostname' ? string : K extends 'cloudflare.workerBaseUrl' ? string : K extends 'cloudflare.daemonBaseUrl' ? string : K extends 'cloudflare.daemonHostname' ? string : K extends 'cloudflare.workerTokenRef' ? string : K extends 'cloudflare.workerClientTokenRef' ? string : K extends 'cloudflare.workerCron' ? string : K extends 'cloudflare.queueName' ? string : K extends 'cloudflare.deadLetterQueueName' ? string : K extends 'cloudflare.tunnelName' ? string : K extends 'cloudflare.tunnelId' ? string : K extends 'cloudflare.tunnelTokenRef' ? string : K extends 'cloudflare.accessAppId' ? string : K extends 'cloudflare.accessServiceTokenId' ? string : K extends 'cloudflare.accessServiceTokenRef' ? string : K extends 'cloudflare.kvNamespaceName' ? string : K extends 'cloudflare.kvNamespaceId' ? string : K extends 'cloudflare.durableObjectNamespaceName' ? string : K extends 'cloudflare.durableObjectNamespaceId' ? string : K extends 'cloudflare.r2BucketName' ? string : K extends 'cloudflare.secretsStoreName' ? string : K extends 'cloudflare.secretsStoreId' ? string : K extends 'cloudflare.maxQueueOpsPerDay' ? number : never;
422
434
  //# sourceMappingURL=schema-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-types.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/schema-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-types.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/schema-types.ts"],"names":[],"mappings":"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"}