@cat-factory/cli 0.6.2 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -5
- package/dist/args.d.ts +6 -3
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +25 -0
- package/dist/args.js.map +1 -1
- package/dist/bin.js +5 -0
- package/dist/bin.js.map +1 -1
- package/dist/bootstrap.d.ts +1 -9
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +6 -158
- package/dist/bootstrap.js.map +1 -1
- package/dist/env.d.ts +2 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +9 -1
- package/dist/env.js.map +1 -1
- package/dist/envCommand.d.ts +25 -0
- package/dist/envCommand.d.ts.map +1 -0
- package/dist/envCommand.js +128 -0
- package/dist/envCommand.js.map +1 -0
- package/dist/fs.d.ts +12 -0
- package/dist/fs.d.ts.map +1 -0
- package/dist/fs.js +13 -0
- package/dist/fs.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/k3s-provision.d.ts +0 -5
- package/dist/k3s-provision.d.ts.map +1 -1
- package/dist/k3s-provision.js +3 -3
- package/dist/k3s-provision.js.map +1 -1
- package/dist/plan.d.ts +2 -0
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +3 -1
- package/dist/plan.js.map +1 -1
- package/dist/resolve.d.ts +33 -0
- package/dist/resolve.d.ts.map +1 -0
- package/dist/resolve.js +153 -0
- package/dist/resolve.js.map +1 -0
- package/dist/secrets.d.ts +10 -5
- package/dist/secrets.d.ts.map +1 -1
- package/dist/secrets.js +2 -1
- package/dist/secrets.js.map +1 -1
- package/dist/templates.d.ts +0 -4
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +7 -4
- package/dist/templates.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -10,8 +10,9 @@ the **published** libraries, so the generated project stands alone outside the m
|
|
|
10
10
|
It does the fiddly setup for you:
|
|
11
11
|
|
|
12
12
|
- **Offers to generate the crypto secrets** in the exact formats the server requires —
|
|
13
|
-
`AUTH_SESSION_SECRET` (32 random bytes, hex)
|
|
14
|
-
|
|
13
|
+
`AUTH_SESSION_SECRET` (32 random bytes, hex), `ENCRYPTION_KEY` (32 random bytes, base64) and
|
|
14
|
+
`HARNESS_SHARED_SECRET` (32 random bytes, hex). All three are required to boot. On by default;
|
|
15
|
+
decline to leave them blank and paste your own.
|
|
15
16
|
- **Lets you choose how agents run** — a **prewarmed Docker pool** (isolated per-run containers
|
|
16
17
|
from the executor image, the default) or **native host agents** (a host process driving your
|
|
17
18
|
own installed `claude`/`codex` CLI: no container, no leased credential, but no sandbox and only
|
|
@@ -31,6 +32,20 @@ It does the fiddly setup for you:
|
|
|
31
32
|
secrets, your PAT, the harness image) and `frontend/.env` (`NUXT_PUBLIC_API_BASE`), and writes
|
|
32
33
|
(or merges into) a `.gitignore` so those secret files are never committed.
|
|
33
34
|
|
|
35
|
+
## Commands
|
|
36
|
+
|
|
37
|
+
- **`cat-factory init`** (the default) — scaffolds the whole deployment (`local/` + `frontend/`),
|
|
38
|
+
described above.
|
|
39
|
+
- **`cat-factory env`** — generates **only** a ready-to-run local-mode `.env` in the current
|
|
40
|
+
directory (or `--dir`), using the same secret generation, PAT flow, and pool-vs-native choice.
|
|
41
|
+
Use it when the deployment already exists (e.g. inside [`deploy/local`](../../../deploy/local),
|
|
42
|
+
or an already-scaffolded project) and you just need a fresh, complete `.env`. It refuses to
|
|
43
|
+
overwrite an existing `.env` unless you pass `--force`, and (like `init`) it creates or merges
|
|
44
|
+
the target dir's `.gitignore` so the secret `.env` can never be committed. A model-provider key
|
|
45
|
+
is **not** needed to boot — add providers/keys through the UI after sign-in (the `.env` leaves
|
|
46
|
+
them as commented hints) — so the generated file runs local mode with no manual edits.
|
|
47
|
+
- **`cat-factory k3s`** — guided local Kubernetes setup for ephemeral environments (see `--help`).
|
|
48
|
+
|
|
34
49
|
## Usage
|
|
35
50
|
|
|
36
51
|
No install needed — run it with your package manager's runner:
|
|
@@ -131,9 +146,9 @@ Tester's Docker-in-Docker / ephemeral environments, the warm container pool, etc
|
|
|
131
146
|
commit them. If you scaffold into an existing git repo, the CLI **merges** the required ignore
|
|
132
147
|
rules into your existing `.gitignore` rather than clobbering it.
|
|
133
148
|
- The pasted token is **not echoed** to the terminal.
|
|
134
|
-
- Keep `AUTH_SESSION_SECRET` and `
|
|
135
|
-
forces a re-login, and regenerating the encryption key orphans every
|
|
136
|
-
credential.
|
|
149
|
+
- Keep `AUTH_SESSION_SECRET`, `ENCRYPTION_KEY` and `HARNESS_SHARED_SECRET` **stable**: regenerating
|
|
150
|
+
the session secret forces a re-login, and regenerating the encryption key orphans every
|
|
151
|
+
encrypted-at-rest credential.
|
|
137
152
|
|
|
138
153
|
## Programmatic API
|
|
139
154
|
|
package/dist/args.d.ts
CHANGED
|
@@ -5,8 +5,11 @@ export declare const K3S_RUNTIMES: readonly ['k3d', 'kind', 'k3s'];
|
|
|
5
5
|
export type K3sRuntime = (typeof K3S_RUNTIMES)[number];
|
|
6
6
|
/** Parsed, validated CLI options. Unset optionals are resolved later (defaults / prompts). */
|
|
7
7
|
export interface CliOptions {
|
|
8
|
-
/**
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* The subcommand. `init` (the default when omitted) scaffolds a full project; `env` writes just
|
|
10
|
+
* a ready-to-run local-mode `.env`; `k3s` is the guided local-cluster setup.
|
|
11
|
+
*/
|
|
12
|
+
command: 'init' | 'env' | 'k3s' | 'help' | 'version';
|
|
10
13
|
dir?: string;
|
|
11
14
|
projectName?: string;
|
|
12
15
|
appTitle?: string;
|
|
@@ -55,5 +58,5 @@ export declare const OPTION_DEFAULTS: {
|
|
|
55
58
|
readonly k3sRuntime: K3sRuntime;
|
|
56
59
|
readonly appUrl: 'http://localhost:3000';
|
|
57
60
|
};
|
|
58
|
-
export declare const HELP_TEXT = "cat-factory \u2014 bootstrap a local cat-factory deployment\n\nUsage:\n cat-factory [init] [options]\n cat-factory k3s [options]\n\nCommands:\n init Scaffold a local-mode backend (local/) + frontend SPA (frontend/): generate the\n crypto secrets, mint a GitHub/GitLab PAT (opens your browser), write gitignored .env.\n k3s Guided local Kubernetes setup: probe the host for a usable cluster, then create (or\n reuse) one + a least-privilege ServiceAccount and print the values to wire the\n Local k3s environment handler. A k3s install needs sudo, so it is only ever printed.\n\nOptions (init):\n -d, --dir <path> Target directory (default: ./<name>)\n --name <name> Project name slug (default: cat-factory)\n --title <title> Frontend app title (default: Agent Architecture Board)\n --provider <p> Source control: github | gitlab (default: github)\n --token <token> PAT value (skips the browser/paste flow)\n --db-url <url> Postgres DATABASE_URL\n --api-base <url> Backend API base for the SPA (default: http://localhost:<port>)\n --port <n> Backend HTTP port (default: 8787; also sets the SPA's api-base)\n --harness-image <ref> Executor-harness image (default: ghcr.io ...:latest)\n --container-runtime <r> Agent container runtime: docker | podman | orbstack | colima | apple\n --execution-mode <m> How agents run: pool (Docker container pool) | native (host CLI)\n --native-harnesses <l> Native mode: harnesses to run natively (claude-code,codex)\n --harness-entry <p> Native mode: path to the executor-harness server entry\n --no-open Don't open the browser (just print the token URL)\n -y, --yes Non-interactive: use defaults/flags, never prompt\n -f, --force Overwrite existing files\n -h, --help Show this help\n -v, --version Show the CLI version\n\nOptions (k3s):\n --cluster-name <n> Name for a provisioned local cluster (default: cat-factory)\n --runtime <r> Kubernetes distribution: k3d | kind | k3s (default: k3d)\n --app-url <url> SPA base URL to deep-link for wiring (default: http://localhost:3000)\n --no-open Don't open the browser at the pre-filled connect form (still prints it)\n -y, --yes Non-interactive: pick the recommended path + skip confirms\n\n After provisioning, the values are printed and the SPA's Local k3s connect form is opened\n pre-filled (paste the token, then Test -> Save). A hands-free --register flag that POSTs the\n handler to the local API directly is a planned follow-up.\n";
|
|
61
|
+
export declare const HELP_TEXT = "cat-factory \u2014 bootstrap a local cat-factory deployment\n\nUsage:\n cat-factory [init] [options]\n cat-factory env [options]\n cat-factory k3s [options]\n\nCommands:\n init Scaffold a local-mode backend (local/) + frontend SPA (frontend/): generate the\n crypto secrets, mint a GitHub/GitLab PAT (opens your browser), write gitignored .env.\n env Generate ONLY a ready-to-run local-mode .env in the current dir (or --dir): all three\n crypto secrets, a minted GitHub/GitLab PAT, and the execution mode \u2014 so local mode\n boots with no manual edits. Use it in an existing deployment dir (e.g. deploy/local).\n k3s Guided local Kubernetes setup: probe the host for a usable cluster, then create (or\n reuse) one + a least-privilege ServiceAccount and print the values to wire the\n Local k3s environment handler. A k3s install needs sudo, so it is only ever printed.\n\nOptions (init):\n -d, --dir <path> Target directory (default: ./<name>)\n --name <name> Project name slug (default: cat-factory)\n --title <title> Frontend app title (default: Agent Architecture Board)\n --provider <p> Source control: github | gitlab (default: github)\n --token <token> PAT value (skips the browser/paste flow)\n --db-url <url> Postgres DATABASE_URL\n --api-base <url> Backend API base for the SPA (default: http://localhost:<port>)\n --port <n> Backend HTTP port (default: 8787; also sets the SPA's api-base)\n --harness-image <ref> Executor-harness image (default: ghcr.io ...:latest)\n --container-runtime <r> Agent container runtime: docker | podman | orbstack | colima | apple\n --execution-mode <m> How agents run: pool (Docker container pool) | native (host CLI)\n --native-harnesses <l> Native mode: harnesses to run natively (claude-code,codex)\n --harness-entry <p> Native mode: path to the executor-harness server entry\n --no-open Don't open the browser (just print the token URL)\n -y, --yes Non-interactive: use defaults/flags, never prompt\n -f, --force Overwrite existing files\n -h, --help Show this help\n -v, --version Show the CLI version\n\nOptions (env):\n -d, --dir <path> Directory to write .env into (default: current directory)\n --provider <p> Source control: github | gitlab (default: github)\n --token <token> PAT value (skips the browser/paste flow)\n --db-url <url> Postgres DATABASE_URL\n --port <n> Backend HTTP port (default: 8787)\n --harness-image <ref> Executor-harness image (default: ghcr.io ...:latest)\n --container-runtime <r> Agent container runtime: docker | podman | orbstack | colima | apple\n --execution-mode <m> How agents run: pool (Docker container pool) | native (host CLI)\n --native-harnesses <l> Native mode: harnesses to run natively (claude-code,codex)\n --harness-entry <p> Native mode: path to the executor-harness server entry\n --no-open Don't open the browser (just print the token URL)\n -y, --yes Non-interactive: use defaults/flags, never prompt\n -f, --force Overwrite an existing .env\n\nOptions (k3s):\n --cluster-name <n> Name for a provisioned local cluster (default: cat-factory)\n --runtime <r> Kubernetes distribution: k3d | kind | k3s (default: k3d)\n --app-url <url> SPA base URL to deep-link for wiring (default: http://localhost:3000)\n --no-open Don't open the browser at the pre-filled connect form (still prints it)\n -y, --yes Non-interactive: pick the recommended path + skip confirms\n\n After provisioning, the values are printed and the SPA's Local k3s connect form is opened\n pre-filled (paste the token, then Test -> Save). A hands-free --register flag that POSTs the\n handler to the local API directly is a planned follow-up.\n";
|
|
59
62
|
//# sourceMappingURL=args.d.ts.map
|
package/dist/args.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EAGrB,KAAK,aAAa,EAElB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAE1D,0EAA0E;AAC1E,eAAO,MAAM,YAAY,YAAI,KAAK,EAAE,MAAM,EAAE,KAAK,CAAU,CAAA;AAC3D,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtD,8FAA8F;AAC9F,MAAM,WAAW,UAAU;IACzB
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EAGrB,KAAK,aAAa,EAElB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAE1D,0EAA0E;AAC1E,eAAO,MAAM,YAAY,YAAI,KAAK,EAAE,MAAM,EAAE,KAAK,CAAU,CAAA;AAC3D,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtD,8FAA8F;AAC9F,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;IACpD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,uFAAuF;IACvF,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,4FAA4F;IAC5F,eAAe,CAAC,EAAE,aAAa,EAAE,CAAA;IACjC,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sEAAsE;IACtE,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,MAAM,EAAE,OAAO,CAAA;IACf,+FAA+F;IAC/F,GAAG,EAAE,OAAO,CAAA;IACZ,oDAAoD;IACpD,KAAK,EAAE,OAAO,CAAA;CACf;AAQD,qBAAa,QAAS,SAAQ,KAAK;CAAG;AAEtC,mGAAmG;AACnG,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAkHpD;AAoFD,qEAAqE;AACrE,eAAO,MAAM,eAAe;aAC1B,WAAW,EAAE,aAAa;aAC1B,QAAQ,EAAE,0BAA0B;aACpC,QAAQ,EAAc,WAAW;aACjC,WAAW,EAAE,8CAA8C;aAI3D,IAAI,EAAE,IAAI;aACV,YAAY;aACZ,gBAAgB,EAAc,gBAAgB;aAC9C,aAAa,EAAY,aAAa;aAEtC,cAAc,EAAE,aAAa;aAC7B,UAAU,EAAW,UAAU;aAG/B,MAAM,EAAE,uBAAuB;CACvB,CAAA;AAEV,eAAO,MAAM,SAAS,47HA8DrB,CAAA"}
|
package/dist/args.js
CHANGED
|
@@ -34,6 +34,12 @@ export function parseArgs(argv) {
|
|
|
34
34
|
commandSet = true;
|
|
35
35
|
}
|
|
36
36
|
break;
|
|
37
|
+
case 'env':
|
|
38
|
+
if (!commandSet) {
|
|
39
|
+
opts.command = 'env';
|
|
40
|
+
commandSet = true;
|
|
41
|
+
}
|
|
42
|
+
break;
|
|
37
43
|
case 'k3s':
|
|
38
44
|
if (!commandSet) {
|
|
39
45
|
opts.command = 'k3s';
|
|
@@ -214,11 +220,15 @@ export const HELP_TEXT = `cat-factory — bootstrap a local cat-factory deployme
|
|
|
214
220
|
|
|
215
221
|
Usage:
|
|
216
222
|
cat-factory [init] [options]
|
|
223
|
+
cat-factory env [options]
|
|
217
224
|
cat-factory k3s [options]
|
|
218
225
|
|
|
219
226
|
Commands:
|
|
220
227
|
init Scaffold a local-mode backend (local/) + frontend SPA (frontend/): generate the
|
|
221
228
|
crypto secrets, mint a GitHub/GitLab PAT (opens your browser), write gitignored .env.
|
|
229
|
+
env Generate ONLY a ready-to-run local-mode .env in the current dir (or --dir): all three
|
|
230
|
+
crypto secrets, a minted GitHub/GitLab PAT, and the execution mode — so local mode
|
|
231
|
+
boots with no manual edits. Use it in an existing deployment dir (e.g. deploy/local).
|
|
222
232
|
k3s Guided local Kubernetes setup: probe the host for a usable cluster, then create (or
|
|
223
233
|
reuse) one + a least-privilege ServiceAccount and print the values to wire the
|
|
224
234
|
Local k3s environment handler. A k3s install needs sudo, so it is only ever printed.
|
|
@@ -243,6 +253,21 @@ Options (init):
|
|
|
243
253
|
-h, --help Show this help
|
|
244
254
|
-v, --version Show the CLI version
|
|
245
255
|
|
|
256
|
+
Options (env):
|
|
257
|
+
-d, --dir <path> Directory to write .env into (default: current directory)
|
|
258
|
+
--provider <p> Source control: github | gitlab (default: github)
|
|
259
|
+
--token <token> PAT value (skips the browser/paste flow)
|
|
260
|
+
--db-url <url> Postgres DATABASE_URL
|
|
261
|
+
--port <n> Backend HTTP port (default: 8787)
|
|
262
|
+
--harness-image <ref> Executor-harness image (default: ghcr.io ...:latest)
|
|
263
|
+
--container-runtime <r> Agent container runtime: docker | podman | orbstack | colima | apple
|
|
264
|
+
--execution-mode <m> How agents run: pool (Docker container pool) | native (host CLI)
|
|
265
|
+
--native-harnesses <l> Native mode: harnesses to run natively (claude-code,codex)
|
|
266
|
+
--harness-entry <p> Native mode: path to the executor-harness server entry
|
|
267
|
+
--no-open Don't open the browser (just print the token URL)
|
|
268
|
+
-y, --yes Non-interactive: use defaults/flags, never prompt
|
|
269
|
+
-f, --force Overwrite an existing .env
|
|
270
|
+
|
|
246
271
|
Options (k3s):
|
|
247
272
|
--cluster-name <n> Name for a provisioned local cluster (default: cat-factory)
|
|
248
273
|
--runtime <r> Kubernetes distribution: k3d | kind | k3s (default: k3d)
|
package/dist/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAElB,qBAAqB,EACrB,eAAe,EAEf,gBAAgB,GAEjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,aAAa,EAAoB,MAAM,UAAU,CAAA;AAE1D,0EAA0E;AAC1E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
|
package/dist/bin.js
CHANGED
|
@@ -3,6 +3,7 @@ import { readFileSync } from 'node:fs';
|
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
4
|
import { ArgError, HELP_TEXT, parseArgs } from './args.js';
|
|
5
5
|
import { bootstrap } from './bootstrap.js';
|
|
6
|
+
import { generateEnv } from './envCommand.js';
|
|
6
7
|
import { setupK3s } from './k3s.js';
|
|
7
8
|
function readVersion() {
|
|
8
9
|
try {
|
|
@@ -34,6 +35,10 @@ async function main() {
|
|
|
34
35
|
process.stdout.write(`${readVersion()}\n`);
|
|
35
36
|
return;
|
|
36
37
|
}
|
|
38
|
+
if (options.command === 'env') {
|
|
39
|
+
await generateEnv(options);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
37
42
|
if (options.command === 'k3s') {
|
|
38
43
|
await setupK3s(options);
|
|
39
44
|
return;
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAEnC,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAyB,CAAA;QAC3F,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAA;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAA;IAChB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,OAAO,CAAA;IACX,IAAI,CAAC;QACH,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,OAAO,SAAS,EAAE,CAAC,CAAA;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC/B,OAAM;IACR,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC,CAAA;QAC1C,OAAM;IACR,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAA;QACvB,OAAM;IACR,CAAC;IAED,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAEnC,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAyB,CAAA;QAC3F,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAA;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAA;IAChB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,OAAO,CAAA;IACX,IAAI,CAAC;QACH,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,OAAO,SAAS,EAAE,CAAC,CAAA;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC/B,OAAM;IACR,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC,CAAA;QAC1C,OAAM;IACR,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;QAC1B,OAAM;IACR,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAA;QACvB,OAAM;IACR,CAAC;IAED,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
|
package/dist/bootstrap.d.ts
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import { type CliOptions } from './args.js';
|
|
2
|
+
import { type FileSystem } from './fs.js';
|
|
2
3
|
import { type Io } from './io.js';
|
|
3
4
|
import { type RandomBytes } from './secrets.js';
|
|
4
|
-
/** The filesystem operations the writer needs — injectable so the flow is testable. */
|
|
5
|
-
export interface FileSystem {
|
|
6
|
-
existsSync(path: string): boolean;
|
|
7
|
-
mkdirSync(path: string, options: {
|
|
8
|
-
recursive: true;
|
|
9
|
-
}): void;
|
|
10
|
-
readFileSync(path: string, encoding: 'utf8'): string;
|
|
11
|
-
writeFileSync(path: string, data: string): void;
|
|
12
|
-
}
|
|
13
5
|
export interface BootstrapDeps {
|
|
14
6
|
io?: Io;
|
|
15
7
|
fs?: FileSystem;
|
package/dist/bootstrap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,WAAW,CAAA;AAE5D,OAAO,EAAE,KAAK,UAAU,EAAU,MAAM,SAAS,CAAA;AACjD,OAAO,EAAmB,KAAK,EAAE,EAAE,MAAM,SAAS,CAAA;AAUlD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAI/C,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,qBAAa,cAAe,SAAQ,KAAK;CAAG;AAE5C,wFAAwF;AACxF,wBAAsB,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6F9F"}
|
package/dist/bootstrap.js
CHANGED
|
@@ -1,23 +1,13 @@
|
|
|
1
|
-
import * as nodeFs from 'node:fs';
|
|
2
1
|
import { dirname, join, resolve } from 'node:path';
|
|
3
2
|
import { OPTION_DEFAULTS } from './args.js';
|
|
4
|
-
import { ALL_NATIVE_HARNESSES,
|
|
3
|
+
import { ALL_NATIVE_HARNESSES, NATIVE_HARNESS_INFO } from './execution.js';
|
|
4
|
+
import { realFs } from './fs.js';
|
|
5
5
|
import { createConsoleIo } from './io.js';
|
|
6
6
|
import { buildPlan } from './plan.js';
|
|
7
|
-
import {
|
|
7
|
+
import { resolveContainerRuntime, resolveExecution, resolveProvider, resolveSecrets, resolveToken, } from './resolve.js';
|
|
8
|
+
import {} from './secrets.js';
|
|
8
9
|
import { slugifyProjectName } from './slug.js';
|
|
9
|
-
import {
|
|
10
|
-
import { patCreationUrl, providerLabel, VCS_PROVIDERS } from './vcs.js';
|
|
11
|
-
const realFs = {
|
|
12
|
-
existsSync: (p) => nodeFs.existsSync(p),
|
|
13
|
-
mkdirSync: (p, o) => {
|
|
14
|
-
nodeFs.mkdirSync(p, o);
|
|
15
|
-
},
|
|
16
|
-
readFileSync: (p, e) => nodeFs.readFileSync(p, e),
|
|
17
|
-
writeFileSync: (p, d) => {
|
|
18
|
-
nodeFs.writeFileSync(p, d);
|
|
19
|
-
},
|
|
20
|
-
};
|
|
10
|
+
import { providerLabel } from './vcs.js';
|
|
21
11
|
export class BootstrapError extends Error {
|
|
22
12
|
}
|
|
23
13
|
/** Run the interactive (or flag-driven) bootstrap. Returns the absolute project dir. */
|
|
@@ -79,6 +69,7 @@ export async function bootstrap(options, deps = {}) {
|
|
|
79
69
|
harnessEntry: execution.harnessEntry,
|
|
80
70
|
authSessionSecret: secrets.authSessionSecret,
|
|
81
71
|
encryptionKey: secrets.encryptionKey,
|
|
72
|
+
harnessSharedSecret: secrets.harnessSharedSecret,
|
|
82
73
|
existingGitignore,
|
|
83
74
|
});
|
|
84
75
|
writePlan(plan, targetDir, fs, io, options.force);
|
|
@@ -94,149 +85,6 @@ export async function bootstrap(options, deps = {}) {
|
|
|
94
85
|
});
|
|
95
86
|
return targetDir;
|
|
96
87
|
}
|
|
97
|
-
async function resolveProvider(options, io) {
|
|
98
|
-
if (options.provider)
|
|
99
|
-
return options.provider;
|
|
100
|
-
if (options.yes)
|
|
101
|
-
return OPTION_DEFAULTS.provider;
|
|
102
|
-
return io.select('Source control', VCS_PROVIDERS.map((value) => ({ value, label: providerLabel(value) })), OPTION_DEFAULTS.provider);
|
|
103
|
-
}
|
|
104
|
-
async function resolveContainerRuntime(options, io) {
|
|
105
|
-
if (options.containerRuntime)
|
|
106
|
-
return options.containerRuntime;
|
|
107
|
-
if (options.yes)
|
|
108
|
-
return OPTION_DEFAULTS.containerRuntime;
|
|
109
|
-
return io.select('Container runtime that spawns agent jobs', CONTAINER_RUNTIMES.map((value) => ({ value, label: value })), OPTION_DEFAULTS.containerRuntime);
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Resolve how agent jobs execute — a prewarmed Docker pool (default) or native host agents —
|
|
113
|
-
* plus, for native mode, which harnesses run natively and the harness server entry path. In
|
|
114
|
-
* interactive mode the tradeoffs of each mode are printed before the choice, and (native only)
|
|
115
|
-
* the developer can list which models actually run natively before committing.
|
|
116
|
-
*/
|
|
117
|
-
/** Whether any native-only flag (`--native-harnesses` / `--harness-entry`) was supplied. */
|
|
118
|
-
function nativeFlagsProvided(options) {
|
|
119
|
-
return Boolean(options.nativeHarnesses?.length) || options.harnessEntry !== undefined;
|
|
120
|
-
}
|
|
121
|
-
async function resolveExecution(options, io) {
|
|
122
|
-
const mode = await resolveExecutionMode(options, io);
|
|
123
|
-
if (mode !== 'native') {
|
|
124
|
-
// Native-only flags carry no meaning in pool mode; warn rather than silently drop them so a
|
|
125
|
-
// `--execution-mode pool --native-harnesses …` (or the same via prompt) isn't a quiet no-op.
|
|
126
|
-
if (nativeFlagsProvided(options))
|
|
127
|
-
io.warn('Ignoring --native-harnesses / --harness-entry: they only apply to --execution-mode native.');
|
|
128
|
-
return { mode };
|
|
129
|
-
}
|
|
130
|
-
const nativeHarnesses = await resolveNativeHarnesses(options, io);
|
|
131
|
-
if (!options.yes)
|
|
132
|
-
await maybeShowNativeModels(io, nativeHarnesses);
|
|
133
|
-
const harnessEntry = await resolveHarnessEntry(options, io);
|
|
134
|
-
return { mode, nativeHarnesses, harnessEntry };
|
|
135
|
-
}
|
|
136
|
-
async function resolveExecutionMode(options, io) {
|
|
137
|
-
if (options.executionMode)
|
|
138
|
-
return options.executionMode;
|
|
139
|
-
// A native-only flag with no explicit --execution-mode clearly means native: infer it rather
|
|
140
|
-
// than defaulting to pool and dropping the flag on the floor.
|
|
141
|
-
if (nativeFlagsProvided(options)) {
|
|
142
|
-
io.info('Assuming --execution-mode native (a native-only flag was provided).');
|
|
143
|
-
return 'native';
|
|
144
|
-
}
|
|
145
|
-
if (options.yes)
|
|
146
|
-
return OPTION_DEFAULTS.executionMode;
|
|
147
|
-
// Print both modes' tradeoffs so the choice is informed, not a bare two-item menu.
|
|
148
|
-
io.info(['\nHow should agent jobs run locally?', '', ...EXECUTION_MODES.flatMap(tradeoffBlock)].join('\n'));
|
|
149
|
-
return io.select('Execution mode', [
|
|
150
|
-
{ value: 'pool', label: 'Prewarmed Docker pool (recommended)' },
|
|
151
|
-
{ value: 'native', label: 'Native host agents (your own claude/codex CLI)' },
|
|
152
|
-
], OPTION_DEFAULTS.executionMode);
|
|
153
|
-
}
|
|
154
|
-
/** Render one execution mode's tradeoff bullet block for the pre-prompt info. */
|
|
155
|
-
function tradeoffBlock(mode) {
|
|
156
|
-
return [...EXECUTION_MODE_TRADEOFFS[mode], ''];
|
|
157
|
-
}
|
|
158
|
-
async function resolveNativeHarnesses(options, io) {
|
|
159
|
-
if (options.nativeHarnesses?.length)
|
|
160
|
-
return options.nativeHarnesses;
|
|
161
|
-
if (options.yes)
|
|
162
|
-
return [...ALL_NATIVE_HARNESSES];
|
|
163
|
-
const choice = await io.select('Which installed CLI(s) should run agents natively?', [
|
|
164
|
-
{ value: 'both', label: 'Both — Claude Code and Codex' },
|
|
165
|
-
{ value: 'claude-code', label: NATIVE_HARNESS_INFO['claude-code'].label },
|
|
166
|
-
{ value: 'codex', label: NATIVE_HARNESS_INFO.codex.label },
|
|
167
|
-
], 'both');
|
|
168
|
-
return choice === 'both' ? [...ALL_NATIVE_HARNESSES] : [choice];
|
|
169
|
-
}
|
|
170
|
-
/** Offer to list the models that will actually run natively for the chosen harnesses. */
|
|
171
|
-
async function maybeShowNativeModels(io, harnesses) {
|
|
172
|
-
const show = await io.confirm('List the models that will run natively in this mode?', true);
|
|
173
|
-
if (!show)
|
|
174
|
-
return;
|
|
175
|
-
const models = nativeModelsFor(harnesses);
|
|
176
|
-
const lines = [
|
|
177
|
-
'\nModels that run natively (through your ambient CLI):',
|
|
178
|
-
...models.map((m) => ` - ${m.label} [id: ${m.id}] via ${m.harness}`),
|
|
179
|
-
'',
|
|
180
|
-
'Any OTHER model a step selects (Cloudflare, direct keys, or GLM/Kimi/DeepSeek — which',
|
|
181
|
-
'reuse the claude-code harness against their own endpoint) still runs in a container,',
|
|
182
|
-
'so the executor image is still used for those steps.',
|
|
183
|
-
];
|
|
184
|
-
io.info(lines.join('\n'));
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Resolve the executor-harness server entry path for native mode. Optional: when left blank,
|
|
188
|
-
* native mode defaults to the bundled `@cat-factory/executor-harness` (a dependency of
|
|
189
|
-
* `@cat-factory/local-server`), so no configuration is needed. A value is only used to point at
|
|
190
|
-
* a custom or source-checkout build.
|
|
191
|
-
*/
|
|
192
|
-
async function resolveHarnessEntry(options, io) {
|
|
193
|
-
if (options.harnessEntry !== undefined)
|
|
194
|
-
return options.harnessEntry;
|
|
195
|
-
// Non-interactive (--yes): leave it blank; the bundled harness default kicks in at boot.
|
|
196
|
-
if (options.yes)
|
|
197
|
-
return '';
|
|
198
|
-
return (await io.question('Path to a custom executor-harness server entry (LOCAL_HARNESS_ENTRY; blank = bundled default)')).trim();
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Resolve the two mandatory crypto secrets. By default (and always in `--yes` mode) they are
|
|
202
|
-
* generated for the developer in the server's required formats. Interactively the developer can
|
|
203
|
-
* decline (e.g. to paste their own), leaving them blank with a note on how to fill them in.
|
|
204
|
-
*/
|
|
205
|
-
async function resolveSecrets(options, io, randomBytes) {
|
|
206
|
-
const generate = options.yes ||
|
|
207
|
-
(await io.confirm('Generate AUTH_SESSION_SECRET and ENCRYPTION_KEY for you?', true));
|
|
208
|
-
if (!generate) {
|
|
209
|
-
io.warn('Left AUTH_SESSION_SECRET / ENCRYPTION_KEY blank — fill them in before starting ' +
|
|
210
|
-
'(see local/.env.example for the generate commands). Keep both stable once set.');
|
|
211
|
-
return { authSessionSecret: '', encryptionKey: '' };
|
|
212
|
-
}
|
|
213
|
-
const secrets = generateSecrets(randomBytes);
|
|
214
|
-
io.info('\nGenerated AUTH_SESSION_SECRET (hex) and ENCRYPTION_KEY (base64).');
|
|
215
|
-
return secrets;
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Resolve the PAT: an explicit `--token` wins; otherwise (interactive only) print the pre-scoped
|
|
219
|
-
* creation URL, open the browser at it, and read the pasted token back. In `--yes` mode with no
|
|
220
|
-
* token, leave it blank (the var is still written, present-but-empty).
|
|
221
|
-
*/
|
|
222
|
-
async function resolveToken(options, provider, io) {
|
|
223
|
-
if (options.token !== undefined)
|
|
224
|
-
return options.token;
|
|
225
|
-
if (options.yes)
|
|
226
|
-
return '';
|
|
227
|
-
const url = patCreationUrl(provider);
|
|
228
|
-
const label = providerLabel(provider);
|
|
229
|
-
io.info(`\nCreate a ${label} personal access token (scopes pre-selected):\n ${url}`);
|
|
230
|
-
if (!options.noOpen) {
|
|
231
|
-
const open = await io.confirm('Open this URL in your browser now?', true);
|
|
232
|
-
if (open)
|
|
233
|
-
await io.openBrowser(url);
|
|
234
|
-
}
|
|
235
|
-
const token = await io.secret(`Paste your ${label} token here (or leave blank to add later)`);
|
|
236
|
-
if (token === '')
|
|
237
|
-
io.warn('No token entered — the var will be written blank; set it before running agents.');
|
|
238
|
-
return token;
|
|
239
|
-
}
|
|
240
88
|
function writePlan(plan, targetDir, fs, io, force) {
|
|
241
89
|
io.info(`\nWriting to ${targetDir}`);
|
|
242
90
|
for (const file of plan) {
|
package/dist/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAmB,eAAe,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAAmB,MAAM,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,EAAE,eAAe,EAAW,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,SAAS,EAAoB,MAAM,WAAW,CAAA;AACvD,OAAO,EAEL,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,cAAc,CAAA;AACrB,OAAO,EAAoB,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAoB,MAAM,UAAU,CAAA;AAS1D,MAAM,OAAO,cAAe,SAAQ,KAAK;CAAG;AAE5C,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAmB,EAAE,IAAI,GAAkB,EAAE;IAC3E,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,eAAe,EAAE,CAAA;IACvC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,CAAA;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAErC,EAAE,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;IAExD,MAAM,cAAc,GAClB,OAAO,CAAC,WAAW;QACnB,CAAC,OAAO,CAAC,GAAG;YACV,CAAC,CAAC,eAAe,CAAC,WAAW;YAC7B,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAA;IAErE,+FAA+F;IAC/F,MAAM,WAAW,GAAG,kBAAkB,CAAC,cAAc,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACnF,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;QACnC,EAAE,CAAC,IAAI,CAAC,UAAU,WAAW,+DAA+D,CAAC,CAAA;IAC/F,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAA;IAE1D,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ;QAChB,CAAC,OAAO,CAAC,GAAG;YACV,CAAC,CAAC,eAAe,CAAC,QAAQ;YAC1B,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE/D,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAEnD,MAAM,WAAW,GACf,OAAO,CAAC,WAAW;QACnB,CAAC,OAAO,CAAC,GAAG;YACV,CAAC,CAAC,eAAe,CAAC,WAAW;YAC7B,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAA;IAE9E,2FAA2F;IAC3F,4DAA4D;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,CAAA;IACjD,MAAM,cAAc,GAAG,oBAAoB,IAAI,EAAE,CAAA;IACjD,MAAM,OAAO,GACX,OAAO,CAAC,OAAO;QACf,CAAC,OAAO,CAAC,GAAG;YACV,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,EAAE,cAAc,CAAC,CAAC,CAAA;IAE1E,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,CAAC,YAAY,CAAA;IACzE,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACnE,MAAM,kBAAkB,GAAG,uBAAuB,CAAA;IAElD,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAErD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;IAEvD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IAEnE,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IACnD,MAAM,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QACpD,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;QACxC,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,IAAI,GAAG,SAAS,CAAC;QACrB,WAAW;QACX,QAAQ;QACR,QAAQ;QACR,KAAK;QACL,WAAW;QACX,OAAO;QACP,IAAI;QACJ,kBAAkB;QAClB,YAAY;QACZ,gBAAgB;QAChB,aAAa,EAAE,SAAS,CAAC,IAAI;QAC7B,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,iBAAiB;KAClB,CAAC,CAAA;IAEF,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IAEjD,cAAc,CAAC,EAAE,EAAE;QACjB,SAAS;QACT,WAAW;QACX,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,aAAa,EAAE,KAAK,KAAK,EAAE;QAC3B,SAAS;QACT,cAAc,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;KACvD,CAAC,CAAA;IACF,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,SAAS,CAChB,IAAmB,EACnB,SAAiB,EACjB,EAAc,EACd,EAAM,EACN,KAAc;IAEd,EAAE,CAAC,IAAI,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAA;IACpC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACtC,6FAA6F;QAC7F,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,YAAY,CAAA;QAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YACjD,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,qCAAqC,CAAC,CAAA;YAClE,SAAQ;QACV,CAAC;QACD,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACnC,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAChF,CAAC;AACH,CAAC;AAeD,SAAS,cAAc,CAAC,EAAM,EAAE,KAAqB;IACnD,MAAM,KAAK,GAAG;QACZ,EAAE;QACF,mBAAmB;QACnB,EAAE;QACF,QAAQ,KAAK,CAAC,SAAS,EAAE;QACzB,aAAa;QACb,yDAAyD;QACzD,qCAAqC;QACrC,6CAA6C;QAC7C,EAAE;QACF,oCAAoC,KAAK,CAAC,IAAI,EAAE;QAChD,uCAAuC;QACvC,EAAE;QACF,YAAY;QACZ,6CAA6C,eAAe,CAAC,YAAY,EAAE;QAC3E,8GAA8G;KAC/G,CAAA;IACD,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC;aACxE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;aACtC,IAAI,CAAC,KAAK,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CACR,4CAA4C,IAAI,uCAAuC,EACvF,+DAA+D,CAChE,CAAA;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CACR,yFAAyF,EACzF,8DAA8D,CAC/D,CAAA;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CACR,gBAAgB,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,6CAA6C,CAC3F,CAAA;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CACR,uFAAuF,CACxF,CAAA;IACD,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,gDAAgD,KAAK,CAAC,SAAS,yBAAyB,EACxF,+DAA+D,CAChE,CAAA;IACH,CAAC;IACD,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAC3B,CAAC"}
|
package/dist/env.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export interface LocalEnvInput {
|
|
|
18
18
|
databaseUrl: string;
|
|
19
19
|
authSessionSecret: string;
|
|
20
20
|
encryptionKey: string;
|
|
21
|
+
/** Shared HMAC secret between the backend and the executor-harness (`HARNESS_SHARED_SECRET`). */
|
|
22
|
+
harnessSharedSecret: string;
|
|
21
23
|
harnessImage: string;
|
|
22
24
|
port: number;
|
|
23
25
|
corsAllowedOrigins: string;
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAElB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAErE,2FAA2F;AAC3F,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAMzD;AAED,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,WAAW,CAAA;IACrB,4EAA4E;IAC5E,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,uFAAuF;IACvF,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,aAAa,EAAE,CAAA;IACjC,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAElB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAErE,2FAA2F;AAC3F,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAMzD;AAED,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,aAAa,EAAE,MAAM,CAAA;IACrB,iGAAiG;IACjG,mBAAmB,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,WAAW,CAAA;IACrB,4EAA4E;IAC5E,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,uFAAuF;IACvF,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,aAAa,EAAE,CAAA;IACjC,wFAAwF;IACxF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAwF1D;AAqLD,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAWhE"}
|
package/dist/env.js
CHANGED
|
@@ -20,7 +20,7 @@ export function buildLocalEnv(input) {
|
|
|
20
20
|
const entries = [
|
|
21
21
|
{
|
|
22
22
|
comment: [
|
|
23
|
-
'Local-mode backend (@cat-factory/local-server). Generated by
|
|
23
|
+
'Local-mode backend (@cat-factory/local-server). Generated by the cat-factory CLI.',
|
|
24
24
|
'This file is gitignored — it holds secrets. Keep the generated values STABLE.',
|
|
25
25
|
'Postgres connection string (matches the bundled docker-compose.yml).',
|
|
26
26
|
],
|
|
@@ -52,6 +52,14 @@ export function buildLocalEnv(input) {
|
|
|
52
52
|
key: 'ENCRYPTION_KEY',
|
|
53
53
|
value: input.encryptionKey,
|
|
54
54
|
},
|
|
55
|
+
{
|
|
56
|
+
comment: [
|
|
57
|
+
'Shared HMAC secret signing traffic between the backend and the executor-harness',
|
|
58
|
+
'(>= 16 chars). Required to boot; keep it stable.',
|
|
59
|
+
],
|
|
60
|
+
key: 'HARNESS_SHARED_SECRET',
|
|
61
|
+
value: input.harnessSharedSecret,
|
|
62
|
+
},
|
|
55
63
|
{
|
|
56
64
|
comment: [
|
|
57
65
|
`${label} personal access token. Agent containers clone/push/open PRs with it.`,
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EACL,kBAAkB,EAGlB,gBAAgB,GAEjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAoB,MAAM,UAAU,CAAA;AAUrE;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,OAAmB;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QAChE,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IACF,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;AACnC,CAAC;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type CliOptions } from './args.js';
|
|
2
|
+
import { type FileSystem } from './fs.js';
|
|
3
|
+
import { type Io } from './io.js';
|
|
4
|
+
import { type RandomBytes } from './secrets.js';
|
|
5
|
+
/** Injectable seams so the whole flow is driveable by fakes in tests. */
|
|
6
|
+
export interface EnvCommandDeps {
|
|
7
|
+
io?: Io;
|
|
8
|
+
fs?: FileSystem;
|
|
9
|
+
cwd?: string;
|
|
10
|
+
randomBytes?: RandomBytes;
|
|
11
|
+
}
|
|
12
|
+
export declare class EnvCommandError extends Error {
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Generate a ready-to-run local-mode `.env` (and nothing else). Unlike `init` (which scaffolds a
|
|
16
|
+
* whole project), this writes ONE `.env` into the target directory (default: the cwd), populated
|
|
17
|
+
* so `@cat-factory/local-server` boots with no manual edits: all three required crypto secrets
|
|
18
|
+
* (`AUTH_SESSION_SECRET`, `ENCRYPTION_KEY`, `HARNESS_SHARED_SECRET`) generated in the server's
|
|
19
|
+
* required formats, the chosen VCS PAT (minted via the pre-scoped browser flow), and the
|
|
20
|
+
* execution mode (prewarmed Docker pool vs native host agents). Model-provider keys are left as
|
|
21
|
+
* commented hints — they are added through the UI after boot, so the file is runnable without
|
|
22
|
+
* them. Returns the absolute path of the written `.env`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function generateEnv(options: CliOptions, deps?: EnvCommandDeps): Promise<string>;
|
|
25
|
+
//# sourceMappingURL=envCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envCommand.d.ts","sourceRoot":"","sources":["../src/envCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,WAAW,CAAA;AAG5D,OAAO,EAAE,KAAK,UAAU,EAAU,MAAM,SAAS,CAAA;AAEjD,OAAO,EAAmB,KAAK,EAAE,EAAE,MAAM,SAAS,CAAA;AASlD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAG/C,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,EAAE,CAAA;IACP,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAE7C;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CA+DjG"}
|