@detergent-software/conductor 3.0.0-dev.1 → 3.0.0-dev.10

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.
Files changed (67) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +45 -18
  3. package/build/broker-cli.js +19 -21
  4. package/build/broker-cli.js.map +1 -1
  5. package/build/broker.js +66 -92
  6. package/build/broker.js.map +1 -1
  7. package/build/claude.js +50 -7
  8. package/build/claude.js.map +1 -1
  9. package/build/cli.js +12 -22
  10. package/build/cli.js.map +1 -1
  11. package/build/code-host.js +10 -8
  12. package/build/code-host.js.map +1 -1
  13. package/build/config.js +10 -0
  14. package/build/config.js.map +1 -1
  15. package/build/console.js +26 -0
  16. package/build/console.js.map +1 -1
  17. package/build/daemon.js +13 -6
  18. package/build/daemon.js.map +1 -1
  19. package/build/help.js +10 -12
  20. package/build/help.js.map +1 -1
  21. package/build/in-process.js +3 -3
  22. package/build/in-process.js.map +1 -1
  23. package/build/inbox.js +39 -4
  24. package/build/inbox.js.map +1 -1
  25. package/build/lib/providers/index.js +1 -1
  26. package/build/lib/providers/index.js.map +1 -1
  27. package/build/lib/providers/npm/stage.js +14 -4
  28. package/build/lib/providers/npm/stage.js.map +1 -1
  29. package/build/local-files.js +95 -0
  30. package/build/local-files.js.map +1 -0
  31. package/build/manager.js +144 -27
  32. package/build/manager.js.map +1 -1
  33. package/build/npm-reads.js +194 -0
  34. package/build/npm-reads.js.map +1 -0
  35. package/build/plugin.js +10 -0
  36. package/build/plugin.js.map +1 -1
  37. package/build/profile.js +55 -19
  38. package/build/profile.js.map +1 -1
  39. package/build/project-check-cli.js +4 -1
  40. package/build/project-check-cli.js.map +1 -1
  41. package/build/project-check.js +69 -22
  42. package/build/project-check.js.map +1 -1
  43. package/build/rules-service.js +22 -4
  44. package/build/rules-service.js.map +1 -1
  45. package/build/scheduler.js +11 -1
  46. package/build/scheduler.js.map +1 -1
  47. package/build/server.js +0 -19
  48. package/build/server.js.map +1 -1
  49. package/build/spend.js +4 -0
  50. package/build/spend.js.map +1 -1
  51. package/build/store.js +11 -10
  52. package/build/store.js.map +1 -1
  53. package/build/tracker-reads-cli.js +2 -4
  54. package/build/tracker-reads-cli.js.map +1 -1
  55. package/build/upgrade.js +16 -1
  56. package/build/upgrade.js.map +1 -1
  57. package/build/watchers/ado.js +3 -2
  58. package/build/watchers/ado.js.map +1 -1
  59. package/build/watchers/github.js +3 -2
  60. package/build/watchers/github.js.map +1 -1
  61. package/build/watchers/npm.js +6 -4
  62. package/build/watchers/npm.js.map +1 -1
  63. package/build/worktrees.js +182 -38
  64. package/build/worktrees.js.map +1 -1
  65. package/package.json +2 -2
  66. package/plugin/skills/conductor-console/SKILL.md +1 -1
  67. package/plugin/skills/work-item/SKILL.md +2 -2
@@ -1,6 +1,7 @@
1
1
  import { runGit } from "../checkout.js";
2
2
  import { bindCi } from "../code-host.js";
3
3
  import { adoCodeHost, adoCodeHostWrites, adoHttp, adoPipelines, adoSend, checksSettled, needsAnswer, prVerdict, } from "../lib/providers/index.js";
4
+ import { sharedNpmReads } from "../npm-reads.js";
4
5
  import { notePrefixes } from "../profile.js";
5
6
  import { gitMergeFacts, gitReader } from "../runs.js";
6
7
  import { boardsWaits } from "./boards.js";
@@ -16,7 +17,7 @@ export {} from "./ado-api.js";
16
17
  // on, can wake its worker (conflicts.ts). A verdict wait on a landing `conduct land` armed keeps it
17
18
  // armed while it waits: an expired build queued again, a cleared vote restored (`kept`, which the
18
19
  // watchers log). A merge wait reads the merge's git in the worker's worktree, once.
19
- export function adoSource({ credentials, fetch: fetcher = globalThis.fetch, git = runGit, now = () => Date.now(), }) {
20
+ export function adoSource({ credentials, fetch: fetcher = globalThis.fetch, git = runGit, now = () => Date.now(), npm = sharedNpmReads(), }) {
20
21
  const boards = boardsWaits({ credentials, fetch: fetcher });
21
22
  // The expired builds each verdict wait has queued again, so none is queued twice.
22
23
  const requeued = new Map();
@@ -63,7 +64,7 @@ export function adoSource({ credentials, fetch: fetcher = globalThis.fetch, git
63
64
  if (!worktree || !base)
64
65
  throw new WaitProblem("the waiting worker has no worktree to read the merge's git in");
65
66
  return checkMerge({
66
- ci: bindCi(repo, ci, fetcher),
67
+ ci: bindCi(repo, ci, npm),
67
68
  condition: c,
68
69
  facts: merges.of(wait.id, () => gitMergeFacts(git, worktree, base, c.sha)),
69
70
  git: { base, reader: gitReader(git, worktree, base) },
@@ -1 +1 @@
1
- {"version":3,"file":"ado.js","sourceRoot":"","sources":["../../src/watchers/ado.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EACL,WAAW,EACX,iBAAiB,EAEjB,OAAO,EACP,YAAY,EAEZ,OAAO,EACP,aAAa,EACb,WAAW,EAEX,SAAS,GACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAgB,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAEL,WAAW,EACX,UAAU,EAGV,OAAO,EACP,OAAO,EAEP,KAAK,EACL,UAAU,EACV,WAAW,EACX,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAiB,MAAM,cAAc,CAAC;AAE7C,oGAAoG;AACpG,qGAAqG;AACrG,gGAAgG;AAChG,mGAAmG;AACnG,iGAAiG;AACjG,iGAAiG;AACjG,oGAAoG;AACpG,kGAAkG;AAClG,oFAAoF;AACpF,MAAM,UAAU,SAAS,CAAC,EACxB,WAAW,EACX,KAAK,EAAE,OAAO,GAAG,UAAU,CAAC,KAAK,EACjC,GAAG,GAAG,MAAM,EACZ,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAMvB;IACC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,kFAAkF;IAClF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAChD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;YAC5C,+FAA+F;YAC/F,yBAAyB;YACzB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7C,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpB,4FAA4F;YAC5F,oCAAoC;YACpC,MAAM,OAAO,GAAG,IAAI,GAAG,EAOpB,CAAC;YACJ,MAAM,QAAQ,GAAG,CAAC,OAAuB,EAAE,EAAE;gBAC3C,MAAM,OAAO,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC;gBACtC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;gBACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACnC,IAAI,KAAK;oBAAE,OAAO,KAAK,CAAC;gBACxB,4FAA4F;gBAC5F,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBACnG,6EAA6E;gBAC7E,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrF,MAAM,MAAM,GAAG,EAAE,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;gBACpF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC7B,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;YACF,MAAM,UAAU,CAAC,KAAK,IAAI,EAAE;gBAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;oBACzB,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;wBAAE,SAAS;oBACjG,MAAM,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;wBAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAClC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBACpD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;4BAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;4BACtC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI;gCACpB,MAAM,IAAI,WAAW,CAAC,+DAA+D,CAAC,CAAC;4BACzF,OAAO,UAAU,CAAC;gCAChB,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC;gCAC7B,SAAS,EAAE,CAAC;gCACZ,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gCAC1E,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE;gCACrD,GAAG,EAAE,GAAG,EAAE;gCACV,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,IAAI;6BACL,CAAC,CAAC;wBACL,CAAC;wBACD,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;4BACrB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC7C,OAAO,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBACtG,CAAC;wBACD,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wBACxE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;wBAC9B,IAAI,EAAE,CAAC,KAAK,KAAK,QAAQ;4BAAE,OAAO,MAAM,CAAC,CAAC,MAAM,SAAS,CAAC;wBAC1D,IAAI,EAAE,CAAC,KAAK,KAAK,QAAQ;4BAAE,OAAO,MAAM,CAAC,CAAC,MAAM,YAAY,CAAC;wBAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;wBAC1B,MAAM,KAAK,GAAG,CAAC,UAAyB,EAAkB,EAAE,CAC1D,UAAU,KAAK,IAAI;4BACjB,CAAC,CAAC,KAAK,KAAK,IAAI;gCACd,CAAC,CAAC,IAAI;gCACN,CAAC,CAAC,EAAE,KAAK,EAAE;4BACb,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;wBAC3D,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ;4BAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC1C,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;4BACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;4BACpF,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC,CAAC;4BACvF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;gCAAE,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;4BACxF,4EAA4E;4BAC5E,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU;gCAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC1E,gEAAgE;4BAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;4BACxD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;4BAC5B,sFAAsF;4BACtF,6EAA6E;4BAC7E,MAAM,WAAW,GACf,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;4BACtF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE;gCAAE,KAAK,CAAC,MAAM,CAAC,CAAC;4BACpD,mFAAmF;4BACnF,kBAAkB;4BAClB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gCACrG,IAAI,KAAK,YAAY,WAAW;oCAAE,MAAM,KAAK,CAAC;gCAC9C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;4BAClG,CAAC,CAAC,CAAC;4BACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;4BAC9C,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;4BAC1F,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC5F,CAAC;wBACD,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;4BACtB,qFAAqF;4BACrF,IAAI,KAAK,EAAE,SAAS;gCAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;4BACzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;4BACtD,IAAI,OAAO,KAAK,IAAI;gCAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;4BACzC,OAAO;gCACL,MAAM,EAAE,OAAO;gCACf,UAAU,EAAE,MAAM,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;gCACnD,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;6BACrC,CAAC;wBACJ,CAAC;wBACD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;wBACzG,OAAO,KAAK,CACV,IAAI,CAAC,MAAM,GAAG,CAAC;4BACb,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,aAAa,IAAI,CAAC,MAAM,eAAe,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;4BACrF,CAAC,CAAC,IAAI,CACT,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wFAAwF;gBACxF,+FAA+F;gBAC/F,4EAA4E;gBAC5E,MAAM,SAAS,GAAG,CAAC,CAAyB,EAAW,EAAE,CACvD,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,KAAK,YAAY,CAAC;gBAC3G,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACxC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,KAAK,MAAM,IAAI,IAAI,KAAK;oBACtB,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7F,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,EAAE,KAAK;KACZ,CAAC;AACJ,CAAC;AAED,mGAAmG;AACnG,mGAAmG;AACnG,2DAA2D;AAC3D,SAAS,OAAO,CAAC,EAAW;IAC1B,IAAI,CAAC,EAAE,CAAC,KAAK,KAAK,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAChF,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;AACzF,CAAC;AAED,oFAAoF;AACpF,SAAS,WAAW,CAAC,IAAa,EAAE,MAAc;IAChD,MAAM,IAAI,GAAG,OAAO,CAAU,MAAM,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,OAAO,CAAS,MAAM,CAAC,CAAC;IACrC,OAAO;QACL,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,OAAuB;IACrC,IAAI,OAAO,EAAE,QAAQ,CAAC,IAAI,KAAK,KAAK;QAAE,MAAM,IAAI,WAAW,CAAC,qDAAqD,CAAC,CAAC;IACnH,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC/D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"ado.js","sourceRoot":"","sources":["../../src/watchers/ado.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { bindCi } from "../code-host.js";
2
2
  import { checksSettled, githubActions, githubCodeHost, githubRepoRef, prVerdict } from "../lib/providers/index.js";
3
+ import { sharedNpmReads } from "../npm-reads.js";
3
4
  import { notePrefixes } from "../profile.js";
4
5
  import { hostMergeFacts } from "../runs.js";
5
6
  import { issuesWaits } from "./issues.js";
@@ -11,7 +12,7 @@ import { checksLine, perPass, perWait, untilSpent, verdictLine, WaitProblem, } f
11
12
  // to read cheaply, so `comment` means a person's comment or review made after the wait was
12
13
  // registered; bots and the work skill's own notes don't count. A merge's commit is read once. The
13
14
  // waits on GitHub Issues items (approval, item) share the budget (issues.ts).
14
- export function githubSource({ credentials, now = () => Date.now(), }) {
15
+ export function githubSource({ credentials, now = () => Date.now(), npm = sharedNpmReads(), }) {
15
16
  const merges = factsCache();
16
17
  const issues = issuesWaits({ credentials });
17
18
  return {
@@ -36,7 +37,7 @@ export function githubSource({ credentials, now = () => Date.now(), }) {
36
37
  throw new WaitProblem(`${c.repo} is not a GitHub owner/repo`);
37
38
  if (c.kind === 'merge') {
38
39
  return checkMerge({
39
- ci: bindCi(repo, githubActions({ api, run: credentials.ghRun(project) })),
40
+ ci: bindCi(repo, githubActions({ api, run: credentials.ghRun(project) }), npm),
40
41
  condition: c,
41
42
  facts: merges.of(wait.id, async () => hostMergeFacts(await host.commit(repo, c.sha))),
42
43
  now: now(),
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/watchers/github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/watchers/github.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
- import { NPM_REGISTRY, npmStage } from "../lib/providers/index.js";
1
+ import { npmStage } from "../lib/providers/index.js";
2
+ import { sharedNpmReads } from "../npm-reads.js";
2
3
  import { perPass, perWait, untilSpent } from "./source.js";
3
4
  // A version on a dist-tag, through the npm-stage release adapter's dist-tags read: a few bytes, with
4
5
  // no cache, so a stage approved a moment ago shows on the next pass. One request per package per
5
- // pass. A package npm hasn't got is that wait's problem (NotFound); npm failing is the source's.
6
- export function npmSource({ fetch: fetcher = globalThis.fetch, registry = NPM_REGISTRY } = {}) {
7
- const release = npmStage({ fetch: fetcher, registry });
6
+ // pass, to the registry npm's settings name for it. A package npm hasn't got is that wait's problem
7
+ // (NotFound); npm failing, or its settings, is the source's.
8
+ export function npmSource(npm = sharedNpmReads()) {
9
+ const release = npmStage(npm);
8
10
  return {
9
11
  check: async (waits, budget) => {
10
12
  const outcomes = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/watchers/npm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAgB,OAAO,EAAE,OAAO,EAAe,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtF,qGAAqG;AACrG,iGAAiG;AACjG,iGAAiG;AACjG,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,YAAY,EAAE,GAAG,EAAE;IAC3F,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvD,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;YAC5C,MAAM,GAAG,GAAG,OAAO,CAAyB,MAAM,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,CAAC,GAAW,EAAmC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACvG,MAAM,UAAU,CAAC,KAAK,IAAI,EAAE;gBAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;oBACzB,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;wBAAE,SAAS;oBAC/B,MAAM,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,CAC1C,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CACpG,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,EAAE,KAAK;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/watchers/npm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAiB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAgB,OAAO,EAAE,OAAO,EAAe,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtF,qGAAqG;AACrG,iGAAiG;AACjG,oGAAoG;AACpG,6DAA6D;AAC7D,MAAM,UAAU,SAAS,CAAC,MAAyB,cAAc,EAAE;IACjE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;YAC5C,MAAM,GAAG,GAAG,OAAO,CAAyB,MAAM,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,CAAC,GAAW,EAAmC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACvG,MAAM,UAAU,CAAC,KAAK,IAAI,EAAE;gBAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;oBACzB,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;wBAAE,SAAS;oBAC/B,MAAM,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,CAC1C,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CACpG,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,EAAE,KAAK;KACZ,CAAC;AACJ,CAAC"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"worktrees.js","sourceRoot":"","sources":["../src/worktrees.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktrees.js","sourceRoot":"","sources":["../src/worktrees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtG,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAkD7C,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AACzC,yEAAyE;AACzE,MAAM,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC;AAC7B,mEAAmE;AACnE,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC;AAC1B,uFAAuF;AACvF,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,yFAAyF;AACzF,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,CAAC;AACnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAEvE,gGAAgG;AAChG,uFAAuF;AACvF,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,KAAwB;IAClE,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAClE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACrD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,IAAI,gBAAgB,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACrH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,IAAY;IACrD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,WAAW,CAAC;QACZ,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;aAC7F,QAAQ,EAAE;KACd,CAAC,CACH;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,YAAY,CAC1B,OAMI,EAAE;IAEN,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,eAAe,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAChG,2FAA2F;IAC3F,MAAM,GAAG,GAAG,KAAK,EAAE,IAAc,EAAE,GAAW,EAA0B,EAAE;QACxE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,EAAE,IAAc,EAAE,GAAW,EAAE,IAAY,EAAiB,EAAE;QAC9E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACjF,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,EAA0B,EAAE,CAC9D,CAAC,MAAM,GAAG,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IAEpF,MAAM,MAAM,GAAG,KAAK,EAAE,OAAsB,EAAmB,EAAE;QAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAC7E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,mFAAmF;YACnF,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,MAAM;gBAC9E,MAAM,IAAI,cAAc,CAAC,GAAG,IAAI,iCAAiC,EAAE;oBACjE,wFAAwF;iBACzF,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACN,+EAA+E;YAC/E,IAAI,UAAU,CAAC,IAAI,CAAC;gBAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,8FAA8F;YAC9F,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;YACvC,+FAA+F;YAC/F,uDAAuD;YACvD,IAAI,QAAQ,KAAK,OAAO;gBAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YAChF,gGAAgG;YAChG,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,GAAG,aAAa,GAAG,IAAI,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5C,MAAM,IAAI,CACR,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC,EACrG,IAAI,EACJ,+BAA+B,IAAI,EAAE,CACtC,CAAC;QACJ,CAAC;QACD,6FAA6F;QAC7F,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5E,IAAI,cAAc,KAAK,SAAS;YAAE,MAAM,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACrF,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;YAC5B,iGAAiG;YACjG,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE;gBACpC,GAAG,EAAE,IAAI;gBACT,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE;gBAC/B,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;gBAAE,MAAM,IAAI,cAAc,CAAC,UAAU,OAAO,eAAe,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,2FAA2F;QAC3F,6FAA6F;QAC7F,0EAA0E;QAC1E,MAAM,KAAK,GAAG,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAClB,MAAM,IAAI,cAAc,CAAC,yBAAyB,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBAC7E,uGAAuG;aACxG,CAAC,CAAC;QACL,+CAA+C;QAC/C,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAE,MAAc,EAAoB,EAAE,CACzE,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC;IAE1F,+FAA+F;IAC/F,8FAA8F;IAC9F,uFAAuF;IACvF,MAAM,MAAM,GAAG,KAAK,EAAE,IAAY,EAAE,IAAY,EAAE,EAAE,YAAY,EAA6B,EAAiB,EAAE;QAC9G,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;YACtB,MAAM,IAAI,cAAc,CAAC,GAAG,IAAI,gBAAgB,GAAG,EAAE,EAAE,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAChH,+FAA+F;QAC/F,0FAA0F;QAC1F,IAAI,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,IAAI,MAAM,KAAK,IAAI,IAAI,YAAY,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,GAAG,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC5C,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC;gBACtE,CAAC,CAAC,IAAI,CAAC;YACT,IAAI,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG;gBAAE,MAAM,GAAG,IAAI,CAAC;QAC9C,CAAC;QACD,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;YACtD,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,IAAI,KAAK;gBAAE,MAAM;YACjB,IAAI,MAAM,IAAI,UAAU;gBACtB,MAAM,IAAI,cAAc,CAAC,GAAG,IAAI,YAAY,EAAE;oBAC5C,qEAAqE;iBACtE,CAAC,CAAC;YACL,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,2BAA2B,CAAC,CAAC;QACrE,IAAI,YAAY,IAAI,MAAM;YAAE,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,kCAAkC,MAAM,EAAE,CAAC,CAAC;QACnH,6FAA6F;QAC7F,oCAAoC;QACpC,IAAI,KAAK;YAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7F,iGAAiG;QACjG,6BAA6B;QAC7B,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC5D,MAAM,EAAE,GAAG,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,cAAc;gBAAE,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpH,CAAC;IACH,CAAC,CAAC;IACF,+FAA+F;IAC/F,MAAM,MAAM,GAAG,KAAK,EAAE,IAAY,EAA8C,EAAE;QAChF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;QACrF,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QACpC,OAAO;YACL,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,6EAA6E;YAC7E,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,0BAA0B,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,KAAK,EAAE,QAAgB,EAAE,MAAyB,EAAqB,EAAE;QACrF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,gCAAgC;QAC/F,IAAI,CAAC;YACH,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO,CAAC,qBAAqB,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChH,QAAQ;QACR,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvD,IAAI,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC1C,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACnE,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;oBAAE,YAAY,GAAG,kBAAkB,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC;gBACvF,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAClB,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,QAAQ,kCAAkC,YAAY,EAAE,CAAC;YACjG,+FAA+F;YAC/F,sFAAsF;YACtF,IAAI,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACnE,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB;gBACtE,OAAO,uBAAuB,QAAQ,+DAA+D,CAAC;YACxG,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM;QACN,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC;QACvF,MAAM;QACN,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YACnC,MAAM,IAAI,GAAmB,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,SAAS,GAAsD,EAAE,CAAC;YACxE,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,2FAA2F;gBAC3F,qCAAqC;gBACrC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC;oBACzD,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAChE,CAAC,CAAC,CAAC;gBACJ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;oBAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YACtE,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAClE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,kGAAkG;AAClG,gGAAgG;AAChG,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,GAA2B;IAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC9C,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,MAAM,CAAC,OAAO;YACjB,MAAM,IAAI,cAAc,CAAC,GAAG,IAAI,uBAAuB,EAAE;gBACvD,+DAA+D;aAChE,CAAC,CAAC;QACL,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7D,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACzD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAEnD,SAAS,QAAQ,CAAC,MAAc,EAAE,KAAa;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC;AAED,uFAAuF;AACvF,SAAS,SAAS,CAAC,GAAW;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,UAAU,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC;QACH,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@detergent-software/conductor",
3
- "version": "3.0.0-dev.1",
3
+ "version": "3.0.0-dev.10",
4
4
  "description": "Conductor: the local daemon that runs conducted projects' work loops (conduct serve) and its conduct CLI.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -32,7 +32,7 @@
32
32
  "directory": "apps/conductor"
33
33
  },
34
34
  "engines": {
35
- "node": ">=24.0.0"
35
+ "node": ">=24.5.0"
36
36
  },
37
37
  "publishConfig": {
38
38
  "registry": "https://registry.npmjs.org",
@@ -43,7 +43,7 @@ Then end the turn.
43
43
 
44
44
  1. **What fired it:** `conduct why <item>` shows the rule and its trigger. `conduct escalations --json` has the rule's ref.
45
45
  2. **Do the job** within the rules above. Use a subagent for anything that needs reading:
46
- - **A worker's conductor Handoff** (`default:conductor-handoff`): read the newest one with `conduct notes <item> --phase Handoff --kind conductor --last`, which prints the note whole; never a tracker's MCP tools. `conduct comments <item> --since <its time>` shows what was said after it. Do what it asks when a `conduct` command does it. To reach a worker: `conduct status` shows whether it is `running` or `parked`. SendMessage goes only to a running, idle worker. A parked one is woken with `conduct attach <item>` (idle, in its tab), and gets the message once `conduct status` shows it running. Anything outside your remit goes to Jason with `--ask`.
46
+ - **A worker's conductor Handoff** (`default:conductor-handoff`): read the newest one with `conduct notes <item> --phase Handoff --kind conductor --last`, which prints the note whole; never a tracker's MCP tools. `conduct comments <item> --since <its time>` shows what was said after it. Do what it asks when a `conduct` command does it. To reach a worker: `conduct status` shows whether it is `running` or `parked`. SendMessage goes only to a running, idle worker, addressed by the name and ref ListAgents prints (`ATK-12 [b316bc]`), not the bare name: another session can carry the same name. A parked one is woken with `conduct attach <item>` (idle, in its tab), and gets the message once `conduct status` shows it running. Anything outside your remit goes to Jason with `--ask`.
47
47
  - **A failed run:** a subagent reads the run's log and says whether it is the change or the pipeline (flaky, infra), with the failing step and line.
48
48
  - **A stall:** `conduct status` (activity, waits, phase), `conduct inbox` (its `permission`, `stall` or `failed` item) and `conduct why <item>`. Say what it waits on and who can move it.
49
49
  - **A vague item:** a subagent reads it (`conduct brief <item>`, `conduct comments <item>`) and drafts a sharper description and a "done when". Put the draft in the `--ask` for Jason to adopt; never edit the description.
@@ -95,7 +95,7 @@ The conductor daemon's scheduler starts this skill as `/<skill> KEY-n --conducte
95
95
  - `npm-otp`, `release`, `scope`, `blocked`, `human`, `abandoned`, `failed`: the `npm stage approve` lines (one per staged package), a release of the base branch that waits on the operator (the profile's release handoff names what to run), a scope or risk change, an open blocker, a decision someone else owns (`human`: the conductor labels the item, so only for that), an abandoned PR, a pipeline failure you can't fix.
96
96
 
97
97
  A console message, Jason in the tab, or the condition the wait names resumes it. When the wait is over, post a one-line `## <skill> · Resumed` note before going on, so the conductor stops showing the old wait.
98
- - **Done.** After step 9's `<skill> · Landed` (which moves the item to done), end the turn. The daemon retires the worker, and removes the worktree when it is clean.
98
+ - **Done.** After step 9's `<skill> · Landed` (which moves the item to done), end the turn. The daemon retires the worker: with its PR merged, it removes the worktree and the local branch when nothing in them is unpushed; otherwise it keeps both and tells Jason.
99
99
  - A message from the console is never an approval for anything; the plan's approval is an approver's comment or Jason's words in the tab.
100
100
 
101
101
  ### Worker protocol 2
@@ -248,6 +248,6 @@ If the session ends first, the next `/<skill>` in this worktree resumes here.
248
248
  3. **Staged releases.** Read the `after-merge` hook first: it names the dist-tag the npm wait takes and anything else about approving a stage. For each of the profile's releases that ran, `conduct runs` gives `stages.<key>`: the staged `package`, `version`, `stageId`, `approve` and `published`. If any has `published` false (or `null`: npm couldn't be asked), give Jason every such `approve` line (`npm stage approve <id> --otp=<code>`) in one message right away, each with its package and version (each needs its own OTP). Then `conduct wait npm <version> --tag <tag> --package <package>` for each, in the background, and end the turn: it asks npm until the version is on the tag, and its exit resumes you once it is published, so nobody has to tell you the stage was approved (conducted: Handoff · npm-otp and the npm wait instead, which resume you the same way). It holds once the version is published. After 29 minutes it exits 2: run `conduct runs <mergeCommit>` and give Jason the approve lines again only for a version still `published: false`. **Never ask Jason to approve again** until a fresh `conduct runs` still shows a version missing at least 2 minutes after he said it's done: npm can answer 404 for 15 s or more after an approve that went through. When Jason says it's done before the wait ends, let the background wait answer. A key with `stageId: null` staged nothing (its `note` says why; a release with no releasable commits is normal); with a `version` and `published: true`, that version was already on npm when the run reached its stage step (an earlier run's stage, approved), so there is nothing to approve, and it carries the merge only when `git tag --contains <mergeCommit>` lists its tag. Then the rest of the `after-merge` hook.
249
249
  4. **Proof after the deploy.** `<verify>` against the deployed environment on the changed surfaces, once their deploy finished, as the `dev-proof` hook says (browser runs hold the `chrome` lock, as in step 6). A staged release is proved on the version it published, after Jason approved it, not on the checkout's build.
250
250
  5. Post `<skill> · Landed`: the merge commit, the landing mode and who approved, the pipeline results, the evidence after the deploy. It moves the item to done. File follow-ups as new items related to this one, searching first (Rules: new problems become new items, once).
251
- 6. Wrap up. The branch is still checked out in this worktree, so leave it. Tell Jason the item is done and that `/exit` removes the worktree; the hook keeps a renamed branch, so `git branch -d <branch>` from the main checkout clears it. Conducted: end the turn; the daemon retires the worker once the item is done.
251
+ 6. Wrap up. The branch is still checked out in this worktree, so leave it. Tell Jason the item is done and that `/exit` removes the worktree; the hook keeps a renamed branch, so `git branch -d <branch>` from the main checkout clears it. Conducted: end the turn; the daemon retires the worker once the item is done, and removes its worktree and branch once the PR has merged.
252
252
 
253
253
  Releases are out of scope: the profile's release handoff (`release.handoff`) says how the base branch ships.