@tacuchi/agent-workflow-cli 21.4.1 → 21.6.0

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 (70) hide show
  1. package/dist/adapters/git-cli.js +64 -0
  2. package/dist/adapters/git-cli.js.map +1 -1
  3. package/dist/adapters/node-file-system.js +14 -1
  4. package/dist/adapters/node-file-system.js.map +1 -1
  5. package/dist/application/branch-resolver.js +18 -3
  6. package/dist/application/branch-resolver.js.map +1 -1
  7. package/dist/application/check-branch-service.js +137 -19
  8. package/dist/application/check-branch-service.js.map +1 -1
  9. package/dist/application/dev-only-services.js +50 -3
  10. package/dist/application/dev-only-services.js.map +1 -1
  11. package/dist/application/export-service.js +2 -2
  12. package/dist/application/export-service.js.map +1 -1
  13. package/dist/application/hook-branch-check.js +71 -58
  14. package/dist/application/hook-branch-check.js.map +1 -1
  15. package/dist/application/lock-service.js +54 -15
  16. package/dist/application/lock-service.js.map +1 -1
  17. package/dist/application/paths-service.js +10 -0
  18. package/dist/application/paths-service.js.map +1 -1
  19. package/dist/application/persist-service.js +2 -2
  20. package/dist/application/persist-service.js.map +1 -1
  21. package/dist/application/process-registry-service.js +94 -25
  22. package/dist/application/process-registry-service.js.map +1 -1
  23. package/dist/application/project-tab-data.js +1 -1
  24. package/dist/application/project-tab-data.js.map +1 -1
  25. package/dist/application/resume-service.js +2 -0
  26. package/dist/application/resume-service.js.map +1 -1
  27. package/dist/application/session-close-service.js +23 -1
  28. package/dist/application/session-close-service.js.map +1 -1
  29. package/dist/application/source-launch-service.js +1 -1
  30. package/dist/application/source-launch-service.js.map +1 -1
  31. package/dist/application/source-remove-service.js +1 -1
  32. package/dist/application/source-remove-service.js.map +1 -1
  33. package/dist/application/status-service.js +2 -0
  34. package/dist/application/status-service.js.map +1 -1
  35. package/dist/application/workline-index-service.js +35 -0
  36. package/dist/application/workline-index-service.js.map +1 -1
  37. package/dist/application/worktree-service.js +357 -0
  38. package/dist/application/worktree-service.js.map +1 -0
  39. package/dist/cli/commands/check-branch.js +4 -0
  40. package/dist/cli/commands/check-branch.js.map +1 -1
  41. package/dist/cli/commands/dev-only.js +9 -3
  42. package/dist/cli/commands/dev-only.js.map +1 -1
  43. package/dist/cli/commands/index.js +2 -0
  44. package/dist/cli/commands/index.js.map +1 -1
  45. package/dist/cli/commands/resume.js +1 -1
  46. package/dist/cli/commands/resume.js.map +1 -1
  47. package/dist/cli/commands/session-close.js +7 -1
  48. package/dist/cli/commands/session-close.js.map +1 -1
  49. package/dist/cli/commands/status.js +1 -1
  50. package/dist/cli/commands/status.js.map +1 -1
  51. package/dist/cli/commands/worktree.js +39 -0
  52. package/dist/cli/commands/worktree.js.map +1 -0
  53. package/dist/cli/help-groups.js +3 -0
  54. package/dist/cli/help-groups.js.map +1 -1
  55. package/dist/cli/tui/components/git-flow-actions.js +233 -15
  56. package/dist/cli/tui/components/git-flow-actions.js.map +1 -1
  57. package/dist/cli/tui/tabs/project-tab.js +9 -10
  58. package/dist/cli/tui/tabs/project-tab.js.map +1 -1
  59. package/dist/domain/flow/authority.js +15 -1
  60. package/dist/domain/flow/authority.js.map +1 -1
  61. package/dist/domain/isolation-unit.js +85 -0
  62. package/dist/domain/isolation-unit.js.map +1 -0
  63. package/package.json +1 -1
  64. package/skills/w/commands/spec-new.md +1 -1
  65. package/skills/w/hooks/README.md +1 -1
  66. package/skills/w/loops/CODE-POLICIES.md +6 -4
  67. package/skills/w/loops/plan-new-loop/LOOP.md +1 -1
  68. package/skills/w/loops/quick-loop/LOOP.md +1 -1
  69. package/skills/w/modules/PLAN-INPUT.md +1 -1
  70. package/skills/w/roles/git/ROLE.md +1 -1
@@ -0,0 +1,357 @@
1
+ import { dirname, join } from "node:path";
2
+ import { parseUnitPath, unitBranch, unitPath, workspaceKey, } from "../domain/isolation-unit.js";
3
+ import { resolveSourceBranches } from "./branch-resolver.js";
4
+ import { runMultiroot } from "./multiroot-service.js";
5
+ import { normalizePath } from "./multiroot/paths.js";
6
+ import { readWorkspaceBlock } from "./parsers/project-block.js";
7
+ import { listSessionFolders, resolveSessionTarget } from "./session-resolver.js";
8
+ export async function runWorktree(deps, input) {
9
+ if (input.action === "list")
10
+ return listUnits(deps);
11
+ const target = await resolveTarget(deps, input);
12
+ if ("error" in target)
13
+ return target;
14
+ if (input.action === "ensure")
15
+ return ensureUnit(deps, target);
16
+ if (input.action === "integrate")
17
+ return integrateUnit(deps, target);
18
+ return releaseUnit(deps, target);
19
+ }
20
+ /**
21
+ * Merge the flow's branch into the source's declared working branch.
22
+ *
23
+ * **Merge and never rebase**, and the reason is not taste: the git port already
24
+ * carries merge plus the three-stage conflict machinery `aw fix-git` reads, so a
25
+ * conflict has somewhere to go. A rebase would need new primitives AND would
26
+ * rewrite commits the flow already treated as done.
27
+ *
28
+ * The ORDER is whoever closes last, and that is what makes the second
29
+ * integration start from what the first one left: the merge runs against the
30
+ * live branch in the main checkout, not against a snapshot taken earlier.
31
+ */
32
+ async function integrateUnit(deps, target) {
33
+ const { source, path, branch, base, identity } = target;
34
+ if (!(await deps.git.isGitRepo(source.path))) {
35
+ return {
36
+ error: "not_a_repo",
37
+ message: `${source.alias} (${source.path}) no es un repositorio git`,
38
+ };
39
+ }
40
+ const units = await deps.git.worktreeList(source.path);
41
+ if (!units.some((w) => samePath(w.path, path))) {
42
+ return {
43
+ error: "unit_absent",
44
+ message: `${source.alias} no tiene una unidad para ${identity.session}`,
45
+ hint: `creála con 'aw worktree ensure --source ${source.alias} --code ${identity.session}'`,
46
+ };
47
+ }
48
+ // Both preconditions are refusals BEFORE anything moves: a merge started over
49
+ // uncommitted work is the one state where "report the conflict" is no longer
50
+ // enough, because the losing side was never recorded anywhere.
51
+ if (await deps.git.isDirty(path)) {
52
+ return {
53
+ error: "unit_not_committed",
54
+ message: `la unidad de ${identity.session} tiene cambios sin commitear`,
55
+ hint: "commiteá el trabajo del flujo en su unidad antes de integrarlo",
56
+ };
57
+ }
58
+ if (await deps.git.isDirty(source.path)) {
59
+ return {
60
+ error: "checkout_dirty",
61
+ message: `el checkout principal de ${source.alias} tiene cambios sin commitear`,
62
+ hint: "commiteá o guardá esos cambios: la integración no los va a mezclar con los del flujo",
63
+ };
64
+ }
65
+ // Never switch the user's branch to make the command succeed. The declared
66
+ // working branch is where the checkout is SUPPOSED to be — the git-safe
67
+ // invariant says so — and a checkout that is somewhere else is a state the
68
+ // person has to see, not one to be quietly corrected under a merge.
69
+ const current = await deps.git.currentBranch(source.path);
70
+ if (current !== base) {
71
+ return {
72
+ error: "checkout_off_branch",
73
+ message: `el checkout principal de ${source.alias} está en '${current}' y la integración va a '${base}'`,
74
+ hint: `posicioná el checkout en '${base}' y volvé a integrar; la integración nunca cambia de rama por su cuenta`,
75
+ };
76
+ }
77
+ const merge = await deps.git.merge(source.path, branch);
78
+ if (!merge.ok) {
79
+ return {
80
+ alias: source.alias,
81
+ session: identity.session,
82
+ into: base,
83
+ branch,
84
+ integrated: false,
85
+ conflicted: merge.conflicted,
86
+ // The unit SURVIVES a conflict: its commits are the only copy of one side
87
+ // of the merge, and releasing it here would delete them to tidy up.
88
+ released: false,
89
+ next: `aw fix-git --path ${source.path}`,
90
+ };
91
+ }
92
+ const release = await releaseUnit(deps, target);
93
+ return {
94
+ alias: source.alias,
95
+ session: identity.session,
96
+ into: base,
97
+ branch,
98
+ integrated: true,
99
+ conflicted: [],
100
+ released: "released" in release ? release.released : false,
101
+ next: null,
102
+ };
103
+ }
104
+ async function resolveTarget(deps, input) {
105
+ const block = await readWorkspaceBlock(deps.fs, deps.env.cwd(), deps.paths.blockMarkers());
106
+ const sources = block?.fuentes ?? [];
107
+ if (sources.length === 0) {
108
+ return {
109
+ error: "no_sources_declared",
110
+ message: "el bloque WORKSPACE no declara ninguna fuente",
111
+ hint: "declará la fuente en la tabla Fuentes antes de pedir una unidad",
112
+ };
113
+ }
114
+ if (input.alias === undefined) {
115
+ return {
116
+ error: "alias_required",
117
+ message: "no se indicó sobre qué fuente se pide la unidad",
118
+ hint: `usá --source con uno de: ${sources.map((s) => s.alias).join(", ")}`,
119
+ };
120
+ }
121
+ const source = sources.find((s) => s.alias === input.alias);
122
+ if (source === undefined) {
123
+ return {
124
+ error: "unknown_source",
125
+ message: `'${input.alias}' no es una fuente declarada`,
126
+ hint: `fuentes declaradas: ${sources.map((s) => s.alias).join(", ")}`,
127
+ };
128
+ }
129
+ const resolution = await resolveSessionTarget(deps.fs, deps.paths, {
130
+ ...(input.sessionCode !== undefined ? { code: input.sessionCode } : {}),
131
+ ...(input.contextId !== undefined ? { contextId: input.contextId } : {}),
132
+ });
133
+ if (resolution.outcome !== "resolved") {
134
+ return {
135
+ error: "session_unresolved",
136
+ message: "una unidad de aislamiento pertenece a una sesión y no se pudo resolver cuál",
137
+ hint: "pasá --code <NNN> con la sesión del flujo",
138
+ };
139
+ }
140
+ const session = resolution.session.folder;
141
+ const identity = {
142
+ workspaceKey: workspaceKey(deps.paths.workspaceDir()),
143
+ alias: source.alias,
144
+ session,
145
+ };
146
+ return {
147
+ source,
148
+ identity,
149
+ path: unitPath(await canonicalUnitsRoot(deps), identity),
150
+ branch: unitBranch(session),
151
+ base: resolveSourceBranches(source, block).work,
152
+ };
153
+ }
154
+ /**
155
+ * The units root in the OS's own spelling.
156
+ *
157
+ * Every comparison in this service is against a path GIT reported, and git
158
+ * resolves symlinks. Building ours from a non-canonical root would make
159
+ * `~/.workflow/worktrees/...` and the `/private/...` git answers with look like
160
+ * two different directories: `ensure` would never recognize its own unit, see
161
+ * its own branch as somebody else's, and refuse the flow its tree.
162
+ */
163
+ async function canonicalUnitsRoot(deps) {
164
+ const root = deps.paths.userUnitsDir();
165
+ await deps.fs.mkdirp(root);
166
+ return deps.fs.realPath(root);
167
+ }
168
+ async function ensureUnit(deps, target) {
169
+ const { source, path, branch, base } = target;
170
+ if (!(await deps.git.isGitRepo(source.path))) {
171
+ return {
172
+ error: "not_a_repo",
173
+ message: `${source.alias} (${source.path}) no es un repositorio git`,
174
+ };
175
+ }
176
+ // Vanished directories keep holding their branch until git is told, so the
177
+ // prune runs BEFORE the occupancy read — otherwise a unit whose folder the
178
+ // user deleted by hand would look occupied forever.
179
+ await deps.git.worktreePrune(source.path);
180
+ const existing = await deps.git.worktreeList(source.path);
181
+ const mine = existing.find((w) => samePath(w.path, path));
182
+ if (mine !== undefined) {
183
+ // Idempotent: the unit is already there, on its own branch.
184
+ return { ...unitOf(target, false), visibility: await attach(deps, path) };
185
+ }
186
+ const occupant = existing.find((w) => w.branch === branch);
187
+ if (occupant !== undefined) {
188
+ return {
189
+ error: "unit_occupied",
190
+ message: `la rama ${branch} ya está tomada por otro árbol de ${source.alias}`,
191
+ hint: "cerrá o liberá ese flujo, o usá la sesión que lo posee",
192
+ occupant: { path: occupant.path, branch },
193
+ };
194
+ }
195
+ await deps.fs.mkdirp(dirname(path));
196
+ // An existing branch is checked out, not recreated: a flow that released its
197
+ // unit and asks again must land back on its own commits, not on a fresh branch
198
+ // that silently drops them.
199
+ const from = (await deps.git.branchExists(source.path, branch)) ? null : base;
200
+ try {
201
+ await deps.git.worktreeAdd(source.path, path, branch, from);
202
+ }
203
+ catch (err) {
204
+ return {
205
+ error: "worktree_add_failed",
206
+ message: err.message,
207
+ hint: `verificá que la rama base '${base}' exista en ${source.alias}`,
208
+ };
209
+ }
210
+ return { ...unitOf(target, true), visibility: await attach(deps, path) };
211
+ }
212
+ async function releaseUnit(deps, target) {
213
+ const { source, path, branch, identity } = target;
214
+ if (!(await deps.git.isGitRepo(source.path))) {
215
+ return {
216
+ error: "not_a_repo",
217
+ message: `${source.alias} (${source.path}) no es un repositorio git`,
218
+ };
219
+ }
220
+ const existing = await deps.git.worktreeList(source.path);
221
+ if (!existing.some((w) => samePath(w.path, path))) {
222
+ await deps.git.worktreePrune(source.path);
223
+ return {
224
+ alias: source.alias,
225
+ session: identity.session,
226
+ path,
227
+ branch,
228
+ released: false,
229
+ visibility: await detach(deps, path),
230
+ };
231
+ }
232
+ try {
233
+ await deps.git.worktreeRemove(source.path, path);
234
+ }
235
+ catch (err) {
236
+ return {
237
+ error: "unit_not_clean",
238
+ message: err.message,
239
+ hint: "commiteá o descartá los cambios de la unidad y volvé a liberarla; nada se borra por la fuerza",
240
+ };
241
+ }
242
+ return {
243
+ alias: source.alias,
244
+ session: identity.session,
245
+ path,
246
+ branch,
247
+ released: true,
248
+ visibility: await detach(deps, path),
249
+ };
250
+ }
251
+ async function listUnits(deps) {
252
+ const block = await readWorkspaceBlock(deps.fs, deps.env.cwd(), deps.paths.blockMarkers());
253
+ const key = workspaceKey(deps.paths.workspaceDir());
254
+ const root = await canonicalUnitsRoot(deps);
255
+ const sessions = await sessionStates(deps);
256
+ const units = [];
257
+ const orphans = [];
258
+ const unreadable = [];
259
+ for (const source of block?.fuentes ?? []) {
260
+ if (!(await deps.git.isGitRepo(source.path)))
261
+ continue;
262
+ let trees;
263
+ try {
264
+ trees = await deps.git.worktreeList(source.path);
265
+ }
266
+ catch (err) {
267
+ // Reported, never skipped in silence: a source whose trees cannot be read
268
+ // would otherwise show up as "no units", which is the one answer that is
269
+ // certainly wrong — its flows are exactly the ones nobody would clean up.
270
+ unreadable.push({ alias: source.alias, error: err.message });
271
+ continue;
272
+ }
273
+ for (const tree of trees) {
274
+ const identity = tree.main ? null : parseUnitPath(root, tree.path);
275
+ if (identity === null || identity.workspaceKey !== key)
276
+ continue;
277
+ const reason = orphanReason(identity.session, sessions, tree.prunable);
278
+ if (reason === null)
279
+ units.push(liveUnit(identity, source.path, tree));
280
+ else
281
+ orphans.push(orphanOf(identity, tree, reason));
282
+ }
283
+ }
284
+ return { workspace_key: key, units, orphans, unreadable };
285
+ }
286
+ function liveUnit(identity, sourcePath, tree) {
287
+ return {
288
+ alias: identity.alias,
289
+ source_path: sourcePath,
290
+ session: identity.session,
291
+ path: tree.path,
292
+ branch: tree.branch ?? unitBranch(identity.session),
293
+ created: false,
294
+ session_active: true,
295
+ };
296
+ }
297
+ function orphanOf(identity, tree, reason) {
298
+ return {
299
+ alias: identity.alias,
300
+ session: identity.session,
301
+ path: tree.path,
302
+ branch: tree.branch,
303
+ reason,
304
+ release: `aw worktree release --source ${identity.alias} --code ${identity.session}`,
305
+ };
306
+ }
307
+ async function sessionStates(deps) {
308
+ const folders = await listSessionFolders(deps.fs, deps.paths.cwdSessionsDir());
309
+ const active = new Set();
310
+ for (const folder of folders) {
311
+ // `.closed` is the only source of a session's state (the session resolver's
312
+ // own rule); re-deriving it from anything else would let the two disagree.
313
+ if (!(await deps.fs.exists(join(folder.path, ".closed"))))
314
+ active.add(folder.name);
315
+ }
316
+ return { known: new Set(folders.map((f) => f.name)), active };
317
+ }
318
+ /** Why a live worktree is no longer somebody's working unit — `null` when it still is. */
319
+ function orphanReason(session, sessions, prunable) {
320
+ if (prunable)
321
+ return "directory_missing";
322
+ if (!sessions.known.has(session))
323
+ return "session_absent";
324
+ if (!sessions.active.has(session))
325
+ return "session_closed";
326
+ return null;
327
+ }
328
+ function unitOf(target, created) {
329
+ return {
330
+ alias: target.source.alias,
331
+ source_path: target.source.path,
332
+ session: target.identity.session,
333
+ path: target.path,
334
+ branch: target.branch,
335
+ created,
336
+ };
337
+ }
338
+ /**
339
+ * Give the unit's root multi-root visibility, or say it could not be given.
340
+ *
341
+ * Units live outside every repository on purpose, so without this step the host
342
+ * simply cannot open the files the flow is supposed to edit. A visibility
343
+ * failure is reported, never swallowed: a unit nobody can see is not a usable
344
+ * unit, and the caller has to know which of the two it got.
345
+ */
346
+ async function attach(deps, path) {
347
+ const result = await runMultiroot(deps.fs, deps.env, deps.paths, "attach", { paths: [path] });
348
+ return "error" in result ? "unavailable" : "attached";
349
+ }
350
+ async function detach(deps, path) {
351
+ const result = await runMultiroot(deps.fs, deps.env, deps.paths, "detach", { paths: [path] });
352
+ return "error" in result ? "unavailable" : "detached";
353
+ }
354
+ function samePath(a, b) {
355
+ return normalizePath(a) === normalizePath(b);
356
+ }
357
+ //# sourceMappingURL=worktree-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-service.js","sourceRoot":"","sources":["../../src/application/worktree-service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { runCheckBranch } from "../../application/check-branch-service.js";
2
+ import { readContextId } from "../context-id.js";
2
3
  import { flagValue } from "../parser.js";
3
4
  export const checkBranchCommand = {
4
5
  name: "check-branch",
@@ -19,6 +20,9 @@ export const checkBranchCommand = {
19
20
  input.fileArg = fileArg;
20
21
  if (session !== undefined)
21
22
  input.sessionCode = session;
23
+ const contextId = readContextId(ctx.env);
24
+ if (contextId !== undefined)
25
+ input.contextId = contextId;
22
26
  const data = await runCheckBranch(ctx.fs, ctx.env, ctx.git, ctx.paths, input);
23
27
  const exit = strict && data.match === false ? 2 : 0;
24
28
  return { ok: true, data, exitCode: exit };
@@ -1 +1 @@
1
- {"version":3,"file":"check-branch.js","sourceRoot":"","sources":["../../../src/cli/commands/check-branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,OAAO,EAAmB,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1D,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,iDAAiD;IAC3D,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,2EAA2E;QAC3E,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,KAAK,GAAyC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7C,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;QAEvD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAc,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"check-branch.js","sourceRoot":"","sources":["../../../src/cli/commands/check-branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAmB,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1D,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,iDAAiD;IAC3D,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,2EAA2E;QAC3E,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,KAAK,GAAyC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7C,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;QACvD,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAc,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;CACF,CAAC"}
@@ -41,16 +41,22 @@ export const logsCommand = {
41
41
  };
42
42
  export const nextNumberCommand = {
43
43
  name: "next-number",
44
- describe: "Compute next NNN correlative for a directory, creating it when missing. Usage: aw next-number <directorio> [--dry-run].",
44
+ describe: "Compute next NNN correlative for a directory, creating it when missing. With --claim <resto-del-nombre> the number is CLAIMED instead of consulted: the file is materialized under the workspace lock, so two concurrent flows never receive the same NNN. Usage: aw next-number <directorio> [--claim <resto-del-nombre>] [--dry-run].",
45
45
  async execute(args, ctx) {
46
46
  const dir = args.rest[0];
47
47
  if (!dir) {
48
- const usage = "uso: next-number <directorio> [--dry-run]";
48
+ const usage = "uso: next-number <directorio> [--claim <resto-del-nombre>] [--dry-run]";
49
49
  return fail("INVALID_INPUT", usage, { error: usage });
50
50
  }
51
- const data = await runNextNumber(ctx.fs, ctx.env, {
51
+ const claim = args.values.get("claim");
52
+ if (claim !== undefined && args.flags.has("--dry-run")) {
53
+ const message = "--claim y --dry-run se excluyen: un reclamo escribe, una consulta no";
54
+ return fail("INVALID_INPUT", message, { error: message });
55
+ }
56
+ const data = await runNextNumber(ctx.fs, ctx.env, ctx.paths, {
52
57
  directory: dir,
53
58
  dryRun: args.flags.has("--dry-run"),
59
+ ...(claim !== undefined ? { claim } : {}),
54
60
  });
55
61
  return { ok: true, data, exitCode: 0 };
56
62
  },
@@ -1 +1 @@
1
- {"version":3,"file":"dev-only.js","sourceRoot":"","sources":["../../../src/cli/commands/dev-only.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-only.js","sourceRoot":"","sources":["../../../src/cli/commands/dev-only.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,UAAU,EACV,OAAO,EACP,aAAa,EACb,WAAW,GACZ,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAItD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,8EAA8E;AAC9E,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,mDAAmD,WAAW,2KAA2K;IACnP,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CACT,eAAe,EACf,qBAAqB,SAAS,uBAAuB,WAAW,EAAE,CACnE,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC1D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,+DAA+D;IACzE,KAAK,CAAC,OAAO,CAAC,KAAiB,EAAE,GAAe;QAC9C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,mEAAmE;IAC7E,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,KAAK,GAAuC,EAAE,CAAC;QACrD,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QACnE,IAAI,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,IAAI,EAAE,aAAa;IACnB,QAAQ,EACN,yUAAyU;IAC3U,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,wEAAwE,CAAC;YACvF,OAAO,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,sEAAsE,CAAC;YACvF,OAAO,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE;YAC3D,SAAS,EAAE,GAAG;YACd,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;YACnC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC"}
@@ -46,6 +46,7 @@ import { stackCommand } from "./stack.js";
46
46
  import { statusCommand } from "./status.js";
47
47
  import { visibilityCommand } from "./visibility.js";
48
48
  import { workspaceInitCommand } from "./workspace-init.js";
49
+ import { worktreeCommand } from "./worktree.js";
49
50
  export const ALL_COMMANDS = [
50
51
  sessionsCommand,
51
52
  statusCommand,
@@ -84,6 +85,7 @@ export const ALL_COMMANDS = [
84
85
  hookCommand,
85
86
  mcpCommand,
86
87
  visibilityCommand,
88
+ worktreeCommand,
87
89
  harnessCommand,
88
90
  profilesCommand,
89
91
  logsCommand,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export const resumeCommand = {
25
25
  ...(code !== undefined ? { code } : {}),
26
26
  ...(contextId !== undefined ? { contextId } : {}),
27
27
  };
28
- const outcome = await runResume(ctx.fs, ctx.env, ctx.paths, input);
28
+ const outcome = await runResume(ctx.fs, ctx.env, ctx.paths, { ...input, git: ctx.git });
29
29
  if (outcome.status === "invalid_target") {
30
30
  return {
31
31
  ok: false,
@@ -1 +1 @@
1
- {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/cli/commands/resume.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../src/cli/commands/resume.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { runSessionClose, } from "../../application/session-close-service.js";
2
+ import { runWorktree } from "../../application/worktree-service.js";
2
3
  import { fail, failSessionResolution } from "../render.js";
3
4
  export const sessionCloseCommand = {
4
5
  name: "session-close",
@@ -12,7 +13,12 @@ export const sessionCloseCommand = {
12
13
  const refs = args.values.get("refs");
13
14
  if (refs !== undefined)
14
15
  input.refs = refs;
15
- const data = await runSessionClose(ctx.fs, ctx.paths, input);
16
+ // A close that stayed silent about the units the session still holds would
17
+ // be the one way a flow's uncommitted-upstream work disappears from view.
18
+ const data = await runSessionClose(ctx.fs, ctx.paths, input, async () => {
19
+ const listed = await runWorktree({ fs: ctx.fs, env: ctx.env, git: ctx.git, paths: ctx.paths }, { action: "list" });
20
+ return "units" in listed ? listed.units : [];
21
+ });
16
22
  if ("sessionError" in data)
17
23
  return failSessionResolution(data.sessionError);
18
24
  if ("error" in data)
@@ -1 +1 @@
1
- {"version":3,"file":"session-close.js","sourceRoot":"","sources":["../../../src/cli/commands/session-close.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,GAChB,MAAM,4CAA4C,CAAC;AAIpD,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG3D,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,IAAI,EAAE,eAAe;IACrB,QAAQ,EACN,6HAA6H;QAC7H,0DAA0D;IAC5D,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAsB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAE1C,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,cAAc,IAAI,IAAI;YAAE,OAAO,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5E,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC5D,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"session-close.js","sourceRoot":"","sources":["../../../src/cli/commands/session-close.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,GAChB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAIpE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG3D,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,IAAI,EAAE,eAAe;IACrB,QAAQ,EACN,6HAA6H;QAC7H,0DAA0D;IAC5D,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAsB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAE1C,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAC5D,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;YACF,OAAO,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,cAAc,IAAI,IAAI;YAAE,OAAO,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5E,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC5D,CAAC;CACF,CAAC"}
@@ -4,7 +4,7 @@ export const statusCommand = {
4
4
  describe: "Read-only workspace dashboard: specs, plans, sessions y descartados con fechas relativas en español. " +
5
5
  "Usage: aw status [--format human|json] [--detail].",
6
6
  async execute(_args, ctx) {
7
- const data = await runStatusCommand(ctx.fs, ctx.env, ctx.paths);
7
+ const data = await runStatusCommand(ctx.fs, ctx.env, ctx.paths, { git: ctx.git });
8
8
  return { ok: true, data, exitCode: 0 };
9
9
  },
10
10
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { runWorktree } from "../../application/worktree-service.js";
2
+ import { readContextId } from "../context-id.js";
3
+ import { flagValue } from "../parser.js";
4
+ import { fail } from "../render.js";
5
+ const ACTIONS = new Set(["ensure", "list", "release", "integrate"]);
6
+ export const worktreeCommand = {
7
+ name: "worktree",
8
+ describe: "Isolation unit of a flow: one git worktree of a source on its own branch, so concurrent flows never share a working tree. " +
9
+ "The unit lives at ~/<ns>/worktrees/<workspace>/<alias>/<session> on branch aw/<session>; the path IS the registry and " +
10
+ "`git worktree list` its live view. `integrate` merges the flow's branch into the source's declared working branch and gives the unit back; " +
11
+ "a conflict is reported with its files and routed to `aw fix-git --path`, never resolved on its own. " +
12
+ "Usage: aw worktree ensure|list|release|integrate [--source <alias>] [--code <NNN>].",
13
+ async execute(args, ctx) {
14
+ const action = args.rest[0];
15
+ if (action === undefined || !ACTIONS.has(action)) {
16
+ const usage = "uso: worktree ensure|list|release|integrate [--source <alias>] [--code <NNN>]";
17
+ return fail("INVALID_INPUT", usage, { error: usage });
18
+ }
19
+ const alias = flagValue(args, "source");
20
+ const code = args.values.get("code");
21
+ const contextId = readContextId(ctx.env);
22
+ const input = { action };
23
+ if (alias !== undefined)
24
+ input.alias = alias;
25
+ if (code !== undefined)
26
+ input.sessionCode = code;
27
+ if (contextId !== undefined)
28
+ input.contextId = contextId;
29
+ const data = await runWorktree({ fs: ctx.fs, env: ctx.env, git: ctx.git, paths: ctx.paths }, input);
30
+ if ("error" in data) {
31
+ // The unit is occupied by another live flow: a real, expected outcome of
32
+ // concurrency, so it exits non-zero with the occupant named instead of
33
+ // pretending the caller now owns a tree it does not.
34
+ return { ok: true, data, exitCode: 2 };
35
+ }
36
+ return { ok: true, data, exitCode: 0 };
37
+ },
38
+ };
39
+ //# sourceMappingURL=worktree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../../src/cli/commands/worktree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAmB,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,OAAO,GAAG,IAAI,GAAG,CAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,IAAI,EAAE,UAAU;IAChB,QAAQ,EACN,4HAA4H;QAC5H,wHAAwH;QACxH,6IAA6I;QAC7I,sGAAsG;QACtG,qFAAqF;IACvF,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAwC,CAAC;QACnE,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,+EAA+E,CAAC;YAC9F,OAAO,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAkB,EAAE,MAAM,EAAE,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7C,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QACjD,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAC5D,KAAK,CACN,CAAC;QACF,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,yEAAyE;YACzE,uEAAuE;YACvE,qDAAqD;YACrD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC"}
@@ -38,6 +38,9 @@ const GROUPS = [
38
38
  "detach-multiroot",
39
39
  "visibility",
40
40
  "check-branch",
41
+ // The isolation unit of a flow: a worktree per (source, session) so two
42
+ // flows never share a working tree.
43
+ "worktree",
41
44
  ],
42
45
  },
43
46
  {