@cerbur/clutch-dsh-worktree 0.1.7 → 0.1.8

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 (102) hide show
  1. package/README.md +28 -8
  2. package/README.zh.md +21 -3
  3. package/lib/client/WorktreeSurface.d.ts.map +1 -1
  4. package/lib/client/WorktreeSurface.js +24 -8
  5. package/lib/client/WorktreeSurface.js.map +1 -1
  6. package/lib/client/locales.d.ts +12 -0
  7. package/lib/client/locales.d.ts.map +1 -1
  8. package/lib/client/locales.js +12 -0
  9. package/lib/client/locales.js.map +1 -1
  10. package/lib/client/worktree-context.js +1 -1
  11. package/lib/client/worktree-context.js.map +1 -1
  12. package/lib/client/worktree-error-copy.d.ts.map +1 -1
  13. package/lib/client/worktree-error-copy.js +8 -0
  14. package/lib/client/worktree-error-copy.js.map +1 -1
  15. package/lib/client/worktree-session.d.ts.map +1 -1
  16. package/lib/client/worktree-session.js +3 -1
  17. package/lib/client/worktree-session.js.map +1 -1
  18. package/lib/client/worktree-surface-rows.d.ts.map +1 -1
  19. package/lib/client/worktree-surface-rows.js +7 -0
  20. package/lib/client/worktree-surface-rows.js.map +1 -1
  21. package/lib/client.js +47 -11
  22. package/lib/client.js.map +1 -1
  23. package/lib/contract/index.d.ts +6 -2
  24. package/lib/contract/index.d.ts.map +1 -1
  25. package/lib/contract/index.js +4 -0
  26. package/lib/contract/index.js.map +1 -1
  27. package/lib/host/dsh-read-adapter.d.ts +1 -0
  28. package/lib/host/dsh-read-adapter.d.ts.map +1 -1
  29. package/lib/host/dsh-read-adapter.js +6 -0
  30. package/lib/host/dsh-read-adapter.js.map +1 -1
  31. package/lib/host/service.d.ts +2 -0
  32. package/lib/host/service.d.ts.map +1 -1
  33. package/lib/host/service.js +6 -1
  34. package/lib/host/service.js.map +1 -1
  35. package/lib/host/worktree-permission-manager.d.ts.map +1 -1
  36. package/lib/host/worktree-permission-manager.js +3 -1
  37. package/lib/host/worktree-permission-manager.js.map +1 -1
  38. package/lib/index.d.ts +2 -1
  39. package/lib/index.d.ts.map +1 -1
  40. package/lib/index.js +1 -0
  41. package/lib/index.js.map +1 -1
  42. package/lib/manage/manager-context.d.ts +2 -0
  43. package/lib/manage/manager-context.d.ts.map +1 -1
  44. package/lib/manage/manager-worktrees.d.ts +5 -0
  45. package/lib/manage/manager-worktrees.d.ts.map +1 -1
  46. package/lib/manage/manager-worktrees.js +125 -37
  47. package/lib/manage/manager-worktrees.js.map +1 -1
  48. package/lib/manage/manager.d.ts +20 -0
  49. package/lib/manage/manager.d.ts.map +1 -1
  50. package/lib/manage/manager.js +91 -13
  51. package/lib/manage/manager.js.map +1 -1
  52. package/lib/manage/types.d.ts +9 -1
  53. package/lib/manage/types.d.ts.map +1 -1
  54. package/lib/provider/git.d.ts +37 -9
  55. package/lib/provider/git.d.ts.map +1 -1
  56. package/lib/provider/git.js +162 -61
  57. package/lib/provider/git.js.map +1 -1
  58. package/lib/provider/index.d.ts +5 -1
  59. package/lib/provider/index.d.ts.map +1 -1
  60. package/lib/provider/index.js +4 -0
  61. package/lib/provider/index.js.map +1 -1
  62. package/lib/provider/mutation-lock.d.ts +37 -0
  63. package/lib/provider/mutation-lock.d.ts.map +1 -0
  64. package/lib/provider/mutation-lock.js +270 -0
  65. package/lib/provider/mutation-lock.js.map +1 -0
  66. package/lib/provider/mutation-token.d.ts +8 -0
  67. package/lib/provider/mutation-token.d.ts.map +1 -0
  68. package/lib/provider/mutation-token.js +20 -0
  69. package/lib/provider/mutation-token.js.map +1 -0
  70. package/lib/provider/repository-fingerprint.d.ts +8 -0
  71. package/lib/provider/repository-fingerprint.d.ts.map +1 -0
  72. package/lib/provider/repository-fingerprint.js +13 -0
  73. package/lib/provider/repository-fingerprint.js.map +1 -0
  74. package/lib/provider/sidecar-persistence.d.ts +7 -3
  75. package/lib/provider/sidecar-persistence.d.ts.map +1 -1
  76. package/lib/provider/sidecar-persistence.js +118 -44
  77. package/lib/provider/sidecar-persistence.js.map +1 -1
  78. package/lib/provider/sidecar-schema.d.ts +1 -1
  79. package/lib/provider/sidecar-schema.d.ts.map +1 -1
  80. package/lib/provider/sidecar-schema.js +140 -8
  81. package/lib/provider/sidecar-schema.js.map +1 -1
  82. package/lib/provider/sidecar.d.ts +3 -1
  83. package/lib/provider/sidecar.d.ts.map +1 -1
  84. package/lib/provider/sidecar.js +6 -1
  85. package/lib/provider/sidecar.js.map +1 -1
  86. package/lib/provider/subprocess.d.ts +37 -0
  87. package/lib/provider/subprocess.d.ts.map +1 -0
  88. package/lib/provider/subprocess.js +319 -0
  89. package/lib/provider/subprocess.js.map +1 -0
  90. package/lib/provider/transaction.d.ts +65 -0
  91. package/lib/provider/transaction.d.ts.map +1 -0
  92. package/lib/provider/transaction.js +1011 -0
  93. package/lib/provider/transaction.js.map +1 -0
  94. package/lib/provider/types.d.ts +98 -7
  95. package/lib/provider/types.d.ts.map +1 -1
  96. package/lib/provider/types.js +1 -1
  97. package/lib/provider/types.js.map +1 -1
  98. package/lib/typert.host.js +29 -25
  99. package/lib/typert.remote-client.d.ts +2 -2
  100. package/lib/typert.remote-client.d.ts.map +1 -1
  101. package/lib/typert.remote-client.js +29 -25
  102. package/package.json +3 -1
@@ -1,6 +1,6 @@
1
1
  import { type SidecarSnapshot, WorktreeProviderError } from './types.js';
2
2
  export declare function corrupt(pathname: string, message: string, details?: Record<string, string | number>): WorktreeProviderError;
3
- /** Validate v1/v2 on-disk data and return the current in-memory v2 projection. */
3
+ /** Validate v1/v2/v3 on-disk data and return the current in-memory v3 projection. */
4
4
  export declare function validateSidecarSnapshot(value: unknown, pathname: string, generatedWorktreeRoot?: string): SidecarSnapshot;
5
5
  export declare function emptySnapshot(workspaceId: string): SidecarSnapshot;
6
6
  //# sourceMappingURL=sidecar-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidecar-schema.d.ts","sourceRoot":"","sources":["../../src/provider/sidecar-schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,eAAe,EACpB,qBAAqB,EAEtB,MAAM,YAAY,CAAC;AAepB,wBAAgB,OAAO,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAM,GAC5C,qBAAqB,CAEvB;AAyDD,kFAAkF;AAClF,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,eAAe,CAyDjB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CAOlE"}
1
+ {"version":3,"file":"sidecar-schema.d.ts","sourceRoot":"","sources":["../../src/provider/sidecar-schema.ts"],"names":[],"mappings":"AAIA,OAAO,EAML,KAAK,eAAe,EACpB,qBAAqB,EAEtB,MAAM,YAAY,CAAC;AA0BpB,wBAAgB,OAAO,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAM,GAC5C,qBAAqB,CAEvB;AAqKD,qFAAqF;AACrF,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,eAAe,CA8FjB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CAQlE"}
@@ -1,15 +1,22 @@
1
1
  import path from 'node:path';
2
+ import { createRepositoryFingerprint } from './repository-fingerprint.js';
2
3
  import { LEGACY_SIDECAR_SCHEMA_VERSION, SIDECAR_SCHEMA_VERSION, providerError, } from './types.js';
3
4
  const LEGACY_WORKTREE_KEYS = ['absolutePath', 'branch', 'status', 'workspaceId', 'worktreeId'];
4
5
  const WORKTREE_KEYS = ['absolutePath', 'branch', 'source', 'status', 'workspaceId', 'worktreeId'];
5
6
  const BINDING_KEYS = ['sessionId', 'status', 'workspaceId', 'worktreeId'];
6
- const SNAPSHOT_KEYS = ['bindings', 'schemaVersion', 'workspaceId', 'worktrees'];
7
+ const LEGACY_SNAPSHOT_KEYS = ['bindings', 'schemaVersion', 'workspaceId', 'worktrees'];
8
+ const V3_REQUIRED_SNAPSHOT_KEYS = ['bindings', 'revision', 'schemaVersion', 'workspaceId', 'worktrees'];
9
+ const V3_OPTIONAL_SNAPSHOT_KEYS = ['pendingOperation', 'recoveryIssues', 'repository', 'repositoryFingerprint'];
7
10
  function isObject(value) {
8
11
  return typeof value === 'object' && value !== null && !Array.isArray(value);
9
12
  }
10
13
  function hasExactKeys(value, keys) {
11
14
  return JSON.stringify(Object.keys(value).sort()) === JSON.stringify([...keys].sort());
12
15
  }
16
+ function hasAllowedKeys(value, required, optional = []) {
17
+ const allowed = new Set([...required, ...optional]);
18
+ return required.every((key) => Object.hasOwn(value, key)) && Object.keys(value).every((key) => allowed.has(key));
19
+ }
13
20
  export function corrupt(pathname, message, details = {}) {
14
21
  return providerError('SIDECAR_CORRUPT', `${message}: ${pathname}`, { path: pathname, ...details });
15
22
  }
@@ -37,6 +44,93 @@ function assertBinding(value, pathname) {
37
44
  throw corrupt(pathname, 'invalid Session binding');
38
45
  }
39
46
  }
47
+ function assertRepositoryIdentity(value, pathname) {
48
+ if (!isObject(value) ||
49
+ !hasExactKeys(value, ['commonDirectory', 'topLevel']) ||
50
+ typeof value.topLevel !== 'string' ||
51
+ !path.isAbsolute(value.topLevel) ||
52
+ typeof value.commonDirectory !== 'string' ||
53
+ !path.isAbsolute(value.commonDirectory)) {
54
+ throw corrupt(pathname, 'invalid repository identity');
55
+ }
56
+ }
57
+ function assertPendingOperation(value, pathname) {
58
+ if (!isObject(value))
59
+ throw corrupt(pathname, 'invalid pending operation');
60
+ const commonKeys = [
61
+ 'id',
62
+ 'phase',
63
+ 'startedAt',
64
+ 'targetPath',
65
+ 'type',
66
+ 'workspaceId',
67
+ 'worktreeId',
68
+ ];
69
+ const phaseValid = value.phase === 'prepared' ||
70
+ value.phase === 'executing' ||
71
+ value.phase === 'verifying' ||
72
+ value.phase === 'recovery-needed';
73
+ if (typeof value.id !== 'string' ||
74
+ value.id.length === 0 ||
75
+ typeof value.workspaceId !== 'string' ||
76
+ typeof value.worktreeId !== 'string' ||
77
+ typeof value.targetPath !== 'string' ||
78
+ !path.isAbsolute(value.targetPath) ||
79
+ typeof value.startedAt !== 'string' ||
80
+ !phaseValid) {
81
+ throw corrupt(pathname, 'invalid pending operation');
82
+ }
83
+ if (value.repository !== undefined)
84
+ assertRepositoryIdentity(value.repository, pathname);
85
+ if (value.repositoryFingerprint !== undefined &&
86
+ (typeof value.repositoryFingerprint !== 'string' || !/^v1-[a-f0-9]{64}$/.test(value.repositoryFingerprint))) {
87
+ throw corrupt(pathname, 'invalid pending repository fingerprint');
88
+ }
89
+ if (value.repository === undefined && value.repositoryFingerprint === undefined) {
90
+ throw corrupt(pathname, 'pending operation has no repository identity');
91
+ }
92
+ if (value.type === 'create-worktree') {
93
+ if (!hasAllowedKeys(value, commonKeys, ['baseCommit', 'baseRef', 'branch', 'repository', 'repositoryFingerprint']) ||
94
+ typeof value.branch !== 'string' ||
95
+ (value.baseCommit !== undefined && typeof value.baseCommit !== 'string') ||
96
+ (value.baseRef !== undefined && typeof value.baseRef !== 'string')) {
97
+ throw corrupt(pathname, 'invalid create pending operation');
98
+ }
99
+ return;
100
+ }
101
+ if (value.type === 'remove-worktree') {
102
+ if (!hasAllowedKeys(value, [...commonKeys, 'branch', 'source'], ['repository', 'repositoryFingerprint']) ||
103
+ typeof value.branch !== 'string' ||
104
+ (value.source !== 'plugin' && value.source !== 'external')) {
105
+ throw corrupt(pathname, 'invalid remove pending operation');
106
+ }
107
+ return;
108
+ }
109
+ throw corrupt(pathname, 'unknown pending operation type');
110
+ }
111
+ function normalizePendingOperation(operation) {
112
+ // A short-lived v3 development build wrote the full repository identity into
113
+ // the journal. Keep accepting that shape, but never carry the raw paths into
114
+ // the current in-memory/write projection once the fingerprint is available.
115
+ const legacyOperation = operation;
116
+ const { repository: _repository, ...withoutRepository } = legacyOperation;
117
+ void _repository;
118
+ return {
119
+ ...withoutRepository,
120
+ repositoryFingerprint: legacyOperation.repositoryFingerprint ??
121
+ createRepositoryFingerprint(legacyOperation.repository),
122
+ };
123
+ }
124
+ function assertRecoveryIssue(value, pathname) {
125
+ if (!isObject(value) ||
126
+ !hasAllowedKeys(value, ['code', 'observedAt'], ['operationId', 'worktreeId']) ||
127
+ (value.code !== 'WORKTREE_RECOVERY_REQUIRED' && value.code !== 'WORKTREE_IDENTITY_CHANGED') ||
128
+ typeof value.observedAt !== 'string' ||
129
+ (value.operationId !== undefined && typeof value.operationId !== 'string') ||
130
+ (value.worktreeId !== undefined && typeof value.worktreeId !== 'string')) {
131
+ throw corrupt(pathname, 'invalid recovery issue');
132
+ }
133
+ }
40
134
  function normalizeWorktreeRecord(record, schemaVersion) {
41
135
  return schemaVersion === LEGACY_SIDECAR_SCHEMA_VERSION
42
136
  ? { ...record, source: 'plugin' }
@@ -53,21 +147,46 @@ function assertGeneratedPluginPath(record, pathname, generatedWorktreeRoot) {
53
147
  throw corrupt(pathname, 'Worktree path is outside the generated DSH Home root');
54
148
  }
55
149
  }
56
- /** Validate v1/v2 on-disk data and return the current in-memory v2 projection. */
150
+ /** Validate v1/v2/v3 on-disk data and return the current in-memory v3 projection. */
57
151
  export function validateSidecarSnapshot(value, pathname, generatedWorktreeRoot) {
58
- if (!isObject(value) ||
59
- !hasExactKeys(value, SNAPSHOT_KEYS) ||
60
- (value.schemaVersion !== LEGACY_SIDECAR_SCHEMA_VERSION && value.schemaVersion !== SIDECAR_SCHEMA_VERSION) ||
61
- typeof value.workspaceId !== 'string' ||
62
- !Array.isArray(value.worktrees) ||
63
- !Array.isArray(value.bindings)) {
152
+ if (!isObject(value) || typeof value.schemaVersion !== 'number' || typeof value.workspaceId !== 'string') {
64
153
  throw corrupt(pathname, 'invalid sidecar snapshot');
65
154
  }
66
155
  const schemaVersion = value.schemaVersion;
156
+ const validShape = schemaVersion === LEGACY_SIDECAR_SCHEMA_VERSION
157
+ ? hasExactKeys(value, LEGACY_SNAPSHOT_KEYS)
158
+ : schemaVersion === 2
159
+ ? hasExactKeys(value, ['bindings', 'schemaVersion', 'workspaceId', 'worktrees'])
160
+ : schemaVersion === SIDECAR_SCHEMA_VERSION &&
161
+ hasAllowedKeys(value, V3_REQUIRED_SNAPSHOT_KEYS, V3_OPTIONAL_SNAPSHOT_KEYS);
162
+ if (!validShape || !Array.isArray(value.worktrees) || !Array.isArray(value.bindings)) {
163
+ throw corrupt(pathname, 'invalid sidecar snapshot');
164
+ }
165
+ if (schemaVersion !== LEGACY_SIDECAR_SCHEMA_VERSION && schemaVersion !== 2 && schemaVersion !== SIDECAR_SCHEMA_VERSION) {
166
+ throw corrupt(pathname, 'unsupported sidecar schema version', { schemaVersion });
167
+ }
168
+ if (schemaVersion === SIDECAR_SCHEMA_VERSION &&
169
+ (typeof value.revision !== 'string' || !/^\d+$/.test(value.revision))) {
170
+ throw corrupt(pathname, 'invalid sidecar revision');
171
+ }
172
+ if (value.repositoryFingerprint !== undefined &&
173
+ (typeof value.repositoryFingerprint !== 'string' || !/^v1-[a-f0-9]{64}$/.test(value.repositoryFingerprint))) {
174
+ throw corrupt(pathname, 'invalid repository fingerprint');
175
+ }
67
176
  for (const record of value.worktrees)
68
177
  assertWorktreeRecord(record, pathname, schemaVersion);
69
178
  for (const binding of value.bindings)
70
179
  assertBinding(binding, pathname);
180
+ if (value.repository !== undefined)
181
+ assertRepositoryIdentity(value.repository, pathname);
182
+ if (value.pendingOperation !== undefined)
183
+ assertPendingOperation(value.pendingOperation, pathname);
184
+ if (value.recoveryIssues !== undefined) {
185
+ if (!Array.isArray(value.recoveryIssues))
186
+ throw corrupt(pathname, 'invalid recovery issues');
187
+ for (const issue of value.recoveryIssues)
188
+ assertRecoveryIssue(issue, pathname);
189
+ }
71
190
  const workspaceId = value.workspaceId;
72
191
  const worktrees = value.worktrees.map((record) => normalizeWorktreeRecord(record, schemaVersion));
73
192
  const worktreeIds = new Set();
@@ -86,6 +205,9 @@ export function validateSidecarSnapshot(value, pathname, generatedWorktreeRoot)
86
205
  throw corrupt(pathname, 'Session binding belongs to another Workspace');
87
206
  }
88
207
  }
208
+ if (value.pendingOperation !== undefined && value.pendingOperation.workspaceId !== workspaceId) {
209
+ throw corrupt(pathname, 'pending operation belongs to another Workspace');
210
+ }
89
211
  const activeSessions = new Set();
90
212
  for (const binding of value.bindings) {
91
213
  if (binding.status !== 'active')
@@ -101,17 +223,27 @@ export function validateSidecarSnapshot(value, pathname, generatedWorktreeRoot)
101
223
  throw corrupt(pathname, 'active binding does not point to an active Worktree');
102
224
  }
103
225
  }
226
+ const pendingOperation = value.pendingOperation === undefined
227
+ ? undefined
228
+ : normalizePendingOperation(value.pendingOperation);
229
+ const repositoryFingerprint = value.repositoryFingerprint ??
230
+ (value.repository === undefined ? undefined : createRepositoryFingerprint(value.repository));
104
231
  return {
105
232
  schemaVersion: SIDECAR_SCHEMA_VERSION,
106
233
  workspaceId,
234
+ revision: schemaVersion === SIDECAR_SCHEMA_VERSION ? value.revision : '0',
235
+ ...(repositoryFingerprint !== undefined ? { repositoryFingerprint } : {}),
107
236
  worktrees,
108
237
  bindings: value.bindings,
238
+ ...(pendingOperation !== undefined ? { pendingOperation } : {}),
239
+ ...(value.recoveryIssues !== undefined ? { recoveryIssues: value.recoveryIssues } : {}),
109
240
  };
110
241
  }
111
242
  export function emptySnapshot(workspaceId) {
112
243
  return {
113
244
  schemaVersion: SIDECAR_SCHEMA_VERSION,
114
245
  workspaceId,
246
+ revision: '0',
115
247
  worktrees: [],
116
248
  bindings: [],
117
249
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sidecar-schema.js","sourceRoot":"","sources":["../../src/provider/sidecar-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidecar-schema.js","sourceRoot":"","sources":["../../src/provider/sidecar-schema.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { SessionBinding, WorktreeId, WorktreeRecord } from '../contract/index.js';
2
- import { type SidecarMutation, type SidecarSnapshot, type SidecarStore } from './types.js';
2
+ import { type LockedSidecarStore, type SidecarMutation, type SidecarSnapshot, type SidecarStore } from './types.js';
3
3
  export { validateSidecarSnapshot } from './sidecar-schema.js';
4
4
  /**
5
5
  * Workspace-sharded sidecar repository. This class owns relationship transitions;
@@ -19,6 +19,8 @@ export declare class WorkspaceShardedSidecarRepository implements SidecarStore {
19
19
  read(workspaceId: string): Promise<SidecarSnapshot>;
20
20
  /** Serialize, validate, and atomically commit one Workspace relation transition. */
21
21
  mutate<T>(workspaceId: string, mutation: (snapshot: SidecarSnapshot) => SidecarMutation<T> | Promise<SidecarMutation<T>>): Promise<T>;
22
+ /** Hold the shard lock across a compound Git/sidecar transaction. */
23
+ runExclusive<T>(workspaceId: string, operation: (locked: LockedSidecarStore) => Promise<T>): Promise<T>;
22
24
  /** Idempotently insert a Worktree record by ID. */
23
25
  upsertWorktree(record: WorktreeRecord): Promise<WorktreeRecord>;
24
26
  /** Move one Worktree before an optional anchor while preserving sidecar order. */
@@ -1 +1 @@
1
- {"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../../src/provider/sidecar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EAElB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AA0B9D;;;GAGG;AACH,qBAAa,iCAAkC,YAAW,YAAY;IACpE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;gBAErC,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAOrD,4DAA4D;IAC5D,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIzC,mDAAmD;IACnD,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAInD,oFAAoF;IACpF,MAAM,CAAC,CAAC,EACN,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACxF,OAAO,CAAC,CAAC,CAAC;IAIb,mDAAmD;IAC7C,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAuBrE,kFAAkF;IAC5E,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,gBAAgB,CAAC,EAAE,UAAU,GAC5B,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC;IA+CjC,kFAAkF;IAC5E,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;CAkBtE"}
1
+ {"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../../src/provider/sidecar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EAElB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AA0B9D;;;GAGG;AACH,qBAAa,iCAAkC,YAAW,YAAY;IACpE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;gBAErC,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAOrD,4DAA4D;IAC5D,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAIzC,mDAAmD;IACnD,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAInD,oFAAoF;IACpF,MAAM,CAAC,CAAC,EACN,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACxF,OAAO,CAAC,CAAC,CAAC;IAIb,qEAAqE;IACrE,YAAY,CAAC,CAAC,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,GACpD,OAAO,CAAC,CAAC,CAAC;IAIb,mDAAmD;IAC7C,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAwBrE,kFAAkF;IAC5E,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,gBAAgB,CAAC,EAAE,UAAU,GAC5B,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC;IA+CjC,kFAAkF;IAC5E,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;CAkBtE"}
@@ -45,10 +45,15 @@ export class WorkspaceShardedSidecarRepository {
45
45
  mutate(workspaceId, mutation) {
46
46
  return this.persistence.mutate(workspaceId, mutation);
47
47
  }
48
+ /** Hold the shard lock across a compound Git/sidecar transaction. */
49
+ runExclusive(workspaceId, operation) {
50
+ return this.persistence.runExclusive(workspaceId, operation);
51
+ }
48
52
  /** Idempotently insert a Worktree record by ID. */
49
53
  async upsertWorktree(record) {
50
- const { health: _health, ...withoutHealth } = record;
54
+ const { health: _health, mutationToken: _mutationToken, ...withoutHealth } = record;
51
55
  void _health;
56
+ void _mutationToken;
52
57
  const persistedRecord = { ...withoutHealth, source: record.source ?? 'plugin' };
53
58
  return this.mutate(record.workspaceId, (snapshot) => {
54
59
  const existing = snapshot.worktrees.find((candidate) => candidate.worktreeId === persistedRecord.worktreeId);
@@ -1 +1 @@
1
- {"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/provider/sidecar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/provider/sidecar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { GitSubprocessRuntime } from './types.js';
2
+ export interface GitCommandResult {
3
+ readonly stdout: string;
4
+ readonly stderr: string;
5
+ }
6
+ export interface GitRunnerOptions {
7
+ readonly timeoutMs: number;
8
+ readonly graceMs: number;
9
+ /** Bounded best-effort wait after asking the subprocess tree to terminate. */
10
+ readonly cleanupTimeoutMs: number;
11
+ readonly maxOutputBytes: number;
12
+ readonly readOnly: boolean;
13
+ readonly signal?: AbortSignal;
14
+ readonly subprocess?: GitSubprocessRuntime;
15
+ }
16
+ export declare class GitCommandError extends Error {
17
+ readonly args: readonly string[];
18
+ readonly cwd: string;
19
+ readonly stdout: string;
20
+ readonly stderr: string;
21
+ readonly exitCode: number | string | null;
22
+ readonly timedOut: boolean;
23
+ readonly aborted: boolean;
24
+ readonly outputTruncated: boolean;
25
+ readonly processTreeDidNotExit: boolean;
26
+ readonly signal?: string;
27
+ constructor(args: readonly string[], cwd: string, stdout: string, stderr: string, exitCode: number | string | null, options: {
28
+ readonly timedOut: boolean;
29
+ readonly aborted: boolean;
30
+ readonly outputTruncated: boolean;
31
+ readonly processTreeDidNotExit?: boolean;
32
+ readonly signal?: string;
33
+ });
34
+ }
35
+ /** Execute one fixed Git argv through DSH subprocess or the direct Node fallback. */
36
+ export declare function runGit(args: readonly string[], cwd: string, executable: string, executableArgs: readonly string[], options: GitRunnerOptions): Promise<GitCommandResult>;
37
+ //# sourceMappingURL=subprocess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subprocess.d.ts","sourceRoot":"","sources":["../../src/provider/subprocess.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAIvD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;CAC5C;AAKD,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAGvB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAChC,OAAO,EAAE;QACP,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;QAClC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;QACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;KAC1B;CAmBJ;AA4XD,qFAAqF;AACrF,wBAAgB,MAAM,CACpB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAQ3B"}