@loucompanion/forge-bridge 0.1.3-dev.b6be5e7f9668 → 0.1.3-dev.ba7d36726eda
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -0
- package/dist/bridge/bridge.base.d.ts +5 -1
- package/dist/bridge/bridge.service.d.ts +52 -3
- package/dist/bridge/bridge.service.js +796 -22
- package/dist/bridge/bridge.types.d.ts +135 -1
- package/dist/cleanup/cleanup.service.d.ts +13 -2
- package/dist/cleanup/cleanup.service.js +435 -3
- package/dist/cleanup/cleanup.types.d.ts +10 -0
- package/dist/cleanup/index.d.ts +1 -1
- package/dist/cleanup/index.js +1 -1
- package/dist/cleanup/internals.d.ts +2 -2
- package/dist/cleanup/internals.js +1 -1
- package/dist/cli/cli.help.d.ts +2 -0
- package/dist/cli/cli.help.js +217 -0
- package/dist/cli/cli.service.d.ts +42 -2
- package/dist/cli/cli.service.js +356 -205
- package/dist/cli/local-config.d.ts +6 -0
- package/dist/cli/local-config.js +45 -2
- package/dist/runtime/attempt-node-runtime-launcher.d.ts +15 -0
- package/dist/runtime/attempt-node-runtime-launcher.js +50 -0
- package/dist/runtime/attempt-process-supervisor-registry.d.ts +20 -0
- package/dist/runtime/attempt-process-supervisor-registry.js +64 -0
- package/dist/runtime/attempt-process-supervisor.d.ts +74 -0
- package/dist/runtime/attempt-process-supervisor.js +290 -0
- package/dist/runtime/host-listener-inspector.d.ts +28 -0
- package/dist/runtime/host-listener-inspector.js +185 -0
- package/dist/runtime/host-port-broker.d.ts +76 -0
- package/dist/runtime/host-port-broker.js +333 -0
- package/dist/runtime/host-runtime-contract.d.ts +39 -0
- package/dist/runtime/host-runtime-contract.js +295 -0
- package/dist/runtime/host-runtime-lease.d.ts +122 -0
- package/dist/runtime/host-runtime-lease.js +1241 -0
- package/dist/runtime/host-runtime-promotion.d.ts +21 -0
- package/dist/runtime/host-runtime-promotion.js +128 -0
- package/dist/runtime/node-host-runtime-adapter.d.ts +44 -0
- package/dist/runtime/node-host-runtime-adapter.js +205 -0
- package/dist/runtime/playwright-host-runtime-adapter.d.ts +20 -0
- package/dist/runtime/playwright-host-runtime-adapter.js +136 -0
- package/dist/runtime/runtime-isolation-lease.d.ts +67 -0
- package/dist/runtime/runtime-isolation-lease.js +158 -0
- package/dist/sandbox/command-runner.d.ts +4 -0
- package/dist/sandbox/command-runner.js +47 -0
- package/dist/sandbox/contract.d.ts +5 -0
- package/dist/sandbox/contract.js +276 -0
- package/dist/sandbox/event-budget.d.ts +11 -0
- package/dist/sandbox/event-budget.js +27 -0
- package/dist/sandbox/image-policy.d.ts +35 -0
- package/dist/sandbox/image-policy.js +247 -0
- package/dist/sandbox/index.d.ts +5 -0
- package/dist/sandbox/index.js +5 -0
- package/dist/sandbox/lease-watchdog.d.ts +18 -0
- package/dist/sandbox/lease-watchdog.js +67 -0
- package/dist/sandbox/preflight.d.ts +45 -0
- package/dist/sandbox/preflight.js +300 -0
- package/dist/sandbox/process.d.ts +20 -0
- package/dist/sandbox/process.js +209 -0
- package/dist/sandbox/provider-auth/codex.d.ts +26 -0
- package/dist/sandbox/provider-auth/codex.js +212 -0
- package/dist/sandbox/repository-lock.d.ts +5 -0
- package/dist/sandbox/repository-lock.js +119 -0
- package/dist/sandbox/runtime.d.ts +297 -0
- package/dist/sandbox/runtime.js +2338 -0
- package/dist/sandbox/sandbox.types.d.ts +86 -0
- package/dist/sandbox/sandbox.types.js +1 -0
- package/dist/sandbox/smoke.d.ts +76 -0
- package/dist/sandbox/smoke.js +380 -0
- package/dist/sandbox/worker-supervisor.d.ts +13 -0
- package/dist/sandbox/worker-supervisor.js +36 -0
- package/dist/sandbox/worker.d.ts +1 -0
- package/dist/sandbox/worker.js +225 -0
- package/dist/sandbox/workspace.service.d.ts +13 -0
- package/dist/sandbox/workspace.service.js +67 -0
- package/dist/session/phase-completion.artifacts.d.ts +10 -0
- package/dist/session/phase-completion.artifacts.js +620 -0
- package/dist/session/phase-completion.d.ts +32 -44
- package/dist/session/phase-completion.helpers.d.ts +112 -0
- package/dist/session/phase-completion.helpers.js +665 -0
- package/dist/session/phase-completion.js +28 -3485
- package/dist/session/phase-completion.prompts.d.ts +14 -0
- package/dist/session/phase-completion.prompts.js +220 -0
- package/dist/session/phase-completion.runtime.d.ts +36 -0
- package/dist/session/phase-completion.runtime.js +611 -0
- package/dist/session/phase-completion.schemas.d.ts +3 -0
- package/dist/session/phase-completion.schemas.js +707 -0
- package/dist/session/phase-completion.validation.d.ts +34 -0
- package/dist/session/phase-completion.validation.js +724 -0
- package/dist/session/provider-cli/provider-cli.artifacts.d.ts +93 -0
- package/dist/session/provider-cli/provider-cli.artifacts.js +778 -0
- package/dist/session/provider-cli/provider-cli.base.d.ts +1 -0
- package/dist/session/provider-cli/provider-cli.deterministic-payloads.d.ts +12 -0
- package/dist/session/provider-cli/provider-cli.deterministic-payloads.js +279 -0
- package/dist/session/provider-cli/provider-cli.deterministic.d.ts +14 -0
- package/dist/session/provider-cli/provider-cli.deterministic.js +329 -0
- package/dist/session/provider-cli/provider-cli.process.d.ts +34 -0
- package/dist/session/provider-cli/provider-cli.process.js +316 -0
- package/dist/session/provider-cli/provider-cli.prompts.d.ts +47 -0
- package/dist/session/provider-cli/provider-cli.prompts.js +573 -0
- package/dist/session/provider-cli/provider-cli.qa-sidecars.d.ts +11 -0
- package/dist/session/provider-cli/provider-cli.qa-sidecars.js +65 -0
- package/dist/session/provider-cli/provider-cli.runtime.d.ts +9 -0
- package/dist/session/provider-cli/provider-cli.runtime.js +41 -0
- package/dist/session/provider-cli/provider-cli.service.d.ts +9 -53
- package/dist/session/provider-cli/provider-cli.service.js +182 -2536
- package/dist/session/provider-cli/provider-cli.types.d.ts +3 -0
- package/dist/session/provider-cli/provider-output-state.d.ts +20 -0
- package/dist/session/provider-cli/provider-output-state.js +445 -0
- package/dist/session/session-redaction.d.ts +3 -0
- package/dist/session/session-redaction.js +23 -0
- package/dist/session/session.base.d.ts +4 -0
- package/dist/session/session.service.d.ts +6 -1
- package/dist/session/session.service.js +202 -53
- package/dist/session/session.types.d.ts +123 -1
- package/dist/session/session.types.js +301 -3
- package/dist/shared/path/path.js +3 -1
- package/dist/shared/process/host-process-recovery.d.ts +12 -0
- package/dist/shared/process/host-process-recovery.js +78 -0
- package/dist/shared/process/host-process-supervisor.d.ts +40 -0
- package/dist/shared/process/host-process-supervisor.js +195 -0
- package/dist/shared/process/windows-launch.d.ts +8 -0
- package/dist/shared/process/windows-launch.js +41 -0
- package/dist/shared/provider-capabilities.d.ts +1 -0
- package/dist/shared/provider-capabilities.js +3 -0
- package/dist/shared/redaction/redaction.js +10 -3
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/worktree/artifact-injector.js +39 -6
- package/dist/worktree/dependency-warmer.d.ts +11 -0
- package/dist/worktree/dependency-warmer.js +45 -1
- package/dist/worktree/index.d.ts +1 -0
- package/dist/worktree/index.js +1 -0
- package/dist/worktree/prior-phase-artifact-hydrator.d.ts +2 -0
- package/dist/worktree/prior-phase-artifact-hydrator.js +136 -0
- package/dist/worktree/worktree-paths.d.ts +4 -0
- package/dist/worktree/worktree-paths.js +30 -0
- package/dist/worktree/worktree.base.d.ts +3 -0
- package/dist/worktree/worktree.service.d.ts +8 -3
- package/dist/worktree/worktree.service.js +89 -52
- package/dist/worktree/worktree.types.d.ts +3 -1
- package/package.json +6 -3
- package/runtime/windows-job-supervisor.ps1 +287 -0
- package/runtime/windows-listener-owner.ps1 +33 -0
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { defaultBridgeServiceConfig } from "../bridge/bridge.service.js";
|
|
2
|
+
import { forgeBridgeVersion } from "../version.js";
|
|
3
|
+
export function helpText() {
|
|
4
|
+
const version = defaultBridgeServiceConfig().version ?? forgeBridgeVersion;
|
|
5
|
+
return [
|
|
6
|
+
`🛠 Forge Bridge ${version} — Local provider runners for Forge.`,
|
|
7
|
+
"",
|
|
8
|
+
"Usage: forge-bridge [options] [command]",
|
|
9
|
+
"",
|
|
10
|
+
"Options:",
|
|
11
|
+
" -h, --help Display help for command",
|
|
12
|
+
" -v, --version Output the version number",
|
|
13
|
+
"",
|
|
14
|
+
"Commands:",
|
|
15
|
+
" Hint: commands suffixed with * have detailed help. Run <command> --help for details.",
|
|
16
|
+
" connect * Start the runner bridge and wait for Forge dispatches",
|
|
17
|
+
" pair * Pair this machine with Forge and save runner credentials",
|
|
18
|
+
" status * Show config, runner identity, repos, provider CLIs, and updates",
|
|
19
|
+
" server * Show or change the saved Forge server URL",
|
|
20
|
+
" add-repo * Map a Forge repo label/name to a local checkout path",
|
|
21
|
+
" remove-repo * Remove a saved repo mapping",
|
|
22
|
+
" cleanup * Prune managed bridge worktrees",
|
|
23
|
+
" sandbox * Initialize, diagnose, smoke-test, or reap Docker sandboxes",
|
|
24
|
+
" version * Print the installed bridge package version",
|
|
25
|
+
" help * Display help for command",
|
|
26
|
+
" run-once * Internal: run one dispatch packet from JSON",
|
|
27
|
+
" mcp * Internal: run the phase-completion MCP server",
|
|
28
|
+
"",
|
|
29
|
+
"Examples:",
|
|
30
|
+
" npm install -g @loucompanion/forge-bridge@next",
|
|
31
|
+
" forge-bridge pair 1234-5678 --server https://srv1493013.tail66073d.ts.net:8443 --repo-root \"%USERPROFILE%\\ForgeRepos\"",
|
|
32
|
+
" forge-bridge connect",
|
|
33
|
+
" forge-bridge status --check-updates",
|
|
34
|
+
" forge-bridge server set http://localhost:5208",
|
|
35
|
+
" forge-bridge add-repo Forge D:\\Programming\\repos\\Forge",
|
|
36
|
+
" forge-bridge cleanup --stale",
|
|
37
|
+
"",
|
|
38
|
+
"Troubleshooting:",
|
|
39
|
+
" If Forge says the bridge is old: npm install -g @loucompanion/forge-bridge@next",
|
|
40
|
+
" If connect shows 502/500: leave it open; it reconnects with backoff while dev restarts.",
|
|
41
|
+
" If a provider is missing: run forge-bridge status --check-updates and verify CLI login.",
|
|
42
|
+
"",
|
|
43
|
+
"Docs:",
|
|
44
|
+
" https://github.com/coleman399/Forge/tree/develop/tools/forge-bridge#readme",
|
|
45
|
+
"",
|
|
46
|
+
].join("\n");
|
|
47
|
+
}
|
|
48
|
+
export function commandHelpText(command) {
|
|
49
|
+
switch (command) {
|
|
50
|
+
case "pair":
|
|
51
|
+
return [
|
|
52
|
+
"Forge Bridge — pair",
|
|
53
|
+
"Pair this machine with Forge and save runner credentials.",
|
|
54
|
+
"",
|
|
55
|
+
"Usage:",
|
|
56
|
+
" forge-bridge pair [code] [options]",
|
|
57
|
+
"",
|
|
58
|
+
"Options:",
|
|
59
|
+
" --server <url> Forge server URL.",
|
|
60
|
+
" --repo-root <path> Folder where bridge-managed repos/worktrees live.",
|
|
61
|
+
" --name <name> Display name for this runner.",
|
|
62
|
+
" --fingerprint <value> Stable device fingerprint override.",
|
|
63
|
+
" --cli-provider <list> Comma-separated providers, e.g. codex,cursor.",
|
|
64
|
+
" --cleanup-worktrees Enable managed worktree cleanup.",
|
|
65
|
+
" --no-cleanup-worktrees Disable managed worktree cleanup.",
|
|
66
|
+
"",
|
|
67
|
+
"Example:",
|
|
68
|
+
" forge-bridge pair 1234-5678 --server https://forge.example.com --repo-root \"%USERPROFILE%\\ForgeRepos\"",
|
|
69
|
+
"",
|
|
70
|
+
].join("\n");
|
|
71
|
+
case "connect":
|
|
72
|
+
return [
|
|
73
|
+
"Forge Bridge — connect",
|
|
74
|
+
"Start the runner bridge and keep it connected for Forge dispatches.",
|
|
75
|
+
"",
|
|
76
|
+
"Usage:",
|
|
77
|
+
" forge-bridge connect [options]",
|
|
78
|
+
"",
|
|
79
|
+
"Options:",
|
|
80
|
+
" --server <url> Forge server URL; saved config is used when omitted.",
|
|
81
|
+
" --runner-id <id> Runner id; saved config is used when omitted.",
|
|
82
|
+
" --device-token <token> Device token; saved config is used when omitted.",
|
|
83
|
+
" --repo-root <path> Override repo/worktree folder for this run.",
|
|
84
|
+
" --cli-provider <list> Comma-separated providers, e.g. codex,cursor.",
|
|
85
|
+
" --heartbeat-interval-ms <n> Heartbeat interval in milliseconds.",
|
|
86
|
+
" --cleanup-worktrees Enable managed worktree cleanup for this run.",
|
|
87
|
+
" --no-cleanup-worktrees Disable managed worktree cleanup for this run.",
|
|
88
|
+
"",
|
|
89
|
+
"Example:",
|
|
90
|
+
" forge-bridge connect",
|
|
91
|
+
"",
|
|
92
|
+
].join("\n");
|
|
93
|
+
case "status":
|
|
94
|
+
return [
|
|
95
|
+
"Forge Bridge — status",
|
|
96
|
+
"Show saved configuration, paired runner identity, repo mappings, detected provider CLIs, and optional update info.",
|
|
97
|
+
"",
|
|
98
|
+
"Usage:",
|
|
99
|
+
" forge-bridge status [--check-updates]",
|
|
100
|
+
"",
|
|
101
|
+
"Example:",
|
|
102
|
+
" forge-bridge status --check-updates",
|
|
103
|
+
"",
|
|
104
|
+
].join("\n");
|
|
105
|
+
case "server":
|
|
106
|
+
return [
|
|
107
|
+
"Forge Bridge — server",
|
|
108
|
+
"Show or change the saved Forge server URL.",
|
|
109
|
+
"",
|
|
110
|
+
"Usage:",
|
|
111
|
+
" forge-bridge server show",
|
|
112
|
+
" forge-bridge server set <url>",
|
|
113
|
+
"",
|
|
114
|
+
"The saved runner credentials are retained. Pair again when switching to a different Forge deployment.",
|
|
115
|
+
"FORGE_URL overrides the saved server when that environment variable is set.",
|
|
116
|
+
"",
|
|
117
|
+
"Examples:",
|
|
118
|
+
" forge-bridge server set http://localhost:5208",
|
|
119
|
+
" forge-bridge server set https://srv1493013.tail66073d.ts.net:8443",
|
|
120
|
+
"",
|
|
121
|
+
].join("\n");
|
|
122
|
+
case "add-repo":
|
|
123
|
+
return [
|
|
124
|
+
"Forge Bridge — add-repo",
|
|
125
|
+
"Map a Forge repo label/name to an existing local checkout.",
|
|
126
|
+
"",
|
|
127
|
+
"Usage:",
|
|
128
|
+
" forge-bridge add-repo <label> <path>",
|
|
129
|
+
"",
|
|
130
|
+
"Example:",
|
|
131
|
+
" forge-bridge add-repo Forge D:\\Programming\\repos\\Forge",
|
|
132
|
+
"",
|
|
133
|
+
].join("\n");
|
|
134
|
+
case "remove-repo":
|
|
135
|
+
return [
|
|
136
|
+
"Forge Bridge — remove-repo",
|
|
137
|
+
"Remove a saved local repo mapping.",
|
|
138
|
+
"",
|
|
139
|
+
"Usage:",
|
|
140
|
+
" forge-bridge remove-repo <label>",
|
|
141
|
+
"",
|
|
142
|
+
].join("\n");
|
|
143
|
+
case "cleanup":
|
|
144
|
+
return [
|
|
145
|
+
"Forge Bridge — cleanup",
|
|
146
|
+
"Prune managed bridge worktrees under the configured repo folder.",
|
|
147
|
+
"",
|
|
148
|
+
"Usage:",
|
|
149
|
+
" forge-bridge cleanup [--stale|--merged|--all] [--force]",
|
|
150
|
+
"",
|
|
151
|
+
"Examples:",
|
|
152
|
+
" forge-bridge cleanup --stale",
|
|
153
|
+
" forge-bridge cleanup --all --force",
|
|
154
|
+
"",
|
|
155
|
+
].join("\n");
|
|
156
|
+
case "sandbox":
|
|
157
|
+
return [
|
|
158
|
+
"Forge Bridge — sandbox",
|
|
159
|
+
"Configure local Docker sandbox placement or inspect a repository-owned sandbox contract.",
|
|
160
|
+
"",
|
|
161
|
+
"Usage:",
|
|
162
|
+
" forge-bridge sandbox on [--allow-open-public]",
|
|
163
|
+
" forge-bridge sandbox off",
|
|
164
|
+
" forge-bridge sandbox status",
|
|
165
|
+
" forge-bridge sandbox init [--repo <path>]",
|
|
166
|
+
" forge-bridge sandbox doctor [--repo <path>] [--require-pinned-base]",
|
|
167
|
+
" forge-bridge sandbox smoke [--repo <path>] [--report <path>] [--require-pinned-base] [--probe-loopback-port]",
|
|
168
|
+
" forge-bridge sandbox reap",
|
|
169
|
+
"",
|
|
170
|
+
"`sandbox on` keeps unrestricted public networking denied unless the explicit",
|
|
171
|
+
"developer-only --allow-open-public option is supplied. The local policy is",
|
|
172
|
+
"saved in bridge.json and takes effect after the connected bridge restarts.",
|
|
173
|
+
"Environment variables remain higher-priority operator overrides.",
|
|
174
|
+
"",
|
|
175
|
+
"The smoke command builds the repository Dockerfile, runs a disposable hardened",
|
|
176
|
+
"container, verifies exact-label teardown, and writes a redacted JSON report.",
|
|
177
|
+
"The optional port probe publishes 127.0.0.1::8080 only for the disposable fixture",
|
|
178
|
+
"and verifies Docker-assigned host-port discovery; normal sandboxes publish no ports.",
|
|
179
|
+
"Stop the connected bridge first so the Docker ownership lock can be acquired.",
|
|
180
|
+
"",
|
|
181
|
+
].join("\n");
|
|
182
|
+
case "run-once":
|
|
183
|
+
return [
|
|
184
|
+
"Forge Bridge — run-once",
|
|
185
|
+
"Internal command used by Forge to run a single dispatch packet.",
|
|
186
|
+
"",
|
|
187
|
+
"Usage:",
|
|
188
|
+
" forge-bridge run-once --dispatch <dispatch-json-path> --result <result-json-path>",
|
|
189
|
+
"",
|
|
190
|
+
].join("\n");
|
|
191
|
+
case "mcp":
|
|
192
|
+
return [
|
|
193
|
+
"Forge Bridge — mcp",
|
|
194
|
+
"Internal MCP server used by provider CLIs to report Forge phase artifacts.",
|
|
195
|
+
"",
|
|
196
|
+
"Usage:",
|
|
197
|
+
" forge-bridge mcp --worktree <path> --work-item-id <id> --phase <phase>",
|
|
198
|
+
"",
|
|
199
|
+
].join("\n");
|
|
200
|
+
case "version":
|
|
201
|
+
return [
|
|
202
|
+
"Forge Bridge — version",
|
|
203
|
+
"Print the installed bridge package version.",
|
|
204
|
+
"",
|
|
205
|
+
"Usage:",
|
|
206
|
+
" forge-bridge version",
|
|
207
|
+
"",
|
|
208
|
+
].join("\n");
|
|
209
|
+
default:
|
|
210
|
+
return [
|
|
211
|
+
`Unknown forge-bridge command: ${command}`,
|
|
212
|
+
"",
|
|
213
|
+
"Run `forge-bridge help` to see available commands.",
|
|
214
|
+
"",
|
|
215
|
+
].join("\n");
|
|
216
|
+
}
|
|
217
|
+
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { BridgeService } from "../bridge/bridge.base.js";
|
|
2
2
|
import type { BridgeServiceConfig } from "../bridge/bridge.types.js";
|
|
3
|
+
import type { CleanupMode } from "../cleanup/cleanup.types.js";
|
|
4
|
+
import type { CleanupService } from "../cleanup/cleanup.base.js";
|
|
3
5
|
import type { SessionService } from "../session/session.base.js";
|
|
4
6
|
import type { CliIo, CliService } from "./cli.base.js";
|
|
5
7
|
export declare class ForgeBridgeCliService implements CliService {
|
|
6
8
|
private readonly sessions;
|
|
7
9
|
private readonly bridgeFactory;
|
|
8
10
|
private readonly pairRunner;
|
|
9
|
-
|
|
11
|
+
private readonly cleanupFactory;
|
|
12
|
+
constructor(sessions?: SessionService, bridgeFactory?: (config: BridgeServiceConfig) => BridgeService, pairRunner?: PairRunnerClient, cleanupFactory?: CleanupServiceFactory);
|
|
10
13
|
run(argv: readonly string[], io?: CliIo): Promise<number>;
|
|
11
14
|
}
|
|
12
15
|
export declare function parseArgs(argv: readonly string[]): {
|
|
@@ -34,6 +37,14 @@ export declare function parseArgs(argv: readonly string[]): {
|
|
|
34
37
|
readonly ok: true;
|
|
35
38
|
readonly command: "remove-repo";
|
|
36
39
|
readonly label: string;
|
|
40
|
+
} | {
|
|
41
|
+
readonly ok: true;
|
|
42
|
+
readonly command: "server-show";
|
|
43
|
+
readonly config: BridgeServiceConfig;
|
|
44
|
+
} | {
|
|
45
|
+
readonly ok: true;
|
|
46
|
+
readonly command: "server-set";
|
|
47
|
+
readonly serverUrl: string;
|
|
37
48
|
} | {
|
|
38
49
|
readonly ok: true;
|
|
39
50
|
readonly command: "status";
|
|
@@ -45,6 +56,35 @@ export declare function parseArgs(argv: readonly string[]): {
|
|
|
45
56
|
readonly config: BridgeServiceConfig;
|
|
46
57
|
readonly mode: CleanupMode;
|
|
47
58
|
readonly force: boolean;
|
|
59
|
+
} | {
|
|
60
|
+
readonly ok: true;
|
|
61
|
+
readonly command: "sandbox-init";
|
|
62
|
+
readonly repoPath: string;
|
|
63
|
+
} | {
|
|
64
|
+
readonly ok: true;
|
|
65
|
+
readonly command: "sandbox-doctor";
|
|
66
|
+
readonly repoPath: string;
|
|
67
|
+
readonly requirePinnedBase: boolean;
|
|
68
|
+
} | {
|
|
69
|
+
readonly ok: true;
|
|
70
|
+
readonly command: "sandbox-smoke";
|
|
71
|
+
readonly repoPath: string;
|
|
72
|
+
readonly reportPath?: string;
|
|
73
|
+
readonly requirePinnedBase: boolean;
|
|
74
|
+
readonly probeLoopbackPort: boolean;
|
|
75
|
+
} | {
|
|
76
|
+
readonly ok: true;
|
|
77
|
+
readonly command: "sandbox-reap";
|
|
78
|
+
} | {
|
|
79
|
+
readonly ok: true;
|
|
80
|
+
readonly command: "sandbox-on";
|
|
81
|
+
readonly allowOpenPublic: boolean;
|
|
82
|
+
} | {
|
|
83
|
+
readonly ok: true;
|
|
84
|
+
readonly command: "sandbox-off";
|
|
85
|
+
} | {
|
|
86
|
+
readonly ok: true;
|
|
87
|
+
readonly command: "sandbox-status";
|
|
48
88
|
} | {
|
|
49
89
|
readonly ok: false;
|
|
50
90
|
readonly error: string;
|
|
@@ -66,5 +106,5 @@ interface PairRunnerClaim {
|
|
|
66
106
|
type PairRunnerClient = (args: PairArgs) => Promise<PairRunnerClaim>;
|
|
67
107
|
export declare function parseCodexModelCatalog(raw: string): string[];
|
|
68
108
|
export declare function parseCursorModelList(raw: string): string[];
|
|
69
|
-
type
|
|
109
|
+
type CleanupServiceFactory = (stateRoot: string) => CleanupService;
|
|
70
110
|
export {};
|