@clipboard-health/groundcrew 1.7.1 → 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.
- package/bin/runCli.js +4 -4
- package/{src → dist}/cli.d.ts +1 -0
- package/dist/cli.d.ts.map +1 -0
- package/{src → dist}/cli.js +0 -1
- package/{src → dist}/commands/cleaner.d.ts +1 -0
- package/dist/commands/cleaner.d.ts.map +1 -0
- package/{src → dist}/commands/cleaner.js +0 -1
- package/{src → dist}/commands/cleanupWorkspace.d.ts +1 -0
- package/dist/commands/cleanupWorkspace.d.ts.map +1 -0
- package/{src → dist}/commands/cleanupWorkspace.js +0 -1
- package/{src → dist}/commands/dispatcher.d.ts +1 -0
- package/dist/commands/dispatcher.d.ts.map +1 -0
- package/{src → dist}/commands/dispatcher.js +0 -1
- package/{src → dist}/commands/doctor.d.ts +1 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/{src → dist}/commands/doctor.js +0 -1
- package/{src → dist}/commands/eligibility.d.ts +1 -0
- package/dist/commands/eligibility.d.ts.map +1 -0
- package/{src → dist}/commands/eligibility.js +0 -1
- package/{src → dist}/commands/orchestrator.d.ts +1 -0
- package/dist/commands/orchestrator.d.ts.map +1 -0
- package/{src → dist}/commands/orchestrator.js +0 -1
- package/{src → dist}/commands/remoteSetup.d.ts +1 -0
- package/dist/commands/remoteSetup.d.ts.map +1 -0
- package/{src → dist}/commands/remoteSetup.js +0 -1
- package/{src → dist}/commands/setupWorkspace.d.ts +1 -0
- package/dist/commands/setupWorkspace.d.ts.map +1 -0
- package/{src → dist}/commands/setupWorkspace.js +17 -19
- package/{src → dist}/commands/teardownReporter.d.ts +1 -0
- package/dist/commands/teardownReporter.d.ts.map +1 -0
- package/{src → dist}/commands/teardownReporter.js +0 -1
- package/{src → dist}/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/{src → dist}/index.js +0 -1
- package/{src → dist}/lib/boardSource.d.ts +1 -0
- package/dist/lib/boardSource.d.ts.map +1 -0
- package/{src → dist}/lib/boardSource.js +0 -1
- package/{src → dist}/lib/buildSecrets.d.ts +1 -0
- package/dist/lib/buildSecrets.d.ts.map +1 -0
- package/{src → dist}/lib/buildSecrets.js +0 -1
- package/{src → dist}/lib/commandRunner.d.ts +1 -0
- package/dist/lib/commandRunner.d.ts.map +1 -0
- package/{src → dist}/lib/commandRunner.js +0 -1
- package/{src → dist}/lib/config.d.ts +1 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/{src → dist}/lib/config.js +0 -1
- package/{src → dist}/lib/host.d.ts +1 -0
- package/dist/lib/host.d.ts.map +1 -0
- package/{src → dist}/lib/host.js +0 -1
- package/{src → dist}/lib/launchCommand.d.ts +12 -0
- package/dist/lib/launchCommand.d.ts.map +1 -0
- package/{src → dist}/lib/launchCommand.js +23 -5
- package/{src → dist}/lib/localRunner.d.ts +1 -0
- package/dist/lib/localRunner.d.ts.map +1 -0
- package/{src → dist}/lib/localRunner.js +0 -1
- package/{src → dist}/lib/remoteSetupCommand.d.ts +1 -0
- package/dist/lib/remoteSetupCommand.d.ts.map +1 -0
- package/{src → dist}/lib/remoteSetupCommand.js +0 -1
- package/{src → dist}/lib/shell.d.ts +1 -0
- package/dist/lib/shell.d.ts.map +1 -0
- package/{src → dist}/lib/shell.js +0 -1
- package/{src → dist}/lib/spriteRemoteRunnerProvider.d.ts +1 -0
- package/dist/lib/spriteRemoteRunnerProvider.d.ts.map +1 -0
- package/{src → dist}/lib/spriteRemoteRunnerProvider.js +3 -14
- package/{src → dist}/lib/usage.d.ts +1 -0
- package/dist/lib/usage.d.ts.map +1 -0
- package/{src → dist}/lib/usage.js +0 -1
- package/{src → dist}/lib/util.d.ts +1 -0
- package/dist/lib/util.d.ts.map +1 -0
- package/{src → dist}/lib/util.js +0 -1
- package/{src → dist}/lib/workspaces.d.ts +1 -0
- package/dist/lib/workspaces.d.ts.map +1 -0
- package/{src → dist}/lib/workspaces.js +2 -3
- package/{src → dist}/lib/worktrees.d.ts +1 -0
- package/dist/lib/worktrees.d.ts.map +1 -0
- package/{src → dist}/lib/worktrees.js +7 -2
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/{src → dist}/main.js +0 -1
- package/package.json +21 -11
- package/CONTEXT.md +0 -64
- package/src/cli.js.map +0 -1
- package/src/commands/cleaner.js.map +0 -1
- package/src/commands/cleanupWorkspace.js.map +0 -1
- package/src/commands/dispatcher.js.map +0 -1
- package/src/commands/doctor.js.map +0 -1
- package/src/commands/eligibility.js.map +0 -1
- package/src/commands/orchestrator.js.map +0 -1
- package/src/commands/remoteSetup.js.map +0 -1
- package/src/commands/setupWorkspace.js.map +0 -1
- package/src/commands/teardownReporter.js.map +0 -1
- package/src/index.js.map +0 -1
- package/src/lib/boardSource.js.map +0 -1
- package/src/lib/buildSecrets.js.map +0 -1
- package/src/lib/commandRunner.js.map +0 -1
- package/src/lib/config.js.map +0 -1
- package/src/lib/host.js.map +0 -1
- package/src/lib/launchCommand.js.map +0 -1
- package/src/lib/localRunner.js.map +0 -1
- package/src/lib/remoteSetupCommand.js.map +0 -1
- package/src/lib/shell.js.map +0 -1
- package/src/lib/spriteRemoteRunnerProvider.js.map +0 -1
- package/src/lib/usage.js.map +0 -1
- package/src/lib/util.js.map +0 -1
- package/src/lib/workspaces.js.map +0 -1
- package/src/lib/worktrees.js.map +0 -1
- package/src/main.d.ts +0 -1
- 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,
|
|
9
|
-
* imports the compiled
|
|
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, "
|
|
18
|
+
const compiledPath = join(packageRoot, "dist", `${name}.js`);
|
|
19
19
|
if (existsSync(compiledPath)) {
|
|
20
20
|
await import(pathToFileURL(compiledPath).href);
|
|
21
21
|
return;
|
package/{src → dist}/cli.d.ts
RENAMED
|
@@ -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"}
|
package/{src → dist}/cli.js
RENAMED
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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
|
-
|
|
99
|
-
|
|
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
|
-
|
|
155
|
-
|
|
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
|
|
@@ -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"}
|
package/{src → dist}/index.d.ts
RENAMED
|
@@ -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"}
|
package/{src → dist}/index.js
RENAMED
|
@@ -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
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
package/{src → dist}/lib/host.js
RENAMED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { type ModelDefinition, type RemoteRunnerConfig } from "./config.ts";
|
|
2
2
|
import type { RemoteRunnerProvider } from "./spriteRemoteRunnerProvider.ts";
|
|
3
3
|
export { shellSingleQuote } from "./shell.ts";
|
|
4
|
+
/**
|
|
5
|
+
* Resolve the shipped Safehouse proxy wrapper inside `@clipboard-health/clearance`
|
|
6
|
+
* via Node's module-resolution algorithm so the path works whether npm hoists
|
|
7
|
+
* clearance as a sibling of groundcrew or nests it under
|
|
8
|
+
* `groundcrew/node_modules/@clipboard-health/clearance`.
|
|
9
|
+
*
|
|
10
|
+
* @param baseUrl - **Test-only seam.** Production callers must omit this so the
|
|
11
|
+
* helper resolves from this module's URL. Tests pass an invalid value to
|
|
12
|
+
* exercise the catch branch.
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveSafehouseClearancePath(baseUrl?: string): string;
|
|
4
15
|
interface LaunchCommandArguments {
|
|
5
16
|
definition: ModelDefinition;
|
|
6
17
|
promptFile: string;
|
|
@@ -34,3 +45,4 @@ interface RemoteLaunchCommandArguments {
|
|
|
34
45
|
*/
|
|
35
46
|
export declare function buildLaunchCommand(arguments_: LaunchCommandArguments): string;
|
|
36
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"}
|
|
@@ -1,12 +1,31 @@
|
|
|
1
1
|
import { Buffer } from "node:buffer";
|
|
2
|
+
import { createRequire } from "node:module";
|
|
2
3
|
import { dirname, resolve } from "node:path";
|
|
3
4
|
import { BUILD_SECRET_NAMES, DEFAULT_HOST_SETUP_COMMAND, DEFAULT_REMOTE_SETUP_COMMAND, } from "./config.js";
|
|
4
5
|
import { shellSingleQuote } from "./shell.js";
|
|
5
6
|
export { shellSingleQuote } from "./shell.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Resolve the shipped Safehouse proxy wrapper inside `@clipboard-health/clearance`
|
|
9
|
+
* via Node's module-resolution algorithm so the path works whether npm hoists
|
|
10
|
+
* clearance as a sibling of groundcrew or nests it under
|
|
11
|
+
* `groundcrew/node_modules/@clipboard-health/clearance`.
|
|
12
|
+
*
|
|
13
|
+
* @param baseUrl - **Test-only seam.** Production callers must omit this so the
|
|
14
|
+
* helper resolves from this module's URL. Tests pass an invalid value to
|
|
15
|
+
* exercise the catch branch.
|
|
16
|
+
*/
|
|
17
|
+
export function resolveSafehouseClearancePath(baseUrl = import.meta.url) {
|
|
18
|
+
let clearancePackageJson;
|
|
19
|
+
try {
|
|
20
|
+
clearancePackageJson = createRequire(baseUrl).resolve("@clipboard-health/clearance/package.json");
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
throw new Error("@clipboard-health/clearance is required by @clipboard-health/groundcrew but could not be resolved. " +
|
|
24
|
+
"Install it alongside groundcrew (for example: `npm install -g @clipboard-health/clearance`).", { cause: error });
|
|
25
|
+
}
|
|
26
|
+
return resolve(dirname(clearancePackageJson), "safehouse", "safehouse-clearance");
|
|
27
|
+
}
|
|
28
|
+
const SAFEHOUSE_CLEARANCE_WRAPPER_PATH = resolveSafehouseClearancePath();
|
|
10
29
|
function renderAgentCommand(arguments_) {
|
|
11
30
|
return arguments_.agentCmd
|
|
12
31
|
.replaceAll("{{worktree}}", shellSingleQuote(arguments_.worktreeDir))
|
|
@@ -103,4 +122,3 @@ export function buildRemoteLaunchCommand(arguments_) {
|
|
|
103
122
|
}),
|
|
104
123
|
].join("; ");
|
|
105
124
|
}
|
|
106
|
-
//# sourceMappingURL=launchCommand.js.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"}
|
|
@@ -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
|
|
@@ -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"}
|
|
@@ -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
|
-
|
|
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"}
|
|
@@ -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"}
|
package/{src → dist}/lib/util.js
RENAMED
|
@@ -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 --
|
|
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
|