@wjarka/cezarion 0.14.8 → 0.14.9-dev.1009
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/README.md +131 -2
- package/dist/application-update/bin-recovery.d.ts +5 -0
- package/dist/application-update/bin-recovery.js +96 -0
- package/dist/application-update/bin-recovery.js.map +1 -0
- package/dist/application-update/discovery.d.ts +22 -0
- package/dist/application-update/discovery.js +91 -0
- package/dist/application-update/discovery.js.map +1 -0
- package/dist/application-update/helper.d.ts +57 -0
- package/dist/application-update/helper.js +374 -0
- package/dist/application-update/helper.js.map +1 -0
- package/dist/application-update/launcher.d.ts +8 -0
- package/dist/application-update/launcher.js +53 -0
- package/dist/application-update/launcher.js.map +1 -0
- package/dist/application-update/lock.d.ts +4 -0
- package/dist/application-update/lock.js +70 -0
- package/dist/application-update/lock.js.map +1 -0
- package/dist/application-update/npm-process.d.ts +17 -0
- package/dist/application-update/npm-process.js +133 -0
- package/dist/application-update/npm-process.js.map +1 -0
- package/dist/application-update/service.d.ts +69 -0
- package/dist/application-update/service.js +456 -0
- package/dist/application-update/service.js.map +1 -0
- package/dist/artifacts/cli.d.ts +1 -0
- package/dist/artifacts/cli.js +32 -0
- package/dist/artifacts/cli.js.map +1 -0
- package/dist/artifacts/lifecycle.d.ts +4 -0
- package/dist/artifacts/lifecycle.js +42 -0
- package/dist/artifacts/lifecycle.js.map +1 -0
- package/dist/artifacts/resolve.d.ts +18 -0
- package/dist/artifacts/resolve.js +102 -0
- package/dist/artifacts/resolve.js.map +1 -0
- package/dist/artifacts/store.d.ts +8 -0
- package/dist/artifacts/store.js +323 -0
- package/dist/artifacts/store.js.map +1 -0
- package/dist/automations/scheduler.d.ts +6 -0
- package/dist/automations/scheduler.js +45 -17
- package/dist/automations/scheduler.js.map +1 -1
- package/dist/automations/store.d.ts +12 -4
- package/dist/automations/store.js +199 -22
- package/dist/automations/store.js.map +1 -1
- package/dist/automations/types.d.ts +2 -0
- package/dist/automations/types.js +1 -0
- package/dist/automations/types.js.map +1 -1
- package/dist/ci-wait/mcp.d.ts +3 -0
- package/dist/ci-wait/mcp.js +14 -3
- package/dist/ci-wait/mcp.js.map +1 -1
- package/dist/contract/application-update.d.ts +32 -0
- package/dist/contract/artifacts.d.ts +83 -0
- package/dist/contract/ask-schema.d.ts +32 -0
- package/dist/contract/ask.d.ts +2 -32
- package/dist/contract/automations.d.ts +6 -0
- package/dist/contract/conversations.d.ts +165 -0
- package/dist/contract/delegation.d.ts +68 -0
- package/dist/contract/discovery.d.ts +134 -0
- package/dist/contract/events.d.ts +49 -0
- package/dist/contract/health.d.ts +12 -0
- package/dist/contract/index.d.ts +3 -0
- package/dist/contract/index.js +1654 -1454
- package/dist/contract/projects.d.ts +40 -0
- package/dist/contract/runs.d.ts +186 -0
- package/dist/contract/skills.d.ts +33 -0
- package/dist/core/agent-runner.d.ts +33 -4
- package/dist/core/agent-runner.js +5 -0
- package/dist/core/agent-runner.js.map +1 -1
- package/dist/core/claude-cli-runner.d.ts +6 -12
- package/dist/core/claude-cli-runner.js +90 -20
- package/dist/core/claude-cli-runner.js.map +1 -1
- package/dist/core/codex-app-server-runner.d.ts +2 -1
- package/dist/core/codex-app-server-runner.js +327 -92
- package/dist/core/codex-app-server-runner.js.map +1 -1
- package/dist/core/codex-app-server-transport.d.ts +13 -1
- package/dist/core/codex-app-server-transport.js +58 -17
- package/dist/core/codex-app-server-transport.js.map +1 -1
- package/dist/core/cursor-acp-runner.d.ts +6 -1
- package/dist/core/cursor-acp-runner.js +162 -26
- package/dist/core/cursor-acp-runner.js.map +1 -1
- package/dist/core/cursor-provider-error.d.ts +3 -0
- package/dist/core/cursor-provider-error.js +16 -1
- package/dist/core/cursor-provider-error.js.map +1 -1
- package/dist/core/input-submissions.d.ts +14 -0
- package/dist/core/input-submissions.js +26 -0
- package/dist/core/input-submissions.js.map +1 -0
- package/dist/core/opencode-server-runner.d.ts +4 -1
- package/dist/core/opencode-server-runner.js +156 -26
- package/dist/core/opencode-server-runner.js.map +1 -1
- package/dist/core/pi-runner.d.ts +2 -1
- package/dist/core/pi-runner.js +88 -10
- package/dist/core/pi-runner.js.map +1 -1
- package/dist/core/provider-auth.d.ts +99 -1
- package/dist/core/provider-auth.js +203 -2
- package/dist/core/provider-auth.js.map +1 -1
- package/dist/delegation/cli.d.ts +1 -0
- package/dist/delegation/cli.js +103 -7
- package/dist/delegation/cli.js.map +1 -1
- package/dist/delegation/conversations.js +13 -5
- package/dist/delegation/conversations.js.map +1 -1
- package/dist/delegation/input.d.ts +2 -1
- package/dist/delegation/input.js +6 -1
- package/dist/delegation/input.js.map +1 -1
- package/dist/delegation/policy.d.ts +3 -2
- package/dist/delegation/policy.js +3 -1
- package/dist/delegation/policy.js.map +1 -1
- package/dist/delegation/process-liveness.d.ts +66 -0
- package/dist/delegation/process-liveness.js +215 -0
- package/dist/delegation/process-liveness.js.map +1 -0
- package/dist/delegation/provision.d.ts +1 -1
- package/dist/delegation/provision.js +10 -5
- package/dist/delegation/provision.js.map +1 -1
- package/dist/delegation/questions.d.ts +19 -0
- package/dist/delegation/questions.js +45 -0
- package/dist/delegation/questions.js.map +1 -0
- package/dist/delegation/results.d.ts +1 -1
- package/dist/delegation/results.js +33 -19
- package/dist/delegation/results.js.map +1 -1
- package/dist/delegation/routes.d.ts +185 -11
- package/dist/delegation/routes.js +6 -2
- package/dist/delegation/routes.js.map +1 -1
- package/dist/delegation/service.d.ts +23 -5
- package/dist/delegation/service.js +240 -17
- package/dist/delegation/service.js.map +1 -1
- package/dist/delegation/transport.d.ts +178 -15
- package/dist/delegation/workspace.d.ts +1 -1
- package/dist/delegation/workspace.js +13 -6
- package/dist/delegation/workspace.js.map +1 -1
- package/dist/discovery/catalog.d.ts +14 -0
- package/dist/discovery/catalog.js +31 -0
- package/dist/discovery/catalog.js.map +1 -0
- package/dist/discovery/cli.d.ts +8 -0
- package/dist/discovery/cli.js +104 -0
- package/dist/discovery/cli.js.map +1 -0
- package/dist/git-worktree.d.ts +3 -1
- package/dist/git-worktree.js +26 -4
- package/dist/git-worktree.js.map +1 -1
- package/dist/index.js +93 -26
- package/dist/index.js.map +1 -1
- package/dist/open-url.d.ts +2 -0
- package/dist/open-url.js +20 -0
- package/dist/open-url.js.map +1 -0
- package/dist/release/snapshot.d.ts +3 -3
- package/dist/release/snapshot.js +6 -6
- package/dist/release/snapshot.js.map +1 -1
- package/dist/runs/agent-tmpdir.d.ts +2 -0
- package/dist/runs/agent-tmpdir.js +5 -2
- package/dist/runs/agent-tmpdir.js.map +1 -1
- package/dist/runs/client-request.d.ts +11 -0
- package/dist/runs/client-request.js +26 -0
- package/dist/runs/client-request.js.map +1 -0
- package/dist/runs/delegation-state.d.ts +17 -0
- package/dist/runs/event-history.js +6 -0
- package/dist/runs/event-history.js.map +1 -1
- package/dist/runs/retention.d.ts +7 -2
- package/dist/runs/retention.js +39 -7
- package/dist/runs/retention.js.map +1 -1
- package/dist/runs/store.d.ts +100 -6
- package/dist/runs/store.js +245 -2
- package/dist/runs/store.js.map +1 -1
- package/dist/runs/webhook.d.ts +125 -0
- package/dist/runs/webhook.js +256 -0
- package/dist/runs/webhook.js.map +1 -0
- package/dist/server/project-context.d.ts +2 -0
- package/dist/server/project-context.js +1 -0
- package/dist/server/project-context.js.map +1 -1
- package/dist/server/provider-auth-runtime.d.ts +30 -4
- package/dist/server/provider-auth-runtime.js +71 -6
- package/dist/server/provider-auth-runtime.js.map +1 -1
- package/dist/server/server.d.ts +8226 -4860
- package/dist/server/server.js +311 -15
- package/dist/server/server.js.map +1 -1
- package/dist/server-install/platforms/ubuntu-vps.d.ts +5 -1
- package/dist/server-install/platforms/ubuntu-vps.js +160 -18
- package/dist/server-install/platforms/ubuntu-vps.js.map +1 -1
- package/dist/server-install/steps.d.ts +4 -2
- package/dist/server-install/steps.js +5 -4
- package/dist/server-install/steps.js.map +1 -1
- package/dist/skills-remote.d.ts +30 -5
- package/dist/skills-remote.js +122 -32
- package/dist/skills-remote.js.map +1 -1
- package/dist/skills.js +15 -6
- package/dist/skills.js.map +1 -1
- package/dist/task-cli/cli.d.ts +38 -0
- package/dist/task-cli/cli.js +580 -0
- package/dist/task-cli/cli.js.map +1 -0
- package/dist/task-cli/discovery.d.ts +22 -0
- package/dist/task-cli/discovery.js +96 -0
- package/dist/task-cli/discovery.js.map +1 -0
- package/dist/task-cli/http.d.ts +46 -0
- package/dist/task-cli/http.js +101 -0
- package/dist/task-cli/http.js.map +1 -0
- package/dist/task-cli/projections.d.ts +40 -0
- package/dist/task-cli/projections.js +45 -0
- package/dist/task-cli/projections.js.map +1 -0
- package/dist/task-cli/watch.d.ts +78 -0
- package/dist/task-cli/watch.js +336 -0
- package/dist/task-cli/watch.js.map +1 -0
- package/dist/workflows/run.d.ts +160 -2
- package/dist/workflows/run.js +1141 -108
- package/dist/workflows/run.js.map +1 -1
- package/dist/workspace/agent-profiles.d.ts +22 -0
- package/dist/workspace/agent-profiles.js +15 -0
- package/dist/workspace/agent-profiles.js.map +1 -1
- package/dist/workspace/config.d.ts +9 -0
- package/dist/workspace/config.js +13 -1
- package/dist/workspace/config.js.map +1 -1
- package/dist/workspace/projects-cli.js +1 -1
- package/dist/workspace/projects.d.ts +24 -1
- package/dist/workspace/projects.js +14 -1
- package/dist/workspace/projects.js.map +1 -1
- package/package.json +5 -5
- package/scripts/mock-claude.mjs +64 -2
- package/scripts/mock-codex-app-server.mjs +124 -1
- package/scripts/mock-cursor-acp.mjs +54 -3
- package/scripts/mock-cursor-hang-stdin-late.mjs +35 -0
- package/scripts/mock-cursor-hang-stdin.mjs +30 -0
- package/scripts/mock-opencode-serve.mjs +102 -2
- package/scripts/mock-pi-rpc.mjs +82 -3
- package/web/dist/assets/agent-accounts-CerclGiO.js +1 -0
- package/web/dist/assets/centered-state-DH8qtCz-.js +43 -0
- package/web/dist/assets/collapsible-De2G0xqQ.js +1 -0
- package/web/dist/assets/commit-list-s6JPY3qv.js +1 -0
- package/web/dist/assets/compare-variants-BQu_t-_g.js +1 -0
- package/web/dist/assets/{diff-tRE59UNb2.js → diff-8M5HlDxq2.js} +2 -2
- package/web/dist/assets/diff-controls-B6ok0TtQ.js +1 -0
- package/web/dist/assets/{diff-stat-Cgnl_hYF.js → diff-stat-D1AODN2a.js} +1 -1
- package/web/dist/assets/{diff-view-DN1ort7Q.js → diff-view-Bs5Gh7UF.js} +2 -2
- package/web/dist/assets/dropdown-menu-7KGQMoFj.js +1 -0
- package/web/dist/assets/git-toolbar-DqbapMXr.js +1 -0
- package/web/dist/assets/github-DCkk6sBm.js +1 -0
- package/web/dist/assets/{image-preview-C2JGcBlC.js → image-preview-jzHoEyLM.js} +1 -1
- package/web/dist/assets/index-Bnva-ttR.js +7 -0
- package/web/dist/assets/index-D5NkwqY7.css +1 -0
- package/web/dist/assets/markdown-DvbymqXz.js +2 -0
- package/web/dist/assets/pill-BL6ugwXo.js +1 -0
- package/web/dist/assets/project-router-ChC5Rb-Y.js +1 -0
- package/web/dist/assets/prompt-templates-j8qlK7c-.js +15 -0
- package/web/dist/assets/repo-git-_h1NjOVt.js +1 -0
- package/web/dist/assets/{run-diff-CyG0Nciv.js → run-diff-BuATgZpx.js} +2 -2
- package/web/dist/assets/run-header-DuAWswYM.js +1 -0
- package/web/dist/assets/skills-C-fq5BrZ.js +1 -0
- package/web/dist/assets/{tab-link-BWNp3mLY.js → tab-link-BmGKj9Rt.js} +1 -1
- package/web/dist/assets/task-changes-CHa6JWOS.js +1 -0
- package/web/dist/assets/task-commits-BqCqyWm1.js +1 -0
- package/web/dist/assets/task-files-BSA0l-YP.js +2 -0
- package/web/dist/assets/task-thread-Bw_nQuTx.css +1 -0
- package/web/dist/assets/task-thread-Q7Nj33DH.js +9 -0
- package/web/dist/assets/textarea-ByZ-txS7.js +1 -0
- package/web/dist/assets/thread-loading-DHT9p5o5.js +1 -0
- package/web/dist/assets/token-metrics-k4XoovDS.js +1 -0
- package/web/dist/assets/utils-BTFBhZ55.js +64 -0
- package/web/dist/assets/workflows-HJOd3lVi.js +11 -0
- package/web/dist/assets/{zoomable-image-Z3JDnm0b.js → zoomable-image-Ba6y6Wyl.js} +1 -1
- package/web/dist/index.html +14 -14
- package/web/dist/assets/agent-accounts-BZm_2WAv.js +0 -1
- package/web/dist/assets/alert-dialog-B422RI-k.js +0 -43
- package/web/dist/assets/collapsible-Cy_Fmkrd.js +0 -1
- package/web/dist/assets/commit-list-Dcnk7TnI.js +0 -1
- package/web/dist/assets/compare-variants-Ciqwvd_f.js +0 -1
- package/web/dist/assets/diff-controls-BGrXGi7O.js +0 -1
- package/web/dist/assets/dropdown-menu-dwDGT8MM.js +0 -1
- package/web/dist/assets/git-toolbar-UiHnGvE0.js +0 -1
- package/web/dist/assets/github-D-MrkbJ7.js +0 -1
- package/web/dist/assets/ibm-plex-mono-regular-BF3vfe7_.ttf +0 -0
- package/web/dist/assets/index-BszfYvBq.js +0 -7
- package/web/dist/assets/index-CWh4pKP3.css +0 -1
- package/web/dist/assets/markdown-C_IcKVQd.js +0 -2
- package/web/dist/assets/pill-BsbO6G7y.js +0 -1
- package/web/dist/assets/project-router-DbLkll25.js +0 -1
- package/web/dist/assets/prompt-templates-BlTGJB5W.js +0 -15
- package/web/dist/assets/repo-git-Bm3s6Why.js +0 -1
- package/web/dist/assets/run-header-IFyIGCey.js +0 -1
- package/web/dist/assets/skills-C-C4DVFY.js +0 -1
- package/web/dist/assets/task-changes-D2PHtWUW.js +0 -1
- package/web/dist/assets/task-commits-N5u9U0_R.js +0 -1
- package/web/dist/assets/task-files-BS7c7CFm.js +0 -2
- package/web/dist/assets/task-thread-BQFdz1dJ.css +0 -1
- package/web/dist/assets/task-thread-DGM2dZV-.js +0 -9
- package/web/dist/assets/textarea-FjaU370i.js +0 -1
- package/web/dist/assets/thread-loading-77sJ8Yu_.js +0 -1
- package/web/dist/assets/token-metrics-Clxh03bE.js +0 -1
- package/web/dist/assets/utils-PYYcpCFZ.js +0 -64
- package/web/dist/assets/workflows-Czl0ZfXH.js +0 -11
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
import type { DelegationRoutes } from './routes.ts';
|
|
2
2
|
export declare function createDelegationApp(routes: DelegationRoutes): import("hono/hono-base").HonoBase<import("hono/types").BlankEnv, import("hono/types").BlankSchema | import("hono/types").MergeSchemaPath<{
|
|
3
|
+
"/discover": {
|
|
4
|
+
$post: {
|
|
5
|
+
output: {
|
|
6
|
+
runner: "claude" | "codex" | "cursor" | "opencode" | "pi";
|
|
7
|
+
models: {
|
|
8
|
+
id: string;
|
|
9
|
+
label: string;
|
|
10
|
+
description: string;
|
|
11
|
+
effortLevels?: ("high" | "low" | "max" | "medium" | "xhigh")[] | undefined;
|
|
12
|
+
}[];
|
|
13
|
+
source: "cache" | "live" | "unavailable";
|
|
14
|
+
stale: boolean;
|
|
15
|
+
reason?: string | undefined;
|
|
16
|
+
} | {
|
|
17
|
+
scope: "host-default-account";
|
|
18
|
+
runners: {
|
|
19
|
+
status: "connected" | "disconnected" | "not-installed" | "unknown";
|
|
20
|
+
enabled?: boolean | undefined;
|
|
21
|
+
hint?: string | undefined;
|
|
22
|
+
authFailureId?: string | undefined;
|
|
23
|
+
runner: "claude" | "codex" | "cursor" | "opencode" | "pi";
|
|
24
|
+
}[];
|
|
25
|
+
};
|
|
26
|
+
outputFormat: "json";
|
|
27
|
+
status: 200;
|
|
28
|
+
input: {
|
|
29
|
+
json: {
|
|
30
|
+
kind: "runners";
|
|
31
|
+
} | {
|
|
32
|
+
kind: "models";
|
|
33
|
+
runner: "claude" | "codex" | "cursor" | "opencode" | "pi";
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
} & {
|
|
3
39
|
"/spawn": {
|
|
4
40
|
$post: {
|
|
5
41
|
output: {
|
|
@@ -41,7 +77,7 @@ export declare function createDelegationApp(routes: DelegationRoutes): import("h
|
|
|
41
77
|
requestIds?: string[] | undefined;
|
|
42
78
|
requestOutcomes?: {
|
|
43
79
|
requestId: string;
|
|
44
|
-
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "replied" | "sender-closed" | "timed-out";
|
|
80
|
+
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "human-fallback" | "replied" | "sender-closed" | "timed-out";
|
|
45
81
|
observedAt: string;
|
|
46
82
|
replyId?: string | undefined;
|
|
47
83
|
}[] | undefined;
|
|
@@ -68,13 +104,13 @@ export declare function createDelegationApp(routes: DelegationRoutes): import("h
|
|
|
68
104
|
status: 200;
|
|
69
105
|
input: {
|
|
70
106
|
json: {
|
|
71
|
-
workerIds: string[];
|
|
72
|
-
timeoutSeconds?: number | undefined;
|
|
73
|
-
mode?: "all" | "any" | "one" | undefined;
|
|
74
|
-
} | {
|
|
75
107
|
requestIds: string[];
|
|
76
108
|
mode?: "all" | "any" | "one" | undefined;
|
|
77
109
|
timeoutSeconds?: number | undefined;
|
|
110
|
+
} | {
|
|
111
|
+
workerIds: string[];
|
|
112
|
+
timeoutSeconds?: number | undefined;
|
|
113
|
+
mode?: "all" | "any" | "one" | undefined;
|
|
78
114
|
};
|
|
79
115
|
};
|
|
80
116
|
};
|
|
@@ -89,7 +125,7 @@ export declare function createDelegationApp(routes: DelegationRoutes): import("h
|
|
|
89
125
|
requestIds?: string[] | undefined;
|
|
90
126
|
requestOutcomes?: {
|
|
91
127
|
requestId: string;
|
|
92
|
-
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "replied" | "sender-closed" | "timed-out";
|
|
128
|
+
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "human-fallback" | "replied" | "sender-closed" | "timed-out";
|
|
93
129
|
observedAt: string;
|
|
94
130
|
replyId?: string | undefined;
|
|
95
131
|
}[] | undefined;
|
|
@@ -137,11 +173,23 @@ export declare function createDelegationApp(routes: DelegationRoutes): import("h
|
|
|
137
173
|
state: "accepted" | "continuation-required" | "destroyed" | "late";
|
|
138
174
|
resumed?: true | undefined;
|
|
139
175
|
instruction?: string | undefined;
|
|
176
|
+
question?: {
|
|
177
|
+
questions: {
|
|
178
|
+
id?: string | undefined;
|
|
179
|
+
header: string;
|
|
180
|
+
question: string;
|
|
181
|
+
options: {
|
|
182
|
+
label: string;
|
|
183
|
+
description?: string | undefined;
|
|
184
|
+
}[];
|
|
185
|
+
multiSelect?: boolean | undefined;
|
|
186
|
+
}[];
|
|
187
|
+
} | undefined;
|
|
140
188
|
};
|
|
141
|
-
delivery: "delivered" | "not-delivered" | "queued";
|
|
189
|
+
delivery: "consumed" | "delivered" | "not-delivered" | "queued";
|
|
142
190
|
outcome?: {
|
|
143
191
|
requestId: string;
|
|
144
|
-
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "replied" | "sender-closed" | "timed-out";
|
|
192
|
+
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "human-fallback" | "replied" | "sender-closed" | "timed-out";
|
|
145
193
|
observedAt: string;
|
|
146
194
|
replyId?: string | undefined;
|
|
147
195
|
} | undefined;
|
|
@@ -178,11 +226,23 @@ export declare function createDelegationApp(routes: DelegationRoutes): import("h
|
|
|
178
226
|
state: "accepted" | "continuation-required" | "destroyed" | "late";
|
|
179
227
|
resumed?: true | undefined;
|
|
180
228
|
instruction?: string | undefined;
|
|
229
|
+
question?: {
|
|
230
|
+
questions: {
|
|
231
|
+
id?: string | undefined;
|
|
232
|
+
header: string;
|
|
233
|
+
question: string;
|
|
234
|
+
options: {
|
|
235
|
+
label: string;
|
|
236
|
+
description?: string | undefined;
|
|
237
|
+
}[];
|
|
238
|
+
multiSelect?: boolean | undefined;
|
|
239
|
+
}[];
|
|
240
|
+
} | undefined;
|
|
181
241
|
};
|
|
182
|
-
delivery: "delivered" | "not-delivered" | "queued";
|
|
242
|
+
delivery: "consumed" | "delivered" | "not-delivered" | "queued";
|
|
183
243
|
outcome?: {
|
|
184
244
|
requestId: string;
|
|
185
|
-
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "replied" | "sender-closed" | "timed-out";
|
|
245
|
+
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "human-fallback" | "replied" | "sender-closed" | "timed-out";
|
|
186
246
|
observedAt: string;
|
|
187
247
|
replyId?: string | undefined;
|
|
188
248
|
} | undefined;
|
|
@@ -219,11 +279,23 @@ export declare function createDelegationApp(routes: DelegationRoutes): import("h
|
|
|
219
279
|
state: "accepted" | "continuation-required" | "destroyed" | "late";
|
|
220
280
|
resumed?: true | undefined;
|
|
221
281
|
instruction?: string | undefined;
|
|
282
|
+
question?: {
|
|
283
|
+
questions: {
|
|
284
|
+
id?: string | undefined;
|
|
285
|
+
header: string;
|
|
286
|
+
question: string;
|
|
287
|
+
options: {
|
|
288
|
+
label: string;
|
|
289
|
+
description?: string | undefined;
|
|
290
|
+
}[];
|
|
291
|
+
multiSelect?: boolean | undefined;
|
|
292
|
+
}[];
|
|
293
|
+
} | undefined;
|
|
222
294
|
};
|
|
223
|
-
delivery: "delivered" | "not-delivered" | "queued";
|
|
295
|
+
delivery: "consumed" | "delivered" | "not-delivered" | "queued";
|
|
224
296
|
outcome?: {
|
|
225
297
|
requestId: string;
|
|
226
|
-
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "replied" | "sender-closed" | "timed-out";
|
|
298
|
+
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "human-fallback" | "replied" | "sender-closed" | "timed-out";
|
|
227
299
|
observedAt: string;
|
|
228
300
|
replyId?: string | undefined;
|
|
229
301
|
} | undefined;
|
|
@@ -260,13 +332,26 @@ export declare function createDelegationApp(routes: DelegationRoutes): import("h
|
|
|
260
332
|
state: "accepted" | "continuation-required" | "destroyed" | "late";
|
|
261
333
|
resumed?: true | undefined;
|
|
262
334
|
instruction?: string | undefined;
|
|
335
|
+
question?: {
|
|
336
|
+
questions: {
|
|
337
|
+
id?: string | undefined;
|
|
338
|
+
header: string;
|
|
339
|
+
question: string;
|
|
340
|
+
options: {
|
|
341
|
+
label: string;
|
|
342
|
+
description?: string | undefined;
|
|
343
|
+
}[];
|
|
344
|
+
multiSelect?: boolean | undefined;
|
|
345
|
+
}[];
|
|
346
|
+
} | undefined;
|
|
263
347
|
}[];
|
|
264
348
|
outcomes: {
|
|
265
349
|
requestId: string;
|
|
266
|
-
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "replied" | "sender-closed" | "timed-out";
|
|
350
|
+
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "human-fallback" | "replied" | "sender-closed" | "timed-out";
|
|
267
351
|
observedAt: string;
|
|
268
352
|
replyId?: string | undefined;
|
|
269
353
|
}[];
|
|
354
|
+
hint?: string | undefined;
|
|
270
355
|
};
|
|
271
356
|
outputFormat: "json";
|
|
272
357
|
status: 200;
|
|
@@ -277,12 +362,90 @@ export declare function createDelegationApp(routes: DelegationRoutes): import("h
|
|
|
277
362
|
};
|
|
278
363
|
};
|
|
279
364
|
};
|
|
365
|
+
} & {
|
|
366
|
+
"/inbox": {
|
|
367
|
+
$post: {
|
|
368
|
+
output: {
|
|
369
|
+
messages: {
|
|
370
|
+
senderRunId: string;
|
|
371
|
+
recipientRunId: string;
|
|
372
|
+
kind: "follow-up" | "progress" | "reply" | "request";
|
|
373
|
+
requestId?: string | undefined;
|
|
374
|
+
id: string;
|
|
375
|
+
text: string;
|
|
376
|
+
createdAt: string;
|
|
377
|
+
deadline?: string | undefined;
|
|
378
|
+
requestHash: string;
|
|
379
|
+
state: "accepted" | "continuation-required" | "destroyed" | "late";
|
|
380
|
+
resumed?: true | undefined;
|
|
381
|
+
instruction?: string | undefined;
|
|
382
|
+
question?: {
|
|
383
|
+
questions: {
|
|
384
|
+
id?: string | undefined;
|
|
385
|
+
header: string;
|
|
386
|
+
question: string;
|
|
387
|
+
options: {
|
|
388
|
+
label: string;
|
|
389
|
+
description?: string | undefined;
|
|
390
|
+
}[];
|
|
391
|
+
multiSelect?: boolean | undefined;
|
|
392
|
+
}[];
|
|
393
|
+
} | undefined;
|
|
394
|
+
}[];
|
|
395
|
+
outcomes: {
|
|
396
|
+
requestId: string;
|
|
397
|
+
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "human-fallback" | "replied" | "sender-closed" | "timed-out";
|
|
398
|
+
observedAt: string;
|
|
399
|
+
replyId?: string | undefined;
|
|
400
|
+
}[];
|
|
401
|
+
receiptId?: string | undefined;
|
|
402
|
+
expiresAt?: string | undefined;
|
|
403
|
+
};
|
|
404
|
+
outputFormat: "json";
|
|
405
|
+
status: 200;
|
|
406
|
+
input: {
|
|
407
|
+
json: Record<string, never>;
|
|
408
|
+
};
|
|
409
|
+
};
|
|
410
|
+
};
|
|
411
|
+
} & {
|
|
412
|
+
"/inbox/ack": {
|
|
413
|
+
$post: {
|
|
414
|
+
output: {
|
|
415
|
+
receiptId: string;
|
|
416
|
+
status: "acknowledged" | "already-acknowledged" | "released";
|
|
417
|
+
};
|
|
418
|
+
outputFormat: "json";
|
|
419
|
+
status: 200;
|
|
420
|
+
input: {
|
|
421
|
+
json: {
|
|
422
|
+
receiptId: string;
|
|
423
|
+
};
|
|
424
|
+
};
|
|
425
|
+
};
|
|
426
|
+
};
|
|
427
|
+
} & {
|
|
428
|
+
"/inbox/release": {
|
|
429
|
+
$post: {
|
|
430
|
+
output: {
|
|
431
|
+
receiptId: string;
|
|
432
|
+
status: "acknowledged" | "already-acknowledged" | "released";
|
|
433
|
+
};
|
|
434
|
+
outputFormat: "json";
|
|
435
|
+
status: 200;
|
|
436
|
+
input: {
|
|
437
|
+
json: {
|
|
438
|
+
receiptId: string;
|
|
439
|
+
};
|
|
440
|
+
};
|
|
441
|
+
};
|
|
442
|
+
};
|
|
280
443
|
} & {
|
|
281
444
|
"/cancel-request": {
|
|
282
445
|
$post: {
|
|
283
446
|
output: {
|
|
284
447
|
requestId: string;
|
|
285
|
-
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "replied" | "sender-closed" | "timed-out";
|
|
448
|
+
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "human-fallback" | "replied" | "sender-closed" | "timed-out";
|
|
286
449
|
observedAt: string;
|
|
287
450
|
replyId?: string | undefined;
|
|
288
451
|
};
|
|
@@ -344,7 +507,7 @@ export declare function createDelegationApp(routes: DelegationRoutes): import("h
|
|
|
344
507
|
requestIds?: string[] | undefined;
|
|
345
508
|
requestOutcomes?: {
|
|
346
509
|
requestId: string;
|
|
347
|
-
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "replied" | "sender-closed" | "timed-out";
|
|
510
|
+
status: "cancelled" | "completed-without-reply" | "destroyed" | "failed" | "human-fallback" | "replied" | "sender-closed" | "timed-out";
|
|
348
511
|
observedAt: string;
|
|
349
512
|
replyId?: string | undefined;
|
|
350
513
|
}[] | undefined;
|
|
@@ -16,4 +16,4 @@ export type WorkerNoMaterializationProof = (workspace: WorkerWorkspace) => boole
|
|
|
16
16
|
/** Checked cleanup only. Caller must first persist destruction intent and prove termination.
|
|
17
17
|
* The private checkpoint survives removal of the linked Git directory and records
|
|
18
18
|
* the exact ref/log identity whose compare-and-swap deletion may be retried. */
|
|
19
|
-
export declare function removeOwnedWorkspace(repoRoot: string, value: WorkerWorkspace, neverMaterialized?: WorkerNoMaterializationProof): Promise<WorkerDestroyResult>;
|
|
19
|
+
export declare function removeOwnedWorkspace(repoRoot: string, value: WorkerWorkspace, neverMaterialized?: WorkerNoMaterializationProof, assertCurrent?: () => void): Promise<WorkerDestroyResult>;
|
|
@@ -47,12 +47,15 @@ async function verifyBranch(repoRoot, workspace, receipt) {
|
|
|
47
47
|
throw new Error('Branch ownership changed');
|
|
48
48
|
return { sha: await checkedGit(repoRoot, ['rev-parse', '--verify', `refs/heads/${workspace.branch}`]), log };
|
|
49
49
|
}
|
|
50
|
-
async function writeCleanup(path, value) {
|
|
50
|
+
async function writeCleanup(path, value, assertCurrent) {
|
|
51
|
+
assertCurrent?.();
|
|
51
52
|
if (await exists(path))
|
|
52
53
|
await readIdentityFile(path, RECEIPT_CAP);
|
|
54
|
+
assertCurrent?.();
|
|
53
55
|
const temporary = `${path}.${randomUUID()}.tmp`;
|
|
54
56
|
await writeIdentityFile(temporary, JSON.stringify(value));
|
|
55
57
|
try {
|
|
58
|
+
assertCurrent?.();
|
|
56
59
|
await rename(temporary, path);
|
|
57
60
|
}
|
|
58
61
|
finally {
|
|
@@ -273,17 +276,18 @@ export async function readOwnedDiff(repoRoot, run) {
|
|
|
273
276
|
/** Checked cleanup only. Caller must first persist destruction intent and prove termination.
|
|
274
277
|
* The private checkpoint survives removal of the linked Git directory and records
|
|
275
278
|
* the exact ref/log identity whose compare-and-swap deletion may be retried. */
|
|
276
|
-
export async function removeOwnedWorkspace(repoRoot, value, neverMaterialized) {
|
|
279
|
+
export async function removeOwnedWorkspace(repoRoot, value, neverMaterialized, assertCurrent) {
|
|
277
280
|
let remaining = ['worktree', 'branch'];
|
|
278
281
|
let provisioned = false;
|
|
279
282
|
const result = () => ({ workerId: value.ownerRunId, state: remaining.length ? 'incomplete' : 'complete', remaining,
|
|
280
|
-
...(remaining.length ? { error: 'Owned resources remain
|
|
283
|
+
...(remaining.length ? { error: 'Owned resources remain: resource identity or Git cleanup could not be verified. Check the worker worktree, Git lock and ownership receipt, then retry destroy after correcting the blocker' } : {}),
|
|
281
284
|
...(provisioned ? { deleted: [
|
|
282
285
|
...(!remaining.includes('worktree') ? [{ kind: 'worktree', path: value.path }] : []),
|
|
283
286
|
...(!remaining.includes('branch') ? [{ kind: 'branch', ref: `refs/heads/${value.branch}` }] : []),
|
|
284
287
|
] } : {}),
|
|
285
288
|
});
|
|
286
289
|
try {
|
|
290
|
+
assertCurrent?.();
|
|
287
291
|
const workspace = await validateIntent(repoRoot, value);
|
|
288
292
|
const path = await receiptLocation(repoRoot, workspace);
|
|
289
293
|
const receipt = await readReceipt(path);
|
|
@@ -338,16 +342,18 @@ export async function removeOwnedWorkspace(repoRoot, value, neverMaterialized) {
|
|
|
338
342
|
if (checkpoint && (checkpoint.sha !== current.sha || !same(checkpoint.logFile, current.log.file) || checkpoint.logHash !== hash(current.log.content)))
|
|
339
343
|
return result();
|
|
340
344
|
checkpoint ??= { workspace, gitDir: receipt.gitDir, sha: current.sha, logFile: current.log.file, logHash: hash(current.log.content), phase: 'prepared' };
|
|
341
|
-
await writeCleanup(checkpointPath, checkpoint);
|
|
345
|
+
await writeCleanup(checkpointPath, checkpoint, assertCurrent);
|
|
346
|
+
assertCurrent?.();
|
|
342
347
|
const removed = await git(repoRoot, ['worktree', 'remove', '--force', workspace.path]);
|
|
343
348
|
if (!removed.ok)
|
|
344
349
|
return result();
|
|
350
|
+
remaining = ['branch'];
|
|
345
351
|
}
|
|
346
352
|
if (!checkpoint || await exists(workspace.path) || await exists(receipt.gitDir) || (await registered()).includes(`worktree ${workspace.path}`))
|
|
347
353
|
return result();
|
|
348
354
|
remaining = ['branch'];
|
|
349
355
|
checkpoint = { ...checkpoint, phase: 'worktree-removed' };
|
|
350
|
-
await writeCleanup(checkpointPath, checkpoint);
|
|
356
|
+
await writeCleanup(checkpointPath, checkpoint, assertCurrent);
|
|
351
357
|
if (await branchExists()) {
|
|
352
358
|
if ((await registered()).includes(`branch refs/heads/${workspace.branch}`))
|
|
353
359
|
return result();
|
|
@@ -355,11 +361,12 @@ export async function removeOwnedWorkspace(repoRoot, value, neverMaterialized) {
|
|
|
355
361
|
if (current.sha !== checkpoint.sha || !same(current.log.file, checkpoint.logFile) || hash(current.log.content) !== checkpoint.logHash)
|
|
356
362
|
return result();
|
|
357
363
|
// Ref CAS: never delete a branch advanced after our verified snapshot.
|
|
364
|
+
assertCurrent?.();
|
|
358
365
|
const removed = await git(repoRoot, ['update-ref', '-d', `refs/heads/${workspace.branch}`, checkpoint.sha]);
|
|
359
366
|
if (!removed.ok || await branchExists())
|
|
360
367
|
return result();
|
|
361
368
|
}
|
|
362
|
-
await writeCleanup(checkpointPath, { ...checkpoint, phase: 'complete' });
|
|
369
|
+
await writeCleanup(checkpointPath, { ...checkpoint, phase: 'complete' }, assertCurrent);
|
|
363
370
|
remaining = [];
|
|
364
371
|
}
|
|
365
372
|
catch { /* Ambiguous ownership and every failed Git/filesystem operation fail closed. */ }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/delegation/workspace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/delegation/workspace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ProviderAuthService } from '../core/provider-auth.ts';
|
|
2
|
+
import { type ModelDiscoveryRunner, type ModelChoices, type DiscoveredRunners, type ProviderStatusResponse } from '../contract/index.js';
|
|
3
|
+
import { RunnerModelCatalog } from '../core/runner-model-catalog.ts';
|
|
4
|
+
export interface HostDiscovery {
|
|
5
|
+
models: Pick<RunnerModelCatalog, 'get'>;
|
|
6
|
+
providers(): Promise<ProviderStatusResponse>;
|
|
7
|
+
}
|
|
8
|
+
/** Initialize before recovery or headless execution; the cockpit reuses this same model cache. */
|
|
9
|
+
export declare function createHostDiscovery(root: string, auth: ProviderAuthService): HostDiscovery & {
|
|
10
|
+
models: RunnerModelCatalog;
|
|
11
|
+
};
|
|
12
|
+
export declare function discoveredRunners(status: ProviderStatusResponse): DiscoveredRunners;
|
|
13
|
+
/** A fresh nonempty host catalog can disprove an explicit selection; unavailable data cannot. */
|
|
14
|
+
export declare function missingModelChoices(source: HostDiscovery, runner: ModelDiscoveryRunner, model: string, effectiveModel?: string, modelIdentity?: string): Promise<ModelChoices | undefined>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { hostModelCatalogAdapters } from '../core/host-model-catalog.js';
|
|
2
|
+
import { providerAuthChecksDisabled } from '../core/provider-auth.js';
|
|
3
|
+
import { applyProviderEnablement } from '../core/provider-availability.js';
|
|
4
|
+
import { loadWorkspaceConfig } from '../workspace/config.js';
|
|
5
|
+
import { MODEL_DISCOVERY_RUNNERS } from '../contract/index.js';
|
|
6
|
+
import { RunnerModelCatalog } from '../core/runner-model-catalog.js';
|
|
7
|
+
/** Initialize before recovery or headless execution; the cockpit reuses this same model cache. */
|
|
8
|
+
export function createHostDiscovery(root, auth) {
|
|
9
|
+
return {
|
|
10
|
+
models: new RunnerModelCatalog({ adapters: hostModelCatalogAdapters(root) }),
|
|
11
|
+
providers: async () => applyProviderEnablement(await auth.status(), providerAuthChecksDisabled() ? [] : (await loadWorkspaceConfig()).disabledProviders),
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export function discoveredRunners(status) {
|
|
15
|
+
return { scope: 'host-default-account', runners: status.providers.map(({ provider, profileId: _profileId, ...row }) => ({ runner: provider, ...row })) };
|
|
16
|
+
}
|
|
17
|
+
/** A fresh nonempty host catalog can disprove an explicit selection; unavailable data cannot. */
|
|
18
|
+
export async function missingModelChoices(source, runner, model, effectiveModel, modelIdentity) {
|
|
19
|
+
// Reuse account-aware normalization from execution selection, including custom providers.
|
|
20
|
+
// Compare complete IDs only: never strip another runner's provider prefix speculatively.
|
|
21
|
+
const ids = new Set([model, effectiveModel, modelIdentity].filter((id) => id !== undefined));
|
|
22
|
+
const catalog = await source.models.get(runner);
|
|
23
|
+
if (catalog.source === 'unavailable' || catalog.stale || !catalog.models.length || catalog.models.some(row => ids.has(row.id)))
|
|
24
|
+
return;
|
|
25
|
+
const alternatives = await Promise.all(MODEL_DISCOVERY_RUNNERS.filter(id => id !== runner).map(async (id) => {
|
|
26
|
+
const other = await source.models.get(id);
|
|
27
|
+
return other.source !== 'unavailable' && !other.stale && other.models.some(row => ids.has(row.id)) ? id : undefined;
|
|
28
|
+
}));
|
|
29
|
+
return { runner, requestedModel: model, availableModels: catalog.models, otherRunners: alternatives.filter((id) => id !== undefined) };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/discovery/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type DiscoverOptions } from '../task-cli/discovery.ts';
|
|
2
|
+
import { type Cockpit } from '../task-cli/http.ts';
|
|
3
|
+
interface DiscoveryIo {
|
|
4
|
+
stdout(line: string): void;
|
|
5
|
+
discover?: (options: DiscoverOptions) => Promise<Cockpit>;
|
|
6
|
+
}
|
|
7
|
+
export declare function runDiscoverCommand(argv: string[], env?: NodeJS.ProcessEnv, io?: DiscoveryIo): Promise<number>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { parseArgs } from 'node:util';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { delegationErrorResponseSchema, discoveredRunnersSchema, discoveryRequestSchema, providerStatusResponseSchema, runnerModelCatalogResponseSchema, } from '../contract/index.js';
|
|
4
|
+
import { boundedJson, delegationEndpoint } from '../delegation/cli.js';
|
|
5
|
+
import { discoverCockpit } from '../task-cli/discovery.js';
|
|
6
|
+
import { fetchJson, invalidResponse, refuse, TaskCliError } from '../task-cli/http.js';
|
|
7
|
+
import { discoveredRunners } from './catalog.js';
|
|
8
|
+
const HELP = `cez discover — inspect the host's default-account catalog
|
|
9
|
+
|
|
10
|
+
Usage:
|
|
11
|
+
cez discover runners
|
|
12
|
+
cez discover models --runner <claude|codex|opencode|pi|cursor>
|
|
13
|
+
|
|
14
|
+
Options:
|
|
15
|
+
--url <origin> Cockpit to use (also CEZ_URL); operators only.
|
|
16
|
+
--repo <dir> Checkout whose cockpit to find (default cwd); operators only.
|
|
17
|
+
-h, --help Show help without contacting a controller.
|
|
18
|
+
|
|
19
|
+
Commands return JSON. Runners include connection status and enablement.
|
|
20
|
+
Model rows include effortLevels when advertised; absent means unknown, [] means
|
|
21
|
+
no advertised levels. Omit an effort pin to use the runner's default.
|
|
22
|
+
Catalog source/stale/reason describe discovery availability and freshness.
|
|
23
|
+
Inside a parent session, discovery uses its authenticated controller, including
|
|
24
|
+
headless runs. It never falls back to another cockpit on authentication failure.
|
|
25
|
+
Outside a session, it finds an existing cockpit; it never starts one.
|
|
26
|
+
Catalogs describe host default accounts, not every named account or spawn policy.`;
|
|
27
|
+
export async function runDiscoverCommand(argv, env = process.env, io = { stdout: line => console.log(line) }) {
|
|
28
|
+
const print = (value) => {
|
|
29
|
+
let line = JSON.stringify(value);
|
|
30
|
+
if (env.CEZ_DELEGATION_TOKEN)
|
|
31
|
+
line = line.replaceAll(env.CEZ_DELEGATION_TOKEN, '[REDACTED]');
|
|
32
|
+
io.stdout(line);
|
|
33
|
+
};
|
|
34
|
+
try {
|
|
35
|
+
let parsed;
|
|
36
|
+
try {
|
|
37
|
+
parsed = parseDiscoveryArgs(argv);
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
throw new TaskCliError(64, { code: 'invalid_input', error: 'Use cez discover runners or cez discover models --runner=<runner>. See cez discover --help.' });
|
|
41
|
+
}
|
|
42
|
+
const { values, positionals } = parsed;
|
|
43
|
+
if (values.help) {
|
|
44
|
+
io.stdout(HELP);
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
47
|
+
const selected = discoveryRequestSchema.safeParse({ kind: positionals[0], ...(values.runner === undefined ? {} : { runner: values.runner }) });
|
|
48
|
+
if (positionals.length !== 1 || !selected.success)
|
|
49
|
+
throw new TaskCliError(64, { code: 'invalid_input', error: 'Use cez discover runners or cez discover models --runner=<runner>.' });
|
|
50
|
+
const request = selected.data;
|
|
51
|
+
const schema = request.kind === 'runners' ? discoveredRunnersSchema : runnerModelCatalogResponseSchema;
|
|
52
|
+
// Even a partial/expired session must not silently escape its controller or scope.
|
|
53
|
+
if (env.CEZ_DELEGATION_URL !== undefined || env.CEZ_DELEGATION_TOKEN !== undefined) {
|
|
54
|
+
if (values.url !== undefined || values.repo !== undefined)
|
|
55
|
+
throw new TaskCliError(64, { code: 'invalid_input', error: 'A delegation session uses its own controller; --url and --repo are unavailable.' });
|
|
56
|
+
try {
|
|
57
|
+
const endpoint = delegationEndpoint(env.CEZ_DELEGATION_URL);
|
|
58
|
+
const token = z.string().regex(/^[A-Za-z0-9_-]{43}$/).parse(env.CEZ_DELEGATION_TOKEN);
|
|
59
|
+
const response = await fetch(`${endpoint.href}/discover`, { method: 'POST', redirect: 'error', headers: { authorization: `Bearer ${token}`, 'content-type': 'application/json' }, body: JSON.stringify(request), signal: AbortSignal.timeout(45_000) });
|
|
60
|
+
const data = await boundedJson(response);
|
|
61
|
+
if (!response.ok) {
|
|
62
|
+
print(delegationErrorResponseSchema.parse(data));
|
|
63
|
+
return 2;
|
|
64
|
+
}
|
|
65
|
+
print(schema.parse(data));
|
|
66
|
+
return 0;
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
throw new TaskCliError(2, { code: 'unavailable_transport', error: 'Discovery session is unavailable or returned an invalid response.' });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const cockpit = await (io.discover ?? discoverCockpit)({ repoDir: values.repo ?? process.cwd(), ...(values.url ?? env.CEZ_URL ? { url: values.url ?? env.CEZ_URL } : {}) });
|
|
73
|
+
const response = await fetchJson(`${cockpit.origin}/api/v1/${request.kind === 'runners' ? 'providers/status' : `models?runner=${encodeURIComponent(request.runner)}`}`);
|
|
74
|
+
if (response.status !== 200)
|
|
75
|
+
refuse(response);
|
|
76
|
+
if (request.kind === 'runners') {
|
|
77
|
+
const parsed = providerStatusResponseSchema.safeParse(response.data);
|
|
78
|
+
if (!parsed.success)
|
|
79
|
+
invalidResponse('runners');
|
|
80
|
+
print(discoveredRunners(parsed.data));
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
const parsed = runnerModelCatalogResponseSchema.safeParse(response.data);
|
|
84
|
+
if (!parsed.success)
|
|
85
|
+
invalidResponse('models');
|
|
86
|
+
print(parsed.data);
|
|
87
|
+
}
|
|
88
|
+
return 0;
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
if (error instanceof TaskCliError) {
|
|
92
|
+
print(error.body);
|
|
93
|
+
return error.exitCode;
|
|
94
|
+
}
|
|
95
|
+
print({ code: 'unavailable', error: 'Discovery is unavailable.' });
|
|
96
|
+
return 2;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function parseDiscoveryArgs(args) {
|
|
100
|
+
return parseArgs({ args, allowPositionals: true, strict: true, options: {
|
|
101
|
+
runner: { type: 'string' }, url: { type: 'string' }, repo: { type: 'string' }, help: { type: 'boolean', short: 'h' },
|
|
102
|
+
} });
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/discovery/cli.ts"],"names":[],"mappings":"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"}
|