@mycompbox/compbox-cli 1.15.0 → 1.17.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/commands/configure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiCpC,eAAO,MAAM,gBAAgB,SA2PzB,CAAC"}
1
+ {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/commands/configure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyCpC,eAAO,MAAM,gBAAgB,SAiUzB,CAAC"}
@@ -21,13 +21,15 @@
21
21
  */
22
22
  import { Command } from 'commander';
23
23
  import chalk from 'chalk';
24
+ import { execFileSync } from 'child_process';
24
25
  import { hostname } from 'os';
25
- import { readConfig, updateConfig, isGitRepoDir } from '../utils/config-store.js';
26
+ import { readConfig, updateConfig, isGitRepoDir, addProjectDir, } from '../utils/config-store.js';
26
27
  import { promptSelect, promptSecret, promptConfirm, promptText } from '../utils/prompt.js';
27
28
  import { storeSecret, AI_KEY_ACCOUNT, MACHINE_TOKEN_ACCOUNT, } from '../utils/keychain.js';
28
29
  import { MailboxClient, MailboxClientError } from '../utils/mailbox-client.js';
29
30
  import { patchMcpConfig, defaultMcpConfigPath, MCP_SERVER_PACKAGE, } from '../utils/mcp-config-writer.js';
30
31
  import { isLoopbackUrl, LOOPBACK_NOTICE } from '../utils/loopback.js';
32
+ import { findBrew } from '../utils/brew.js';
31
33
  function parseAiMode(value) {
32
34
  if (value === 'claude-subscription' || value === 'api-key') {
33
35
  return value;
@@ -155,6 +157,27 @@ export const configureCommand = new Command('configure')
155
157
  console.log(chalk.yellow('\n⚠ No project directory set — dispatched plan/orchestrate jobs will fail until one is configured.'));
156
158
  console.log(chalk.gray(' Set it later with `compbox run --project-dir <path>`, the COMPBOX_PROJECT_DIR env var, or by re-running `compbox configure`.'));
157
159
  }
160
+ // --- Step 2.6: offer to register this repo in the serviced-remotes allowlist (ENG-177) ---
161
+ // The daemon reports each registered checkout's origin remote to central as
162
+ // `servicedRemotes` on every heartbeat, letting the web dispatch UI route a
163
+ // run to the machine that hosts the target repo. Only offered when the cwd is
164
+ // a git checkout (there is nothing to register otherwise); registration is a
165
+ // best-effort convenience — a failure warns but never blocks configuration.
166
+ if (isGitRepoDir(process.cwd())) {
167
+ const registerAllowlist = await promptConfirm('Register this repository (its origin remote → this path) so dispatched runs targeting it route to this machine?', true);
168
+ if (registerAllowlist) {
169
+ try {
170
+ const entry = addProjectDir(process.cwd());
171
+ console.log(chalk.green(`✔ Registered ${entry.remote} → ${entry.path}`));
172
+ console.log(chalk.gray(' Manage the allowlist later with `compbox machines dirs list/add/rm`.'));
173
+ }
174
+ catch (error) {
175
+ const message = error instanceof Error ? error.message : 'unknown error';
176
+ console.warn(chalk.yellow(`⚠ Could not register this repository: ${message}`));
177
+ console.warn(chalk.gray(' You can register it later with `compbox machines dirs add`.'));
178
+ }
179
+ }
180
+ }
158
181
  // --- Step 3: write/patch the MCP config ---
159
182
  const mcpConfigPath = options.mcpConfig ?? defaultMcpConfigPath();
160
183
  const result = patchMcpConfig(mcpConfigPath, {
@@ -191,9 +214,47 @@ export const configureCommand = new Command('configure')
191
214
  : process.platform === 'win32'
192
215
  ? 'compbox service install'
193
216
  : 'compbox run';
217
+ // --- Step 4: offer to start the Agent Runner daemon now (macOS) ---
218
+ // `brew services start compbox` is the ONE-TIME registration that makes
219
+ // launchd start the daemon now AND at every login. Installing the
220
+ // formula alone does not register it, and until it runs the web app's
221
+ // "Run on Your Machine" reports this machine as offline — so end the
222
+ // wizard with the daemon actually running instead of a printed TODO.
223
+ // Homebrew is located via findBrew() (standard prefixes first, then
224
+ // PATH); when it isn't found the printed next steps still cover it.
225
+ let daemonStarted = false;
226
+ if (process.platform === 'darwin') {
227
+ const brew = findBrew();
228
+ if (brew !== null) {
229
+ const startNow = await promptConfirm('Start the Agent Runner daemon now via `brew services start compbox`? (auto-starts at every login)', true);
230
+ if (startNow) {
231
+ try {
232
+ execFileSync(brew, ['services', 'start', 'compbox'], {
233
+ encoding: 'utf-8',
234
+ timeout: 30_000,
235
+ stdio: ['ignore', 'pipe', 'pipe'],
236
+ });
237
+ daemonStarted = true;
238
+ console.log(chalk.green('✔ Agent Runner daemon started — launchd will auto-start it at every login.'));
239
+ }
240
+ catch (error) {
241
+ const message = error instanceof Error ? error.message.split('\n')[0] : 'unknown error';
242
+ console.warn(chalk.yellow(`⚠ Could not start the service: ${message}`));
243
+ console.warn(chalk.gray(` Start it manually with \`${startServiceCmd}\`.`));
244
+ }
245
+ }
246
+ }
247
+ }
248
+ const nextSteps = daemonStarted
249
+ ? ['Run `compbox doctor` to verify connectivity, pairing, and the MCP config.']
250
+ : [
251
+ `Run \`${startServiceCmd}\` to start the Agent Runner daemon on this machine.`,
252
+ 'Run `compbox doctor` to verify connectivity, pairing, and the MCP config.',
253
+ ];
194
254
  console.log('\n' + chalk.bold('Next steps:'));
195
- console.log(chalk.gray(` 1. Run \`${startServiceCmd}\` to start the Agent Runner daemon on this machine.`));
196
- console.log(chalk.gray(' 2. Run `compbox doctor` to verify connectivity, pairing, and the MCP config.'));
255
+ nextSteps.forEach((step, index) => {
256
+ console.log(chalk.gray(` ${String(index + 1)}. ${step}`));
257
+ });
197
258
  }
198
259
  catch (error) {
199
260
  if (error instanceof Error) {
@@ -1 +1 @@
1
- {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/commands/configure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/commands/configure.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,10 @@
22
22
  * hang — WARN on timeout); `npx` entries resolve from registry.npmjs.org
23
23
  * on first use, so there is nothing local to verify.
24
24
  * 7. AI mode configured (keychain key present, or subscription acknowledged).
25
- * 8. macOS only — the Homebrew-managed service is running (best-effort; skips
26
- * gracefully when `brew` is not on PATH).
25
+ * 8. macOS only — the Homebrew-managed service is running. `brew` is located
26
+ * via the standard install prefixes first (not just PATH), and when
27
+ * `brew services list` itself crashes the check falls back to querying
28
+ * launchd directly; it SKIPs only when Homebrew is genuinely absent.
27
29
  * 9. pxpipe token proxy — reachable when enabled (SKIP when disabled). Agents
28
30
  * fall back to direct calls if it is down, so this never hard-fails setup.
29
31
  *
@@ -114,6 +116,29 @@ export declare function launchTargetCheck(mcpStatus: Pick<McpConfigStatus, 'entr
114
116
  fileExists?: (path: string) => boolean;
115
117
  probe?: LaunchProbe;
116
118
  }): Promise<CheckResult>;
119
+ /** launchd label that `brew services start compbox` registers. */
120
+ export declare const BREW_SERVICE_LABEL = "homebrew.mxcl.compbox";
121
+ export interface BrewServiceDeps {
122
+ /** Brew locator (injectable for tests). Defaults to findBrew(). */
123
+ findBrewFn?: () => string | null;
124
+ /** Command runner (injectable for tests). Throws on non-zero exit. */
125
+ execFn?: (file: string, args: string[]) => string;
126
+ }
127
+ /**
128
+ * macOS-only: best-effort check that the Homebrew-managed CompBox service is
129
+ * running.
130
+ *
131
+ * `brew` is located via findBrew() — standard install prefixes first, then
132
+ * PATH — so a shell with a stripped PATH doesn't mask an installed Homebrew.
133
+ * When `brew services list` itself fails (e.g. an unrelated formula's broken
134
+ * service block crashes the subcommand), the check falls back to asking
135
+ * launchd directly for the `homebrew.mxcl.compbox` job instead of misreporting
136
+ * Homebrew as missing. It SKIPs only when Homebrew genuinely isn't installed,
137
+ * since the machine may have been set up by other means.
138
+ *
139
+ * Exported (with injectable deps) so every branch is unit-testable.
140
+ */
141
+ export declare function checkBrewService(deps?: BrewServiceDeps): CheckResult;
117
142
  /** A zero-arg agent-runtime probe (matches probeAgentRuntime's default call). */
118
143
  export type AgentRuntimeProbeFn = () => Promise<AgentRuntimeProbe>;
119
144
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAM9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAWpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAQrE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgBD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAY5D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,YAAY,CAAC,EAC/D,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,WAAW,CA0Cb;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAE5D;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IACzC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,KACX,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEhC;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,GAAE,MAAgC,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CA8C5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CAAC,EACrE,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAAO,GACzE,OAAO,CAAC,WAAW,CAAC,CAwEtB;AAwED,iFAAiF;AACjF,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,EACrC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,mBAAmB,CAAA;CAAO,GACzC,OAAO,CAAC,WAAW,CAAC,CAwCtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG,WAAW,CAuBtF;AAED,eAAO,MAAM,aAAa,SA2OtB,CAAC"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAM9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAWpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AASrE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgBD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAY5D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,YAAY,CAAC,EAC/D,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,WAAW,CA0Cb;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAE5D;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IACzC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,WAAW,GAAG,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,KACX,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEhC;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,GAAE,MAAgC,GAC1C,OAAO,CAAC,iBAAiB,CAAC,CA8C5B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CAAC,EACrE,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAAO,GACzE,OAAO,CAAC,WAAW,CAAC,CAwEtB;AAED,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,0BAA0B,CAAC;AAE1D,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACjC,sEAAsE;IACtE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;CACnD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,eAAoB,GAAG,WAAW,CAiExE;AA4BD,iFAAiF;AACjF,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,EACrC,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,mBAAmB,CAAA;CAAO,GACzC,OAAO,CAAC,WAAW,CAAC,CAwCtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG,WAAW,CAuBtF;AAED,eAAO,MAAM,aAAa,SA2OtB,CAAC"}
@@ -22,8 +22,10 @@
22
22
  * hang — WARN on timeout); `npx` entries resolve from registry.npmjs.org
23
23
  * on first use, so there is nothing local to verify.
24
24
  * 7. AI mode configured (keychain key present, or subscription acknowledged).
25
- * 8. macOS only — the Homebrew-managed service is running (best-effort; skips
26
- * gracefully when `brew` is not on PATH).
25
+ * 8. macOS only — the Homebrew-managed service is running. `brew` is located
26
+ * via the standard install prefixes first (not just PATH), and when
27
+ * `brew services list` itself crashes the check falls back to querying
28
+ * launchd directly; it SKIPs only when Homebrew is genuinely absent.
27
29
  * 9. pxpipe token proxy — reachable when enabled (SKIP when disabled). Agents
28
30
  * fall back to direct calls if it is down, so this never hard-fails setup.
29
31
  *
@@ -40,6 +42,7 @@ import { probeAgentRuntime, WELL_KNOWN_DIRS, claudeNotFoundMessage, } from '../u
40
42
  import { retrieveSecret, AI_KEY_ACCOUNT, MACHINE_TOKEN_ACCOUNT, } from '../utils/keychain.js';
41
43
  import { defaultMcpConfigPath, inspectMcpConfig, MCP_SERVER_PACKAGE, } from '../utils/mcp-config-writer.js';
42
44
  import { isLoopbackUrl, LOOPBACK_IMPACT } from '../utils/loopback.js';
45
+ import { findBrew, BREW_CANDIDATE_PATHS } from '../utils/brew.js';
43
46
  import { isPxpipeEnabled, probeProxyHealth, getAnthropicProxyUrl } from '@mycompbox/shared';
44
47
  function printResult(result) {
45
48
  const marker = result.warning
@@ -273,40 +276,77 @@ export async function launchTargetCheck(mcpStatus, deps = {}) {
273
276
  detail: `Bundle at ${bundlePath} exists but failed to start (${probeResult.detail ?? 'unknown error'}) — run \`brew reinstall compbox\` or re-run \`compbox configure\`.`,
274
277
  };
275
278
  }
279
+ /** launchd label that `brew services start compbox` registers. */
280
+ export const BREW_SERVICE_LABEL = 'homebrew.mxcl.compbox';
276
281
  /**
277
282
  * macOS-only: best-effort check that the Homebrew-managed CompBox service is
278
- * running. If `brew` is absent / not on PATH, this SKIPS gracefully (it does
279
- * not fail) since the machine may have been installed by other means.
283
+ * running.
284
+ *
285
+ * `brew` is located via findBrew() — standard install prefixes first, then
286
+ * PATH — so a shell with a stripped PATH doesn't mask an installed Homebrew.
287
+ * When `brew services list` itself fails (e.g. an unrelated formula's broken
288
+ * service block crashes the subcommand), the check falls back to asking
289
+ * launchd directly for the `homebrew.mxcl.compbox` job instead of misreporting
290
+ * Homebrew as missing. It SKIPs only when Homebrew genuinely isn't installed,
291
+ * since the machine may have been set up by other means.
292
+ *
293
+ * Exported (with injectable deps) so every branch is unit-testable.
280
294
  */
281
- function checkBrewService() {
282
- let output;
283
- try {
284
- output = execFileSync('brew', ['services', 'list'], {
295
+ export function checkBrewService(deps = {}) {
296
+ const name = 'Homebrew service running (macOS)';
297
+ const locateBrew = deps.findBrewFn ?? findBrew;
298
+ const exec = deps.execFn ??
299
+ ((file, args) => execFileSync(file, args, {
285
300
  encoding: 'utf-8',
286
301
  timeout: 10_000,
287
302
  stdio: ['ignore', 'pipe', 'ignore'],
288
- });
289
- }
290
- catch {
291
- // `brew` not installed / not on PATH, or the command failed — skip, don't fail.
303
+ }));
304
+ const brew = locateBrew();
305
+ if (brew === null) {
292
306
  return {
293
- name: 'Homebrew service running (macOS)',
307
+ name,
294
308
  passed: true,
295
309
  skipped: true,
296
- detail: 'Skipped — `brew` not found on PATH. If you installed CompBox via Homebrew, ensure brew is available, then run `brew services start compbox`.',
310
+ detail: `Skipped — Homebrew not found (checked ${BREW_CANDIDATE_PATHS.join(', ')}, and PATH). If you installed CompBox via Homebrew, ensure brew is available, then run \`brew services start compbox\`.`,
297
311
  };
298
312
  }
313
+ let output;
314
+ try {
315
+ output = exec(brew, ['services', 'list']);
316
+ }
317
+ catch (error) {
318
+ // brew IS installed but `services list` crashed (this happens when any
319
+ // installed formula has a service block the local Homebrew version can't
320
+ // parse). Ask launchd directly rather than misreporting brew as missing.
321
+ const cause = error instanceof Error ? error.message.split('\n')[0] : 'unknown error';
322
+ try {
323
+ exec('launchctl', ['list', BREW_SERVICE_LABEL]);
324
+ return {
325
+ name,
326
+ passed: true,
327
+ warning: true,
328
+ detail: `CompBox Agent Runner is loaded in launchd (${BREW_SERVICE_LABEL}), but \`brew services list\` itself failed (${cause}) — a \`brew update\` may fix the subcommand.`,
329
+ };
330
+ }
331
+ catch {
332
+ return {
333
+ name,
334
+ passed: false,
335
+ detail: `\`brew services list\` failed (${cause}) and launchd has no ${BREW_SERVICE_LABEL} job — run \`brew services start compbox\`.`,
336
+ };
337
+ }
338
+ }
299
339
  const line = output.split('\n').find((l) => /^\s*compbox\b/.test(l));
300
340
  if (!line) {
301
341
  return {
302
- name: 'Homebrew service running (macOS)',
342
+ name,
303
343
  passed: false,
304
344
  detail: 'CompBox is not registered with `brew services` — run `brew services start compbox`.',
305
345
  };
306
346
  }
307
347
  const started = /\bstarted\b/i.test(line);
308
348
  return {
309
- name: 'Homebrew service running (macOS)',
349
+ name,
310
350
  passed: started,
311
351
  detail: started
312
352
  ? 'CompBox Agent Runner is running under `brew services`.'
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * `compbox machines dirs` — manage this machine's per-project repo-routing
3
+ * allowlist (ENG-177): a local map of canonical git-remote → checkout path.
4
+ *
5
+ * Unlike the sibling `machines list/rename/rm` commands, these subcommands are
6
+ * PURELY LOCAL — they read and write `~/.compbox/config.json` via the allowlist
7
+ * helpers and never call central (no login / user token required). The daemon
8
+ * reports the registered remotes to central as `servicedRemotes` on each
9
+ * heartbeat (ENG-177-3), which is how the web dispatch UI routes a run to the
10
+ * machine that hosts the target repository.
11
+ *
12
+ * - `list` — the registered remote → path entries.
13
+ * - `add [path]` — register a checkout (default: cwd) by its origin
14
+ * remote; enforces one path per normalized remote.
15
+ * - `rm <remote|path>`— unregister an entry by its remote or its path.
16
+ *
17
+ * Attached under the `machines` command group in `commands/machines.ts`.
18
+ */
19
+ import { Command } from 'commander';
20
+ export declare const machinesDirsCommand: Command;
21
+ //# sourceMappingURL=machines-dirs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machines-dirs.d.ts","sourceRoot":"","sources":["../../src/commands/machines-dirs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,eAAO,MAAM,mBAAmB,SAE/B,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * `compbox machines dirs` — manage this machine's per-project repo-routing
3
+ * allowlist (ENG-177): a local map of canonical git-remote → checkout path.
4
+ *
5
+ * Unlike the sibling `machines list/rename/rm` commands, these subcommands are
6
+ * PURELY LOCAL — they read and write `~/.compbox/config.json` via the allowlist
7
+ * helpers and never call central (no login / user token required). The daemon
8
+ * reports the registered remotes to central as `servicedRemotes` on each
9
+ * heartbeat (ENG-177-3), which is how the web dispatch UI routes a run to the
10
+ * machine that hosts the target repository.
11
+ *
12
+ * - `list` — the registered remote → path entries.
13
+ * - `add [path]` — register a checkout (default: cwd) by its origin
14
+ * remote; enforces one path per normalized remote.
15
+ * - `rm <remote|path>`— unregister an entry by its remote or its path.
16
+ *
17
+ * Attached under the `machines` command group in `commands/machines.ts`.
18
+ */
19
+ import { Command } from 'commander';
20
+ import chalk from 'chalk';
21
+ import Table from 'cli-table3';
22
+ import { listProjectDirs, addProjectDir, removeProjectDir, } from '../utils/config-store.js';
23
+ export const machinesDirsCommand = new Command('dirs').description('Manage this machine\'s git-remote → project-directory allowlist for dispatched runs');
24
+ machinesDirsCommand
25
+ .command('list')
26
+ .description('List the registered remote → project-directory entries')
27
+ .action(() => {
28
+ const dirs = listProjectDirs();
29
+ if (dirs.length === 0) {
30
+ console.log(chalk.yellow('No project directories registered on this machine.'));
31
+ console.log(chalk.gray('Run `compbox machines dirs add [path]` to register a checkout by its origin remote.'));
32
+ return;
33
+ }
34
+ const table = new Table({
35
+ head: [chalk.cyan('Remote'), chalk.cyan('Path')],
36
+ });
37
+ for (const dir of dirs) {
38
+ table.push([dir.remote, dir.path]);
39
+ }
40
+ console.log(table.toString());
41
+ });
42
+ machinesDirsCommand
43
+ .command('add [path]')
44
+ .description('Register a git checkout (default: current directory) by its origin remote')
45
+ .action((path) => {
46
+ const target = path && path.trim().length > 0 ? path.trim() : process.cwd();
47
+ try {
48
+ const entry = addProjectDir(target);
49
+ console.log(chalk.green(`✔ Registered ${entry.remote} → ${entry.path}`));
50
+ console.log(chalk.gray(' Dispatched runs targeting this remote will route to this machine and path.'));
51
+ }
52
+ catch (error) {
53
+ const message = error instanceof Error ? error.message : 'unknown error';
54
+ console.error(chalk.red(`\nFailed to register project directory: ${message}`));
55
+ process.exit(1);
56
+ }
57
+ });
58
+ machinesDirsCommand
59
+ .command('rm <remoteOrPath>')
60
+ .description('Unregister a project directory by its origin remote or its path')
61
+ .action((remoteOrPath) => {
62
+ const removed = removeProjectDir(remoteOrPath);
63
+ if (removed) {
64
+ console.log(chalk.green(`✔ Removed "${remoteOrPath}" from the allowlist.`));
65
+ }
66
+ else {
67
+ console.log(chalk.yellow(`No allowlist entry matched "${remoteOrPath}".`));
68
+ }
69
+ });
70
+ //# sourceMappingURL=machines-dirs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machines-dirs.js","sourceRoot":"","sources":["../../src/commands/machines-dirs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../src/commands/machines.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+CpC,eAAO,MAAM,eAAe,SAE3B,CAAC"}
1
+ {"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../src/commands/machines.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgDpC,eAAO,MAAM,eAAe,SAE3B,CAAC"}
@@ -19,6 +19,7 @@ import Table from 'cli-table3';
19
19
  import { readConfig } from '../utils/config-store.js';
20
20
  import { promptConfirm } from '../utils/prompt.js';
21
21
  import { MailboxClient, MailboxClientError } from '../utils/mailbox-client.js';
22
+ import { machinesDirsCommand } from './machines-dirs.js';
22
23
  /**
23
24
  * Resolve the central URL + user token, or exit(1) with an actionable message
24
25
  * when this machine hasn't been logged in yet. Returns `never` on the failure
@@ -54,6 +55,8 @@ function failWith(error, context) {
54
55
  process.exit(1);
55
56
  }
56
57
  export const machinesCommand = new Command('machines').description('List, rename, and remove the machines paired to your CompBox account');
58
+ // Local per-project repo-routing allowlist (ENG-177) — `compbox machines dirs …`.
59
+ machinesCommand.addCommand(machinesDirsCommand);
57
60
  machinesCommand
58
61
  .command('list')
59
62
  .description('List the machines paired to your account (excludes revoked ones)')
@@ -1 +1 @@
1
- {"version":3,"file":"machines.js","sourceRoot":"","sources":["../../src/commands/machines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"machines.js","sourceRoot":"","sources":["../../src/commands/machines.ts"],"names":[],"mappings":"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"}
package/commands/run.d.ts CHANGED
@@ -20,7 +20,7 @@
20
20
  */
21
21
  import { Command } from 'commander';
22
22
  import { type StartExecutionPayload } from '@mycompbox/shared';
23
- import { MailboxClient } from '../utils/mailbox-client.js';
23
+ import { MailboxClient, type MailboxJob } from '../utils/mailbox-client.js';
24
24
  import { type AgentRuntimeProbe } from '../utils/claude-runtime.js';
25
25
  /**
26
26
  * Whether the agent-runtime heartbeat is due. Driven SOLELY by when the runtime
@@ -60,17 +60,70 @@ export declare function runHeartbeatCycle(deps: {
60
60
  machineToken: string;
61
61
  probe: () => Promise<AgentRuntimeProbe>;
62
62
  previous: AgentRuntimeProbe | undefined;
63
+ /**
64
+ * This machine's serviced git remotes (ENG-177) to report on the heartbeat.
65
+ * An EMPTY array is meaningful (services no repos) and is still transmitted;
66
+ * OMITTING the field entirely preserves the legacy 2-arg heartbeat call so the
67
+ * ENG-136 runtime-only wire shape is unchanged.
68
+ */
69
+ servicedRemotes?: string[];
63
70
  log?: (message: string) => void;
64
71
  }): Promise<{
65
72
  runtime: AgentRuntimeProbe | undefined;
66
73
  sent: boolean;
67
74
  }>;
75
+ /**
76
+ * Gather this machine's serviced git remotes for a heartbeat (ENG-177) — the
77
+ * canonical origin remotes of every checkout in the local allowlist. Read fresh
78
+ * on each heartbeat so `compbox machines dirs add/rm` between polls is reflected
79
+ * without restarting the daemon. Returns `[]` (never undefined) when the
80
+ * allowlist is empty, so central always receives an explicit report.
81
+ */
82
+ export declare function gatherServicedRemotes(): string[];
83
+ export interface HandleJobContext {
84
+ client: MailboxClient;
85
+ machineToken: string;
86
+ apiBaseUrl: string;
87
+ aiMode: string | undefined;
88
+ /** The user's own pairing API token (st_...) — separate from the machine token. */
89
+ userApiToken: string | undefined;
90
+ /**
91
+ * The single-repo project dir resolved once at daemon startup (flag→env→config,
92
+ * ENG-164 / H2). Shown in the startup banner only. NOT used to dispatch jobs:
93
+ * ENG-179 resolves the target checkout PER-JOB by git-remote identity (see
94
+ * {@link handleStartExecution}) so a multi-repo machine never runs a job in the
95
+ * wrong checkout.
96
+ */
97
+ projectDir: string | undefined;
98
+ /**
99
+ * The raw `--project-dir` flag value (ENG-179), threaded through so the per-job
100
+ * fallback (a job with NO `projectRemote`) reproduces the exact flag→env→config
101
+ * precedence for single-repo machines. Distinct from {@link projectDir}, which
102
+ * is already resolved and would collapse the precedence if reused.
103
+ */
104
+ projectDirFlag: string | undefined;
105
+ }
68
106
  /**
69
107
  * Parse a claimed job's `payload` into a {@link StartExecutionPayload}, or null
70
108
  * if malformed. The mailbox delivers `payload` as `unknown` — already an object
71
109
  * in the common case (the API deserializes the stored JSON string, matching how
72
110
  * `parseSeedPayload` treats it), but tolerant of a raw JSON string too.
111
+ *
112
+ * ENG-179: the optional `projectRemote` (the job's normalized git-remote identity,
113
+ * set by ENG-176 for repo-scoped teams) is PRESERVED here so the daemon can route
114
+ * the job to the matching local checkout. It is carried through only when present
115
+ * and non-empty; a job without it stays single-repo/legacy shaped.
73
116
  */
74
117
  export declare function parseStartExecutionPayload(payload: unknown): StartExecutionPayload | null;
118
+ /**
119
+ * Dispatch a `start_execution` job (ENG-164 / ENG-165). Routes on the payload
120
+ * `kind`:
121
+ * - `plan` → run the local @planner headless against the Epic Request.
122
+ * - `orchestrate` → run the local @orchestrator headless against the epic
123
+ * (ENG-165), halt-and-reporting a HARD-gate needs-review
124
+ * outcome rather than hanging.
125
+ * A malformed payload or a job missing prerequisites also fails cleanly.
126
+ */
127
+ export declare function handleStartExecution(ctx: HandleJobContext, job: MailboxJob): Promise<void>;
75
128
  export declare const runCommand: Command;
76
129
  //# sourceMappingURL=run.d.ts.map