@detergent-software/conductor 3.0.0-dev.2 → 3.0.0-dev.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/build/store.js CHANGED
@@ -243,6 +243,11 @@ export const MIGRATIONS = [
243
243
  `
244
244
  UPDATE inbox SET kind = 'operator' WHERE kind = 'jason';
245
245
  UPDATE inbox SET kind = 'release' WHERE kind IN ('prod-approval', 'ready-to-release');
246
+ `,
247
+ // 11: named ports (ATK-526). A worktree's ports come from the machine's pool by name, not from a
248
+ // slot over base ports, so the slot goes. The worktrees in flight keep the ports they have.
249
+ `
250
+ ALTER TABLE ports DROP COLUMN slot;
246
251
  `,
247
252
  ];
248
253
  // Data steps that need code, by the version they reach: each runs right after that version's SQL,
@@ -382,13 +387,11 @@ const queueItemRow = z.object({
382
387
  title: z.string().nullable(),
383
388
  tracker_project: z.string().nullable(),
384
389
  });
385
- // A checkout's dev ports from the broker. A main checkout has slot 0 and isn't stored, so its
386
- // `assignedAt` is null.
390
+ // A worktree's dev ports from the broker, by the profile's port names.
387
391
  export const portAssignmentSchema = z.object({
388
- assignedAt: z.string().nullable(),
392
+ assignedAt: z.string(),
389
393
  ports: z.record(z.string(), z.number()),
390
394
  project: z.string(),
391
- slot: z.number(),
392
395
  worktree: z.string(),
393
396
  });
394
397
  // A broker lock: who holds it, and when they last acquired it.
@@ -397,7 +400,6 @@ const portsRow = z.object({
397
400
  assigned_at: z.string(),
398
401
  ports: z.string(),
399
402
  project: z.string(),
400
- slot: z.number(),
401
403
  worktree: z.string(),
402
404
  });
403
405
  const workerRow = z.object({
@@ -833,7 +835,7 @@ export function openStore(file, now = () => new Date(), { readOnly = false } = {
833
835
  OR (kind = 'inbox.resolved' AND json_extract(data, '$.resolvedBy') LIKE 'revise (%'))
834
836
  LIMIT 1`)
835
837
  .get(project, item) !== undefined,
836
- portAssignments: () => db.prepare('SELECT * FROM ports ORDER BY slot, worktree').all().map(toPorts),
838
+ portAssignments: () => db.prepare('SELECT * FROM ports ORDER BY assigned_at, rowid').all().map(toPorts),
837
839
  queueItems: (project) => db
838
840
  .prepare('SELECT * FROM items WHERE project = ? AND state_type IS NOT NULL ORDER BY id')
839
841
  .all(project)
@@ -926,9 +928,9 @@ export function openStore(file, now = () => new Date(), { readOnly = false } = {
926
928
  remind_after = excluded.remind_after, remind_times = excluded.remind_times, sends = excluded.sends,
927
929
  last_sent_at = excluded.last_sent_at, held_at = excluded.held_at`).run(s.inbox, s.dedupeKey, JSON.stringify(s.channels), s.remindAfterMinutes, s.remindTimes, s.sends, s.lastSentAt, s.heldAt);
928
930
  },
929
- savePorts: ({ ports, project, slot, worktree }) => toPorts(db
930
- .prepare('INSERT INTO ports (worktree, project, slot, ports, assigned_at) VALUES (?, ?, ?, ?, ?) RETURNING *')
931
- .get(worktree, project, slot, JSON.stringify(ports), now().toISOString())),
931
+ savePorts: ({ ports, project, worktree }) => toPorts(db
932
+ .prepare('INSERT INTO ports (worktree, project, ports, assigned_at) VALUES (?, ?, ?, ?) RETURNING *')
933
+ .get(worktree, project, JSON.stringify(ports), now().toISOString())),
932
934
  saveQueueItems: (project, items) => {
933
935
  const save = db.prepare(`INSERT INTO items (project, id, title, state_type, labels, area, blocked_by, priority, tracker_project, created_at, updated_at)
934
936
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
@@ -1198,7 +1200,6 @@ function toPorts(row) {
1198
1200
  assignedAt: r.assigned_at,
1199
1201
  ports: z.record(z.string(), z.number()).parse(JSON.parse(r.ports)),
1200
1202
  project: r.project,
1201
- slot: r.slot,
1202
1203
  worktree: r.worktree,
1203
1204
  };
1204
1205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/build/upgrade.js CHANGED
@@ -39,6 +39,21 @@ export async function restartDaemon(deps) {
39
39
  deps.serveDetached();
40
40
  return `with conduct supervise (pid ${await deps.awaitDaemon()})`;
41
41
  }
42
+ // The version on a dist-tag, from the registry's dist-tags with no cache: `npm view` can answer from
43
+ // a cached packument and miss a tag moved a moment ago (ATK-558).
44
+ export async function tagVersion(release, tag) {
45
+ let tags;
46
+ try {
47
+ tags = await release.distTags(PACKAGE);
48
+ }
49
+ catch (error) {
50
+ throw new ConductorError(`could not read ${PACKAGE}'s dist-tags from npm`, [messageOf(error)]);
51
+ }
52
+ const found = tags[tag];
53
+ if (!found)
54
+ throw new ConductorError(`npm has no ${PACKAGE}@${tag}`);
55
+ return found;
56
+ }
42
57
  // Stop, install, restart. Refuses a linked build, and a tag older than the installed version unless
43
58
  // allowDowngrade, before it touches anything; does nothing when the tag's version is already
44
59
  // installed, and starts the daemon again only if it stopped one: through the logon task when that
@@ -56,7 +71,7 @@ export async function upgrade({ allowDowngrade = false, tag }, deps) {
56
71
  const from = deps.installedVersion();
57
72
  const chosen = tag ?? defaultTag(from);
58
73
  const spec = `${PACKAGE}@${chosen}`;
59
- const target = await deps.npmView(spec);
74
+ const target = await deps.tagVersion(chosen);
60
75
  if (target === from) {
61
76
  deps.out(`already on ${from}, the newest on ${chosen}`);
62
77
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,24 @@
1
- import { existsSync } from 'node:fs';
2
- import { basename, join } from 'node:path';
1
+ import { existsSync, mkdirSync, readdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
2
+ import { rm } from 'node:fs/promises';
3
+ import { basename, dirname, isAbsolute, join, relative, resolve } from 'node:path';
3
4
  import { z } from 'zod';
4
5
  import { realDirty, runGit, scratchClones } from "./checkout.js";
5
6
  import { ConductorError } from "./errors.js";
7
+ import { copyLocalFiles } from "./local-files.js";
8
+ import { missingProjectSkills } from "./plugin.js";
6
9
  import { outputOf, run } from "./run.js";
7
- // The create hook does the branch, `pnpm install`, the port slot and its own `atk install`.
8
- const CREATE_MS = 10 * 60_000;
9
- const REMOVE_MS = 5 * 60_000;
10
+ import { claudeSkillsDir } from "./spend.js";
11
+ export const BRANCH_PREFIX = 'worktree-';
12
+ // Each setup command's limit: ATK's `pnpm install` takes about a minute.
13
+ const SETUP_MS = 10 * 60_000;
14
+ // `atk audit` and `atk install`, for checkout-sync's skills check.
15
+ const ATK_MS = 5 * 60_000;
16
+ // How long a removal waits for a process to let go of the worktree before it gives up.
17
+ const RELEASE_MS = 15_000;
18
+ // A .trash-* folder older than this is an interrupted removal's, not one still deleting.
19
+ const STALE_TRASH_MS = 60 * 60_000;
10
20
  const LOCKFILE = '.atk-lock.json';
11
- export function hookPath(root) {
12
- return join(root, '.claude', 'hooks', 'worktree-hooks.mjs');
13
- }
21
+ export const SESSION_SETTINGS = join('.claude', 'settings.local.json');
14
22
  // The pinned skills whose installed files don't match the lockfile, from `atk audit --json`, as
15
23
  // "<name> <version> <status>" lines. One the lockfile doesn't list is `not installed`.
16
24
  export function staleSkills(audit, names) {
@@ -25,6 +33,12 @@ export function staleSkills(audit, names) {
25
33
  return found.filter((e) => e.status !== 'ok').map((e) => `${name}${e.version ? ` ${e.version}` : ''} ${e.status}`);
26
34
  });
27
35
  }
36
+ export function worktreePath(root, name) {
37
+ return join(worktreesDir(root), name);
38
+ }
39
+ function worktreesDir(root) {
40
+ return join(root, '.claude', 'worktrees');
41
+ }
28
42
  const auditSchema = z.looseObject({
29
43
  tools: z.array(z.looseObject({
30
44
  entries: z
@@ -32,31 +46,124 @@ const auditSchema = z.looseObject({
32
46
  .optional(),
33
47
  })),
34
48
  });
35
- export function gitWorktrees() {
49
+ export function gitWorktrees(deps = {}) {
50
+ const gitRun = deps.git ?? runGit;
51
+ const skillsHome = deps.skillsHome ?? claudeSkillsDir();
52
+ const platform = deps.platform ?? process.platform;
53
+ const sleep = deps.sleep ?? ((ms) => new Promise((done) => setTimeout(done, ms)));
36
54
  // Untrimmed: porcelain status starts with a space for a file changed only in the worktree.
37
55
  const git = async (args, cwd) => {
38
- const result = await run('git', args, { cwd });
56
+ const result = await gitRun(args, cwd);
39
57
  return result.code === 0 ? result.stdout : null;
40
58
  };
41
- const hook = async (root, input, timeoutMs) => {
42
- const path = hookPath(root);
43
- if (!existsSync(path)) {
44
- throw new ConductorError(`no worktree hooks at ${path}`, ['the project needs the ATK worktree-kit bundle']);
45
- }
46
- // The hook reads CLAUDE_PROJECT_DIR the way Claude Code runs it.
47
- const result = await run('node', [path], {
48
- cwd: root,
49
- env: { ...process.env, CLAUDE_PROJECT_DIR: root },
50
- input: JSON.stringify({ ...input, cwd: root }),
51
- timeoutMs,
52
- });
59
+ const must = async (args, cwd, what) => {
60
+ const result = await gitRun(args, cwd);
53
61
  if (result.code !== 0)
54
- throw new ConductorError(`the ${input.hook_event_name} hook failed`, [outputOf(result, 500)]);
55
- return result.stdout.trim();
62
+ throw new ConductorError(what, [outputOf(result, 500)]);
63
+ };
64
+ const branchOf = async (path) => (await git(['symbolic-ref', '--quiet', '--short', 'HEAD'], path))?.trim() || null;
65
+ const create = async (request) => {
66
+ const { base, env, localFilesFrom, name, root, sessionEnv, setup } = request;
67
+ const path = worktreePath(root, name);
68
+ const reused = existsSync(join(path, '.git'));
69
+ if (reused) {
70
+ // Never deleted: it may hold someone's work, and a git call can fail for a moment.
71
+ if ((await git(['rev-parse', '--is-inside-work-tree'], path))?.trim() !== 'true')
72
+ throw new ConductorError(`${path} has a .git that git can't read`, [
73
+ 'look at what is in it, then delete it, or run git worktree repair in the main checkout',
74
+ ]);
75
+ }
76
+ else {
77
+ // Left over from a removal that didn't finish: no .git, so no worktree's work.
78
+ if (existsSync(path))
79
+ await rm(path, { force: true, maxRetries: 3, recursive: true });
80
+ // Git still lists a worktree whose directory went without it, and refuses to add at its path.
81
+ await git(['worktree', 'prune'], root);
82
+ // Deep node_modules paths under .claude/worktrees/<name> pass 260 characters, and without this
83
+ // Git for Windows can't check them out or remove them.
84
+ if (platform === 'win32')
85
+ await git(['config', 'core.longpaths', 'true'], root);
86
+ // Offline, the worktree starts from the origin/<base> fetched last; with none, the add says so.
87
+ await git(['fetch', '--quiet', 'origin', base], root);
88
+ const branch = `${BRANCH_PREFIX}${name}`;
89
+ const known = await hasBranch(root, branch);
90
+ await must(known ? ['worktree', 'add', path, branch] : ['worktree', 'add', '-b', branch, path, `origin/${base}`], root, `git worktree add failed for ${path}`);
91
+ }
92
+ // A reused worktree's own changes (a kept worker's) are its; only what setup changes counts.
93
+ const before = new Set(reused ? (await realDirty(gitRun, path)).dirty : []);
94
+ if (localFilesFrom !== undefined)
95
+ await copyLocalFiles(gitRun, localFilesFrom, path);
96
+ for (const command of setup) {
97
+ // Through the shell: a setup command is the profile's, a command line as a person would type it.
98
+ const result = await run(command, [], {
99
+ cwd: path,
100
+ env: { ...process.env, ...env },
101
+ shell: true,
102
+ timeoutMs: SETUP_MS,
103
+ });
104
+ if (result.code !== 0)
105
+ throw new ConductorError(`setup "${command}" failed in ${path}`, [outputOf(result, 1500)]);
106
+ }
107
+ // A worker that starts with changes it didn't make takes them for its own, and retire then
108
+ // refuses them as unfinished work: setup builds gitignored files only. (atk install rewrites
109
+ // .atk-lock.json when the registry's checksums aren't the base branch's.)
110
+ const dirty = (await realDirty(gitRun, path)).dirty.filter((file) => !before.has(file));
111
+ if (dirty.length > 0)
112
+ throw new ConductorError(`setup left changes in ${path}: ${dirty.join(', ')}`, [
113
+ 'setup must build only gitignored files; fix the command that changed them, or ignore them in the repo',
114
+ ]);
115
+ // Last, so no setup command can write over it.
116
+ writeSessionEnv(path, sessionEnv);
117
+ return path;
118
+ };
119
+ const hasBranch = async (root, branch) => (await git(['show-ref', '--verify', '--quiet', `refs/heads/${branch}`], root)) !== null;
120
+ // Not `git worktree remove`, which leaves pnpm's node_modules junctions behind on Windows: the
121
+ // worktree is moved aside, which frees its path at once, git forgets it, and Node deletes the
122
+ // directory, unlinking junctions without following them (the worktree-kit hook's way).
123
+ const remove = async (root, path, { deleteBranch }) => {
124
+ const dir = worktreesDir(root);
125
+ if (!isInside(dir, path))
126
+ throw new ConductorError(`${path} isn't under ${dir}`, ['the conductor removes only the worktrees it makes']);
127
+ // With the directory gone already, the branch a launch made, but only while no commit of it is
128
+ // anywhere else: nothing on a remote is lost by deleting it, and nothing else is deleted.
129
+ let branch = existsSync(path) ? await branchOf(path) : null;
130
+ if (branch === null && deleteBranch) {
131
+ const made = `${BRANCH_PREFIX}${basename(path)}`;
132
+ const unpushed = (await hasBranch(root, made))
133
+ ? await git(['rev-list', '--count', made, '--not', '--remotes'], root)
134
+ : null;
135
+ if (unpushed?.trim() === '0')
136
+ branch = made;
137
+ }
138
+ let trash = null;
139
+ for (let waited = 0; existsSync(path); waited += 1000) {
140
+ trash = moveAside(path);
141
+ if (trash)
142
+ break;
143
+ if (waited >= RELEASE_MS)
144
+ throw new ConductorError(`${path} is in use`, [
145
+ 'a process still holds a file in it, such as a dev server it started',
146
+ ]);
147
+ await sleep(1000);
148
+ }
149
+ await must(['worktree', 'prune'], root, 'git worktree prune failed');
150
+ if (deleteBranch && branch)
151
+ await must(['branch', '-D', branch], root, `git couldn't delete the branch ${branch}`);
152
+ // Asynchronous: a worktree's node_modules takes a minute to delete, and the daemon's API and
153
+ // sweeps go on answering meanwhile.
154
+ if (trash)
155
+ await rm(trash, { force: true, maxRetries: 5, recursive: true, retryDelay: 500 });
156
+ // A removal interrupted earlier leaves its .trash-* folder; one under an hour old may be another
157
+ // removal's, still deleting.
158
+ for (const entry of existsSync(dir) ? readdirSync(dir) : []) {
159
+ const at = Number(/^\.trash-.+-(\d+)$/.exec(entry)?.[1] ?? Number.NaN);
160
+ if (Date.now() - at > STALE_TRASH_MS)
161
+ await rm(join(dir, entry), { force: true, maxRetries: 5, recursive: true });
162
+ }
56
163
  };
57
164
  // One checkout's uncommitted changes (without line-ending-only ones) and commits on no remote.
58
165
  const workIn = async (path) => {
59
- const { dirty } = await realDirty(runGit, path);
166
+ const { dirty } = await realDirty(gitRun, path);
60
167
  const count = await git(['rev-list', '--count', 'HEAD', '--not', '--remotes'], path);
61
168
  const unpushed = Number(count ?? 0);
62
169
  return {
@@ -66,7 +173,7 @@ export function gitWorktrees() {
66
173
  ...(count === null ? { unknown: `git rev-list failed in ${path}` } : {}),
67
174
  };
68
175
  };
69
- const atk = (args) => run('atk', args, { shell: true, timeoutMs: REMOVE_MS });
176
+ const atk = (args) => run('atk', args, { shell: true, timeoutMs: ATK_MS });
70
177
  const audit = async (worktree, skills) => {
71
178
  const result = await atk(['audit', '--json', '-P', worktree]); // exits 1 when a checksum fails
72
179
  try {
@@ -79,7 +186,7 @@ export function gitWorktrees() {
79
186
  };
80
187
  return {
81
188
  auditSkills: async (checkout, skills) => (existsSync(join(checkout, LOCKFILE)) ? audit(checkout, skills) : null),
82
- branchOf: async (path) => (await git(['symbolic-ref', '--quiet', '--short', 'HEAD'], path))?.trim() || null,
189
+ branchOf,
83
190
  checkSkills: async (worktree, skills) => {
84
191
  if (!existsSync(join(worktree, LOCKFILE)))
85
192
  return null;
@@ -101,17 +208,9 @@ export function gitWorktrees() {
101
208
  }
102
209
  return null;
103
210
  },
104
- create: async (root, name) => {
105
- const path = await hook(root, { hook_event_name: 'WorktreeCreate', name }, CREATE_MS);
106
- if (!path)
107
- throw new ConductorError('the WorktreeCreate hook printed no path');
108
- return path;
109
- },
110
- remove: async (root, path) => {
111
- await hook(root, { hook_event_name: 'WorktreeRemove', worktree_path: path }, REMOVE_MS);
112
- if (existsSync(path))
113
- throw new ConductorError(`${path} is still there after the WorktreeRemove hook`);
114
- },
211
+ create,
212
+ missingSkills: (worktree, skills) => missingProjectSkills(worktree, skills, skillsHome),
213
+ remove,
115
214
  unfinishedWork: async (path) => {
116
215
  if (!existsSync(path))
117
216
  return null;
@@ -132,4 +231,49 @@ export function gitWorktrees() {
132
231
  },
133
232
  };
134
233
  }
234
+ // Merges the env into the worktree's .claude/settings.local.json, whose `env` Claude Code applies to
235
+ // every session in the folder, and to each resume of one. Claude Code's convention gitignores the
236
+ // file, so it isn't work of the worker's (`conduct project check` warns when the repo doesn't).
237
+ export function writeSessionEnv(worktree, env) {
238
+ if (Object.keys(env).length === 0)
239
+ return;
240
+ const file = join(worktree, SESSION_SETTINGS);
241
+ let settings = {};
242
+ if (existsSync(file)) {
243
+ const parsed = settingsSchema.safeParse(parseOrNull(readFileSync(file, 'utf8')));
244
+ if (!parsed.success)
245
+ throw new ConductorError(`${file} is not a JSON object`, [
246
+ 'fix or delete it: the conductor writes the ports into its env',
247
+ ]);
248
+ settings = parsed.data;
249
+ }
250
+ const current = envSchema.safeParse(settings.env).data ?? {};
251
+ mkdirSync(dirname(file), { recursive: true });
252
+ writeFileSync(file, `${JSON.stringify({ ...settings, env: { ...current, ...env } }, null, 2)}\n`);
253
+ }
254
+ const settingsSchema = z.record(z.string(), z.unknown());
255
+ const envSchema = z.record(z.string(), z.string());
256
+ function isInside(parent, child) {
257
+ const rel = relative(resolve(parent), resolve(child));
258
+ return rel !== '' && !rel.startsWith('..') && !isAbsolute(rel);
259
+ }
260
+ // Renames a directory to .trash-<name>-<time> beside it; null when something holds it.
261
+ function moveAside(dir) {
262
+ const trash = join(dirname(dir), `.trash-${basename(dir)}-${Date.now()}`);
263
+ try {
264
+ renameSync(dir, trash);
265
+ return trash;
266
+ }
267
+ catch {
268
+ return null;
269
+ }
270
+ }
271
+ function parseOrNull(text) {
272
+ try {
273
+ return JSON.parse(text);
274
+ }
275
+ catch {
276
+ return null;
277
+ }
278
+ }
135
279
  //# sourceMappingURL=worktrees.js.map