codedeck 0.6.0 → 0.7.1

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 (140) hide show
  1. package/README.md +50 -35
  2. package/dist/cli/commands/claims.js +3 -2
  3. package/dist/cli/commands/claims.js.map +1 -1
  4. package/dist/cli/commands/doctor.js +8 -40
  5. package/dist/cli/commands/doctor.js.map +1 -1
  6. package/dist/cli/commands/logs.js +2 -2
  7. package/dist/cli/commands/logs.js.map +1 -1
  8. package/dist/cli/commands/open.js +102 -11
  9. package/dist/cli/commands/open.js.map +1 -1
  10. package/dist/cli/commands/ps.js +6 -6
  11. package/dist/cli/commands/ps.js.map +1 -1
  12. package/dist/cli/commands/review.js +36 -58
  13. package/dist/cli/commands/review.js.map +1 -1
  14. package/dist/cli/commands/run.js +27 -27
  15. package/dist/cli/commands/run.js.map +1 -1
  16. package/dist/cli/commands/setup.js +96 -314
  17. package/dist/cli/commands/setup.js.map +1 -1
  18. package/dist/cli/commands/show.js +2 -1
  19. package/dist/cli/commands/show.js.map +1 -1
  20. package/dist/cli/commands/ui.js +61 -0
  21. package/dist/cli/commands/ui.js.map +1 -0
  22. package/dist/cli/commands/usage-backfill.js +149 -0
  23. package/dist/cli/commands/usage-backfill.js.map +1 -0
  24. package/dist/cli/commands/usage.js +113 -45
  25. package/dist/cli/commands/usage.js.map +1 -1
  26. package/dist/cli/commands/wait.js +3 -2
  27. package/dist/cli/commands/wait.js.map +1 -1
  28. package/dist/cli/index.js +55 -39
  29. package/dist/cli/index.js.map +1 -1
  30. package/dist/cli/web-launch.js +126 -0
  31. package/dist/cli/web-launch.js.map +1 -0
  32. package/dist/config/config.js +0 -70
  33. package/dist/config/config.js.map +1 -1
  34. package/dist/config/paths.js +1 -0
  35. package/dist/config/paths.js.map +1 -1
  36. package/dist/config/setup.js +248 -0
  37. package/dist/config/setup.js.map +1 -0
  38. package/dist/config/web-host.js +31 -0
  39. package/dist/config/web-host.js.map +1 -0
  40. package/dist/config/web-port.js +24 -0
  41. package/dist/config/web-port.js.map +1 -0
  42. package/dist/core/claude-transcript.js +226 -0
  43. package/dist/core/claude-transcript.js.map +1 -0
  44. package/dist/core/errors.js +17 -0
  45. package/dist/core/errors.js.map +1 -1
  46. package/dist/core/models.js +4 -1
  47. package/dist/core/models.js.map +1 -1
  48. package/dist/core/pricing.js +87 -55
  49. package/dist/core/pricing.js.map +1 -1
  50. package/dist/core/roles.js +6 -5
  51. package/dist/core/roles.js.map +1 -1
  52. package/dist/core/run-skills.js +114 -0
  53. package/dist/core/run-skills.js.map +1 -0
  54. package/dist/core/run-usage.js +56 -10
  55. package/dist/core/run-usage.js.map +1 -1
  56. package/dist/core/session.js +6 -16
  57. package/dist/core/session.js.map +1 -1
  58. package/dist/core/usage-query.js +41 -0
  59. package/dist/core/usage-query.js.map +1 -0
  60. package/dist/core/usage-source.js +17 -0
  61. package/dist/core/usage-source.js.map +1 -0
  62. package/dist/daemon/build-id.js +30 -0
  63. package/dist/daemon/build-id.js.map +1 -0
  64. package/dist/daemon/daemon.js +1257 -700
  65. package/dist/daemon/daemon.js.map +1 -1
  66. package/dist/daemon/instance-lock.js +48 -0
  67. package/dist/daemon/instance-lock.js.map +1 -0
  68. package/dist/daemon/ipc.js +4 -3
  69. package/dist/daemon/ipc.js.map +1 -1
  70. package/dist/daemon/web-supervisor.js +251 -0
  71. package/dist/daemon/web-supervisor.js.map +1 -0
  72. package/dist/drivers/claude/driver.js +1 -0
  73. package/dist/drivers/claude/driver.js.map +1 -1
  74. package/dist/drivers/codex/driver.js +14 -3
  75. package/dist/drivers/codex/driver.js.map +1 -1
  76. package/dist/drivers/codex/host-skills.js +57 -0
  77. package/dist/drivers/codex/host-skills.js.map +1 -0
  78. package/dist/drivers/opencode/driver.js +6 -2
  79. package/dist/drivers/opencode/driver.js.map +1 -1
  80. package/dist/drivers/session-driver.js +7 -1
  81. package/dist/drivers/session-driver.js.map +1 -1
  82. package/dist/drivers/session-runtime.js +2 -0
  83. package/dist/drivers/session-runtime.js.map +1 -1
  84. package/dist/drivers/terminal.js +15 -0
  85. package/dist/drivers/terminal.js.map +1 -1
  86. package/dist/git/diff.js +29 -4
  87. package/dist/git/diff.js.map +1 -1
  88. package/dist/open/contract.js.map +1 -1
  89. package/dist/open/launchers/claude.js +78 -2
  90. package/dist/open/launchers/claude.js.map +1 -1
  91. package/dist/open/link-watcher.js +44 -0
  92. package/dist/open/link-watcher.js.map +1 -0
  93. package/dist/open/pty.js +330 -5
  94. package/dist/open/pty.js.map +1 -1
  95. package/dist/open/runtime.js +15 -12
  96. package/dist/open/runtime.js.map +1 -1
  97. package/dist/plugin/agents/general.md +33 -6
  98. package/dist/plugin/hooks/pane-ticker.ts +102 -0
  99. package/dist/plugin/hooks/register.tsx +39 -18
  100. package/dist/plugin/hooks/session-id.sh +1 -1
  101. package/dist/plugin/mods/agents/pane.ts +285 -156
  102. package/dist/plugin/mods/agents/types.ts +23 -3
  103. package/dist/plugin/statusline.sh +57 -32
  104. package/dist/store/database.js +49 -1
  105. package/dist/store/database.js.map +1 -1
  106. package/dist/store/native-links.js +80 -0
  107. package/dist/store/native-links.js.map +1 -0
  108. package/dist/store/sessions.js +166 -51
  109. package/dist/store/sessions.js.map +1 -1
  110. package/dist/store/usage-ledger.js +153 -0
  111. package/dist/store/usage-ledger.js.map +1 -0
  112. package/dist/utils/process.js +2 -16
  113. package/dist/utils/process.js.map +1 -1
  114. package/dist/web/brand.js +59 -0
  115. package/dist/web/brand.js.map +1 -0
  116. package/dist/web/child.js +67 -0
  117. package/dist/web/child.js.map +1 -0
  118. package/dist/web/home-page.js +48 -0
  119. package/dist/web/home-page.js.map +1 -0
  120. package/dist/web/review-page.js +12 -5
  121. package/dist/web/review-page.js.map +1 -1
  122. package/dist/web/security.js +170 -0
  123. package/dist/web/security.js.map +1 -0
  124. package/dist/web/server.js +198 -0
  125. package/dist/web/server.js.map +1 -0
  126. package/dist/web/setup-icons.js +37 -0
  127. package/dist/web/setup-icons.js.map +1 -0
  128. package/dist/web/setup-page.js +1795 -0
  129. package/dist/web/setup-page.js.map +1 -0
  130. package/dist/web/setup-routes.js +475 -0
  131. package/dist/web/setup-routes.js.map +1 -0
  132. package/dist/web/usage-page.js +609 -0
  133. package/dist/web/usage-page.js.map +1 -0
  134. package/dist/web/usage-routes.js +88 -0
  135. package/dist/web/usage-routes.js.map +1 -0
  136. package/dist/web/web-token.js +56 -0
  137. package/dist/web/web-token.js.map +1 -0
  138. package/package.json +1 -1
  139. package/dist/plugin/prompts/_partials/commit.md +0 -145
  140. package/dist/plugin/prompts/_partials/pr-writer.md +0 -186
@@ -1,14 +1,53 @@
1
1
  import fs from "node:fs";
2
2
  import { IpcClient } from "../../daemon/ipc.js";
3
+ import { buildUsageQueryParams } from "../../core/usage-query.js";
3
4
  import { getPaths } from "../../config/paths.js";
5
+ import { SESSION_ID_PATTERN } from "../../open/runtime.js";
4
6
  import { Database } from "../../store/database.js";
5
7
  import { SessionStore, resolveUsageDateRange } from "../../store/sessions.js";
6
8
  import { renderSnapshot } from "../usage/snapshot.js";
7
9
  import { runDashboard } from "../usage/dashboard.js";
10
+ import { backfillUsage } from "./usage-backfill.js";
11
+ import { parseOptionalWebPort } from "../../web/server.js";
12
+ import { launchWebPage } from "../web-launch.js";
13
+ function parseUsageObservation(value) {
14
+ if (value === undefined)
15
+ return undefined;
16
+ const separator = value.lastIndexOf("=");
17
+ if (separator <= 0 || separator === value.length - 1)
18
+ return undefined;
19
+ const nativeId = value.slice(0, separator);
20
+ const costUsd = Number(value.slice(separator + 1));
21
+ if (!SESSION_ID_PATTERN.test(nativeId) || !Number.isFinite(costUsd) || costUsd < 0)
22
+ return undefined;
23
+ return { nativeId, costUsd };
24
+ }
25
+ function parseTranscriptObservation(value) {
26
+ if (value === undefined)
27
+ return undefined;
28
+ const separator = value.indexOf("=");
29
+ if (separator <= 0 || separator === value.length - 1)
30
+ return undefined;
31
+ const nativeId = value.slice(0, separator);
32
+ const path = value.slice(separator + 1);
33
+ if (!SESSION_ID_PATTERN.test(nativeId))
34
+ return undefined;
35
+ return { nativeId, path };
36
+ }
8
37
  export function formatUsageSummary(summary) {
9
38
  const cost = `$${summary.costUsd.toFixed(2)}${summary.costComplete ? "" : "?"}`;
10
39
  return `Run ${summary.runId}: ${summary.sessionCount} sessions, ${summary.inputTokens} input / ${summary.outputTokens} output / ${summary.cachedTokens} cached tokens, cost ${cost}`;
11
40
  }
41
+ function renderUsageSnapshot(result, options) {
42
+ const { plain, by } = options;
43
+ if (by !== "origin")
44
+ return renderSnapshot(result, { plain, by });
45
+ const rows = result.byOrigin.map((bucket) => {
46
+ const cost = `$${bucket.costUsd.toFixed(2)}${bucket.costComplete ? "" : "?"}`;
47
+ return `${bucket.key}: ${bucket.sessionCount} sessions, ${bucket.inputTokens} input / ${bucket.outputTokens} output / ${bucket.cachedTokens} cached tokens, cost ${cost}`;
48
+ });
49
+ return ["Usage by origin", ...rows].join("\n");
50
+ }
12
51
  export async function fetchUsageQuery(params) {
13
52
  const client = new IpcClient();
14
53
  try {
@@ -39,6 +78,7 @@ export async function fetchUsageQuery(params) {
39
78
  byModel: [],
40
79
  byAgent: [],
41
80
  byRun: [],
81
+ byOrigin: [],
42
82
  };
43
83
  }
44
84
  const db = new Database(paths.db, { readOnly: true });
@@ -51,7 +91,9 @@ export async function fetchUsageQuery(params) {
51
91
  }
52
92
  }
53
93
  }
54
- export function registerUsageCommand(program) {
94
+ export function registerUsageCommand(program, dependencies = {}) {
95
+ const queryUsage = dependencies.fetchUsageQuery ?? fetchUsageQuery;
96
+ const runBackfill = dependencies.backfillUsage ?? backfillUsage;
55
97
  program
56
98
  .command("usage")
57
99
  .description("Show token usage, costs, and analytics across sessions or for a run")
@@ -66,13 +108,38 @@ export function registerUsageCommand(program) {
66
108
  .option("-c, --current", "filter by current working directory repository")
67
109
  .option("-m, --model <model>", "filter by model name")
68
110
  .option("-a, --agent <agent>", "filter by agent harness (e.g. codex, claude)")
69
- .option("--by <dimension>", "group by dimension: day, repo, model, agent, run")
111
+ .option("--by <dimension>", "group by dimension: day, repo, model, agent, run, origin")
112
+ .option("--observe <nativeId=cost>", "report live orchestrator cost")
113
+ .option("--transcript <nativeId=path>", "report live orchestrator transcript tokens")
114
+ .option("--backfill", "import historical orchestrator usage")
115
+ .option("--web", "open aggregate usage in the browser")
116
+ .option("--port <n>", "port for a new console (default: web.port from config, else 7777)")
117
+ .option("--no-open", "print the usage URL without opening a browser")
70
118
  .option("-i, --tui", "open interactive full-screen TUI dashboard")
71
119
  .option("-w, --watch", "watch usage in real time with live updates")
72
120
  .option("--interval <seconds>", "refresh interval for --watch (default: 2)", "2")
73
121
  .option("--plain", "output plain text table without ANSI colors")
74
122
  .option("--json", "output usage data as JSON")
75
123
  .action(async (runId, opts) => {
124
+ if (opts.backfill) {
125
+ try {
126
+ const summary = await runBackfill();
127
+ if (opts.json)
128
+ console.log(JSON.stringify(summary));
129
+ else
130
+ console.log(`Usage backfill: imported ${summary.imported}, skipped ${summary.skipped}`);
131
+ }
132
+ catch (error) {
133
+ console.error(`Failed to backfill usage: ${error instanceof Error ? error.message : String(error)}`);
134
+ process.exitCode = 3;
135
+ }
136
+ return;
137
+ }
138
+ if (opts.web && opts.tui) {
139
+ console.error("Options --web and --tui cannot be used together.");
140
+ process.exitCode = 2;
141
+ return;
142
+ }
76
143
  const targetRunId = opts.run ?? runId;
77
144
  // 1. Single-Run Branch (100% Backwards Compatible with statusline.sh)
78
145
  if (targetRunId) {
@@ -87,7 +154,13 @@ export function registerUsageCommand(program) {
87
154
  }
88
155
  let summary;
89
156
  try {
90
- summary = await client.request("usage.get", { runId: targetRunId });
157
+ const observe = parseUsageObservation(opts.observe);
158
+ const transcript = parseTranscriptObservation(opts.transcript);
159
+ summary = await client.request("usage.get", {
160
+ runId: targetRunId,
161
+ ...(observe ? { observe } : {}),
162
+ ...(transcript ? { transcript } : {}),
163
+ });
91
164
  }
92
165
  catch (error) {
93
166
  console.error(error instanceof Error ? error.message : String(error));
@@ -101,45 +174,40 @@ export function registerUsageCommand(program) {
101
174
  return;
102
175
  }
103
176
  // 2. Aggregate Analytics Branch
104
- let period;
105
- let since = opts.since;
106
- const until = opts.until;
107
- if (opts.all) {
108
- period = "all";
109
- }
110
- else if (opts.today) {
111
- period = "today";
112
- }
113
- else if (opts.days) {
114
- const d = parseInt(opts.days, 10);
115
- if (d === 3)
116
- period = "3d";
117
- else if (d === 7)
118
- period = "7d";
119
- else if (d === 30)
120
- period = "30d";
121
- else if (!isNaN(d) && d > 0) {
122
- const now = new Date();
123
- const sinceDate = new Date(now.getFullYear(), now.getMonth(), now.getDate() - (d - 1), 0, 0, 0, 0);
124
- since = sinceDate.toISOString();
177
+ const cwd = process.cwd();
178
+ const queryParams = buildUsageQueryParams(opts, cwd, new Date());
179
+ if (opts.web) {
180
+ let port;
181
+ try {
182
+ port = parseOptionalWebPort(opts.port);
125
183
  }
184
+ catch (error) {
185
+ console.error(error instanceof Error ? error.message : String(error));
186
+ process.exitCode = 1;
187
+ return;
188
+ }
189
+ // The shared server has its own cwd, so the page gets filters already resolved here.
190
+ const query = Object.fromEntries(Object.entries({
191
+ period: queryParams.period,
192
+ repo: queryParams.repository,
193
+ model: queryParams.model,
194
+ agent: queryParams.agent,
195
+ since: queryParams.since,
196
+ until: queryParams.until,
197
+ by: opts.by,
198
+ interval: opts.interval,
199
+ }).filter((entry) => typeof entry[1] === "string" && entry[1] !== ""));
200
+ const code = await (dependencies.launch ?? launchWebPage)({
201
+ path: "/usage",
202
+ query,
203
+ title: "CodeDeck usage",
204
+ port,
205
+ open: opts.open !== false,
206
+ });
207
+ if (code !== 0)
208
+ process.exitCode = code;
209
+ return;
126
210
  }
127
- else if (!since) {
128
- // Default to today if no temporal flags provided
129
- period = "today";
130
- }
131
- let repository = opts.repo;
132
- if (opts.current) {
133
- repository = process.cwd();
134
- }
135
- const queryParams = {
136
- period,
137
- since,
138
- until,
139
- repository,
140
- model: opts.model,
141
- agent: opts.agent,
142
- };
143
211
  // Interactive TUI Mode
144
212
  if (opts.tui) {
145
213
  if (!process.stdout.isTTY || !process.stdin.isTTY) {
@@ -148,7 +216,7 @@ export function registerUsageCommand(program) {
148
216
  return;
149
217
  }
150
218
  const fetcher = {
151
- fetch: async (p) => fetchUsageQuery({ ...queryParams, period: p }),
219
+ fetch: async (p) => queryUsage({ ...queryParams, period: p }),
152
220
  };
153
221
  await runDashboard(fetcher, { input: process.stdin, output: process.stdout });
154
222
  return;
@@ -157,8 +225,8 @@ export function registerUsageCommand(program) {
157
225
  if (opts.watch) {
158
226
  const intervalSec = Math.max(1, Number(opts.interval) || 2);
159
227
  const printLive = async () => {
160
- const res = await fetchUsageQuery(queryParams);
161
- const snap = renderSnapshot(res, { plain: false, by: opts.by });
228
+ const res = await queryUsage(queryParams);
229
+ const snap = renderUsageSnapshot(res, { plain: false, by: opts.by });
162
230
  process.stdout.write(`\x1b[H\x1b[2J${snap}\n\n \x1b[2mUpdating every ${intervalSec}s... (Ctrl+C to quit)\x1b[0m\n`);
163
231
  };
164
232
  await printLive();
@@ -172,7 +240,7 @@ export function registerUsageCommand(program) {
172
240
  // Standard Fetch
173
241
  let result;
174
242
  try {
175
- result = await fetchUsageQuery(queryParams);
243
+ result = await queryUsage(queryParams);
176
244
  }
177
245
  catch (error) {
178
246
  console.error(`Failed to fetch usage: ${error instanceof Error ? error.message : String(error)}`);
@@ -185,7 +253,7 @@ export function registerUsageCommand(program) {
185
253
  }
186
254
  else {
187
255
  const isPlain = opts.plain ?? !process.stdout.isTTY;
188
- console.log(renderSnapshot(result, { plain: isPlain, by: opts.by }));
256
+ console.log(renderUsageSnapshot(result, { plain: isPlain, by: opts.by }));
189
257
  }
190
258
  });
191
259
  }
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/cli/commands/usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/cli/commands/usage.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
1
  import { IpcClient } from "../../daemon/ipc.js";
2
2
  import { getCliInvocation } from "../cli-name.js";
3
3
  import { exitCodeForOutcome } from "../../core/errors.js";
4
+ import { shortSessionId } from "../../core/session.js";
4
5
  import { waitForSession } from "../wait.js";
5
6
  export function formatWaitResult(session) {
6
7
  if (session.status === "failed" || session.status === "orphaned" || session.status === "interrupted") {
7
8
  const failure = session.failure;
8
9
  const tag = failure ? ` [${failure.blame}${failure.retryable ? ", retryable" : ""}]` : "";
9
10
  const detail = failure?.detail ? `: ${String(failure.detail).slice(0, 200)}` : "";
10
- return `✗ Session ${session.id} ${session.status}${tag}${detail}`;
11
+ return `✗ Session ${shortSessionId(session.id)} ${session.status}${tag}${detail}`;
11
12
  }
12
- return `✓ Session ${session.id} ${session.status}`;
13
+ return `✓ Session ${shortSessionId(session.id)} ${session.status}`;
13
14
  }
14
15
  export function registerWaitCommand(program) {
15
16
  program
@@ -1 +1 @@
1
- {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/cli/commands/wait.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAA0B,MAAM,YAAY,CAAC;AAMpE,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACrG,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,OAAO,aAAa,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,aAAa,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8CAA8C,CAAC;SAC3D,QAAQ,CAAC,MAAM,EAAE,wCAAwC,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC;SACpD,WAAW,CAAC,OAAO,EAAE;;MAEpB,gBAAgB,EAAE;MAClB,gBAAgB,EAAE;CACvB,CAAC;SACG,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAwB,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAsB;YACpC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAuB,aAAa,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC5F,OAAO,MAAM,CAAC,OAAO,CAAC;YACxB,CAAC;YACD,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CACjD,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;SACxD,CAAC;QAEF,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;;YAC/C,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/cli/commands/wait.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,cAAc,EAA0B,MAAM,YAAY,CAAC;AAMpE,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACrG,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,OAAO,aAAa,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC;IACpF,CAAC;IACD,OAAO,aAAa,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8CAA8C,CAAC;SAC3D,QAAQ,CAAC,MAAM,EAAE,wCAAwC,CAAC;SAC1D,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC;SACpD,WAAW,CAAC,OAAO,EAAE;;MAEpB,gBAAgB,EAAE;MAClB,gBAAgB,EAAE;CACvB,CAAC;SACG,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAwB,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAsB;YACpC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAuB,aAAa,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC5F,OAAO,MAAM,CAAC,OAAO,CAAC;YACxB,CAAC;YACD,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CACjD,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;SACxD,CAAC;QAEF,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;;YAC/C,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC"}
package/dist/cli/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from "commander";
3
- import { readFileSync } from "node:fs";
3
+ import { readFileSync, realpathSync } from "node:fs";
4
4
  import { fileURLToPath } from "node:url";
5
5
  import path from "node:path";
6
6
  import { registerRunCommand } from "./commands/run.js";
@@ -17,10 +17,10 @@ import { registerDiffCommand } from "./commands/diff.js";
17
17
  import { registerDoctorCommand } from "./commands/doctor.js";
18
18
  import { registerModelsCommand } from "./commands/models.js";
19
19
  import { registerOpenCommand } from "./commands/open.js";
20
- import { registerProfileCommand } from "./commands/profile.js";
21
20
  import { registerSetupCommand } from "./commands/setup.js";
22
21
  import { registerUsageCommand } from "./commands/usage.js";
23
22
  import { registerReviewCommand } from "./commands/review.js";
23
+ import { registerUiCommand } from "./commands/ui.js";
24
24
  import { getCliInvocation, getCliName } from "./cli-name.js";
25
25
  function getVersion() {
26
26
  try {
@@ -32,19 +32,20 @@ function getVersion() {
32
32
  return "0.1.0";
33
33
  }
34
34
  }
35
- const program = new Command();
36
- // CODEDECK_CLI_NAME renames the tool (for example a `codedeck-dev`
37
- // alias), so the help below shows that name instead of `npx codedeck`.
38
- const cliName = getCliName();
39
- const cli = getCliInvocation();
40
- program
41
- .name(cliName)
42
- .description("CodeDeck — local runtime for coding agents\nManage Claude, Codex, OpenCode and OMP through a single session interface")
43
- .version(getVersion())
44
- .helpOption("-h, --help", "display help for command")
45
- .showHelpAfterError("(add --help for details)")
46
- .showSuggestionAfterError(true)
47
- .addHelpText("after", `
35
+ export function createCliProgram() {
36
+ const program = new Command();
37
+ // CODEDECK_CLI_NAME renames the tool (for example a `codedeck-dev`
38
+ // alias), so the help below shows that name instead of `npx codedeck`.
39
+ const cliName = getCliName();
40
+ const cli = getCliInvocation();
41
+ program
42
+ .name(cliName)
43
+ .description("CodeDeck — local runtime for coding agents\nManage Claude, Codex, OpenCode and OMP through a single session interface")
44
+ .version(getVersion())
45
+ .helpOption("-h, --help", "display help for command")
46
+ .showHelpAfterError("(add --help for details)")
47
+ .showSuggestionAfterError(true)
48
+ .addHelpText("after", `
48
49
  Examples:
49
50
  $ ${cli} run "implement authentication" --agent claude --worktree
50
51
  $ ${cli} run "fix the tests" --agent codex --bg
@@ -73,28 +74,43 @@ Recommended flow:
73
74
  Run '${cli} <command> --help' for command-specific options.
74
75
  Docs: https://github.com/4ndreello/run-agent
75
76
  `);
76
- registerRunCommand(program);
77
- registerPsCommand(program);
78
- registerClaimsCommand(program);
79
- registerShowCommand(program);
80
- registerRenameCommand(program);
81
- registerLogsCommand(program);
82
- registerWaitCommand(program);
83
- registerSendCommand(program);
84
- registerStopCommand(program);
85
- registerDoneCommand(program);
86
- registerDiffCommand(program);
87
- registerDoctorCommand(program);
88
- registerModelsCommand(program);
89
- registerOpenCommand(program);
90
- registerProfileCommand(program);
91
- registerSetupCommand(program);
92
- registerUsageCommand(program);
93
- registerReviewCommand(program);
94
- // Make `codedeck help` behave like `codedeck --help`
95
- program.command("help", { hidden: true }).action(() => program.outputHelp());
96
- program.parseAsync(process.argv).catch((err) => {
97
- console.error(err instanceof Error ? err.message : String(err));
98
- process.exit(1);
99
- });
77
+ registerRunCommand(program);
78
+ registerPsCommand(program);
79
+ registerClaimsCommand(program);
80
+ registerShowCommand(program);
81
+ registerRenameCommand(program);
82
+ registerLogsCommand(program);
83
+ registerWaitCommand(program);
84
+ registerSendCommand(program);
85
+ registerStopCommand(program);
86
+ registerDoneCommand(program);
87
+ registerDiffCommand(program);
88
+ registerDoctorCommand(program);
89
+ registerModelsCommand(program);
90
+ registerOpenCommand(program);
91
+ registerSetupCommand(program);
92
+ registerUsageCommand(program);
93
+ registerReviewCommand(program);
94
+ registerUiCommand(program);
95
+ // Make `codedeck help` behave like `codedeck --help`.
96
+ program.command("help", { hidden: true }).action(() => program.outputHelp());
97
+ return program;
98
+ }
99
+ function isCliEntryPoint() {
100
+ const entryPath = process.argv[1];
101
+ if (!entryPath)
102
+ return false;
103
+ try {
104
+ return realpathSync(entryPath) === realpathSync(fileURLToPath(import.meta.url));
105
+ }
106
+ catch {
107
+ return path.resolve(entryPath) === path.resolve(fileURLToPath(import.meta.url));
108
+ }
109
+ }
110
+ if (isCliEntryPoint()) {
111
+ createCliProgram().parseAsync(process.argv).catch((err) => {
112
+ console.error(err instanceof Error ? err.message : String(err));
113
+ process.exit(1);
114
+ });
115
+ }
100
116
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ import os from "node:os";
2
+ import { isIP } from "node:net";
3
+ import { fileURLToPath } from "node:url";
4
+ import { IpcClient } from "../daemon/ipc.js";
5
+ import { computeBuildId, distRootFor } from "../daemon/build-id.js";
6
+ import { loadConfig } from "../config/config.js";
7
+ import { invalidWebHostMessage, resolveWebHost } from "../config/web-host.js";
8
+ import { invalidWebPortMessage, resolveWebPort } from "../config/web-port.js";
9
+ import { openBrowser, startWebServer } from "../web/server.js";
10
+ import { resolveWebToken } from "../web/web-token.js";
11
+ import { createUiRoutes } from "./commands/ui.js";
12
+ /**
13
+ * Open a console page served by the daemon's web child and return the exit code.
14
+ * When the daemon cannot host it, serve the pages from this process instead.
15
+ */
16
+ export async function launchWebPage(options, deps = {}) {
17
+ const client = deps.client ?? new IpcClient();
18
+ const log = deps.log ?? ((message) => console.log(message));
19
+ const error = deps.error ?? ((message) => console.error(message));
20
+ const config = (deps.loadConfig ?? loadConfig)();
21
+ const { port: preferredPort, invalid } = resolveWebPort(config);
22
+ const { host: configuredHost, invalid: invalidHost } = resolveWebHost(config);
23
+ if (invalid !== undefined)
24
+ error(invalidWebPortMessage(invalid));
25
+ if (invalidHost !== undefined)
26
+ error(invalidWebHostMessage(invalidHost));
27
+ const host = options.host ?? configuredHost;
28
+ const askedPort = options.port ?? preferredPort;
29
+ try {
30
+ await client.ensureDaemonStarted();
31
+ }
32
+ catch {
33
+ error("CodeDeck daemon is unavailable; serving from this process.");
34
+ return serveInProcess(options, host, askedPort, deps, error);
35
+ }
36
+ const params = {
37
+ ...(options.host === undefined ? { preferredHost: configuredHost } : { host: options.host }),
38
+ ...(options.port === undefined ? { preferredPort } : { port: options.port }),
39
+ build: deps.build ?? computeBuildId(distRootFor(import.meta.url)),
40
+ entry: deps.entry ?? fileURLToPath(new URL("../web/child.js", import.meta.url)),
41
+ };
42
+ let web;
43
+ try {
44
+ web = await client.request("web.ensure", params);
45
+ }
46
+ catch (failure) {
47
+ const { code, message, details } = failure;
48
+ if (code === "WEB_LISTEN_FAILED") {
49
+ error(listenFailureMessage(host, details?.port ?? askedPort, message));
50
+ return 1;
51
+ }
52
+ error(`CodeDeck daemon cannot host the web console (${code ?? "UNKNOWN"}); serving from this process.`);
53
+ return serveInProcess(options, host, askedPort, deps, error);
54
+ }
55
+ const activeHost = web.host ?? host;
56
+ warnForPlainHttp(activeHost, web.port, error);
57
+ if (web.port !== askedPort)
58
+ log(`CodeDeck web is running on port ${web.port} instead of ${askedPort}`);
59
+ const url = new URL(options.path, web.baseUrl);
60
+ for (const [key, value] of Object.entries(options.query ?? {}))
61
+ url.searchParams.set(key, value);
62
+ url.searchParams.set("t", web.token);
63
+ const pageUrl = url.toString();
64
+ if (options.open && !(await (deps.openBrowser ?? openBrowser)(pageUrl))) {
65
+ log(`Could not open a browser, visit ${pageUrl} manually.`);
66
+ }
67
+ else {
68
+ log(`${options.title} on ${pageUrl}`);
69
+ }
70
+ printAlternateLinks(activeHost, web.port, options, web.token, deps.networkInterfaces ?? os.networkInterfaces, log);
71
+ return 0;
72
+ }
73
+ async function serveInProcess(options, host, port, deps, error) {
74
+ const query = new URLSearchParams(options.query ?? {}).toString();
75
+ const log = deps.log ?? ((message) => console.log(message));
76
+ try {
77
+ const listening = await (deps.startServer ?? startWebServer)({
78
+ routes: createUiRoutes(),
79
+ host,
80
+ port,
81
+ fallbackToEphemeral: options.port === undefined,
82
+ // The same token as the daemon's web child, so neither server's cookie locks out the other.
83
+ token: (deps.resolveToken ?? resolveWebToken)(),
84
+ initialPath: query ? `${options.path}?${query}` : options.path,
85
+ title: options.title,
86
+ open: options.open,
87
+ openBrowser: deps.openBrowser,
88
+ log,
89
+ });
90
+ warnForPlainHttp(host, listening.port, error);
91
+ printAlternateLinks(host, listening.port, options, listening.security.token, deps.networkInterfaces ?? os.networkInterfaces, log);
92
+ }
93
+ catch (failure) {
94
+ error(listenFailureMessage(host, port, failure instanceof Error ? failure.message : String(failure)));
95
+ return 1;
96
+ }
97
+ // The server keeps this process alive until SIGINT or SIGTERM.
98
+ return 0;
99
+ }
100
+ function listenFailureMessage(host, port, message) {
101
+ const displayedHost = isIP(host) === 6 ? `[${host}]` : host;
102
+ return `Failed to listen on ${displayedHost}:${port}: ${message}`;
103
+ }
104
+ function warnForPlainHttp(host, port, error) {
105
+ const ipVersion = isIP(host);
106
+ const loopback = ipVersion === 4
107
+ ? host.startsWith("127.")
108
+ : ipVersion === 6 && new URL(`http://[${host}]/`).hostname.toLowerCase() === "[::1]";
109
+ if (loopback)
110
+ return;
111
+ error(`Warning: the console listens on ${host} over plain HTTP. Anyone who can reach port ${port} with the link gets full access; use it only on a trusted network such as Tailscale.`);
112
+ }
113
+ function printAlternateLinks(host, port, options, token, networkInterfaces, log) {
114
+ if (host !== "0.0.0.0" && host !== "::")
115
+ return;
116
+ for (const info of Object.values(networkInterfaces()).flatMap((addresses) => addresses ?? [])) {
117
+ if (info.family !== "IPv4" || info.internal)
118
+ continue;
119
+ const url = new URL(options.path, `http://${info.address}:${port}`);
120
+ for (const [key, value] of Object.entries(options.query ?? {}))
121
+ url.searchParams.set(key, value);
122
+ url.searchParams.set("t", token);
123
+ log(`Also on ${url.toString()}`);
124
+ }
125
+ }
126
+ //# sourceMappingURL=web-launch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-launch.js","sourceRoot":"","sources":["../../src/cli/web-launch.ts"],"names":[],"mappings":"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"}