@clipboard-health/groundcrew 1.7.2 → 1.7.4

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 (108) hide show
  1. package/bin/runCli.js +4 -4
  2. package/{src → dist}/cli.d.ts +1 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/{src → dist}/cli.js +0 -1
  5. package/{src → dist}/commands/cleaner.d.ts +1 -0
  6. package/dist/commands/cleaner.d.ts.map +1 -0
  7. package/{src → dist}/commands/cleaner.js +0 -1
  8. package/{src → dist}/commands/cleanupWorkspace.d.ts +1 -0
  9. package/dist/commands/cleanupWorkspace.d.ts.map +1 -0
  10. package/{src → dist}/commands/cleanupWorkspace.js +0 -1
  11. package/{src → dist}/commands/dispatcher.d.ts +1 -0
  12. package/dist/commands/dispatcher.d.ts.map +1 -0
  13. package/{src → dist}/commands/dispatcher.js +0 -1
  14. package/{src → dist}/commands/doctor.d.ts +1 -0
  15. package/dist/commands/doctor.d.ts.map +1 -0
  16. package/{src → dist}/commands/doctor.js +0 -1
  17. package/{src → dist}/commands/eligibility.d.ts +1 -0
  18. package/dist/commands/eligibility.d.ts.map +1 -0
  19. package/{src → dist}/commands/eligibility.js +0 -1
  20. package/{src → dist}/commands/orchestrator.d.ts +1 -0
  21. package/dist/commands/orchestrator.d.ts.map +1 -0
  22. package/{src → dist}/commands/orchestrator.js +0 -1
  23. package/{src → dist}/commands/remoteSetup.d.ts +1 -0
  24. package/dist/commands/remoteSetup.d.ts.map +1 -0
  25. package/{src → dist}/commands/remoteSetup.js +0 -1
  26. package/{src → dist}/commands/setupWorkspace.d.ts +1 -0
  27. package/dist/commands/setupWorkspace.d.ts.map +1 -0
  28. package/{src → dist}/commands/setupWorkspace.js +17 -19
  29. package/{src → dist}/commands/teardownReporter.d.ts +1 -0
  30. package/dist/commands/teardownReporter.d.ts.map +1 -0
  31. package/{src → dist}/commands/teardownReporter.js +0 -1
  32. package/{src → dist}/index.d.ts +1 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/{src → dist}/index.js +0 -1
  35. package/{src → dist}/lib/boardSource.d.ts +1 -0
  36. package/dist/lib/boardSource.d.ts.map +1 -0
  37. package/{src → dist}/lib/boardSource.js +0 -1
  38. package/{src → dist}/lib/buildSecrets.d.ts +1 -0
  39. package/dist/lib/buildSecrets.d.ts.map +1 -0
  40. package/{src → dist}/lib/buildSecrets.js +0 -1
  41. package/{src → dist}/lib/commandRunner.d.ts +1 -0
  42. package/dist/lib/commandRunner.d.ts.map +1 -0
  43. package/{src → dist}/lib/commandRunner.js +0 -1
  44. package/{src → dist}/lib/config.d.ts +1 -0
  45. package/dist/lib/config.d.ts.map +1 -0
  46. package/{src → dist}/lib/config.js +0 -1
  47. package/{src → dist}/lib/host.d.ts +1 -0
  48. package/dist/lib/host.d.ts.map +1 -0
  49. package/{src → dist}/lib/host.js +0 -1
  50. package/{src → dist}/lib/launchCommand.d.ts +1 -0
  51. package/dist/lib/launchCommand.d.ts.map +1 -0
  52. package/{src → dist}/lib/launchCommand.js +0 -1
  53. package/{src → dist}/lib/localRunner.d.ts +1 -0
  54. package/dist/lib/localRunner.d.ts.map +1 -0
  55. package/{src → dist}/lib/localRunner.js +0 -1
  56. package/{src → dist}/lib/remoteSetupCommand.d.ts +1 -0
  57. package/dist/lib/remoteSetupCommand.d.ts.map +1 -0
  58. package/{src → dist}/lib/remoteSetupCommand.js +0 -1
  59. package/{src → dist}/lib/shell.d.ts +1 -0
  60. package/dist/lib/shell.d.ts.map +1 -0
  61. package/{src → dist}/lib/shell.js +0 -1
  62. package/{src → dist}/lib/spriteRemoteRunnerProvider.d.ts +1 -0
  63. package/dist/lib/spriteRemoteRunnerProvider.d.ts.map +1 -0
  64. package/{src → dist}/lib/spriteRemoteRunnerProvider.js +3 -14
  65. package/{src → dist}/lib/usage.d.ts +1 -0
  66. package/dist/lib/usage.d.ts.map +1 -0
  67. package/{src → dist}/lib/usage.js +0 -1
  68. package/{src → dist}/lib/util.d.ts +1 -0
  69. package/dist/lib/util.d.ts.map +1 -0
  70. package/{src → dist}/lib/util.js +0 -1
  71. package/{src → dist}/lib/workspaces.d.ts +1 -0
  72. package/dist/lib/workspaces.d.ts.map +1 -0
  73. package/{src → dist}/lib/workspaces.js +2 -3
  74. package/{src → dist}/lib/worktrees.d.ts +1 -0
  75. package/dist/lib/worktrees.d.ts.map +1 -0
  76. package/{src → dist}/lib/worktrees.js +7 -2
  77. package/dist/main.d.ts +2 -0
  78. package/dist/main.d.ts.map +1 -0
  79. package/{src → dist}/main.js +0 -1
  80. package/package.json +21 -11
  81. package/CONTEXT.md +0 -64
  82. package/src/cli.js.map +0 -1
  83. package/src/commands/cleaner.js.map +0 -1
  84. package/src/commands/cleanupWorkspace.js.map +0 -1
  85. package/src/commands/dispatcher.js.map +0 -1
  86. package/src/commands/doctor.js.map +0 -1
  87. package/src/commands/eligibility.js.map +0 -1
  88. package/src/commands/orchestrator.js.map +0 -1
  89. package/src/commands/remoteSetup.js.map +0 -1
  90. package/src/commands/setupWorkspace.js.map +0 -1
  91. package/src/commands/teardownReporter.js.map +0 -1
  92. package/src/index.js.map +0 -1
  93. package/src/lib/boardSource.js.map +0 -1
  94. package/src/lib/buildSecrets.js.map +0 -1
  95. package/src/lib/commandRunner.js.map +0 -1
  96. package/src/lib/config.js.map +0 -1
  97. package/src/lib/host.js.map +0 -1
  98. package/src/lib/launchCommand.js.map +0 -1
  99. package/src/lib/localRunner.js.map +0 -1
  100. package/src/lib/remoteSetupCommand.js.map +0 -1
  101. package/src/lib/shell.js.map +0 -1
  102. package/src/lib/spriteRemoteRunnerProvider.js.map +0 -1
  103. package/src/lib/usage.js.map +0 -1
  104. package/src/lib/util.js.map +0 -1
  105. package/src/lib/workspaces.js.map +0 -1
  106. package/src/lib/worktrees.js.map +0 -1
  107. package/src/main.d.ts +0 -1
  108. package/src/main.js.map +0 -1
package/bin/runCli.js CHANGED
@@ -5,9 +5,9 @@ import { join } from "node:path";
5
5
  import { pathToFileURL } from "node:url";
6
6
 
7
7
  /**
8
- * Load a side-effecting entrypoint by basename. In published/built mode, dynamically
9
- * imports the compiled `${name}.js` in-process. In source/dev mode (no compiled output
10
- * present), spawns a child node that loads the `.ts` source with
8
+ * Load a side-effecting entrypoint by basename. In published/built mode,
9
+ * dynamically imports the compiled `dist/${name}.js` in-process. In source/dev
10
+ * mode (no compiled output present), spawns a child node that loads the `.ts` source with
11
11
  * `--conditions @clipboard-health/source` so cross-package bare imports of
12
12
  * `@clipboard-health/*` workspace deps also resolve to source.
13
13
  *
@@ -15,7 +15,7 @@ import { pathToFileURL } from "node:url";
15
15
  * @param {string} name
16
16
  */
17
17
  export async function runCli(packageRoot, name) {
18
- const compiledPath = join(packageRoot, "src", `${name}.js`);
18
+ const compiledPath = join(packageRoot, "dist", `${name}.js`);
19
19
  if (existsSync(compiledPath)) {
20
20
  await import(pathToFileURL(compiledPath).href);
21
21
  return;
@@ -1 +1,2 @@
1
1
  export declare function run(argv: string[]): Promise<void>;
2
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAiGA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBvD"}
@@ -105,4 +105,3 @@ export async function run(argv) {
105
105
  process.exitCode = 1;
106
106
  }
107
107
  }
108
- //# sourceMappingURL=cli.js.map
@@ -19,3 +19,4 @@ export interface Cleaner {
19
19
  }
20
20
  export declare function createCleaner(deps: CleanerDeps): Cleaner;
21
21
  export {};
22
+ //# sourceMappingURL=cleaner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleaner.d.ts","sourceRoot":"","sources":["../../src/commands/cleaner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAoB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,KAAK,aAAa,EAAa,MAAM,qBAAqB,CAAC;AAGpE,UAAU,WAAW;IACnB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,UAAU,EAAE;QAClB,KAAK,EAAE,UAAU,CAAC;QAClB,eAAe,EAAE,SAAS,aAAa,EAAE,CAAC;QAC1C,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAqDxD"}
@@ -46,4 +46,3 @@ export function createCleaner(deps) {
46
46
  }
47
47
  return { runOnce };
48
48
  }
49
- //# sourceMappingURL=cleaner.js.map
@@ -6,3 +6,4 @@ export interface CleanupWorkspaceOptions {
6
6
  }
7
7
  export declare function cleanupWorkspace(config: ResolvedConfig, options: CleanupWorkspaceOptions): Promise<void>;
8
8
  export declare function cleanupWorkspaceCli(argv: string[]): Promise<void>;
9
+ //# sourceMappingURL=cleanupWorkspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanupWorkspace.d.ts","sourceRoot":"","sources":["../../src/commands/cleanupWorkspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKnE,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAwBD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE"}
@@ -39,4 +39,3 @@ export async function cleanupWorkspaceCli(argv) {
39
39
  const options = parseArguments(argv);
40
40
  await cleanupWorkspace(config, options);
41
41
  }
42
- //# sourceMappingURL=cleanupWorkspace.js.map
@@ -27,3 +27,4 @@ export interface Dispatcher {
27
27
  }
28
28
  export declare function createDispatcher(deps: DispatcherDeps): Dispatcher;
29
29
  export {};
30
+ //# sourceMappingURL=dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/commands/dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,KAAK,UAAU,EAIhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAczD,UAAU,cAAc;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,UAAU,EAAE;QAClB,KAAK,EAAE,UAAU,CAAC;QAClB,eAAe,EAAE,SAAS,aAAa,EAAE,CAAC;QAC1C,+FAA+F;QAC/F,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,UAAU,CAoQjE"}
@@ -234,4 +234,3 @@ function weeklyPacedBudgetPercentage(weekEndDuration) {
234
234
  const budgetDayCount = Math.min(DAYS_PER_WEEK, Math.max(1, elapsedDayCount));
235
235
  return (budgetDayCount / DAYS_PER_WEEK) * PERCENT_FRACTION_DIVISOR;
236
236
  }
237
- //# sourceMappingURL=dispatcher.js.map
@@ -3,3 +3,4 @@
3
3
  * Returns true if every required check passes; false otherwise.
4
4
  */
5
5
  export declare function doctor(): Promise<boolean>;
6
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmIH,wBAAsB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAmE/C"}
@@ -225,4 +225,3 @@ async function workspaceChecks(outcome) {
225
225
  const { resolved } = outcome.resolution;
226
226
  return [await checkCmd(resolved, true, `install ${resolved} first`)];
227
227
  }
228
- //# sourceMappingURL=doctor.js.map
@@ -83,3 +83,4 @@ export declare function classifyBlockers(config: ResolvedConfig, todo: readonly
83
83
  */
84
84
  export declare function classifyEligibility(arguments_: ClassifyArguments): Verdict[];
85
85
  export {};
86
+ //# sourceMappingURL=eligibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eligibility.d.ts","sourceRoot":"","sources":["../../src/commands/eligibility.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAgB,KAAK,eAAe,EAAoB,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,KAAK,UAAU,GACX,SAAS,GACT,oBAAoB,GACpB,oBAAoB,GACpB,iBAAiB,GACjB,4BAA4B,GAC5B,mBAAmB,CAAC;AAExB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,8EAA8E;IAC9E,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,eAAe,CAAC;IACvB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,WAAW,EAAE,UAAU,CAAC;IACxB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,OAAO,GAAG,YAAY,GAAG,WAAW,CAAC;AAE1C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB;;;;;OAKG;IACH,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;IACtC,eAAe,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC;IACpB,oDAAoD;IACpD,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,qBAAqB;IAC7B,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAqCD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GACrB,MAAM,GAAG,SAAS,CAepB;AA4CD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,SAAS,eAAe,EAAE,GAC/B,qBAAqB,CAYvB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,EAAE,CAgE5E"}
@@ -171,4 +171,3 @@ export function classifyEligibility(arguments_) {
171
171
  }
172
172
  return verdicts;
173
173
  }
174
- //# sourceMappingURL=eligibility.js.map
@@ -7,3 +7,4 @@ export interface OrchestratorOptions {
7
7
  dryRun: boolean;
8
8
  }
9
9
  export declare function orchestrate(options: OrchestratorOptions): Promise<void>;
10
+ //# sourceMappingURL=orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/commands/orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4LH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAiBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC7E"}
@@ -262,4 +262,3 @@ async function runWatchLoop(tick, config) {
262
262
  process.off("SIGTERM", handleSigterm);
263
263
  }
264
264
  }
265
- //# sourceMappingURL=orchestrator.js.map
@@ -47,3 +47,4 @@ export declare function listRemoteProcesses(options: RemoteProcessOptions): Prom
47
47
  export declare function interruptRemoteProcessGroup(options: RemoteInterruptOptions): Promise<void>;
48
48
  export declare function setupRemoteRunner(options: RemoteSetupOptions): Promise<void>;
49
49
  export declare function remoteCli(argv: string[]): Promise<void>;
50
+ //# sourceMappingURL=remoteSetup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteSetup.d.ts","sourceRoot":"","sources":["../../src/commands/remoteSetup.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,wBAAwB,EAAE,OAAO,CAAC;IAClC,uBAAuB,EAAE,OAAO,CAAC;IACjC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,wBAAwB,EAAE,OAAO,CAAC;IAClC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,4BAA4B,EAAE,OAAO,CAAC;IACtC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA4rBD,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B9F;AAUD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAItF;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrF;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAItF;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhG;AAYD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BlF;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B7D"}
@@ -697,4 +697,3 @@ export async function remoteCli(argv) {
697
697
  }
698
698
  throw new Error(usage());
699
699
  }
700
- //# sourceMappingURL=remoteSetup.js.map
@@ -19,3 +19,4 @@ export declare function setupWorkspaceCli(ticket: string, options?: {
19
19
  dryRun?: boolean;
20
20
  }): Promise<void>;
21
21
  export {};
22
+ //# sourceMappingURL=setupWorkspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupWorkspace.d.ts","sourceRoot":"","sources":["../../src/commands/setupWorkspace.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAa1B,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAgBD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,wEAAwE;IACxE,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAkED,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,qBAAqB,EAC9B,UAAU,GAAE,wBAA6B,GACxC,OAAO,CAAC,IAAI,CAAC,CA6Ef;AAuHD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,OAAO,CAAC,IAAI,CAAC,CAoBf"}
@@ -54,6 +54,17 @@ function stageLaunchScript(promptDir, command) {
54
54
  writeFileSync(launcherFile, `#!/usr/bin/env bash\n${command}\n`, { mode: 0o700 });
55
55
  return launcherFile;
56
56
  }
57
+ function stagePrompt(input) {
58
+ const promptDir = mkdtempSync(join(tmpdir(), `groundcrew-${input.ticket}-`));
59
+ const promptFile = join(promptDir, "prompt.txt");
60
+ writeFileSync(promptFile, renderPrompt(input.config.prompts.initial, {
61
+ ticket: input.ticket,
62
+ worktree: input.worktreeName,
63
+ title: input.ticketDetails.title,
64
+ description: input.ticketDetails.description,
65
+ }));
66
+ return { directory: promptDir, file: promptFile };
67
+ }
57
68
  export async function setupWorkspace(config, options, runOptions = {}) {
58
69
  const { ticket, repository, model } = options;
59
70
  const runner = options.runner ?? "local";
@@ -95,18 +106,12 @@ export async function setupWorkspace(config, options, runOptions = {}) {
95
106
  else {
96
107
  ticketDetails = options.details;
97
108
  }
98
- promptDir = mkdtempSync(join(tmpdir(), `groundcrew-${ticket}-`));
99
- const promptFile = join(promptDir, "prompt.txt");
100
- writeFileSync(promptFile, renderPrompt(config.prompts.initial, {
101
- ticket,
102
- worktree: worktreeName,
103
- title: ticketDetails.title,
104
- description: ticketDetails.description,
105
- }));
109
+ const stagedPrompt = stagePrompt({ config, ticket, ticketDetails, worktreeName });
110
+ promptDir = stagedPrompt.directory;
106
111
  const secretsFile = stageBuildSecrets(promptDir);
107
112
  const launchCmd = buildLaunchCommand({
108
113
  definition,
109
- promptFile,
114
+ promptFile: stagedPrompt.file,
110
115
  worktreeDir: launchDir,
111
116
  secretsFile,
112
117
  });
@@ -151,14 +156,8 @@ async function setupRemoteWorkspace(arguments_) {
151
156
  let promptDir;
152
157
  try {
153
158
  const ticketDetails = await resolveTicketDetails(options);
154
- promptDir = mkdtempSync(join(tmpdir(), `groundcrew-${ticket}-`));
155
- const promptFile = join(promptDir, "prompt.txt");
156
- writeFileSync(promptFile, renderPrompt(config.prompts.initial, {
157
- ticket,
158
- worktree: worktreeName,
159
- title: ticketDetails.title,
160
- description: ticketDetails.description,
161
- }));
159
+ const stagedPrompt = stagePrompt({ config, ticket, ticketDetails, worktreeName });
160
+ promptDir = stagedPrompt.directory;
162
161
  const secretsFile = stageBuildSecrets(promptDir, config.remote.secretNames);
163
162
  const remotePromptFile = `/tmp/groundcrew-${ticket}-prompt.txt`;
164
163
  const remoteSecretsFile = secretsFile === undefined ? undefined : `/tmp/groundcrew-${ticket}-secrets.env`;
@@ -166,7 +165,7 @@ async function setupRemoteWorkspace(arguments_) {
166
165
  definition,
167
166
  provider: getRemoteRunnerProvider(config.remote.provider),
168
167
  remoteConfig: config.remote,
169
- promptFile,
168
+ promptFile: stagedPrompt.file,
170
169
  remotePromptFile,
171
170
  worktreeDir: remoteWorktreeDir,
172
171
  secretNames: config.remote.secretNames,
@@ -243,4 +242,3 @@ export async function setupWorkspaceCli(ticket, options = {}) {
243
242
  details: { title: resolved.title, description: resolved.description },
244
243
  });
245
244
  }
246
- //# sourceMappingURL=setupWorkspace.js.map
@@ -1,3 +1,4 @@
1
1
  import type { TeardownResult } from "../lib/worktrees.ts";
2
2
  export declare function logTeardown(result: TeardownResult): void;
3
3
  export declare function recordTeardownEvents(result: TeardownResult): void;
4
+ //# sourceMappingURL=teardownReporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teardownReporter.d.ts","sourceRoot":"","sources":["../../src/commands/teardownReporter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAmBxD;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAwCjE"}
@@ -62,4 +62,3 @@ export function recordTeardownEvents(result) {
62
62
  }
63
63
  }
64
64
  }
65
- //# sourceMappingURL=teardownReporter.js.map
@@ -7,3 +7,4 @@ export { setupWorkspace, type SetupWorkspaceOptions } from "./commands/setupWork
7
7
  export type { Config, ModelDefinition, RemoteRunnerConfig, RemoteRunnerProviderName, ResolvedConfig, WorkspaceRunner, } from "./lib/config.ts";
8
8
  export { loadConfig } from "./lib/config.ts";
9
9
  export { getUsageByModel, type UsageByModel } from "./lib/usage.ts";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,EACL,yBAAyB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,YAAY,EACV,MAAM,EACN,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -6,4 +6,3 @@ export { bootstrapRemoteRepository, setupRemoteRunner, } from "./commands/remote
6
6
  export { setupWorkspace } from "./commands/setupWorkspace.js";
7
7
  export { loadConfig } from "./lib/config.js";
8
8
  export { getUsageByModel } from "./lib/usage.js";
9
- //# sourceMappingURL=index.js.map
@@ -82,3 +82,4 @@ export declare function fetchResolvedIssue(arguments_: {
82
82
  ticket: string;
83
83
  }): Promise<ResolvedIssue>;
84
84
  export {};
85
+ //# sourceMappingURL=boardSource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boardSource.d.ts","sourceRoot":"","sources":["../../src/lib/boardSource.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAMzF,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,0FAA0F;IAC1F,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,0FAA0F;IAC1F,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,eAAe,CAExE;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAmB,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAMjF;CACF;AAED,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,8DAA8D;IAC9D,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;CAC9B;AAED,UAAU,eAAe;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,CAUpE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAEhF;AA+LD,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;CACzB;AAID;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE;IACnD,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,aAAa,CAAC,CAwCzB"}
@@ -255,4 +255,3 @@ function blockersFromRelations(relations) {
255
255
  status: relation.issue?.state?.name,
256
256
  }));
257
257
  }
258
- //# sourceMappingURL=boardSource.js.map
@@ -3,3 +3,4 @@
3
3
  * process must not inherit these values.
4
4
  */
5
5
  export declare const BUILD_SECRET_NAMES: readonly ["NPM_TOKEN", "BUF_TOKEN"];
6
+ //# sourceMappingURL=buildSecrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildSecrets.d.ts","sourceRoot":"","sources":["../../src/lib/buildSecrets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,YAAI,WAAW,EAAE,WAAW,CAAU,CAAC"}
@@ -3,4 +3,3 @@
3
3
  * process must not inherit these values.
4
4
  */
5
5
  export const BUILD_SECRET_NAMES = ["NPM_TOKEN", "BUF_TOKEN"];
6
- //# sourceMappingURL=buildSecrets.js.map
@@ -17,3 +17,4 @@ export declare function runCommandAsync(command: string, arguments_: readonly st
17
17
  export declare function runCommandAsync(command: string, arguments_: readonly string[], options?: RunCommandOptions & {
18
18
  stdio?: "captured";
19
19
  }): Promise<string>;
20
+ //# sourceMappingURL=commandRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandRunner.d.ts","sourceRoot":"","sources":["../../src/lib/commandRunner.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,iBAAiB,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAChD,IAAI,CAAC;AACR,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,CAAC,EAAE,iBAAiB,GAAG;IAAE,KAAK,CAAC,EAAE,UAAU,CAAA;CAAE,GACnD,MAAM,CAAC;AA8BV,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,iBAAiB,GAAG;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAChD,OAAO,CAAC,SAAS,CAAC,CAAC;AACtB,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,CAAC,EAAE,iBAAiB,GAAG;IAAE,KAAK,CAAC,EAAE,UAAU,CAAA;CAAE,GACnD,OAAO,CAAC,MAAM,CAAC,CAAC"}
@@ -250,4 +250,3 @@ function truncateErrorOutput(text) {
250
250
  function formatCommand(command, arguments_) {
251
251
  return [command, ...arguments_].join(" ");
252
252
  }
253
- //# sourceMappingURL=commandRunner.js.map
@@ -170,3 +170,4 @@ export interface ResolvedConfig {
170
170
  };
171
171
  }
172
172
  export declare function loadConfig(): Promise<Readonly<ResolvedConfig>>;
173
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -444,4 +444,3 @@ export async function loadConfig() {
444
444
  cached = Object.freeze(resolved);
445
445
  return cached;
446
446
  }
447
- //# sourceMappingURL=config.js.map
@@ -26,3 +26,4 @@ export interface HostCapabilities {
26
26
  */
27
27
  export declare function which(cmd: string, signal?: AbortSignal): Promise<string | undefined>;
28
28
  export declare function detectHostCapabilities(signal?: AbortSignal): Promise<HostCapabilities>;
29
+ //# sourceMappingURL=host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/lib/host.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,YAAY,EAAE,OAAO,CAAC;IACtB,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAc1F;AAED,wBAAsB,sBAAsB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAc5F"}
@@ -40,4 +40,3 @@ export async function detectHostCapabilities(signal) {
40
40
  isSafehouseSupported: isMacOS,
41
41
  };
42
42
  }
43
- //# sourceMappingURL=host.js.map
@@ -45,3 +45,4 @@ interface RemoteLaunchCommandArguments {
45
45
  */
46
46
  export declare function buildLaunchCommand(arguments_: LaunchCommandArguments): string;
47
47
  export declare function buildRemoteLaunchCommand(arguments_: RemoteLaunchCommandArguments): string;
48
+ //# sourceMappingURL=launchCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launchCommand.d.ts","sourceRoot":"","sources":["../../src/lib/launchCommand.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,GAAE,MAAwB,GAAG,MAAM,CAcvF;AA+BD,UAAU,sBAAsB;IAC9B,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,UAAU,4BAA4B;IACpC,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,YAAY,EAAE,kBAAkB,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,sBAAsB,GAAG,MAAM,CA2B7E;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,4BAA4B,GAAG,MAAM,CAiDzF"}
@@ -122,4 +122,3 @@ export function buildRemoteLaunchCommand(arguments_) {
122
122
  }),
123
123
  ].join("; ");
124
124
  }
125
- //# sourceMappingURL=launchCommand.js.map
@@ -1,2 +1,3 @@
1
1
  import type { HostCapabilities } from "./host.ts";
2
2
  export declare function assertLocalRunnerRequirements(host: HostCapabilities): void;
3
+ //# sourceMappingURL=localRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localRunner.d.ts","sourceRoot":"","sources":["../../src/lib/localRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAW1E"}
@@ -6,4 +6,3 @@ export function assertLocalRunnerRequirements(host) {
6
6
  throw new Error("Local groundcrew runs require `safehouse` on PATH. Install Safehouse from https://agent-safehouse.dev/ and retry.");
7
7
  }
8
8
  }
9
- //# sourceMappingURL=localRunner.js.map
@@ -1 +1,2 @@
1
1
  export declare const DEFAULT_REMOTE_SETUP_COMMAND: string;
2
+ //# sourceMappingURL=remoteSetupCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteSetupCommand.d.ts","sourceRoot":"","sources":["../../src/lib/remoteSetupCommand.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,QA8B3B,CAAC"}
@@ -29,4 +29,3 @@ export const DEFAULT_REMOTE_SETUP_COMMAND = [
29
29
  'if [ -n "$required_npm" ]; then npm install --global "npm@$required_npm" --no-audit --no-fund && hash -r; fi',
30
30
  "if [ -x .claude/setup.sh ]; then ./.claude/setup.sh --deps-only; elif [ -f .claude/setup.sh ] && command -v bash >/dev/null 2>&1; then bash .claude/setup.sh --deps-only; else npm clean-install; fi",
31
31
  ].join(" && ");
32
- //# sourceMappingURL=remoteSetupCommand.js.map
@@ -4,3 +4,4 @@
4
4
  * shell.
5
5
  */
6
6
  export declare function shellSingleQuote(value: string): string;
7
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/lib/shell.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD"}
@@ -6,4 +6,3 @@
6
6
  export function shellSingleQuote(value) {
7
7
  return `'${value.replaceAll("'", String.raw `'\''`)}'`;
8
8
  }
9
- //# sourceMappingURL=shell.js.map
@@ -66,3 +66,4 @@ export declare const spriteRemoteRunnerProvider: RemoteRunnerProvider;
66
66
  export declare function remoteConfigWithRunnerName(runnerName: string): RemoteRunnerConfig;
67
67
  export declare function getRemoteRunnerProvider(provider: RemoteRunnerProviderName): RemoteRunnerProvider;
68
68
  export {};
69
+ //# sourceMappingURL=spriteRemoteRunnerProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spriteRemoteRunnerProvider.d.ts","sourceRoot":"","sources":["../../src/lib/spriteRemoteRunnerProvider.ts"],"names":[],"mappings":"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"}
@@ -19,9 +19,10 @@ function escapeRegExp(value) {
19
19
  function spriteFileArguments(files = []) {
20
20
  return files.flatMap((file) => ["--file", `${file.localPath}:${file.remotePath}`]);
21
21
  }
22
- function spriteExecArguments(arguments_) {
22
+ function spriteExecArguments(arguments_, options = {}) {
23
23
  const args = [
24
24
  "exec",
25
+ ...(options.isTty === true ? ["--tty"] : []),
25
26
  "-s",
26
27
  arguments_.config.runnerName,
27
28
  ...spriteFileArguments(arguments_.files),
@@ -33,18 +34,7 @@ function spriteExecArguments(arguments_) {
33
34
  return args;
34
35
  }
35
36
  function spriteTtyExecArguments(arguments_) {
36
- const args = [
37
- "exec",
38
- "--tty",
39
- "-s",
40
- arguments_.config.runnerName,
41
- ...spriteFileArguments(arguments_.files),
42
- ];
43
- if (arguments_.workingDirectory !== undefined) {
44
- args.push("--dir", arguments_.workingDirectory);
45
- }
46
- args.push("--", ...arguments_.remoteArguments);
47
- return args;
37
+ return spriteExecArguments(arguments_, { isTty: true });
48
38
  }
49
39
  async function runSprite(args, options) {
50
40
  if (options?.stdio === "inherit") {
@@ -270,4 +260,3 @@ export function getRemoteRunnerProvider(provider) {
270
260
  }
271
261
  throw new Error(`Unknown remote provider: ${JSON.stringify(provider)}`);
272
262
  }
273
- //# sourceMappingURL=spriteRemoteRunnerProvider.js.map
@@ -24,3 +24,4 @@ export type UsageByModel = Record<string, NormalizedUsage>;
24
24
  export declare const EXHAUSTED_USAGE: NormalizedUsage;
25
25
  export declare function getUsageByModel(config: ResolvedConfig, signal?: AbortSignal): Promise<UsageByModel>;
26
26
  export {};
27
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/lib/usage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,aAAa,CAAC;AA+BnE,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAE3D;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,eAK7B,CAAC;AAyGF,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CA6BvB"}
@@ -139,4 +139,3 @@ export async function getUsageByModel(config, signal) {
139
139
  }
140
140
  return out;
141
141
  }
142
- //# sourceMappingURL=usage.js.map
@@ -11,3 +11,4 @@ export declare function readEnvironmentVariable(name: string): string | undefine
11
11
  export declare function getLinearClient(): LinearClient;
12
12
  export declare function errorMessage(error: unknown): string;
13
13
  export {};
14
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/lib/util.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,wBAAsB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB3E;AAED,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAIlD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGhD;AAED,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAOD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAEzD;AAkBD,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKzC;AAED,KAAK,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;AAUpF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,IAAI,CAWxF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGxE;AAED,wBAAgB,eAAe,IAAI,YAAY,CAM9C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAcnD"}
@@ -110,4 +110,3 @@ export function errorMessage(error) {
110
110
  return Object.prototype.toString.call(error);
111
111
  }
112
112
  }
113
- //# sourceMappingURL=util.js.map
@@ -55,3 +55,4 @@ export declare const workspaces: {
55
55
  close(config: ResolvedConfig, name: string, signal?: AbortSignal): Promise<void>;
56
56
  };
57
57
  export {};
58
+ //# sourceMappingURL=workspaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/lib/workspaces.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG1E,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAoL7C,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,aAAa,CAAC;IACxB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,GAAG,mBAAmB,CAUtF;AA8ND,iBAAe,eAAe,CAC5B,MAAM,EAAE,cAAc,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAezB;AAED,eAAO,MAAM,UAAU;IACf,IAAI,SAAS,cAAc,QAAQ,QAAQ,WAAW,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvF,KAAK;IACC,KAAK,SAAS,cAAc,QAAQ,MAAM,WAAW,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAIvF,CAAC"}
@@ -304,8 +304,8 @@ const tmuxAdapter = {
304
304
  }
305
305
  if (probe.status === "failed") {
306
306
  log(`tmux list-windows failed: ${probe.reason}`);
307
- // oxlint-disable-next-line unicorn/no-useless-undefined -- typed return for `Workspace[] | undefined`
308
- return;
307
+ // oxlint-disable-next-line unicorn/no-useless-undefined -- undefined marks the workspace backend as unavailable.
308
+ return undefined;
309
309
  }
310
310
  return parseTmuxWindows(probe.output);
311
311
  },
@@ -369,4 +369,3 @@ export const workspaces = {
369
369
  await adapter.close(name, signal);
370
370
  },
371
371
  };
372
- //# sourceMappingURL=workspaces.js.map
@@ -73,3 +73,4 @@ export declare const worktrees: {
73
73
  teardown: typeof teardown;
74
74
  };
75
75
  export {};
76
+ //# sourceMappingURL=worktrees.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktrees.d.ts","sourceRoot":"","sources":["../../src/lib/worktrees.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,OAAO,EAA8B,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAMpG,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,iBAAiB,CAAC;AAIlE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,YAAY,CAAC;IACnB,mCAAmC;IACnC,cAAc,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IACtD,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAaD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAW7E;AAmVD,4FAA4F;AAC5F,iBAAS,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa,EAAE,CAErD;AAED,iBAAS,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,CAE7E;AAED,iBAAS,YAAY,CACnB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,aAAa,GAAG,SAAS,CAI3B;AAED,iBAAe,MAAM,CACnB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,YAAY,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,CAAC,CAUxB;AAED,iBAAe,MAAM,CACnB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,aAAa,EACpB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAClD,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sCAAsC;IACtC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,wDAAwD;IACxD,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,cAAc,EAAE,cAAc,CAAC;CAChC;AAKD,iBAAe,QAAQ,CACrB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,GAClD,OAAO,CAAC,cAAc,CAAC,CAkDzB;AAED,eAAO,MAAM,SAAS;;;;;;;CAOrB,CAAC"}
@@ -179,6 +179,12 @@ const hostWorktreeAdapter = {
179
179
  });
180
180
  },
181
181
  };
182
+ function isRemoteStateFile(value) {
183
+ return (typeof value === "object" &&
184
+ value !== null &&
185
+ "entries" in value &&
186
+ Array.isArray(value.entries));
187
+ }
182
188
  function stateBaseDir() {
183
189
  const override = readEnvironmentVariable("XDG_STATE_HOME");
184
190
  /* v8 ignore next 3 @preserve -- tests set XDG_STATE_HOME to avoid touching the developer's real home */
@@ -208,7 +214,7 @@ function isRemoteEntry(value) {
208
214
  function readRemoteEntries() {
209
215
  try {
210
216
  const parsed = JSON.parse(readFileSync(remoteStateFilePath(), "utf8"));
211
- return Array.isArray(parsed.entries) ? parsed.entries.filter(isRemoteEntry) : [];
217
+ return isRemoteStateFile(parsed) ? parsed.entries.filter(isRemoteEntry) : [];
212
218
  }
213
219
  catch {
214
220
  return [];
@@ -379,4 +385,3 @@ export const worktrees = {
379
385
  remove,
380
386
  teardown,
381
387
  };
382
- //# sourceMappingURL=worktrees.js.map
package/dist/main.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":""}
@@ -7,4 +7,3 @@ catch (error) {
7
7
  process.stderr.write(`${message}\n`);
8
8
  process.exitCode = 1;
9
9
  }
10
- //# sourceMappingURL=main.js.map