borgmcp 0.8.22 → 0.9.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.
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Validates an identifier used in worktree paths and other safety-critical
3
+ * positions (must survive shell-arg parsing without escaping).
4
+ *
5
+ * Allowed: lowercase ASCII letters, digits, hyphens, underscores.
6
+ * Length 1–48. Anchored. No leading hyphen (would parse as a flag).
7
+ */
8
+ const NAME_RE = /^[a-z0-9_][a-z0-9_-]{0,47}$/;
9
+ export function validateName(name) {
10
+ if (name.length === 0) {
11
+ return { ok: false, error: `name must not be empty` };
12
+ }
13
+ if (!NAME_RE.test(name)) {
14
+ return {
15
+ ok: false,
16
+ error: `invalid name "${name}". Use lowercase letters, digits, hyphens, or ` +
17
+ `underscores; max 48 chars; must not start with a hyphen.`,
18
+ };
19
+ }
20
+ return { ok: true };
21
+ }
22
+ //# sourceMappingURL=name-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"name-validator.js","sourceRoot":"","sources":["../src/name-validator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,OAAO,GAAG,6BAA6B,CAAC;AAE9C,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EACH,iBAAiB,IAAI,gDAAgD;gBACrE,0DAA0D;SAC7D,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { AssimilateFlags } from './assimilate-cmd.js';
2
+ export interface ParseAssimilateResult {
3
+ ok: true;
4
+ role: string | undefined;
5
+ flags: AssimilateFlags;
6
+ }
7
+ export type ParseResult = ParseAssimilateResult | {
8
+ ok: false;
9
+ error: string;
10
+ };
11
+ /**
12
+ * Parse argv for `borg assimilate [role] [--worktree <n>] [--template <n>]
13
+ * [--no-template] [--cube-name <n>] [--here] [--yes]`. The `assimilate`
14
+ * subcommand token must already be stripped by the caller.
15
+ */
16
+ export declare function parseAssimilateArgs(rawArgs: string[]): ParseResult;
17
+ //# sourceMappingURL=parse-assimilate-args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-assimilate-args.d.ts","sourceRoot":"","sources":["../src/parse-assimilate-args.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GACnB,qBAAqB,GACrB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,CAwDlE"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Parse argv for `borg assimilate [role] [--worktree <n>] [--template <n>]
3
+ * [--no-template] [--cube-name <n>] [--here] [--yes]`. The `assimilate`
4
+ * subcommand token must already be stripped by the caller.
5
+ */
6
+ export function parseAssimilateArgs(rawArgs) {
7
+ let role;
8
+ const flags = {};
9
+ for (let i = 0; i < rawArgs.length; i += 1) {
10
+ const arg = rawArgs[i];
11
+ if (arg === '--worktree') {
12
+ const next = rawArgs[i + 1];
13
+ if (typeof next !== 'string' || next.length === 0) {
14
+ return { ok: false, error: '--worktree requires a name argument (e.g. `--worktree drone-2`)' };
15
+ }
16
+ flags.worktree = next;
17
+ i += 1;
18
+ }
19
+ else if (arg === '--template') {
20
+ const next = rawArgs[i + 1];
21
+ if (typeof next !== 'string' || next.length === 0) {
22
+ return { ok: false, error: '--template requires a name argument (e.g. `--template software-dev`)' };
23
+ }
24
+ flags.template = next;
25
+ i += 1;
26
+ }
27
+ else if (arg === '--no-template') {
28
+ flags.noTemplate = true;
29
+ }
30
+ else if (arg === '--cube-name') {
31
+ const next = rawArgs[i + 1];
32
+ if (typeof next !== 'string' || next.length === 0) {
33
+ return { ok: false, error: '--cube-name requires a name argument (e.g. `--cube-name my-cube`)' };
34
+ }
35
+ flags.cubeName = next;
36
+ i += 1;
37
+ }
38
+ else if (arg === '--here') {
39
+ flags.here = true;
40
+ }
41
+ else if (arg === '--yes' || arg === '-y') {
42
+ flags.yes = true;
43
+ }
44
+ else if (arg.startsWith('--')) {
45
+ return {
46
+ ok: false,
47
+ error: `unknown flag: ${arg}. Supported: --worktree, --template, --no-template, --cube-name, --here, --yes`,
48
+ };
49
+ }
50
+ else {
51
+ if (role !== undefined) {
52
+ return { ok: false, error: `unexpected extra argument: ${arg} (already have role "${role}")` };
53
+ }
54
+ role = arg;
55
+ }
56
+ }
57
+ // CR-PF-F1 (drone-2 Phase F review 2026-05-18T05:04Z): spec rev-2
58
+ // §Error paths mandates an argparse-level error when both --template
59
+ // and --no-template are passed. Catch at parse time rather than in
60
+ // the orchestrator so the failure happens before any auth / network /
61
+ // worktree-spawn work.
62
+ if (flags.template !== undefined && flags.noTemplate) {
63
+ return { ok: false, error: '--template and --no-template are mutually exclusive' };
64
+ }
65
+ return { ok: true, role, flags };
66
+ }
67
+ //# sourceMappingURL=parse-assimilate-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-assimilate-args.js","sourceRoot":"","sources":["../src/parse-assimilate-args.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,12 @@ export declare function callRemoteTool(toolName: string, args: Record<string, an
28
28
  * detailed_description), the drone record, and an opaque session token
29
29
  * the caller is expected to persist via cubes.ts.
30
30
  */
31
- export declare function assimilate(cubeName: string, apiUrl?: string, hostname?: string | null): Promise<{
31
+ export declare function assimilate(cubeNameOrSelector: string | {
32
+ cube_id?: string;
33
+ cube_name?: string;
34
+ role_id?: string;
35
+ role_name?: string;
36
+ }, apiUrl?: string, hostname?: string | null): Promise<{
32
37
  cube: {
33
38
  id: string;
34
39
  owner_id: string;
@@ -142,12 +147,32 @@ export declare function appendLog(sessionToken: string, apiUrl: string, message:
142
147
  export declare function listCubes(): Promise<{
143
148
  cubes: any[];
144
149
  }>;
150
+ /**
151
+ * List bundled cube templates. Used by the `borg assimilate` orchestrator
152
+ * to surface the interactive template prompt on first-drone bootstrap.
153
+ */
154
+ export declare function listTemplates(): Promise<{
155
+ templates: Array<{
156
+ name: string;
157
+ description: string;
158
+ roles: any[];
159
+ }>;
160
+ }>;
145
161
  /**
146
162
  * Create a new cube. Server-side seeds a default "Drone" role atomically
147
- * so the cube is assimilatable immediately.
163
+ * so the cube is assimilatable immediately, OR applies the named template
164
+ * atomically when `opts.template` is set (single-withUserId transaction —
165
+ * skips the auto-Drone insert to avoid is_default partial-index conflict).
166
+ *
167
+ * Returns `{ cube, roles }` — the roles array lets the assimilate
168
+ * orchestrator pick a default role without a follow-up `getCube` call.
169
+ * Existing callers that read `body.cube` keep working (forward-compat).
148
170
  */
149
- export declare function createCube(name: string, groundRules: string): Promise<{
171
+ export declare function createCube(name: string, groundRules: string, opts?: {
172
+ template?: string;
173
+ }): Promise<{
150
174
  cube: any;
175
+ roles: any[];
151
176
  }>;
152
177
  /**
153
178
  * Update a cube's name and/or ground_rules. Both fields are optional;
@@ -1 +1 @@
1
- {"version":3,"file":"remote-client.d.ts","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-client.d.ts","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
@@ -224,11 +224,28 @@ async function authedFetch(path, init = {}) {
224
224
  * detailed_description), the drone record, and an opaque session token
225
225
  * the caller is expected to persist via cubes.ts.
226
226
  */
227
- export async function assimilate(cubeName, apiUrl, hostname) {
227
+ export async function assimilate(cubeNameOrSelector, apiUrl, hostname) {
228
+ // String first arg → legacy cube_name-only path (backwards compat).
229
+ // Object first arg → orchestrator path with optional cube_id /
230
+ // role_id / role_name; assimilate-cmd uses this shape.
231
+ const body = { hostname: hostname ?? null };
232
+ if (typeof cubeNameOrSelector === 'string') {
233
+ body.cube_name = cubeNameOrSelector;
234
+ }
235
+ else {
236
+ if (cubeNameOrSelector.cube_id)
237
+ body.cube_id = cubeNameOrSelector.cube_id;
238
+ if (cubeNameOrSelector.cube_name)
239
+ body.cube_name = cubeNameOrSelector.cube_name;
240
+ if (cubeNameOrSelector.role_id)
241
+ body.role_id = cubeNameOrSelector.role_id;
242
+ if (cubeNameOrSelector.role_name)
243
+ body.role_name = cubeNameOrSelector.role_name;
244
+ }
228
245
  const response = await authedFetch('/api/assimilate', {
229
246
  method: 'POST',
230
247
  headers: { 'Content-Type': 'application/json' },
231
- body: JSON.stringify({ cube_name: cubeName, hostname: hostname ?? null }),
248
+ body: JSON.stringify(body),
232
249
  apiUrl,
233
250
  });
234
251
  return await response.json();
@@ -339,15 +356,32 @@ export async function listCubes() {
339
356
  const response = await authedFetch('/api/cubes', { method: 'GET' });
340
357
  return await response.json();
341
358
  }
359
+ /**
360
+ * List bundled cube templates. Used by the `borg assimilate` orchestrator
361
+ * to surface the interactive template prompt on first-drone bootstrap.
362
+ */
363
+ export async function listTemplates() {
364
+ const response = await authedFetch('/api/templates', { method: 'GET' });
365
+ return await response.json();
366
+ }
342
367
  /**
343
368
  * Create a new cube. Server-side seeds a default "Drone" role atomically
344
- * so the cube is assimilatable immediately.
369
+ * so the cube is assimilatable immediately, OR applies the named template
370
+ * atomically when `opts.template` is set (single-withUserId transaction —
371
+ * skips the auto-Drone insert to avoid is_default partial-index conflict).
372
+ *
373
+ * Returns `{ cube, roles }` — the roles array lets the assimilate
374
+ * orchestrator pick a default role without a follow-up `getCube` call.
375
+ * Existing callers that read `body.cube` keep working (forward-compat).
345
376
  */
346
- export async function createCube(name, groundRules) {
377
+ export async function createCube(name, groundRules, opts) {
378
+ const body = { name, ground_rules: groundRules };
379
+ if (opts?.template)
380
+ body.template = opts.template;
347
381
  const response = await authedFetch('/api/cubes', {
348
382
  method: 'POST',
349
383
  headers: { 'Content-Type': 'application/json' },
350
- body: JSON.stringify({ name, ground_rules: groundRules }),
384
+ body: JSON.stringify(body),
351
385
  });
352
386
  return await response.json();
353
387
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remote-client.js","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-client.js","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ export interface Role {
2
+ id: string;
3
+ name: string;
4
+ is_default: boolean;
5
+ is_human_seat: boolean;
6
+ }
7
+ /**
8
+ * Normalize a role-name argument or stored name into a slug used for
9
+ * both worktree-path construction and role lookup. Single source of
10
+ * truth so the path and the matched role always agree.
11
+ *
12
+ * Path-safe: strips characters outside `[a-z0-9-]` after the
13
+ * underscore/whitespace collapse. The no-arg path bypasses
14
+ * validateName (the matched role's name comes from the DB, which
15
+ * has no charset constraint on role names — CreateRoleSchema is
16
+ * `min(1).max(64)` only), so the safety has to live here.
17
+ */
18
+ export declare function roleSlug(raw: string): string;
19
+ /**
20
+ * Case- and separator-insensitive lookup against the cube's roles.
21
+ */
22
+ export declare function matchRoleByName(roles: Role[], query: string): Role | undefined;
23
+ /**
24
+ * Default-role picker for the no-arg case:
25
+ * - First drone in cube + a human-seat role exists → that role
26
+ * - Otherwise → the is_default role
27
+ * - Neither available → undefined (caller errors out)
28
+ */
29
+ export declare function pickDefaultRole(roles: Role[], opts: {
30
+ isFirstDrone: boolean;
31
+ }): Role | undefined;
32
+ //# sourceMappingURL=role-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-resolver.d.ts","sourceRoot":"","sources":["../src/role-resolver.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAG9E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,EAAE,EACb,IAAI,EAAE;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,GAC9B,IAAI,GAAG,SAAS,CAMlB"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Normalize a role-name argument or stored name into a slug used for
3
+ * both worktree-path construction and role lookup. Single source of
4
+ * truth so the path and the matched role always agree.
5
+ *
6
+ * Path-safe: strips characters outside `[a-z0-9-]` after the
7
+ * underscore/whitespace collapse. The no-arg path bypasses
8
+ * validateName (the matched role's name comes from the DB, which
9
+ * has no charset constraint on role names — CreateRoleSchema is
10
+ * `min(1).max(64)` only), so the safety has to live here.
11
+ */
12
+ export function roleSlug(raw) {
13
+ return raw.toLowerCase().replace(/[_\s]+/g, '-').replace(/[^a-z0-9-]/g, '');
14
+ }
15
+ /**
16
+ * Case- and separator-insensitive lookup against the cube's roles.
17
+ */
18
+ export function matchRoleByName(roles, query) {
19
+ const slug = roleSlug(query);
20
+ return roles.find((r) => roleSlug(r.name) === slug);
21
+ }
22
+ /**
23
+ * Default-role picker for the no-arg case:
24
+ * - First drone in cube + a human-seat role exists → that role
25
+ * - Otherwise → the is_default role
26
+ * - Neither available → undefined (caller errors out)
27
+ */
28
+ export function pickDefaultRole(roles, opts) {
29
+ if (opts.isFirstDrone) {
30
+ const humanSeat = roles.find((r) => r.is_human_seat);
31
+ if (humanSeat)
32
+ return humanSeat;
33
+ }
34
+ return roles.find((r) => r.is_default);
35
+ }
36
+ //# sourceMappingURL=role-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role-resolver.js","sourceRoot":"","sources":["../src/role-resolver.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,KAAa;IAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,IAA+B;IAE/B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC"}
package/dist/spawn.d.ts CHANGED
@@ -1,116 +1,17 @@
1
1
  /**
2
- * `borg spawn` — create a new git worktree for a sibling drone and
3
- * (by default) launch a fresh Claude Code session inside it.
4
- *
5
- * Why this exists: the cube's multi-drone pattern wants each drone to
6
- * have its own worktree so parallel branches don't step on each other,
7
- * but the manual ceremony (`git worktree add ../foo-name`, then
8
- * `cd ../foo-name && borg`) is enough friction that drones drift back
9
- * to working in one worktree and serializing. The subcommand collapses
10
- * that to `borg spawn <name>`.
11
- *
12
- * Layout:
13
- * Given the current worktree's primary at `/path/to/borg-mcp`, a
14
- * `borg spawn builder` call creates `/path/to/borg-mcp-builder` as
15
- * a sibling directory and runs `git worktree add` to register it.
16
- * Default checkout is detached HEAD at the current HEAD so the new
17
- * drone starts on a clean reference point without competing with
18
- * the source worktree's branch state.
19
- *
20
- * Flags:
21
- * --no-launch Create the worktree but don't run `borg` inside.
22
- * Useful for setting up a tree to come back to later.
23
- * --branch <ref> Check out a specific branch instead of detached
24
- * HEAD. If <ref> is already checked out in another
25
- * worktree, git refuses and we surface that error.
26
- *
27
- * Edge cases:
28
- * - Not inside a git repo → friendly error, exit 1
29
- * - Target path already exists → friendly error, exit 1
30
- * - Empty name / name with slashes → format-hint error, exit 1
31
- * - git worktree add fails → surface git's stderr verbatim, exit 1
32
- */
33
- export interface SpawnArgs {
34
- name: string;
35
- noLaunch: boolean;
36
- branch: string | null;
37
- }
38
- export type ParseResult = {
39
- ok: true;
40
- args: SpawnArgs;
41
- } | {
42
- ok: false;
43
- error: string;
44
- };
45
- /**
46
- * Parse `argv.slice(2)` (i.e. arguments to `borg`, with `spawn` already
47
- * stripped) into a structured SpawnArgs or a friendly error.
48
- *
49
- * Supported shapes:
50
- * borg spawn <name>
51
- * borg spawn <name> --no-launch
52
- * borg spawn <name> --branch <ref>
53
- * borg spawn <name> --branch <ref> --no-launch
54
- * (flag order doesn't matter; positional `<name>` may appear before
55
- * or after the flags)
56
- *
57
- * Unknown flags and missing/duplicate positional name are caller-
58
- * friendly errors with format hints.
59
- */
60
- export declare function parseSpawnArgs(rawArgs: string[]): ParseResult;
61
- export declare function validateName(name: string): {
62
- ok: true;
63
- } | {
64
- ok: false;
65
- error: string;
66
- };
67
- /**
68
- * Given the absolute path to the primary worktree and a validated
69
- * spawn name, return the absolute path of the new sibling worktree.
70
- *
71
- * Naming convention: `<sibling-parent>/<primary-basename>-<name>`.
72
- * Example: primary `/home/x/borg-mcp` + name `builder` →
73
- * `/home/x/borg-mcp-builder`. Keeps related worktrees alphabetically
74
- * adjacent in `ls`, which matters when a drone-operator has a dozen
75
- * sibling trees.
76
- *
77
- * Pure. Tested directly.
78
- */
79
- export declare function computeWorktreePath(primaryWorktreeAbs: string, name: string): string;
80
- export interface SpawnDeps {
81
- /** Synchronous spawn — used for `git ...` invocations. */
82
- runSync?: (cmd: string, args: string[], cwd?: string) => SpawnSyncResult;
83
- /** Path existence — used to bail on collisions. */
84
- pathExists?: (p: string) => boolean;
85
- /** Async spawn — used to launch the in-worktree `borg`. */
86
- runDetached?: (cmd: string, args: string[], cwd: string) => Promise<number>;
87
- /** Inject for tests; defaults to `process.cwd()`. */
88
- cwd?: () => string;
89
- /** stderr sink — overridable for tests. */
90
- stderr?: (line: string) => void;
91
- }
92
- export interface SpawnSyncResult {
93
- status: number | null;
94
- stdout: string;
95
- stderr: string;
96
- }
97
- /**
98
- * Run the `borg spawn` flow against the given args. Returns the
99
- * desired process exit code. Pure side-effects flow through `deps`
100
- * so tests can inject mocks for every external interaction.
101
- *
102
- * Flow:
103
- * 1. Validate name
104
- * 2. Resolve primary worktree path via `git rev-parse --show-toplevel`
105
- * (run from the operator's cwd — handles nested worktrees by
106
- * asking git to find the top, which always points at the current
107
- * worktree's root; for our naming convention we want the
108
- * `--git-common-dir` parent which IS the primary worktree's
109
- * filesystem dir, NOT the current worktree's. Resolve below.)
110
- * 3. Compute target path; abort if exists
111
- * 4. Run `git worktree add <target> [<ref>|--detach HEAD]`
112
- * 5. Print stderr nudge
113
- * 6. If !noLaunch, exec `borg` inside the new worktree
2
+ * `borg spawn` — deprecation stub.
3
+ *
4
+ * Replaced by `borg assimilate [role] --worktree <name>` (see
5
+ * `assimilate-cmd.ts`). The new command folds worktree creation,
6
+ * OAuth bootstrap, cube creation, template application, and drone
7
+ * assimilation into one shell call. This file remains so existing
8
+ * scripts and tab-completion entries fail loudly with an actionable
9
+ * migration message rather than silently mis-routing.
10
+ *
11
+ * `validateName` continues to be re-exported from here for callers
12
+ * that still depend on the symbol (it lives in `name-validator.ts`
13
+ * now single source of truth).
114
14
  */
115
- export declare function runSpawn(args: SpawnArgs, deps?: SpawnDeps): Promise<number>;
15
+ export { validateName } from './name-validator.js';
16
+ export declare function runSpawn(): Promise<number>;
116
17
  //# sourceMappingURL=spawn.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAWH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC7B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,CA0C7D;AAkBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAatF;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,kBAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIpF;AAMD,MAAM,WAAW,SAAS;IACxB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,eAAe,CAAC;IACzE,mDAAmD;IACnD,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC,2DAA2D;IAC3D,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5E,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAsBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,SAAS,EACf,IAAI,GAAE,SAAc,GACnB,OAAO,CAAC,MAAM,CAAC,CAwGjB"}
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,wBAAsB,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAahD"}