trellis 3.1.31 → 3.1.34

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 (53) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +1 -1
  3. package/dist/cli/index.d.ts +1 -0
  4. package/dist/cli/index.d.ts.map +1 -1
  5. package/dist/cli/index.js +320 -24
  6. package/dist/cli/lane.d.ts +6 -0
  7. package/dist/cli/lane.d.ts.map +1 -0
  8. package/dist/cms/client.d.ts +1 -1
  9. package/dist/cms/client.d.ts.map +1 -1
  10. package/dist/cms/index.js +0 -16
  11. package/dist/cms/types.d.ts +1 -1
  12. package/dist/cms/types.d.ts.map +1 -1
  13. package/dist/context/manager.d.ts +1 -1
  14. package/dist/context/manager.d.ts.map +1 -1
  15. package/dist/context/types.d.ts +1 -1
  16. package/dist/context/types.d.ts.map +1 -1
  17. package/dist/decisions/index.js +2 -2
  18. package/dist/engine.d.ts +86 -2
  19. package/dist/engine.d.ts.map +1 -1
  20. package/dist/{index-65z0xfjw.js → index-4cdr7x2x.js} +2 -2
  21. package/dist/{index-r5064492.js → index-nq520y6k.js} +7 -3
  22. package/dist/{index-v9b4hqa7.js → index-nzb3am4f.js} +4 -1
  23. package/dist/{index-8f2z3b0h.js → index-rv1p47gp.js} +996 -172
  24. package/dist/{index-1tv9sbwp.js → index-w5wccer3.js} +1 -1
  25. package/dist/{index-p3nnc7ac.js → index-xhcp6xrn.js} +462 -31
  26. package/dist/index.js +39 -7
  27. package/dist/mcp/server.d.ts.map +1 -1
  28. package/dist/plugins/agent-memory/graph-context-manager.d.ts +5 -0
  29. package/dist/plugins/agent-memory/graph-context-manager.d.ts.map +1 -1
  30. package/dist/{remote-manager-8qbz3mrn.js → remote-manager-xvbg4230.js} +4 -4
  31. package/dist/vcs/branch.d.ts +6 -0
  32. package/dist/vcs/branch.d.ts.map +1 -1
  33. package/dist/vcs/decompose.d.ts.map +1 -1
  34. package/dist/vcs/engine-context.d.ts +9 -2
  35. package/dist/vcs/engine-context.d.ts.map +1 -1
  36. package/dist/vcs/index.d.ts +2 -0
  37. package/dist/vcs/index.d.ts.map +1 -1
  38. package/dist/vcs/index.js +36 -4
  39. package/dist/vcs/issue.d.ts +2 -0
  40. package/dist/vcs/issue.d.ts.map +1 -1
  41. package/dist/vcs/lane-materialize.d.ts +45 -0
  42. package/dist/vcs/lane-materialize.d.ts.map +1 -0
  43. package/dist/vcs/lane-promote.d.ts +56 -0
  44. package/dist/vcs/lane-promote.d.ts.map +1 -0
  45. package/dist/vcs/lane.d.ts +55 -0
  46. package/dist/vcs/lane.d.ts.map +1 -0
  47. package/dist/vcs/op-log.d.ts +29 -0
  48. package/dist/vcs/op-log.d.ts.map +1 -0
  49. package/dist/vcs/types.d.ts +15 -1
  50. package/dist/vcs/types.d.ts.map +1 -1
  51. package/dist/watcher/ingestion.d.ts +1 -0
  52. package/dist/watcher/ingestion.d.ts.map +1 -1
  53. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import"./index-1tv9sbwp.js";
2
+ import"./index-w5wccer3.js";
3
3
  import {
4
4
  FileWatcher,
5
5
  Ingestion,
@@ -12,12 +12,14 @@ import {
12
12
  loadProfile,
13
13
  saveProfile,
14
14
  writeAgentScaffold
15
- } from "./index-8f2z3b0h.js";
15
+ } from "./index-rv1p47gp.js";
16
16
  import {
17
17
  VcsMiddleware
18
- } from "./index-r5064492.js";
18
+ } from "./index-nq520y6k.js";
19
19
  import {
20
20
  BlobStore,
21
+ JsonOpLog,
22
+ LaneOpLog,
21
23
  addCriterion,
22
24
  assignIssue,
23
25
  blockIssue,
@@ -27,6 +29,7 @@ import {
27
29
  createBranch,
28
30
  createCheckpoint,
29
31
  createIssue,
32
+ createLaneMeta,
30
33
  createMilestone,
31
34
  decompose,
32
35
  deleteBranch,
@@ -34,28 +37,40 @@ import {
34
37
  diffOpRange,
35
38
  generateUnifiedDiff,
36
39
  getActiveIssues,
40
+ getBranchHeadOpHash,
37
41
  getIssue,
42
+ laneDir,
43
+ laneMetaPath,
44
+ lanesRoot,
38
45
  listBranches,
39
46
  listCheckpoints,
40
47
  listIssues,
48
+ listLaneIds,
49
+ listLaneMetas,
41
50
  listMilestones,
42
51
  loadBranchState,
52
+ loadLaneMeta,
43
53
  myersDiff,
54
+ newLaneId,
44
55
  pauseIssue,
45
56
  reopenIssue,
57
+ resolveLaneHeadFromJournal,
46
58
  resumeIssue,
47
59
  runCriteria,
48
60
  saveBranchState,
61
+ saveLaneMeta,
49
62
  setCriterionStatus,
63
+ shouldAdvanceBranchHead,
50
64
  startIssue,
51
65
  switchBranch,
52
66
  threeWayMerge,
53
67
  threeWayTextMerge,
54
68
  triageIssue,
55
69
  unblockIssue,
56
- updateIssue
57
- } from "./index-p3nnc7ac.js";
58
- import"./index-65z0xfjw.js";
70
+ updateIssue,
71
+ updateLaneHead
72
+ } from "./index-xhcp6xrn.js";
73
+ import"./index-4cdr7x2x.js";
59
74
  import {
60
75
  DEFAULT_CONFIG,
61
76
  branchEntityId,
@@ -68,8 +83,9 @@ import {
68
83
  isVcsOp,
69
84
  isVcsOpKind,
70
85
  issueEntityId,
86
+ laneEntityId,
71
87
  milestoneEntityId
72
- } from "./index-v9b4hqa7.js";
88
+ } from "./index-nzb3am4f.js";
73
89
  import {
74
90
  TrellisKernel
75
91
  } from "./index-4wxa8xz4.js";
@@ -86,6 +102,7 @@ init_fs_watcher();
86
102
  init_ingestion();
87
103
  export {
88
104
  writeAgentScaffold,
105
+ updateLaneHead,
89
106
  updateIssue,
90
107
  unblockIssue,
91
108
  triageIssue,
@@ -93,27 +110,39 @@ export {
93
110
  threeWayMerge,
94
111
  switchBranch,
95
112
  startIssue,
113
+ shouldAdvanceBranchHead,
96
114
  setCriterionStatus,
97
115
  saveProfile,
116
+ saveLaneMeta,
98
117
  saveBranchState,
99
118
  runCriteria,
100
119
  resumeIssue,
120
+ resolveLaneHeadFromJournal,
101
121
  reopenIssue,
102
122
  pauseIssue,
123
+ newLaneId,
103
124
  myersDiff,
104
125
  milestoneEntityId,
105
126
  loadProfile,
127
+ loadLaneMeta,
106
128
  loadBranchState,
107
129
  listMilestones,
130
+ listLaneMetas,
131
+ listLaneIds,
108
132
  listIssues,
109
133
  listCheckpoints,
110
134
  listBranches,
135
+ lanesRoot,
136
+ laneMetaPath,
137
+ laneEntityId,
138
+ laneDir,
111
139
  issueEntityId,
112
140
  isVcsOpKind,
113
141
  isVcsOp,
114
142
  inferProjectContext,
115
143
  hasProfile,
116
144
  getIssue,
145
+ getBranchHeadOpHash,
117
146
  getActiveIssues,
118
147
  generateUnifiedDiff,
119
148
  fileEntityId,
@@ -126,6 +155,7 @@ export {
126
155
  criterionEntityId,
127
156
  createVcsOp,
128
157
  createMilestone,
158
+ createLaneMeta,
129
159
  createIssue,
130
160
  createCheckpoint,
131
161
  createBranch,
@@ -141,6 +171,8 @@ export {
141
171
  TrellisVcsEngine,
142
172
  TrellisKernel,
143
173
  SqliteKernelBackend,
174
+ LaneOpLog,
175
+ JsonOpLog,
144
176
  Ingestion,
145
177
  FileWatcher,
146
178
  DEFAULT_CONFIG,
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAwBrE,wBAAgB,sBAAsB,IAAI,SAAS,CAqrClD;AAMD;;;GAGG;AACH,eAAO,MAAM,YAAY,cAAqB,CAAC;AAE/C;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAKjE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAwBrE,wBAAgB,sBAAsB,IAAI,SAAS,CAisClD;AAMD;;;GAGG;AACH,eAAO,MAAM,YAAY,cAAqB,CAAC;AAE/C;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAKjE"}
@@ -25,6 +25,8 @@ export declare class GraphContextManager implements ContextManager {
25
25
  * Always kept in sync with the graph via addMessage/prune/resume.
26
26
  */
27
27
  private cache;
28
+ /** In-flight graph writes from fire-and-forget addMessage/prune calls. */
29
+ private pendingWrites;
28
30
  constructor(kernel: TrellisKernel);
29
31
  /**
30
32
  * Create a new conversation entity and set it as the active context.
@@ -67,6 +69,9 @@ export declare class GraphContextManager implements ContextManager {
67
69
  * Get the total estimated token count for the active conversation.
68
70
  */
69
71
  getTotalTokenCount(): number;
72
+ /** Wait for in-flight graph writes (tests and graceful shutdown). */
73
+ awaitPersistence(): Promise<void>;
74
+ private trackWrite;
70
75
  /**
71
76
  * Load messages from the graph for a given conversation, sorted by timestamp.
72
77
  */
@@ -1 +1 @@
1
- {"version":3,"file":"graph-context-manager.d.ts","sourceRoot":"","sources":["../../../src/plugins/agent-memory/graph-context-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAOzE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmBD,qBAAa,mBAAoB,YAAW,cAAc;IACxD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAK;IAE3B;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAuB;gBAExB,MAAM,EAAE,aAAa;IAQjC;;;OAGG;IACG,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBpE;;OAEG;IACG,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/D;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1C,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IA0CrC,UAAU,IAAI,UAAU,EAAE;IAMpB,KAAK,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9C,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAO5B,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAQhD;;OAEG;IACH,iBAAiB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC;QACvD,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAeF;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAU5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAiC/B"}
1
+ {"version":3,"file":"graph-context-manager.d.ts","sourceRoot":"","sources":["../../../src/plugins/agent-memory/graph-context-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAOzE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmBD,qBAAa,mBAAoB,YAAW,cAAc;IACxD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,cAAc,CAAK;IAE3B;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAuB;IAEpC,0EAA0E;IAC1E,OAAO,CAAC,aAAa,CAA4B;gBAErC,MAAM,EAAE,aAAa;IAQjC;;;OAGG;IACG,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBpE;;OAEG;IACG,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/D;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1C,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IA4CrC,UAAU,IAAI,UAAU,EAAE;IAMpB,KAAK,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B9C,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAO5B,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAQhD;;OAEG;IACH,iBAAiB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC;QACvD,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAeF;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAM5B,qEAAqE;IAC/D,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvC,OAAO,CAAC,UAAU;IAOlB;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAiC/B"}
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  TrellisVcsEngine,
4
4
  init_engine
5
- } from "./index-8f2z3b0h.js";
6
- import"./index-p3nnc7ac.js";
7
- import"./index-65z0xfjw.js";
8
- import"./index-v9b4hqa7.js";
5
+ } from "./index-rv1p47gp.js";
6
+ import"./index-xhcp6xrn.js";
7
+ import"./index-4cdr7x2x.js";
8
+ import"./index-nzb3am4f.js";
9
9
  import"./index-yhwjgfvj.js";
10
10
  import"./index-a76rekgs.js";
11
11
 
@@ -13,7 +13,13 @@ export interface BranchInfo {
13
13
  }
14
14
  export interface BranchState {
15
15
  currentBranch: string;
16
+ /** Active agent lane (W1.1). */
17
+ activeLaneId?: string;
16
18
  }
19
+ /** Whether an integration-journal op should emit a follow-up branchAdvance (ADR 0004). */
20
+ export declare function shouldAdvanceBranchHead(kind: string): boolean;
21
+ /** Read branch:NAME headOpHash from the materialized store (latest wins). */
22
+ export declare function getBranchHeadOpHash(ctx: EngineContext, branchName: string): string | undefined;
17
23
  /**
18
24
  * Create a new branch forked from the current branch.
19
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../src/vcs/branch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMzD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD;;GAEG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,KAAK,CAAC,CAmBhB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,MAAM,GACX,IAAI,CAON;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,MAAM,GACpB,UAAU,EAAE,CAmBd;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,KAAK,CAAC,CAkBhB;AAMD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAG1E;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAY7D"}
1
+ {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../src/vcs/branch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMzD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AASD,0FAA0F;AAC1F,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAKpB;AAMD;;GAEG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,KAAK,CAAC,CAmBhB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,MAAM,GACX,IAAI,CAON;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,MAAM,GACpB,UAAU,EAAE,CAmBd;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,KAAK,CAAC,CAkBhB;AAMD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAG1E;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAe7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"decompose.d.ts","sourceRoot":"","sources":["../../src/vcs/decompose.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAUxC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,WAAW,EAAE,IAAI,EAAE,CAAC;IACpB,WAAW,EAAE,IAAI,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,KAAK,GAAG,YAAY,CAgcjD"}
1
+ {"version":3,"file":"decompose.d.ts","sourceRoot":"","sources":["../../src/vcs/decompose.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAWxC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,WAAW,EAAE,IAAI,EAAE,CAAC;IACpB,WAAW,EAAE,IAAI,EAAE,CAAC;CACrB;AA4BD;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,KAAK,GAAG,YAAY,CAyjBjD"}
@@ -6,6 +6,13 @@
6
6
  */
7
7
  import type { EAVStore } from '../core/store/eav-store.js';
8
8
  import type { VcsOp } from './types.js';
9
+ /** Options for engine op ingestion (integration vs lane journals). */
10
+ export interface ApplyOpOptions {
11
+ /** Skip emitting vcs:branchAdvance after this op (replay, promote, advance ops). */
12
+ skipBranchAdvance?: boolean;
13
+ /** Write to integration journal while a lane is active (lane create/drop, promote). */
14
+ allowIntegrationWrite?: boolean;
15
+ }
9
16
  export interface EngineContext {
10
17
  /** The EAV store for querying/mutating graph state. */
11
18
  store: EAVStore;
@@ -15,7 +22,7 @@ export interface EngineContext {
15
22
  readAllOps(): VcsOp[];
16
23
  /** Get the last op in the log. */
17
24
  getLastOp(): VcsOp | undefined;
18
- /** Apply an op (decompose + persist + auto-checkpoint flag). */
19
- applyOp(op: VcsOp): void;
25
+ /** Apply an op (decompose + persist + branch advance + auto-checkpoint flag). */
26
+ applyOp(op: VcsOp, opts?: ApplyOpOptions): Promise<void>;
20
27
  }
21
28
  //# sourceMappingURL=engine-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine-context.d.ts","sourceRoot":"","sources":["../../src/vcs/engine-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,KAAK,EAAE,QAAQ,CAAC;IAEhB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAEhB,gCAAgC;IAChC,UAAU,IAAI,KAAK,EAAE,CAAC;IAEtB,kCAAkC;IAClC,SAAS,IAAI,KAAK,GAAG,SAAS,CAAC;IAE/B,gEAAgE;IAChE,OAAO,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC;CAC1B"}
1
+ {"version":3,"file":"engine-context.d.ts","sourceRoot":"","sources":["../../src/vcs/engine-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAQ,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uFAAuF;IACvF,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,KAAK,EAAE,QAAQ,CAAC;IAEhB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAEhB,gCAAgC;IAChC,UAAU,IAAI,KAAK,EAAE,CAAC;IAEtB,kCAAkC;IAClC,SAAS,IAAI,KAAK,GAAG,SAAS,CAAC;IAE/B,iFAAiF;IACjF,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D"}
@@ -20,4 +20,6 @@ export * from './checkpoint.js';
20
20
  export * from './diff.js';
21
21
  export * from './merge.js';
22
22
  export * from './issue.js';
23
+ export * from './op-log.js';
24
+ export * from './lane.js';
23
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vcs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vcs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
package/dist/vcs/index.js CHANGED
@@ -1,9 +1,11 @@
1
1
  // @bun
2
2
  import {
3
3
  VcsMiddleware
4
- } from "../index-r5064492.js";
4
+ } from "../index-nq520y6k.js";
5
5
  import {
6
6
  BlobStore,
7
+ JsonOpLog,
8
+ LaneOpLog,
7
9
  addCriterion,
8
10
  assignIssue,
9
11
  blockIssue,
@@ -13,6 +15,7 @@ import {
13
15
  createBranch,
14
16
  createCheckpoint,
15
17
  createIssue,
18
+ createLaneMeta,
16
19
  createMilestone,
17
20
  decompose,
18
21
  deleteBranch,
@@ -20,27 +23,39 @@ import {
20
23
  diffOpRange,
21
24
  generateUnifiedDiff,
22
25
  getActiveIssues,
26
+ getBranchHeadOpHash,
23
27
  getIssue,
28
+ laneDir,
29
+ laneMetaPath,
30
+ lanesRoot,
24
31
  listBranches,
25
32
  listCheckpoints,
26
33
  listIssues,
34
+ listLaneIds,
35
+ listLaneMetas,
27
36
  listMilestones,
28
37
  loadBranchState,
38
+ loadLaneMeta,
29
39
  myersDiff,
40
+ newLaneId,
30
41
  pauseIssue,
31
42
  reopenIssue,
43
+ resolveLaneHeadFromJournal,
32
44
  resumeIssue,
33
45
  runCriteria,
34
46
  saveBranchState,
47
+ saveLaneMeta,
35
48
  setCriterionStatus,
49
+ shouldAdvanceBranchHead,
36
50
  startIssue,
37
51
  switchBranch,
38
52
  threeWayMerge,
39
53
  threeWayTextMerge,
40
54
  triageIssue,
41
55
  unblockIssue,
42
- updateIssue
43
- } from "../index-p3nnc7ac.js";
56
+ updateIssue,
57
+ updateLaneHead
58
+ } from "../index-xhcp6xrn.js";
44
59
  import {
45
60
  DEFAULT_CONFIG,
46
61
  branchEntityId,
@@ -53,10 +68,12 @@ import {
53
68
  isVcsOp,
54
69
  isVcsOpKind,
55
70
  issueEntityId,
71
+ laneEntityId,
56
72
  milestoneEntityId
57
- } from "../index-v9b4hqa7.js";
73
+ } from "../index-nzb3am4f.js";
58
74
  import"../index-a76rekgs.js";
59
75
  export {
76
+ updateLaneHead,
60
77
  updateIssue,
61
78
  unblockIssue,
62
79
  triageIssue,
@@ -64,23 +81,35 @@ export {
64
81
  threeWayMerge,
65
82
  switchBranch,
66
83
  startIssue,
84
+ shouldAdvanceBranchHead,
67
85
  setCriterionStatus,
86
+ saveLaneMeta,
68
87
  saveBranchState,
69
88
  runCriteria,
70
89
  resumeIssue,
90
+ resolveLaneHeadFromJournal,
71
91
  reopenIssue,
72
92
  pauseIssue,
93
+ newLaneId,
73
94
  myersDiff,
74
95
  milestoneEntityId,
96
+ loadLaneMeta,
75
97
  loadBranchState,
76
98
  listMilestones,
99
+ listLaneMetas,
100
+ listLaneIds,
77
101
  listIssues,
78
102
  listCheckpoints,
79
103
  listBranches,
104
+ lanesRoot,
105
+ laneMetaPath,
106
+ laneEntityId,
107
+ laneDir,
80
108
  issueEntityId,
81
109
  isVcsOpKind,
82
110
  isVcsOp,
83
111
  getIssue,
112
+ getBranchHeadOpHash,
84
113
  getActiveIssues,
85
114
  generateUnifiedDiff,
86
115
  fileEntityId,
@@ -93,6 +122,7 @@ export {
93
122
  criterionEntityId,
94
123
  createVcsOp,
95
124
  createMilestone,
125
+ createLaneMeta,
96
126
  createIssue,
97
127
  createCheckpoint,
98
128
  createBranch,
@@ -105,6 +135,8 @@ export {
105
135
  assignIssue,
106
136
  addCriterion,
107
137
  VcsMiddleware,
138
+ LaneOpLog,
139
+ JsonOpLog,
108
140
  DEFAULT_CONFIG,
109
141
  BlobStore
110
142
  };
@@ -76,6 +76,8 @@ export declare function updateIssue(ctx: EngineContext, id: string, updates: {
76
76
  labels?: string[];
77
77
  assignee?: string;
78
78
  status?: 'backlog' | 'queue' | 'in_progress' | 'paused' | 'closed';
79
+ /** Set parent issue id, or `null` to remove an existing parent link. */
80
+ parentId?: string | null;
79
81
  }): Promise<VcsOp>;
80
82
  /**
81
83
  * Start working on an issue: sets in_progress, auto-assigns, creates branch.
@@ -1 +1 @@
1
- {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/vcs/issue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/vcs/issue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Integration materialization cache + lane overlay (W4 lazy replay).
3
+ *
4
+ * ADR 0001: do not replay all lane journals on every open — cache integration
5
+ * state and overlay only the active lane journal.
6
+ */
7
+ import { EAVStore } from '../core/store/eav-store.js';
8
+ import type { VcsOp } from './types.js';
9
+ export interface MaterializationStats {
10
+ /** Integration ops replayed in the last materialize call (0 = cache hit). */
11
+ integrationOpsReplayed: number;
12
+ /** Lane ops replayed in the last overlay call. */
13
+ laneOpsReplayed: number;
14
+ /** True when integration cache tail matched the journal tail. */
15
+ integrationCacheHit: boolean;
16
+ /** Integration journal tail hash after last materialize. */
17
+ integrationTailHash?: string;
18
+ }
19
+ export interface IntegrationCache {
20
+ tailHash: string | undefined;
21
+ store: EAVStore;
22
+ }
23
+ export declare function emptyMaterializationStats(): MaterializationStats;
24
+ export declare function replayOpIntoStore(store: EAVStore, op: VcsOp): void;
25
+ /** Clone an EAV store via snapshot/restore (lane overlay fork point). */
26
+ export declare function cloneStore(source: EAVStore): EAVStore;
27
+ export declare function materializeIntegrationOps(ops: VcsOp[], cache: IntegrationCache | null, tailHash: string | undefined): {
28
+ store: EAVStore;
29
+ cache: IntegrationCache;
30
+ stats: MaterializationStats;
31
+ };
32
+ /** Apply lane journal ops on a fork of the integration store. */
33
+ export declare function overlayLaneOps(integrationStore: EAVStore, laneOps: VcsOp[]): {
34
+ store: EAVStore;
35
+ laneOpsReplayed: number;
36
+ };
37
+ /**
38
+ * Materialize a child-fork lane entry (ADR 0007).
39
+ * Integration through baseOpHash, then parent journal, then child journal.
40
+ */
41
+ export declare function materializeChildForkEntry(integrationOps: VcsOp[], baseOpHash: string, parentLaneOps: VcsOp[], childLaneOps: VcsOp[]): {
42
+ store: EAVStore;
43
+ stats: MaterializationStats;
44
+ };
45
+ //# sourceMappingURL=lane-materialize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lane-materialize.d.ts","sourceRoot":"","sources":["../../src/vcs/lane-materialize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,oBAAoB;IACnC,6EAA6E;IAC7E,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kDAAkD;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,mBAAmB,EAAE,OAAO,CAAC;IAC7B,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,wBAAgB,yBAAyB,IAAI,oBAAoB,CAMhE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,GAAG,IAAI,CAMlE;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAIrD;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,KAAK,EAAE,EACZ,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,CA6B3E;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,QAAQ,EAC1B,OAAO,EAAE,KAAK,EAAE,GACf;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAM9C;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,KAAK,EAAE,EACvB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,KAAK,EAAE,EACtB,YAAY,EAAE,KAAK,EAAE,GACpB;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,CA0BlD"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Agent Lane promotion — conflict detection and replay planning (ADR 0002, ADR 0003).
3
+ */
4
+ import { EAVStore } from '../core/store/eav-store.js';
5
+ import type { BlobStore } from './blob-store.js';
6
+ import type { LaneMeta } from './lane.js';
7
+ import type { VcsOp } from './types.js';
8
+ export interface LaneConflict {
9
+ class: 'safe' | 'soft' | 'hard' | 'file';
10
+ laneOpHash: string;
11
+ entityId?: string;
12
+ attribute?: string;
13
+ filePath?: string;
14
+ integrationValue?: unknown;
15
+ laneValue?: unknown;
16
+ suggestion?: 'accept-ours' | 'accept-theirs' | 'manual';
17
+ message?: string;
18
+ }
19
+ export interface PromoteOpAction {
20
+ sourceOp: VcsOp;
21
+ /** Populated when a clean three-way file merge produced new content. */
22
+ mergedContent?: string;
23
+ }
24
+ export interface LanePromotePlan {
25
+ laneId: string;
26
+ targetBranch: string;
27
+ snapshotHead: string;
28
+ baseOpHash: string;
29
+ opsToReplay: PromoteOpAction[];
30
+ conflicts: LaneConflict[];
31
+ blockingConflicts: LaneConflict[];
32
+ safeOpCount: number;
33
+ canPromote: boolean;
34
+ }
35
+ export interface LanePromoteResult extends LanePromotePlan {
36
+ promoted: boolean;
37
+ integrationOpsAppended?: number;
38
+ completeOpHash?: string;
39
+ }
40
+ export interface PlanLanePromoteParams {
41
+ laneId: string;
42
+ meta: LaneMeta;
43
+ targetBranch: string;
44
+ snapshotHead: string;
45
+ integrationOps: VcsOp[];
46
+ laneOps: VcsOp[];
47
+ /** Parent lane journal when meta.forkKind === 'child' (ADR 0007). */
48
+ parentLaneOps?: VcsOp[];
49
+ blobStore?: BlobStore | null;
50
+ }
51
+ export declare function resolveBranchHeadFromOps(ops: VcsOp[], branchName: string): string | undefined;
52
+ export declare function buildStoreUpTo(ops: VcsOp[], atOpHash?: string): EAVStore;
53
+ export declare function planLanePromote(params: PlanLanePromoteParams): Promise<LanePromotePlan>;
54
+ export declare function rechainOpForIntegration(op: VcsOp, previousHash: string | undefined): Promise<VcsOp>;
55
+ export declare function formatPromoteExplain(plan: LanePromotePlan): string;
56
+ //# sourceMappingURL=lane-promote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lane-promote.d.ts","sourceRoot":"","sources":["../../src/vcs/lane-promote.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAwB,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAa,MAAM,YAAY,CAAC;AAMnD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,aAAa,GAAG,eAAe,GAAG,QAAQ,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC;IAChB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,iBAAiB,EAAE,YAAY,EAAE,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,QAAQ,EAAE,OAAO,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,KAAK,EAAE,CAAC;IACxB,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,qEAAqE;IACrE,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AA8BD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,KAAK,EAAE,EACZ,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAYpB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAOxE;AAsOD,wBAAsB,eAAe,CACnC,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,eAAe,CAAC,CAsF1B;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,KAAK,EACT,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,KAAK,CAAC,CAShB;AAUD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CA+BlE"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Agent Lane metadata and paths (ADR 0001, terminology ADR 0005).
3
+ * Journal I/O: {@link LaneOpLog} in ./op-log.js
4
+ */
5
+ import type { VcsOp } from './types.js';
6
+ export type LaneStatus = 'active' | 'promoting' | 'promoted' | 'dropped';
7
+ /** ADR 0006 sibling; ADR 0007 child with virtualBaseOpHash. */
8
+ export type LaneForkKind = 'sibling' | 'child';
9
+ export interface LaneMeta {
10
+ id: string;
11
+ status: LaneStatus;
12
+ baseBranch: string;
13
+ baseOpHash: string;
14
+ targetBranch: string;
15
+ headOpHash?: string;
16
+ agentId: string;
17
+ issueId?: string;
18
+ sessionId?: string;
19
+ parentLaneId?: string;
20
+ forkKind?: LaneForkKind;
21
+ forkedAt?: string;
22
+ /** Parent lane head at child fork (ADR 0007). */
23
+ virtualBaseOpHash?: string;
24
+ worktreePath?: string;
25
+ leaseExpiresAt?: string;
26
+ createdAt: string;
27
+ updatedAt: string;
28
+ }
29
+ export declare function lanesRoot(trellisDir: string): string;
30
+ export declare function laneDir(trellisDir: string, laneId: string): string;
31
+ export declare function laneMetaPath(trellisDir: string, laneId: string): string;
32
+ export declare function newLaneId(): string;
33
+ export declare function loadLaneMeta(trellisDir: string, laneId: string): LaneMeta | undefined;
34
+ export declare function saveLaneMeta(trellisDir: string, meta: LaneMeta): void;
35
+ export declare function listLaneIds(trellisDir: string): string[];
36
+ export interface CreateLaneParams {
37
+ baseBranch: string;
38
+ baseOpHash: string;
39
+ agentId: string;
40
+ targetBranch?: string;
41
+ issueId?: string;
42
+ sessionId?: string;
43
+ parentLaneId?: string;
44
+ forkKind?: LaneForkKind;
45
+ forkedAt?: string;
46
+ virtualBaseOpHash?: string;
47
+ worktreePath?: string;
48
+ leaseExpiresAt?: string;
49
+ }
50
+ /** Lane journal tail, else meta head, else integration fork base. */
51
+ export declare function resolveLaneHeadFromJournal(meta: LaneMeta, laneOps: VcsOp[]): string;
52
+ export declare function createLaneMeta(trellisDir: string, params: CreateLaneParams): LaneMeta;
53
+ export declare function updateLaneHead(trellisDir: string, laneId: string, headOpHash: string): void;
54
+ export declare function listLaneMetas(trellisDir: string): LaneMeta[];
55
+ //# sourceMappingURL=lane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lane.d.ts","sourceRoot":"","sources":["../../src/vcs/lane.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,WAAW,GACX,UAAU,GACV,SAAS,CAAC;AAEd,+DAA+D;AAC/D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;AAE/C,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,QAAQ,GAAG,SAAS,CAItB;AAED,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,QAAQ,GACb,IAAI,CAON;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAMxD;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qEAAqE;AACrE,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,KAAK,EAAE,GACf,MAAM,CAER;AAED,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,gBAAgB,GACvB,QAAQ,CAuBV;AAED,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,IAAI,CAMN;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE,CAI5D"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * JSON-file-backed op log (P0).
3
+ * Shared by integration journal and per-lane journals (ADR 0001, ADR 0005).
4
+ */
5
+ import type { VcsOp } from './types.js';
6
+ export declare class JsonOpLog {
7
+ private ops;
8
+ private filePath;
9
+ private lockPath;
10
+ constructor(filePath: string);
11
+ get path(): string;
12
+ load(): void;
13
+ append(op: VcsOp): void;
14
+ readAll(): VcsOp[];
15
+ getLastOp(): VcsOp | undefined;
16
+ count(): number;
17
+ private flush;
18
+ private readOpsFromDisk;
19
+ private withLock;
20
+ static repair(filePath: string): {
21
+ recovered: number;
22
+ lost: number;
23
+ };
24
+ }
25
+ /** Lane journal op log — same implementation, distinct path (ADR 0001, ADR 0005). */
26
+ export declare class LaneOpLog extends JsonOpLog {
27
+ constructor(laneDir: string);
28
+ }
29
+ //# sourceMappingURL=op-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"op-log.d.ts","sourceRoot":"","sources":["../../src/vcs/op-log.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AASxC,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAK5B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI;IAoBZ,MAAM,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI;IAcvB,OAAO,IAAI,KAAK,EAAE;IAIlB,SAAS,IAAI,KAAK,GAAG,SAAS;IAI9B,KAAK,IAAI,MAAM;IAIf,OAAO,CAAC,KAAK;IAgBb,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,QAAQ;IAoChB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;CAkDrE;AAED,qFAAqF;AACrF,qBAAa,SAAU,SAAQ,SAAS;gBAC1B,OAAO,EAAE,MAAM;CAG5B"}