@probelabs/visor 0.1.170 → 0.1.171

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 (125) hide show
  1. package/defaults/code-talk.yaml +39 -238
  2. package/defaults/intent-router.yaml +1 -0
  3. package/dist/agent-protocol/task-store.d.ts +5 -0
  4. package/dist/agent-protocol/task-store.d.ts.map +1 -1
  5. package/dist/agent-protocol/tasks-cli-handler.d.ts.map +1 -1
  6. package/dist/agent-protocol/track-execution.d.ts +34 -0
  7. package/dist/agent-protocol/track-execution.d.ts.map +1 -0
  8. package/dist/cli-main.d.ts.map +1 -1
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/defaults/code-talk.yaml +39 -238
  11. package/dist/defaults/intent-router.yaml +1 -0
  12. package/dist/frontends/host.d.ts +2 -0
  13. package/dist/frontends/host.d.ts.map +1 -1
  14. package/dist/generated/config-schema.d.ts +10 -6
  15. package/dist/generated/config-schema.d.ts.map +1 -1
  16. package/dist/generated/config-schema.json +10 -6
  17. package/dist/index.js +696 -95
  18. package/dist/output/traces/{run-2026-03-07T15-43-18-430Z.ndjson → run-2026-03-08T07-55-35-120Z.ndjson} +84 -84
  19. package/dist/{traces/run-2026-03-07T15-43-56-196Z.ndjson → output/traces/run-2026-03-08T07-56-13-035Z.ndjson} +1807 -1807
  20. package/dist/scheduler/scheduler.d.ts +4 -0
  21. package/dist/scheduler/scheduler.d.ts.map +1 -1
  22. package/dist/sdk/{a2a-frontend-YTXQGUDH.mjs → a2a-frontend-FGJ3UBHX.mjs} +20 -3
  23. package/dist/sdk/a2a-frontend-FGJ3UBHX.mjs.map +1 -0
  24. package/dist/sdk/{a2a-frontend-IPLHACI6.mjs → a2a-frontend-GUEGI5SX.mjs} +20 -3
  25. package/dist/sdk/a2a-frontend-GUEGI5SX.mjs.map +1 -0
  26. package/dist/sdk/{check-provider-registry-5CMLUEFG.mjs → check-provider-registry-PVTV5G5R.mjs} +7 -7
  27. package/dist/sdk/{check-provider-registry-STRAOYRJ.mjs → check-provider-registry-YTI4PU5F.mjs} +7 -7
  28. package/dist/sdk/{check-provider-registry-T5FWS4SW.mjs → check-provider-registry-ZUU7KSKR.mjs} +7 -7
  29. package/dist/sdk/{chunk-NYQTQYGU.mjs → chunk-2VDUNKIP.mjs} +62 -23
  30. package/dist/sdk/chunk-2VDUNKIP.mjs.map +1 -0
  31. package/dist/sdk/{chunk-WNLCRRQO.mjs → chunk-5SBX4KLG.mjs} +2 -2
  32. package/dist/sdk/{chunk-FTUGQP5L.mjs → chunk-6FDBLSGV.mjs} +2 -2
  33. package/dist/sdk/{chunk-2CNT2EB3.mjs → chunk-6FXVWL6M.mjs} +3 -3
  34. package/dist/sdk/{chunk-KFKHU6CM.mjs → chunk-6VVXKXTI.mjs} +19 -2
  35. package/dist/sdk/chunk-6VVXKXTI.mjs.map +1 -0
  36. package/dist/sdk/{chunk-SVBF7Y2R.mjs → chunk-A2YVTICA.mjs} +11 -7
  37. package/dist/sdk/chunk-A2YVTICA.mjs.map +1 -0
  38. package/dist/sdk/{chunk-47WAHGHK.mjs → chunk-AJK3FAA2.mjs} +3 -3
  39. package/dist/sdk/{chunk-DLO46M5M.mjs → chunk-CXA3WUOB.mjs} +62 -23
  40. package/dist/sdk/chunk-CXA3WUOB.mjs.map +1 -0
  41. package/dist/sdk/{chunk-62PXPI6Q.mjs → chunk-GGNR347O.mjs} +8 -2
  42. package/dist/sdk/chunk-GGNR347O.mjs.map +1 -0
  43. package/dist/sdk/{chunk-ZM7ALGTE.mjs → chunk-O72J3ORS.mjs} +9 -3
  44. package/dist/sdk/chunk-O72J3ORS.mjs.map +1 -0
  45. package/dist/sdk/{chunk-LB77GR4Q.mjs → chunk-XUQSI5SR.mjs} +62 -23
  46. package/dist/sdk/chunk-XUQSI5SR.mjs.map +1 -0
  47. package/dist/sdk/{config-IHECYTNT.mjs → config-6GWD673K.mjs} +2 -2
  48. package/dist/sdk/{failure-condition-evaluator-NJO6DSL4.mjs → failure-condition-evaluator-5HRNHZCC.mjs} +4 -3
  49. package/dist/sdk/{failure-condition-evaluator-T67YFO2Z.mjs → failure-condition-evaluator-EFMCQVAK.mjs} +4 -3
  50. package/dist/sdk/{github-frontend-BAPXDLBB.mjs → github-frontend-XG55VJ4R.mjs} +7 -7
  51. package/dist/sdk/{github-frontend-WPTKI4AY.mjs → github-frontend-ZZRU6P43.mjs} +7 -7
  52. package/dist/sdk/{host-6HV5FMD7.mjs → host-A4GGQVEN.mjs} +3 -3
  53. package/dist/sdk/host-A4GGQVEN.mjs.map +1 -0
  54. package/dist/sdk/{host-K6IZWJG3.mjs → host-A7UNRBQU.mjs} +3 -3
  55. package/dist/sdk/host-A7UNRBQU.mjs.map +1 -0
  56. package/dist/sdk/{routing-RWZEXSRZ.mjs → routing-AMRQYI7J.mjs} +5 -4
  57. package/dist/sdk/{routing-SAGHEUOA.mjs → routing-BVEHVZHK.mjs} +5 -4
  58. package/dist/sdk/{schedule-tool-JCKV47FU.mjs → schedule-tool-4MTFIHCA.mjs} +7 -7
  59. package/dist/sdk/{schedule-tool-TGWPINHO.mjs → schedule-tool-DGVJDHJM.mjs} +7 -7
  60. package/dist/sdk/{schedule-tool-H4G5ITNL.mjs → schedule-tool-PHSF5U2B.mjs} +7 -7
  61. package/dist/sdk/{schedule-tool-handler-OEBLE5AB.mjs → schedule-tool-handler-EFNCZNS7.mjs} +7 -7
  62. package/dist/sdk/{schedule-tool-handler-UQWDPFP6.mjs → schedule-tool-handler-LMXQ4BZQ.mjs} +7 -7
  63. package/dist/sdk/{schedule-tool-handler-ZDAD6SWM.mjs → schedule-tool-handler-XLCSBU3E.mjs} +7 -7
  64. package/dist/sdk/sdk.d.mts +4 -0
  65. package/dist/sdk/sdk.d.ts +4 -0
  66. package/dist/sdk/sdk.js +398 -254
  67. package/dist/sdk/sdk.js.map +1 -1
  68. package/dist/sdk/sdk.mjs +6 -6
  69. package/dist/sdk/{trace-helpers-ZYN23GBG.mjs → trace-helpers-4ZBZWH5W.mjs} +3 -2
  70. package/dist/sdk/{trace-helpers-M7RVAZQ2.mjs → trace-helpers-P5L4COO4.mjs} +3 -2
  71. package/dist/sdk/track-execution-VWLQIGY7.mjs +82 -0
  72. package/dist/sdk/track-execution-VWLQIGY7.mjs.map +1 -0
  73. package/dist/sdk/{workflow-check-provider-OAOD3A5U.mjs → workflow-check-provider-KQNLEQEY.mjs} +7 -7
  74. package/dist/sdk/{workflow-check-provider-VDSZR7Y5.mjs → workflow-check-provider-WLMTCFRA.mjs} +7 -7
  75. package/dist/sdk/{workflow-check-provider-FAO4AUGB.mjs → workflow-check-provider-X5EMAJUZ.mjs} +7 -7
  76. package/dist/slack/socket-runner.d.ts +4 -0
  77. package/dist/slack/socket-runner.d.ts.map +1 -1
  78. package/dist/telemetry/trace-helpers.d.ts.map +1 -1
  79. package/dist/traces/{run-2026-03-07T15-43-18-430Z.ndjson → run-2026-03-08T07-55-35-120Z.ndjson} +84 -84
  80. package/dist/{output/traces/run-2026-03-07T15-43-56-196Z.ndjson → traces/run-2026-03-08T07-56-13-035Z.ndjson} +1807 -1807
  81. package/dist/tui/chat-runner.d.ts +4 -0
  82. package/dist/tui/chat-runner.d.ts.map +1 -1
  83. package/dist/types/cli.d.ts +2 -0
  84. package/dist/types/cli.d.ts.map +1 -1
  85. package/dist/types/config.d.ts +4 -0
  86. package/dist/types/config.d.ts.map +1 -1
  87. package/dist/utils/instance-id.d.ts +9 -0
  88. package/dist/utils/instance-id.d.ts.map +1 -0
  89. package/package.json +2 -2
  90. package/dist/sdk/a2a-frontend-IPLHACI6.mjs.map +0 -1
  91. package/dist/sdk/a2a-frontend-YTXQGUDH.mjs.map +0 -1
  92. package/dist/sdk/chunk-62PXPI6Q.mjs.map +0 -1
  93. package/dist/sdk/chunk-DLO46M5M.mjs.map +0 -1
  94. package/dist/sdk/chunk-KFKHU6CM.mjs.map +0 -1
  95. package/dist/sdk/chunk-LB77GR4Q.mjs.map +0 -1
  96. package/dist/sdk/chunk-NYQTQYGU.mjs.map +0 -1
  97. package/dist/sdk/chunk-SVBF7Y2R.mjs.map +0 -1
  98. package/dist/sdk/chunk-ZM7ALGTE.mjs.map +0 -1
  99. package/dist/sdk/host-6HV5FMD7.mjs.map +0 -1
  100. package/dist/sdk/host-K6IZWJG3.mjs.map +0 -1
  101. /package/dist/sdk/{check-provider-registry-5CMLUEFG.mjs.map → check-provider-registry-PVTV5G5R.mjs.map} +0 -0
  102. /package/dist/sdk/{check-provider-registry-STRAOYRJ.mjs.map → check-provider-registry-YTI4PU5F.mjs.map} +0 -0
  103. /package/dist/sdk/{check-provider-registry-T5FWS4SW.mjs.map → check-provider-registry-ZUU7KSKR.mjs.map} +0 -0
  104. /package/dist/sdk/{chunk-FTUGQP5L.mjs.map → chunk-5SBX4KLG.mjs.map} +0 -0
  105. /package/dist/sdk/{chunk-WNLCRRQO.mjs.map → chunk-6FDBLSGV.mjs.map} +0 -0
  106. /package/dist/sdk/{chunk-2CNT2EB3.mjs.map → chunk-6FXVWL6M.mjs.map} +0 -0
  107. /package/dist/sdk/{chunk-47WAHGHK.mjs.map → chunk-AJK3FAA2.mjs.map} +0 -0
  108. /package/dist/sdk/{config-IHECYTNT.mjs.map → config-6GWD673K.mjs.map} +0 -0
  109. /package/dist/sdk/{failure-condition-evaluator-NJO6DSL4.mjs.map → failure-condition-evaluator-5HRNHZCC.mjs.map} +0 -0
  110. /package/dist/sdk/{failure-condition-evaluator-T67YFO2Z.mjs.map → failure-condition-evaluator-EFMCQVAK.mjs.map} +0 -0
  111. /package/dist/sdk/{github-frontend-BAPXDLBB.mjs.map → github-frontend-XG55VJ4R.mjs.map} +0 -0
  112. /package/dist/sdk/{github-frontend-WPTKI4AY.mjs.map → github-frontend-ZZRU6P43.mjs.map} +0 -0
  113. /package/dist/sdk/{routing-RWZEXSRZ.mjs.map → routing-AMRQYI7J.mjs.map} +0 -0
  114. /package/dist/sdk/{routing-SAGHEUOA.mjs.map → routing-BVEHVZHK.mjs.map} +0 -0
  115. /package/dist/sdk/{schedule-tool-H4G5ITNL.mjs.map → schedule-tool-4MTFIHCA.mjs.map} +0 -0
  116. /package/dist/sdk/{schedule-tool-JCKV47FU.mjs.map → schedule-tool-DGVJDHJM.mjs.map} +0 -0
  117. /package/dist/sdk/{schedule-tool-TGWPINHO.mjs.map → schedule-tool-PHSF5U2B.mjs.map} +0 -0
  118. /package/dist/sdk/{schedule-tool-handler-OEBLE5AB.mjs.map → schedule-tool-handler-EFNCZNS7.mjs.map} +0 -0
  119. /package/dist/sdk/{schedule-tool-handler-UQWDPFP6.mjs.map → schedule-tool-handler-LMXQ4BZQ.mjs.map} +0 -0
  120. /package/dist/sdk/{schedule-tool-handler-ZDAD6SWM.mjs.map → schedule-tool-handler-XLCSBU3E.mjs.map} +0 -0
  121. /package/dist/sdk/{trace-helpers-M7RVAZQ2.mjs.map → trace-helpers-4ZBZWH5W.mjs.map} +0 -0
  122. /package/dist/sdk/{trace-helpers-ZYN23GBG.mjs.map → trace-helpers-P5L4COO4.mjs.map} +0 -0
  123. /package/dist/sdk/{workflow-check-provider-FAO4AUGB.mjs.map → workflow-check-provider-KQNLEQEY.mjs.map} +0 -0
  124. /package/dist/sdk/{workflow-check-provider-OAOD3A5U.mjs.map → workflow-check-provider-WLMTCFRA.mjs.map} +0 -0
  125. /package/dist/sdk/{workflow-check-provider-VDSZR7Y5.mjs.map → workflow-check-provider-X5EMAJUZ.mjs.map} +0 -0
@@ -2,7 +2,7 @@ import {
2
2
  ConfigManager,
3
3
  VALID_EVENT_TRIGGERS,
4
4
  init_config
5
- } from "./chunk-SVBF7Y2R.mjs";
5
+ } from "./chunk-A2YVTICA.mjs";
6
6
  import "./chunk-NCWIZVOT.mjs";
7
7
  import "./chunk-LW3INISN.mjs";
8
8
  import "./chunk-SZXICFQ3.mjs";
@@ -13,4 +13,4 @@ export {
13
13
  ConfigManager,
14
14
  VALID_EVENT_TRIGGERS
15
15
  };
16
- //# sourceMappingURL=config-IHECYTNT.mjs.map
16
+ //# sourceMappingURL=config-6GWD673K.mjs.map
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  FailureConditionEvaluator,
3
3
  init_failure_condition_evaluator
4
- } from "./chunk-FTUGQP5L.mjs";
5
- import "./chunk-62PXPI6Q.mjs";
4
+ } from "./chunk-5SBX4KLG.mjs";
5
+ import "./chunk-GGNR347O.mjs";
6
+ import "./chunk-6VVXKXTI.mjs";
6
7
  import "./chunk-JL7JXCET.mjs";
7
8
  import "./chunk-25IC7KXZ.mjs";
8
9
  import "./chunk-LW3INISN.mjs";
@@ -14,4 +15,4 @@ init_failure_condition_evaluator();
14
15
  export {
15
16
  FailureConditionEvaluator
16
17
  };
17
- //# sourceMappingURL=failure-condition-evaluator-NJO6DSL4.mjs.map
18
+ //# sourceMappingURL=failure-condition-evaluator-5HRNHZCC.mjs.map
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  FailureConditionEvaluator,
3
3
  init_failure_condition_evaluator
4
- } from "./chunk-WNLCRRQO.mjs";
5
- import "./chunk-ZM7ALGTE.mjs";
4
+ } from "./chunk-6FDBLSGV.mjs";
5
+ import "./chunk-O72J3ORS.mjs";
6
+ import "./chunk-6VVXKXTI.mjs";
6
7
  import "./chunk-JL7JXCET.mjs";
7
8
  import "./chunk-25IC7KXZ.mjs";
8
9
  import "./chunk-LW3INISN.mjs";
@@ -14,4 +15,4 @@ init_failure_condition_evaluator();
14
15
  export {
15
16
  FailureConditionEvaluator
16
17
  };
17
- //# sourceMappingURL=failure-condition-evaluator-T67YFO2Z.mjs.map
18
+ //# sourceMappingURL=failure-condition-evaluator-EFMCQVAK.mjs.map
@@ -2,15 +2,15 @@ import {
2
2
  extractTextFromJson,
3
3
  init_json_text_extractor
4
4
  } from "./chunk-H5BOW5CR.mjs";
5
- import {
6
- generateShortHumanId,
7
- init_human_id
8
- } from "./chunk-KFKHU6CM.mjs";
9
5
  import {
10
6
  failure_condition_evaluator_exports,
11
7
  init_failure_condition_evaluator
12
- } from "./chunk-WNLCRRQO.mjs";
13
- import "./chunk-ZM7ALGTE.mjs";
8
+ } from "./chunk-6FDBLSGV.mjs";
9
+ import "./chunk-O72J3ORS.mjs";
10
+ import {
11
+ generateShortHumanId,
12
+ init_human_id
13
+ } from "./chunk-6VVXKXTI.mjs";
14
14
  import "./chunk-JL7JXCET.mjs";
15
15
  import "./chunk-25IC7KXZ.mjs";
16
16
  import "./chunk-LW3INISN.mjs";
@@ -1383,4 +1383,4 @@ init_github_frontend();
1383
1383
  export {
1384
1384
  GitHubFrontend
1385
1385
  };
1386
- //# sourceMappingURL=github-frontend-BAPXDLBB.mjs.map
1386
+ //# sourceMappingURL=github-frontend-XG55VJ4R.mjs.map
@@ -2,15 +2,15 @@ import {
2
2
  extractTextFromJson,
3
3
  init_json_text_extractor
4
4
  } from "./chunk-H5BOW5CR.mjs";
5
- import {
6
- generateShortHumanId,
7
- init_human_id
8
- } from "./chunk-KFKHU6CM.mjs";
9
5
  import {
10
6
  failure_condition_evaluator_exports,
11
7
  init_failure_condition_evaluator
12
- } from "./chunk-FTUGQP5L.mjs";
13
- import "./chunk-62PXPI6Q.mjs";
8
+ } from "./chunk-5SBX4KLG.mjs";
9
+ import "./chunk-GGNR347O.mjs";
10
+ import {
11
+ generateShortHumanId,
12
+ init_human_id
13
+ } from "./chunk-6VVXKXTI.mjs";
14
14
  import "./chunk-JL7JXCET.mjs";
15
15
  import "./chunk-25IC7KXZ.mjs";
16
16
  import "./chunk-LW3INISN.mjs";
@@ -1383,4 +1383,4 @@ init_github_frontend();
1383
1383
  export {
1384
1384
  GitHubFrontend
1385
1385
  };
1386
- //# sourceMappingURL=github-frontend-WPTKI4AY.mjs.map
1386
+ //# sourceMappingURL=github-frontend-ZZRU6P43.mjs.map
@@ -24,7 +24,7 @@ var init_host = __esm({
24
24
  const { NdjsonSink } = await import("./ndjson-sink-FD2PSXGD.mjs");
25
25
  this.frontends.push(new NdjsonSink(spec.config));
26
26
  } else if (spec.name === "github") {
27
- const { GitHubFrontend } = await import("./github-frontend-WPTKI4AY.mjs");
27
+ const { GitHubFrontend } = await import("./github-frontend-XG55VJ4R.mjs");
28
28
  this.frontends.push(new GitHubFrontend());
29
29
  } else if (spec.name === "slack") {
30
30
  const { SlackFrontend } = await import("./slack-frontend-QO7LW5BH.mjs");
@@ -33,7 +33,7 @@ var init_host = __esm({
33
33
  const { TuiFrontend } = await import("./tui-frontend-T56PZB67.mjs");
34
34
  this.frontends.push(new TuiFrontend(spec.config));
35
35
  } else if (spec.name === "a2a") {
36
- const { A2AFrontend } = await import("./a2a-frontend-YTXQGUDH.mjs");
36
+ const { A2AFrontend } = await import("./a2a-frontend-FGJ3UBHX.mjs");
37
37
  this.frontends.push(new A2AFrontend(spec.config));
38
38
  } else {
39
39
  this.log.warn(`[FrontendsHost] Unknown frontend '${spec.name}', skipping`);
@@ -72,4 +72,4 @@ export {
72
72
  FrontendsHost,
73
73
  isActiveFrontend
74
74
  };
75
- //# sourceMappingURL=host-6HV5FMD7.mjs.map
75
+ //# sourceMappingURL=host-A4GGQVEN.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/frontends/host.ts"],"sourcesContent":["import { EventBus } from '../event-bus/event-bus';\nimport type { TaskStore } from '../agent-protocol/task-store';\n\nexport interface FrontendContext {\n eventBus: EventBus;\n logger: {\n info: (...a: any[]) => void;\n warn: (...a: any[]) => void;\n error: (...a: any[]) => void;\n };\n config: unknown;\n run: {\n runId: string;\n workflowId?: string;\n repo?: { owner: string; name: string };\n pr?: number;\n headSha?: string;\n event?: string;\n actor?: string;\n };\n octokit?: any;\n // Optional webhook context (e.g., Slack Events API payload injected by socket runner)\n webhookContext?: { webhookData?: Map<string, unknown>; eventType?: string };\n // Optional engine reference for frontends that spawn their own execution runs (e.g., A2A)\n engine?: any;\n // Optional full VisorConfig for frontends that need access to checks/workflows\n visorConfig?: any;\n // Optional shared task store for cross-frontend execution tracking (when task_tracking is enabled)\n taskStore?: TaskStore;\n}\n\nexport interface Frontend {\n readonly name: string;\n start(ctx: FrontendContext): Promise<void> | void;\n stop(): Promise<void> | void;\n}\n\n/** Frontends that can trigger their own engine executions (e.g., A2A). */\nexport interface ActiveFrontend extends Frontend {\n setEngine(engine: any): void;\n setVisorConfig(config: any): void;\n}\n\n/** Type guard for ActiveFrontend (duck-typed). */\nexport function isActiveFrontend(f: Frontend): f is ActiveFrontend {\n return (\n typeof (f as any).setEngine === 'function' && typeof (f as any).setVisorConfig === 'function'\n );\n}\n\nexport interface FrontendSpec {\n name: string; // e.g., 'ndjson-sink', 'github', 'slack'\n package?: string; // external package name (future)\n config?: unknown;\n}\n\nexport class FrontendsHost {\n private bus: EventBus;\n private log: FrontendContext['logger'];\n private frontends: Frontend[] = [];\n\n constructor(bus: EventBus, log: FrontendContext['logger']) {\n this.bus = bus;\n this.log = log;\n }\n\n async load(specs: FrontendSpec[]): Promise<void> {\n this.frontends = [];\n for (const spec of specs) {\n if (spec.name === 'ndjson-sink') {\n const { NdjsonSink } = await import('./ndjson-sink');\n this.frontends.push(new NdjsonSink(spec.config));\n } else if (spec.name === 'github') {\n const { GitHubFrontend } = await import('./github-frontend');\n this.frontends.push(new GitHubFrontend());\n } else if (spec.name === 'slack') {\n const { SlackFrontend } = await import('./slack-frontend');\n this.frontends.push(new SlackFrontend(spec.config as any));\n } else if (spec.name === 'tui') {\n const { TuiFrontend } = await import('../tui/tui-frontend');\n this.frontends.push(new TuiFrontend(spec.config as any));\n } else if (spec.name === 'a2a') {\n const { A2AFrontend } = await import('../agent-protocol/a2a-frontend');\n this.frontends.push(new A2AFrontend(spec.config as any));\n } else {\n this.log.warn(`[FrontendsHost] Unknown frontend '${spec.name}', skipping`);\n }\n }\n }\n\n async startAll(ctxFactory: () => FrontendContext): Promise<void> {\n for (const f of this.frontends) {\n try {\n const ctx = ctxFactory();\n // Auto-inject engine/config into active frontends\n if (isActiveFrontend(f)) {\n if (ctx.engine) f.setEngine(ctx.engine);\n if (ctx.visorConfig) f.setVisorConfig(ctx.visorConfig);\n }\n await f.start(ctx);\n this.log.info(`[FrontendsHost] Started frontend '${f.name}'`);\n } catch (err) {\n this.log.error(`[FrontendsHost] Failed to start '${f.name}':`, err);\n }\n }\n }\n\n async stopAll(): Promise<void> {\n for (const f of this.frontends) {\n try {\n await f.stop();\n } catch (err) {\n this.log.error(`[FrontendsHost] Failed to stop '${f.name}':`, err);\n }\n }\n }\n}\n"],"mappings":";;;;;AA4CO,SAAS,iBAAiB,GAAkC;AACjE,SACE,OAAQ,EAAU,cAAc,cAAc,OAAQ,EAAU,mBAAmB;AAEvF;AAhDA,IAwDa;AAxDb;AAAA;AAwDO,IAAM,gBAAN,MAAoB;AAAA,MACjB;AAAA,MACA;AAAA,MACA,YAAwB,CAAC;AAAA,MAEjC,YAAY,KAAe,KAAgC;AACzD,aAAK,MAAM;AACX,aAAK,MAAM;AAAA,MACb;AAAA,MAEA,MAAM,KAAK,OAAsC;AAC/C,aAAK,YAAY,CAAC;AAClB,mBAAW,QAAQ,OAAO;AACxB,cAAI,KAAK,SAAS,eAAe;AAC/B,kBAAM,EAAE,WAAW,IAAI,MAAM,OAAO,4BAAe;AACnD,iBAAK,UAAU,KAAK,IAAI,WAAW,KAAK,MAAM,CAAC;AAAA,UACjD,WAAW,KAAK,SAAS,UAAU;AACjC,kBAAM,EAAE,eAAe,IAAI,MAAM,OAAO,gCAAmB;AAC3D,iBAAK,UAAU,KAAK,IAAI,eAAe,CAAC;AAAA,UAC1C,WAAW,KAAK,SAAS,SAAS;AAChC,kBAAM,EAAE,cAAc,IAAI,MAAM,OAAO,+BAAkB;AACzD,iBAAK,UAAU,KAAK,IAAI,cAAc,KAAK,MAAa,CAAC;AAAA,UAC3D,WAAW,KAAK,SAAS,OAAO;AAC9B,kBAAM,EAAE,YAAY,IAAI,MAAM,OAAO,6BAAqB;AAC1D,iBAAK,UAAU,KAAK,IAAI,YAAY,KAAK,MAAa,CAAC;AAAA,UACzD,WAAW,KAAK,SAAS,OAAO;AAC9B,kBAAM,EAAE,YAAY,IAAI,MAAM,OAAO,6BAAgC;AACrE,iBAAK,UAAU,KAAK,IAAI,YAAY,KAAK,MAAa,CAAC;AAAA,UACzD,OAAO;AACL,iBAAK,IAAI,KAAK,qCAAqC,KAAK,IAAI,aAAa;AAAA,UAC3E;AAAA,QACF;AAAA,MACF;AAAA,MAEA,MAAM,SAAS,YAAkD;AAC/D,mBAAW,KAAK,KAAK,WAAW;AAC9B,cAAI;AACF,kBAAM,MAAM,WAAW;AAEvB,gBAAI,iBAAiB,CAAC,GAAG;AACvB,kBAAI,IAAI,OAAQ,GAAE,UAAU,IAAI,MAAM;AACtC,kBAAI,IAAI,YAAa,GAAE,eAAe,IAAI,WAAW;AAAA,YACvD;AACA,kBAAM,EAAE,MAAM,GAAG;AACjB,iBAAK,IAAI,KAAK,qCAAqC,EAAE,IAAI,GAAG;AAAA,UAC9D,SAAS,KAAK;AACZ,iBAAK,IAAI,MAAM,oCAAoC,EAAE,IAAI,MAAM,GAAG;AAAA,UACpE;AAAA,QACF;AAAA,MACF;AAAA,MAEA,MAAM,UAAyB;AAC7B,mBAAW,KAAK,KAAK,WAAW;AAC9B,cAAI;AACF,kBAAM,EAAE,KAAK;AAAA,UACf,SAAS,KAAK;AACZ,iBAAK,IAAI,MAAM,mCAAmC,EAAE,IAAI,MAAM,GAAG;AAAA,UACnE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;","names":[]}
@@ -24,7 +24,7 @@ var init_host = __esm({
24
24
  const { NdjsonSink } = await import("./ndjson-sink-FD2PSXGD.mjs");
25
25
  this.frontends.push(new NdjsonSink(spec.config));
26
26
  } else if (spec.name === "github") {
27
- const { GitHubFrontend } = await import("./github-frontend-BAPXDLBB.mjs");
27
+ const { GitHubFrontend } = await import("./github-frontend-ZZRU6P43.mjs");
28
28
  this.frontends.push(new GitHubFrontend());
29
29
  } else if (spec.name === "slack") {
30
30
  const { SlackFrontend } = await import("./slack-frontend-QO7LW5BH.mjs");
@@ -33,7 +33,7 @@ var init_host = __esm({
33
33
  const { TuiFrontend } = await import("./tui-frontend-T56PZB67.mjs");
34
34
  this.frontends.push(new TuiFrontend(spec.config));
35
35
  } else if (spec.name === "a2a") {
36
- const { A2AFrontend } = await import("./a2a-frontend-IPLHACI6.mjs");
36
+ const { A2AFrontend } = await import("./a2a-frontend-GUEGI5SX.mjs");
37
37
  this.frontends.push(new A2AFrontend(spec.config));
38
38
  } else {
39
39
  this.log.warn(`[FrontendsHost] Unknown frontend '${spec.name}', skipping`);
@@ -72,4 +72,4 @@ export {
72
72
  FrontendsHost,
73
73
  isActiveFrontend
74
74
  };
75
- //# sourceMappingURL=host-K6IZWJG3.mjs.map
75
+ //# sourceMappingURL=host-A7UNRBQU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/frontends/host.ts"],"sourcesContent":["import { EventBus } from '../event-bus/event-bus';\nimport type { TaskStore } from '../agent-protocol/task-store';\n\nexport interface FrontendContext {\n eventBus: EventBus;\n logger: {\n info: (...a: any[]) => void;\n warn: (...a: any[]) => void;\n error: (...a: any[]) => void;\n };\n config: unknown;\n run: {\n runId: string;\n workflowId?: string;\n repo?: { owner: string; name: string };\n pr?: number;\n headSha?: string;\n event?: string;\n actor?: string;\n };\n octokit?: any;\n // Optional webhook context (e.g., Slack Events API payload injected by socket runner)\n webhookContext?: { webhookData?: Map<string, unknown>; eventType?: string };\n // Optional engine reference for frontends that spawn their own execution runs (e.g., A2A)\n engine?: any;\n // Optional full VisorConfig for frontends that need access to checks/workflows\n visorConfig?: any;\n // Optional shared task store for cross-frontend execution tracking (when task_tracking is enabled)\n taskStore?: TaskStore;\n}\n\nexport interface Frontend {\n readonly name: string;\n start(ctx: FrontendContext): Promise<void> | void;\n stop(): Promise<void> | void;\n}\n\n/** Frontends that can trigger their own engine executions (e.g., A2A). */\nexport interface ActiveFrontend extends Frontend {\n setEngine(engine: any): void;\n setVisorConfig(config: any): void;\n}\n\n/** Type guard for ActiveFrontend (duck-typed). */\nexport function isActiveFrontend(f: Frontend): f is ActiveFrontend {\n return (\n typeof (f as any).setEngine === 'function' && typeof (f as any).setVisorConfig === 'function'\n );\n}\n\nexport interface FrontendSpec {\n name: string; // e.g., 'ndjson-sink', 'github', 'slack'\n package?: string; // external package name (future)\n config?: unknown;\n}\n\nexport class FrontendsHost {\n private bus: EventBus;\n private log: FrontendContext['logger'];\n private frontends: Frontend[] = [];\n\n constructor(bus: EventBus, log: FrontendContext['logger']) {\n this.bus = bus;\n this.log = log;\n }\n\n async load(specs: FrontendSpec[]): Promise<void> {\n this.frontends = [];\n for (const spec of specs) {\n if (spec.name === 'ndjson-sink') {\n const { NdjsonSink } = await import('./ndjson-sink');\n this.frontends.push(new NdjsonSink(spec.config));\n } else if (spec.name === 'github') {\n const { GitHubFrontend } = await import('./github-frontend');\n this.frontends.push(new GitHubFrontend());\n } else if (spec.name === 'slack') {\n const { SlackFrontend } = await import('./slack-frontend');\n this.frontends.push(new SlackFrontend(spec.config as any));\n } else if (spec.name === 'tui') {\n const { TuiFrontend } = await import('../tui/tui-frontend');\n this.frontends.push(new TuiFrontend(spec.config as any));\n } else if (spec.name === 'a2a') {\n const { A2AFrontend } = await import('../agent-protocol/a2a-frontend');\n this.frontends.push(new A2AFrontend(spec.config as any));\n } else {\n this.log.warn(`[FrontendsHost] Unknown frontend '${spec.name}', skipping`);\n }\n }\n }\n\n async startAll(ctxFactory: () => FrontendContext): Promise<void> {\n for (const f of this.frontends) {\n try {\n const ctx = ctxFactory();\n // Auto-inject engine/config into active frontends\n if (isActiveFrontend(f)) {\n if (ctx.engine) f.setEngine(ctx.engine);\n if (ctx.visorConfig) f.setVisorConfig(ctx.visorConfig);\n }\n await f.start(ctx);\n this.log.info(`[FrontendsHost] Started frontend '${f.name}'`);\n } catch (err) {\n this.log.error(`[FrontendsHost] Failed to start '${f.name}':`, err);\n }\n }\n }\n\n async stopAll(): Promise<void> {\n for (const f of this.frontends) {\n try {\n await f.stop();\n } catch (err) {\n this.log.error(`[FrontendsHost] Failed to stop '${f.name}':`, err);\n }\n }\n }\n}\n"],"mappings":";;;;;AA4CO,SAAS,iBAAiB,GAAkC;AACjE,SACE,OAAQ,EAAU,cAAc,cAAc,OAAQ,EAAU,mBAAmB;AAEvF;AAhDA,IAwDa;AAxDb;AAAA;AAwDO,IAAM,gBAAN,MAAoB;AAAA,MACjB;AAAA,MACA;AAAA,MACA,YAAwB,CAAC;AAAA,MAEjC,YAAY,KAAe,KAAgC;AACzD,aAAK,MAAM;AACX,aAAK,MAAM;AAAA,MACb;AAAA,MAEA,MAAM,KAAK,OAAsC;AAC/C,aAAK,YAAY,CAAC;AAClB,mBAAW,QAAQ,OAAO;AACxB,cAAI,KAAK,SAAS,eAAe;AAC/B,kBAAM,EAAE,WAAW,IAAI,MAAM,OAAO,4BAAe;AACnD,iBAAK,UAAU,KAAK,IAAI,WAAW,KAAK,MAAM,CAAC;AAAA,UACjD,WAAW,KAAK,SAAS,UAAU;AACjC,kBAAM,EAAE,eAAe,IAAI,MAAM,OAAO,gCAAmB;AAC3D,iBAAK,UAAU,KAAK,IAAI,eAAe,CAAC;AAAA,UAC1C,WAAW,KAAK,SAAS,SAAS;AAChC,kBAAM,EAAE,cAAc,IAAI,MAAM,OAAO,+BAAkB;AACzD,iBAAK,UAAU,KAAK,IAAI,cAAc,KAAK,MAAa,CAAC;AAAA,UAC3D,WAAW,KAAK,SAAS,OAAO;AAC9B,kBAAM,EAAE,YAAY,IAAI,MAAM,OAAO,6BAAqB;AAC1D,iBAAK,UAAU,KAAK,IAAI,YAAY,KAAK,MAAa,CAAC;AAAA,UACzD,WAAW,KAAK,SAAS,OAAO;AAC9B,kBAAM,EAAE,YAAY,IAAI,MAAM,OAAO,6BAAgC;AACrE,iBAAK,UAAU,KAAK,IAAI,YAAY,KAAK,MAAa,CAAC;AAAA,UACzD,OAAO;AACL,iBAAK,IAAI,KAAK,qCAAqC,KAAK,IAAI,aAAa;AAAA,UAC3E;AAAA,QACF;AAAA,MACF;AAAA,MAEA,MAAM,SAAS,YAAkD;AAC/D,mBAAW,KAAK,KAAK,WAAW;AAC9B,cAAI;AACF,kBAAM,MAAM,WAAW;AAEvB,gBAAI,iBAAiB,CAAC,GAAG;AACvB,kBAAI,IAAI,OAAQ,GAAE,UAAU,IAAI,MAAM;AACtC,kBAAI,IAAI,YAAa,GAAE,eAAe,IAAI,WAAW;AAAA,YACvD;AACA,kBAAM,EAAE,MAAM,GAAG;AACjB,iBAAK,IAAI,KAAK,qCAAqC,EAAE,IAAI,GAAG;AAAA,UAC9D,SAAS,KAAK;AACZ,iBAAK,IAAI,MAAM,oCAAoC,EAAE,IAAI,MAAM,GAAG;AAAA,UACpE;AAAA,QACF;AAAA,MACF;AAAA,MAEA,MAAM,UAAyB;AAC7B,mBAAW,KAAK,KAAK,WAAW;AAC9B,cAAI;AACF,kBAAM,EAAE,KAAK;AAAA,UACf,SAAS,KAAK;AACZ,iBAAK,IAAI,MAAM,mCAAmC,EAAE,IAAI,MAAM,GAAG;AAAA,UACnE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;","names":[]}
@@ -4,9 +4,10 @@ import {
4
4
  evaluateTransitions,
5
5
  handleRouting,
6
6
  init_routing
7
- } from "./chunk-2CNT2EB3.mjs";
8
- import "./chunk-FTUGQP5L.mjs";
9
- import "./chunk-62PXPI6Q.mjs";
7
+ } from "./chunk-6FXVWL6M.mjs";
8
+ import "./chunk-5SBX4KLG.mjs";
9
+ import "./chunk-GGNR347O.mjs";
10
+ import "./chunk-6VVXKXTI.mjs";
10
11
  import "./chunk-JL7JXCET.mjs";
11
12
  import "./chunk-ZUEQNCKB.mjs";
12
13
  import "./chunk-25IC7KXZ.mjs";
@@ -22,4 +23,4 @@ export {
22
23
  evaluateTransitions,
23
24
  handleRouting
24
25
  };
25
- //# sourceMappingURL=routing-RWZEXSRZ.mjs.map
26
+ //# sourceMappingURL=routing-AMRQYI7J.mjs.map
@@ -4,9 +4,10 @@ import {
4
4
  evaluateTransitions,
5
5
  handleRouting,
6
6
  init_routing
7
- } from "./chunk-47WAHGHK.mjs";
8
- import "./chunk-WNLCRRQO.mjs";
9
- import "./chunk-ZM7ALGTE.mjs";
7
+ } from "./chunk-AJK3FAA2.mjs";
8
+ import "./chunk-6FDBLSGV.mjs";
9
+ import "./chunk-O72J3ORS.mjs";
10
+ import "./chunk-6VVXKXTI.mjs";
10
11
  import "./chunk-JL7JXCET.mjs";
11
12
  import "./chunk-ZUEQNCKB.mjs";
12
13
  import "./chunk-25IC7KXZ.mjs";
@@ -22,4 +23,4 @@ export {
22
23
  evaluateTransitions,
23
24
  handleRouting
24
25
  };
25
- //# sourceMappingURL=routing-SAGHEUOA.mjs.map
26
+ //# sourceMappingURL=routing-BVEHVZHK.mjs.map
@@ -4,8 +4,7 @@ import {
4
4
  handleScheduleAction,
5
5
  init_schedule_tool,
6
6
  isScheduleTool
7
- } from "./chunk-DLO46M5M.mjs";
8
- import "./chunk-KFKHU6CM.mjs";
7
+ } from "./chunk-2VDUNKIP.mjs";
9
8
  import "./chunk-AVMMKGLQ.mjs";
10
9
  import "./chunk-YSOIR46P.mjs";
11
10
  import "./chunk-LG4AUKHB.mjs";
@@ -13,11 +12,12 @@ import "./chunk-B7BVQM5K.mjs";
13
12
  import "./chunk-XXAEN5KU.mjs";
14
13
  import "./chunk-GEW6LS32.mjs";
15
14
  import "./chunk-NZADFXHE.mjs";
16
- import "./chunk-SVBF7Y2R.mjs";
15
+ import "./chunk-A2YVTICA.mjs";
17
16
  import "./chunk-NCWIZVOT.mjs";
18
- import "./chunk-2CNT2EB3.mjs";
19
- import "./chunk-FTUGQP5L.mjs";
20
- import "./chunk-62PXPI6Q.mjs";
17
+ import "./chunk-6FXVWL6M.mjs";
18
+ import "./chunk-5SBX4KLG.mjs";
19
+ import "./chunk-GGNR347O.mjs";
20
+ import "./chunk-6VVXKXTI.mjs";
21
21
  import "./chunk-JL7JXCET.mjs";
22
22
  import "./chunk-ZUEQNCKB.mjs";
23
23
  import "./chunk-25IC7KXZ.mjs";
@@ -33,4 +33,4 @@ export {
33
33
  handleScheduleAction,
34
34
  isScheduleTool
35
35
  };
36
- //# sourceMappingURL=schedule-tool-JCKV47FU.mjs.map
36
+ //# sourceMappingURL=schedule-tool-4MTFIHCA.mjs.map
@@ -4,8 +4,7 @@ import {
4
4
  handleScheduleAction,
5
5
  init_schedule_tool,
6
6
  isScheduleTool
7
- } from "./chunk-NYQTQYGU.mjs";
8
- import "./chunk-KFKHU6CM.mjs";
7
+ } from "./chunk-CXA3WUOB.mjs";
9
8
  import "./chunk-AVMMKGLQ.mjs";
10
9
  import "./chunk-YSOIR46P.mjs";
11
10
  import "./chunk-LG4AUKHB.mjs";
@@ -13,11 +12,12 @@ import "./chunk-B7BVQM5K.mjs";
13
12
  import "./chunk-XXAEN5KU.mjs";
14
13
  import "./chunk-GEW6LS32.mjs";
15
14
  import "./chunk-NZADFXHE.mjs";
16
- import "./chunk-SVBF7Y2R.mjs";
15
+ import "./chunk-A2YVTICA.mjs";
17
16
  import "./chunk-NCWIZVOT.mjs";
18
- import "./chunk-47WAHGHK.mjs";
19
- import "./chunk-WNLCRRQO.mjs";
20
- import "./chunk-ZM7ALGTE.mjs";
17
+ import "./chunk-6FXVWL6M.mjs";
18
+ import "./chunk-5SBX4KLG.mjs";
19
+ import "./chunk-GGNR347O.mjs";
20
+ import "./chunk-6VVXKXTI.mjs";
21
21
  import "./chunk-JL7JXCET.mjs";
22
22
  import "./chunk-ZUEQNCKB.mjs";
23
23
  import "./chunk-25IC7KXZ.mjs";
@@ -33,4 +33,4 @@ export {
33
33
  handleScheduleAction,
34
34
  isScheduleTool
35
35
  };
36
- //# sourceMappingURL=schedule-tool-TGWPINHO.mjs.map
36
+ //# sourceMappingURL=schedule-tool-DGVJDHJM.mjs.map
@@ -4,8 +4,7 @@ import {
4
4
  handleScheduleAction,
5
5
  init_schedule_tool,
6
6
  isScheduleTool
7
- } from "./chunk-LB77GR4Q.mjs";
8
- import "./chunk-KFKHU6CM.mjs";
7
+ } from "./chunk-XUQSI5SR.mjs";
9
8
  import "./chunk-AVMMKGLQ.mjs";
10
9
  import "./chunk-YSOIR46P.mjs";
11
10
  import "./chunk-LG4AUKHB.mjs";
@@ -13,11 +12,12 @@ import "./chunk-B7BVQM5K.mjs";
13
12
  import "./chunk-XXAEN5KU.mjs";
14
13
  import "./chunk-GEW6LS32.mjs";
15
14
  import "./chunk-NZADFXHE.mjs";
16
- import "./chunk-SVBF7Y2R.mjs";
15
+ import "./chunk-A2YVTICA.mjs";
17
16
  import "./chunk-NCWIZVOT.mjs";
18
- import "./chunk-2CNT2EB3.mjs";
19
- import "./chunk-FTUGQP5L.mjs";
20
- import "./chunk-62PXPI6Q.mjs";
17
+ import "./chunk-AJK3FAA2.mjs";
18
+ import "./chunk-6FDBLSGV.mjs";
19
+ import "./chunk-O72J3ORS.mjs";
20
+ import "./chunk-6VVXKXTI.mjs";
21
21
  import "./chunk-JL7JXCET.mjs";
22
22
  import "./chunk-ZUEQNCKB.mjs";
23
23
  import "./chunk-25IC7KXZ.mjs";
@@ -33,4 +33,4 @@ export {
33
33
  handleScheduleAction,
34
34
  isScheduleTool
35
35
  };
36
- //# sourceMappingURL=schedule-tool-H4G5ITNL.mjs.map
36
+ //# sourceMappingURL=schedule-tool-PHSF5U2B.mjs.map
@@ -6,8 +6,7 @@ import {
6
6
  extractSlackContext,
7
7
  init_schedule_tool_handler,
8
8
  isScheduleToolCall
9
- } from "./chunk-NYQTQYGU.mjs";
10
- import "./chunk-KFKHU6CM.mjs";
9
+ } from "./chunk-XUQSI5SR.mjs";
11
10
  import "./chunk-AVMMKGLQ.mjs";
12
11
  import "./chunk-YSOIR46P.mjs";
13
12
  import "./chunk-LG4AUKHB.mjs";
@@ -15,11 +14,12 @@ import "./chunk-B7BVQM5K.mjs";
15
14
  import "./chunk-XXAEN5KU.mjs";
16
15
  import "./chunk-GEW6LS32.mjs";
17
16
  import "./chunk-NZADFXHE.mjs";
18
- import "./chunk-SVBF7Y2R.mjs";
17
+ import "./chunk-A2YVTICA.mjs";
19
18
  import "./chunk-NCWIZVOT.mjs";
20
- import "./chunk-47WAHGHK.mjs";
21
- import "./chunk-WNLCRRQO.mjs";
22
- import "./chunk-ZM7ALGTE.mjs";
19
+ import "./chunk-AJK3FAA2.mjs";
20
+ import "./chunk-6FDBLSGV.mjs";
21
+ import "./chunk-O72J3ORS.mjs";
22
+ import "./chunk-6VVXKXTI.mjs";
23
23
  import "./chunk-JL7JXCET.mjs";
24
24
  import "./chunk-ZUEQNCKB.mjs";
25
25
  import "./chunk-25IC7KXZ.mjs";
@@ -37,4 +37,4 @@ export {
37
37
  extractSlackContext,
38
38
  isScheduleToolCall
39
39
  };
40
- //# sourceMappingURL=schedule-tool-handler-OEBLE5AB.mjs.map
40
+ //# sourceMappingURL=schedule-tool-handler-EFNCZNS7.mjs.map
@@ -6,8 +6,7 @@ import {
6
6
  extractSlackContext,
7
7
  init_schedule_tool_handler,
8
8
  isScheduleToolCall
9
- } from "./chunk-LB77GR4Q.mjs";
10
- import "./chunk-KFKHU6CM.mjs";
9
+ } from "./chunk-2VDUNKIP.mjs";
11
10
  import "./chunk-AVMMKGLQ.mjs";
12
11
  import "./chunk-YSOIR46P.mjs";
13
12
  import "./chunk-LG4AUKHB.mjs";
@@ -15,11 +14,12 @@ import "./chunk-B7BVQM5K.mjs";
15
14
  import "./chunk-XXAEN5KU.mjs";
16
15
  import "./chunk-GEW6LS32.mjs";
17
16
  import "./chunk-NZADFXHE.mjs";
18
- import "./chunk-SVBF7Y2R.mjs";
17
+ import "./chunk-A2YVTICA.mjs";
19
18
  import "./chunk-NCWIZVOT.mjs";
20
- import "./chunk-2CNT2EB3.mjs";
21
- import "./chunk-FTUGQP5L.mjs";
22
- import "./chunk-62PXPI6Q.mjs";
19
+ import "./chunk-6FXVWL6M.mjs";
20
+ import "./chunk-5SBX4KLG.mjs";
21
+ import "./chunk-GGNR347O.mjs";
22
+ import "./chunk-6VVXKXTI.mjs";
23
23
  import "./chunk-JL7JXCET.mjs";
24
24
  import "./chunk-ZUEQNCKB.mjs";
25
25
  import "./chunk-25IC7KXZ.mjs";
@@ -37,4 +37,4 @@ export {
37
37
  extractSlackContext,
38
38
  isScheduleToolCall
39
39
  };
40
- //# sourceMappingURL=schedule-tool-handler-UQWDPFP6.mjs.map
40
+ //# sourceMappingURL=schedule-tool-handler-LMXQ4BZQ.mjs.map
@@ -6,8 +6,7 @@ import {
6
6
  extractSlackContext,
7
7
  init_schedule_tool_handler,
8
8
  isScheduleToolCall
9
- } from "./chunk-DLO46M5M.mjs";
10
- import "./chunk-KFKHU6CM.mjs";
9
+ } from "./chunk-CXA3WUOB.mjs";
11
10
  import "./chunk-AVMMKGLQ.mjs";
12
11
  import "./chunk-YSOIR46P.mjs";
13
12
  import "./chunk-LG4AUKHB.mjs";
@@ -15,11 +14,12 @@ import "./chunk-B7BVQM5K.mjs";
15
14
  import "./chunk-XXAEN5KU.mjs";
16
15
  import "./chunk-GEW6LS32.mjs";
17
16
  import "./chunk-NZADFXHE.mjs";
18
- import "./chunk-SVBF7Y2R.mjs";
17
+ import "./chunk-A2YVTICA.mjs";
19
18
  import "./chunk-NCWIZVOT.mjs";
20
- import "./chunk-2CNT2EB3.mjs";
21
- import "./chunk-FTUGQP5L.mjs";
22
- import "./chunk-62PXPI6Q.mjs";
19
+ import "./chunk-6FXVWL6M.mjs";
20
+ import "./chunk-5SBX4KLG.mjs";
21
+ import "./chunk-GGNR347O.mjs";
22
+ import "./chunk-6VVXKXTI.mjs";
23
23
  import "./chunk-JL7JXCET.mjs";
24
24
  import "./chunk-ZUEQNCKB.mjs";
25
25
  import "./chunk-25IC7KXZ.mjs";
@@ -37,4 +37,4 @@ export {
37
37
  extractSlackContext,
38
38
  isScheduleToolCall
39
39
  };
40
- //# sourceMappingURL=schedule-tool-handler-ZDAD6SWM.mjs.map
40
+ //# sourceMappingURL=schedule-tool-handler-XLCSBU3E.mjs.map
@@ -1541,6 +1541,10 @@ interface VisorConfig {
1541
1541
  policy?: PolicyConfig;
1542
1542
  /** Agent protocol (A2A) server configuration */
1543
1543
  agent_protocol?: AgentProtocolConfig;
1544
+ /** Enable cross-frontend task tracking (default: false).
1545
+ * When true, all workflow executions (CLI, Slack, TUI, Scheduler) are recorded
1546
+ * in a shared SQLite TaskStore visible via `visor tasks`. */
1547
+ task_tracking?: boolean;
1544
1548
  }
1545
1549
  /**
1546
1550
  * Workspace isolation configuration
package/dist/sdk/sdk.d.ts CHANGED
@@ -1541,6 +1541,10 @@ interface VisorConfig {
1541
1541
  policy?: PolicyConfig;
1542
1542
  /** Agent protocol (A2A) server configuration */
1543
1543
  agent_protocol?: AgentProtocolConfig;
1544
+ /** Enable cross-frontend task tracking (default: false).
1545
+ * When true, all workflow executions (CLI, Slack, TUI, Scheduler) are recorded
1546
+ * in a shared SQLite TaskStore visible via `visor tasks`. */
1547
+ task_tracking?: boolean;
1544
1548
  }
1545
1549
  /**
1546
1550
  * Workspace isolation configuration