@probelabs/visor 0.1.170-ee → 0.1.171-ee
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.
- package/defaults/code-talk.yaml +39 -238
- package/defaults/intent-router.yaml +1 -0
- package/dist/agent-protocol/task-store.d.ts +5 -0
- package/dist/agent-protocol/task-store.d.ts.map +1 -1
- package/dist/agent-protocol/tasks-cli-handler.d.ts.map +1 -1
- package/dist/agent-protocol/track-execution.d.ts +34 -0
- package/dist/agent-protocol/track-execution.d.ts.map +1 -0
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/defaults/code-talk.yaml +39 -238
- package/dist/defaults/intent-router.yaml +1 -0
- package/dist/frontends/host.d.ts +2 -0
- package/dist/frontends/host.d.ts.map +1 -1
- package/dist/generated/config-schema.d.ts +10 -6
- package/dist/generated/config-schema.d.ts.map +1 -1
- package/dist/generated/config-schema.json +10 -6
- package/dist/index.js +696 -95
- package/dist/scheduler/scheduler.d.ts +4 -0
- package/dist/scheduler/scheduler.d.ts.map +1 -1
- package/dist/sdk/{a2a-frontend-YTXQGUDH.mjs → a2a-frontend-GUEGI5SX.mjs} +20 -3
- package/dist/sdk/a2a-frontend-GUEGI5SX.mjs.map +1 -0
- package/dist/sdk/{check-provider-registry-T5FWS4SW.mjs → check-provider-registry-7P2QIKJR.mjs} +8 -8
- package/dist/sdk/{check-provider-registry-Q2OVYSBJ.mjs → check-provider-registry-ZUU7KSKR.mjs} +7 -7
- package/dist/sdk/{chunk-FTUGQP5L.mjs → chunk-5SBX4KLG.mjs} +2 -2
- package/dist/sdk/{chunk-2CNT2EB3.mjs → chunk-6FXVWL6M.mjs} +3 -3
- package/dist/sdk/{chunk-KFKHU6CM.mjs → chunk-6VVXKXTI.mjs} +19 -2
- package/dist/sdk/chunk-6VVXKXTI.mjs.map +1 -0
- package/dist/sdk/{chunk-SVBF7Y2R.mjs → chunk-A2YVTICA.mjs} +11 -7
- package/dist/sdk/chunk-A2YVTICA.mjs.map +1 -0
- package/dist/sdk/{chunk-DLO46M5M.mjs → chunk-CXA3WUOB.mjs} +62 -23
- package/dist/sdk/chunk-CXA3WUOB.mjs.map +1 -0
- package/dist/sdk/{chunk-62PXPI6Q.mjs → chunk-GGNR347O.mjs} +8 -2
- package/dist/sdk/chunk-GGNR347O.mjs.map +1 -0
- package/dist/sdk/{chunk-46P7AYHG.mjs → chunk-YCPJBOJB.mjs} +68 -29
- package/dist/sdk/chunk-YCPJBOJB.mjs.map +1 -0
- package/dist/sdk/{config-IHECYTNT.mjs → config-6GWD673K.mjs} +2 -2
- package/dist/sdk/{failure-condition-evaluator-NJO6DSL4.mjs → failure-condition-evaluator-5HRNHZCC.mjs} +4 -3
- package/dist/sdk/{github-frontend-WPTKI4AY.mjs → github-frontend-ZZRU6P43.mjs} +7 -7
- package/dist/sdk/{host-6HV5FMD7.mjs → host-A7UNRBQU.mjs} +3 -3
- package/dist/sdk/host-A7UNRBQU.mjs.map +1 -0
- package/dist/sdk/{host-RATJKJW5.mjs → host-ECXTIDWG.mjs} +3 -3
- package/dist/sdk/host-ECXTIDWG.mjs.map +1 -0
- package/dist/sdk/{loader-NJCF7DUS.mjs → loader-QMJFFST6.mjs} +1 -1
- package/dist/sdk/{routing-RWZEXSRZ.mjs → routing-AMRQYI7J.mjs} +5 -4
- package/dist/sdk/{schedule-tool-VI5IUMEL.mjs → schedule-tool-DGVJDHJM.mjs} +7 -7
- package/dist/sdk/{schedule-tool-JCKV47FU.mjs → schedule-tool-I6VG3ZVA.mjs} +8 -8
- package/dist/sdk/{schedule-tool-handler-PIXYVVJY.mjs → schedule-tool-handler-DFUC5S55.mjs} +8 -8
- package/dist/sdk/{schedule-tool-handler-ZDAD6SWM.mjs → schedule-tool-handler-XLCSBU3E.mjs} +7 -7
- package/dist/sdk/sdk.d.mts +4 -0
- package/dist/sdk/sdk.d.ts +4 -0
- package/dist/sdk/sdk.js +429 -285
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +7 -7
- package/dist/sdk/{trace-helpers-ZYN23GBG.mjs → trace-helpers-4ZBZWH5W.mjs} +3 -2
- package/dist/sdk/track-execution-VWLQIGY7.mjs +82 -0
- package/dist/sdk/track-execution-VWLQIGY7.mjs.map +1 -0
- package/dist/sdk/{workflow-check-provider-OAOD3A5U.mjs → workflow-check-provider-AKXDIL2Y.mjs} +8 -8
- package/dist/sdk/{workflow-check-provider-W5FKQU5G.mjs → workflow-check-provider-KQNLEQEY.mjs} +7 -7
- package/dist/slack/socket-runner.d.ts +4 -0
- package/dist/slack/socket-runner.d.ts.map +1 -1
- package/dist/telemetry/trace-helpers.d.ts.map +1 -1
- package/dist/tui/chat-runner.d.ts +4 -0
- package/dist/tui/chat-runner.d.ts.map +1 -1
- package/dist/types/cli.d.ts +2 -0
- package/dist/types/cli.d.ts.map +1 -1
- package/dist/types/config.d.ts +4 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/instance-id.d.ts +9 -0
- package/dist/utils/instance-id.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/sdk/a2a-frontend-YTXQGUDH.mjs.map +0 -1
- package/dist/sdk/chunk-46P7AYHG.mjs.map +0 -1
- package/dist/sdk/chunk-62PXPI6Q.mjs.map +0 -1
- package/dist/sdk/chunk-DLO46M5M.mjs.map +0 -1
- package/dist/sdk/chunk-KFKHU6CM.mjs.map +0 -1
- package/dist/sdk/chunk-SVBF7Y2R.mjs.map +0 -1
- package/dist/sdk/host-6HV5FMD7.mjs.map +0 -1
- package/dist/sdk/host-RATJKJW5.mjs.map +0 -1
- /package/dist/sdk/{check-provider-registry-Q2OVYSBJ.mjs.map → check-provider-registry-7P2QIKJR.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-T5FWS4SW.mjs.map → check-provider-registry-ZUU7KSKR.mjs.map} +0 -0
- /package/dist/sdk/{chunk-FTUGQP5L.mjs.map → chunk-5SBX4KLG.mjs.map} +0 -0
- /package/dist/sdk/{chunk-2CNT2EB3.mjs.map → chunk-6FXVWL6M.mjs.map} +0 -0
- /package/dist/sdk/{config-IHECYTNT.mjs.map → config-6GWD673K.mjs.map} +0 -0
- /package/dist/sdk/{failure-condition-evaluator-NJO6DSL4.mjs.map → failure-condition-evaluator-5HRNHZCC.mjs.map} +0 -0
- /package/dist/sdk/{github-frontend-WPTKI4AY.mjs.map → github-frontend-ZZRU6P43.mjs.map} +0 -0
- /package/dist/sdk/{loader-NJCF7DUS.mjs.map → loader-QMJFFST6.mjs.map} +0 -0
- /package/dist/sdk/{routing-RWZEXSRZ.mjs.map → routing-AMRQYI7J.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-JCKV47FU.mjs.map → schedule-tool-DGVJDHJM.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-VI5IUMEL.mjs.map → schedule-tool-I6VG3ZVA.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-PIXYVVJY.mjs.map → schedule-tool-handler-DFUC5S55.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-ZDAD6SWM.mjs.map → schedule-tool-handler-XLCSBU3E.mjs.map} +0 -0
- /package/dist/sdk/{trace-helpers-ZYN23GBG.mjs.map → trace-helpers-4ZBZWH5W.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-OAOD3A5U.mjs.map → workflow-check-provider-AKXDIL2Y.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-W5FKQU5G.mjs.map → workflow-check-provider-KQNLEQEY.mjs.map} +0 -0
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
ConfigManager,
|
|
3
3
|
VALID_EVENT_TRIGGERS,
|
|
4
4
|
init_config
|
|
5
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
5
|
-
import "./chunk-
|
|
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-
|
|
18
|
+
//# sourceMappingURL=failure-condition-evaluator-5HRNHZCC.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-
|
|
13
|
-
import "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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":[]}
|
|
@@ -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-
|
|
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-
|
|
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-
|
|
75
|
+
//# sourceMappingURL=host-ECXTIDWG.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-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
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-
|
|
26
|
+
//# sourceMappingURL=routing-AMRQYI7J.mjs.map
|
|
@@ -4,8 +4,7 @@ import {
|
|
|
4
4
|
handleScheduleAction,
|
|
5
5
|
init_schedule_tool,
|
|
6
6
|
isScheduleTool
|
|
7
|
-
} from "./chunk-
|
|
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-
|
|
15
|
+
import "./chunk-A2YVTICA.mjs";
|
|
17
16
|
import "./chunk-NCWIZVOT.mjs";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
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-
|
|
36
|
+
//# sourceMappingURL=schedule-tool-DGVJDHJM.mjs.map
|
|
@@ -4,20 +4,20 @@ import {
|
|
|
4
4
|
handleScheduleAction,
|
|
5
5
|
init_schedule_tool,
|
|
6
6
|
isScheduleTool
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-KFKHU6CM.mjs";
|
|
9
|
-
import "./chunk-AVMMKGLQ.mjs";
|
|
7
|
+
} from "./chunk-YCPJBOJB.mjs";
|
|
10
8
|
import "./chunk-YSOIR46P.mjs";
|
|
9
|
+
import "./chunk-AVMMKGLQ.mjs";
|
|
11
10
|
import "./chunk-LG4AUKHB.mjs";
|
|
12
11
|
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-
|
|
15
|
+
import "./chunk-A2YVTICA.mjs";
|
|
17
16
|
import "./chunk-NCWIZVOT.mjs";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
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-
|
|
36
|
+
//# sourceMappingURL=schedule-tool-I6VG3ZVA.mjs.map
|
|
@@ -6,20 +6,20 @@ import {
|
|
|
6
6
|
extractSlackContext,
|
|
7
7
|
init_schedule_tool_handler,
|
|
8
8
|
isScheduleToolCall
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-KFKHU6CM.mjs";
|
|
11
|
-
import "./chunk-AVMMKGLQ.mjs";
|
|
9
|
+
} from "./chunk-YCPJBOJB.mjs";
|
|
12
10
|
import "./chunk-YSOIR46P.mjs";
|
|
11
|
+
import "./chunk-AVMMKGLQ.mjs";
|
|
13
12
|
import "./chunk-LG4AUKHB.mjs";
|
|
14
13
|
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-
|
|
17
|
+
import "./chunk-A2YVTICA.mjs";
|
|
19
18
|
import "./chunk-NCWIZVOT.mjs";
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
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-
|
|
40
|
+
//# sourceMappingURL=schedule-tool-handler-DFUC5S55.mjs.map
|
|
@@ -6,8 +6,7 @@ import {
|
|
|
6
6
|
extractSlackContext,
|
|
7
7
|
init_schedule_tool_handler,
|
|
8
8
|
isScheduleToolCall
|
|
9
|
-
} from "./chunk-
|
|
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-
|
|
17
|
+
import "./chunk-A2YVTICA.mjs";
|
|
19
18
|
import "./chunk-NCWIZVOT.mjs";
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
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-
|
|
40
|
+
//# sourceMappingURL=schedule-tool-handler-XLCSBU3E.mjs.map
|
package/dist/sdk/sdk.d.mts
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
|
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
|