@cerbur/clutch-dsh-worktree 0.1.2 → 0.1.3

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 (90) hide show
  1. package/README.md +20 -5
  2. package/lib/client/WorktreeContext.d.ts +15 -0
  3. package/lib/client/WorktreeContext.d.ts.map +1 -0
  4. package/lib/client/WorktreeContext.js +19 -0
  5. package/lib/client/WorktreeContext.js.map +1 -0
  6. package/lib/client/WorktreeHeroContext.d.ts +10 -0
  7. package/lib/client/WorktreeHeroContext.d.ts.map +1 -0
  8. package/lib/client/WorktreeHeroContext.js +128 -0
  9. package/lib/client/WorktreeHeroContext.js.map +1 -0
  10. package/lib/client/WorktreeOverlay.d.ts +6 -0
  11. package/lib/client/WorktreeOverlay.d.ts.map +1 -0
  12. package/lib/client/WorktreeOverlay.js +8 -0
  13. package/lib/client/WorktreeOverlay.js.map +1 -0
  14. package/lib/client/WorktreeSurface.d.ts +3 -1
  15. package/lib/client/WorktreeSurface.d.ts.map +1 -1
  16. package/lib/client/WorktreeSurface.js +200 -57
  17. package/lib/client/WorktreeSurface.js.map +1 -1
  18. package/lib/client/entry.d.ts +1 -1
  19. package/lib/client/entry.d.ts.map +1 -1
  20. package/lib/client/entry.js +41 -14
  21. package/lib/client/entry.js.map +1 -1
  22. package/lib/client/locales.d.ts +30 -0
  23. package/lib/client/locales.d.ts.map +1 -1
  24. package/lib/client/locales.js +32 -2
  25. package/lib/client/locales.js.map +1 -1
  26. package/lib/client/session-view.d.ts +21 -0
  27. package/lib/client/session-view.d.ts.map +1 -0
  28. package/lib/client/session-view.js +26 -0
  29. package/lib/client/session-view.js.map +1 -0
  30. package/lib/client/sidebar-overlay-geometry.d.ts +1 -0
  31. package/lib/client/sidebar-overlay-geometry.d.ts.map +1 -1
  32. package/lib/client/sidebar-overlay-geometry.js +28 -17
  33. package/lib/client/sidebar-overlay-geometry.js.map +1 -1
  34. package/lib/client/virtual-workspace-membership.d.ts.map +1 -1
  35. package/lib/client/virtual-workspace-membership.js +17 -6
  36. package/lib/client/virtual-workspace-membership.js.map +1 -1
  37. package/lib/client/worktree-connection.d.ts +1 -0
  38. package/lib/client/worktree-connection.d.ts.map +1 -1
  39. package/lib/client/worktree-connection.js +4 -0
  40. package/lib/client/worktree-connection.js.map +1 -1
  41. package/lib/client/worktree-context-store.d.ts +45 -0
  42. package/lib/client/worktree-context-store.d.ts.map +1 -0
  43. package/lib/client/worktree-context-store.js +199 -0
  44. package/lib/client/worktree-context-store.js.map +1 -0
  45. package/lib/client/worktree-context.d.ts +32 -0
  46. package/lib/client/worktree-context.d.ts.map +1 -0
  47. package/lib/client/worktree-context.js +51 -0
  48. package/lib/client/worktree-context.js.map +1 -0
  49. package/lib/client/worktree-error-copy.d.ts.map +1 -1
  50. package/lib/client/worktree-error-copy.js +14 -0
  51. package/lib/client/worktree-error-copy.js.map +1 -1
  52. package/lib/client/worktree-session.d.ts +83 -0
  53. package/lib/client/worktree-session.d.ts.map +1 -0
  54. package/lib/client/worktree-session.js +185 -0
  55. package/lib/client/worktree-session.js.map +1 -0
  56. package/lib/client/worktree-view.d.ts +37 -3
  57. package/lib/client/worktree-view.d.ts.map +1 -1
  58. package/lib/client/worktree-view.js +145 -7
  59. package/lib/client/worktree-view.js.map +1 -1
  60. package/lib/client.js +1003 -133
  61. package/lib/client.js.map +1 -1
  62. package/lib/contract/index.contract.js +2 -0
  63. package/lib/contract/index.contract.js.map +1 -1
  64. package/lib/contract/index.d.ts +17 -2
  65. package/lib/contract/index.d.ts.map +1 -1
  66. package/lib/contract/index.js +2 -0
  67. package/lib/contract/index.js.map +1 -1
  68. package/lib/host/remote.d.ts.map +1 -1
  69. package/lib/host/remote.js +1 -0
  70. package/lib/host/remote.js.map +1 -1
  71. package/lib/host/service.d.ts +6 -1
  72. package/lib/host/service.d.ts.map +1 -1
  73. package/lib/host/service.js +6 -0
  74. package/lib/host/service.js.map +1 -1
  75. package/lib/manage/manager.d.ts +6 -1
  76. package/lib/manage/manager.d.ts.map +1 -1
  77. package/lib/manage/manager.js +12 -1
  78. package/lib/manage/manager.js.map +1 -1
  79. package/lib/provider/sidecar.d.ts +2 -1
  80. package/lib/provider/sidecar.d.ts.map +1 -1
  81. package/lib/provider/sidecar.js +40 -0
  82. package/lib/provider/sidecar.js.map +1 -1
  83. package/lib/provider/types.d.ts +2 -1
  84. package/lib/provider/types.d.ts.map +1 -1
  85. package/lib/provider/types.js.map +1 -1
  86. package/lib/typert.host.js +60 -18
  87. package/lib/typert.remote-client.d.ts +3 -1
  88. package/lib/typert.remote-client.d.ts.map +1 -1
  89. package/lib/typert.remote-client.js +60 -18
  90. package/package.json +6 -2
@@ -1,13 +1,28 @@
1
1
  /** A DSH Session exists even when the external Worktree binding needs repair. */
2
2
  export class WorktreeSessionBindingError extends Error {
3
- code = 'SESSION_BINDING_FAILED';
4
- retryable = true;
3
+ code;
4
+ retryable;
5
+ details;
5
6
  sessionId;
6
7
  cause;
7
8
  constructor(sessionId, cause) {
8
- const reason = cause instanceof Error ? cause.message : String(cause);
9
+ const candidate = typeof cause === 'object' && cause !== null
10
+ ? cause
11
+ : undefined;
12
+ const reason = cause instanceof Error
13
+ ? cause.message
14
+ : typeof candidate?.message === 'string'
15
+ ? candidate.message
16
+ : String(cause);
9
17
  super(reason);
10
18
  this.name = 'WorktreeSessionBindingError';
19
+ const conflict = candidate?.code === 'SESSION_ALREADY_BOUND';
20
+ this.code = conflict ? 'SESSION_ALREADY_BOUND' : 'SESSION_BINDING_FAILED';
21
+ this.retryable = conflict ? false : candidate?.retryable !== false;
22
+ this.details = typeof candidate?.details === 'object' && candidate.details !== null
23
+ && !Array.isArray(candidate.details)
24
+ ? candidate.details
25
+ : {};
11
26
  this.sessionId = sessionId;
12
27
  this.cause = cause;
13
28
  }
@@ -22,10 +37,71 @@ export function stableWorkspaceIds(previous, next) {
22
37
  }
23
38
  return previous;
24
39
  }
40
+ /** Keep only the most recently started Worktree surface refresh authoritative. */
41
+ export function createWorktreeRefreshGuard() {
42
+ let latestGeneration = 0;
43
+ const begin = () => {
44
+ latestGeneration += 1;
45
+ return latestGeneration;
46
+ };
47
+ const isCurrent = (generation) => generation === latestGeneration;
48
+ const invalidate = () => {
49
+ latestGeneration += 1;
50
+ };
51
+ return {
52
+ begin,
53
+ isCurrent,
54
+ invalidate,
55
+ async run(load, onSuccess, onError) {
56
+ const generation = begin();
57
+ let value;
58
+ try {
59
+ value = await load();
60
+ }
61
+ catch (error) {
62
+ if (!isCurrent(generation))
63
+ return;
64
+ onError(error);
65
+ return;
66
+ }
67
+ if (!isCurrent(generation))
68
+ return;
69
+ onSuccess(value);
70
+ },
71
+ };
72
+ }
25
73
  /** Prefer the branch checked out by the DSH Workspace, then fall back to any local branch. */
26
74
  export function selectDefaultBaseBranch(branches) {
27
75
  return branches.find((branch) => branch.isCurrent)?.name ?? branches[0]?.name ?? '';
28
76
  }
77
+ /** Keep a valid user choice across branch-list refreshes, otherwise choose the current branch. */
78
+ export function reconcileBaseBranchSelection(selectedBranch, branches) {
79
+ if (branches.some((branch) => branch.name === selectedBranch))
80
+ return selectedBranch;
81
+ return selectDefaultBaseBranch(branches);
82
+ }
83
+ /** Return copyable, read-only setup commands for a Git readiness state. */
84
+ export function worktreeSetupCommands(status) {
85
+ switch (status) {
86
+ case 'noRepository':
87
+ return [
88
+ 'git init',
89
+ 'printf "# README\\n" > README.md',
90
+ 'git add README.md',
91
+ 'git commit -m "Initial commit"',
92
+ ];
93
+ case 'noInitialCommit':
94
+ return [
95
+ 'printf "# README\\n" > README.md',
96
+ 'git add README.md',
97
+ 'git commit -m "Initial commit"',
98
+ ];
99
+ case 'noLocalBranch':
100
+ return ['git switch -c main'];
101
+ case 'ready':
102
+ return [];
103
+ }
104
+ }
29
105
  function browserRandomUuid() {
30
106
  const randomUUID = globalThis.crypto?.randomUUID;
31
107
  if (typeof randomUUID === 'function')
@@ -49,21 +125,76 @@ export function createDefaultWorktreeName(existingNames, randomUuid = browserRan
49
125
  export function filterArchivedSessionIds(sessionIds, archivedSessionIds) {
50
126
  return sessionIds.filter((sessionId) => !archivedSessionIds.includes(sessionId));
51
127
  }
128
+ function readinessFromBranchError(error) {
129
+ const viewError = toWorktreeViewError(error);
130
+ if (viewError.code === 'WORKSPACE_NOT_GIT_REPOSITORY') {
131
+ return { status: 'noRepository', error: viewError };
132
+ }
133
+ if (viewError.code === 'WORKTREE_REQUIRES_INITIAL_COMMIT') {
134
+ return { status: 'noInitialCommit', error: viewError };
135
+ }
136
+ return undefined;
137
+ }
52
138
  /** Read all three Worktree projections needed by the surface in one refresh. */
53
139
  export async function loadWorktreeView(manager, workspaceId) {
54
- const [worktrees, branches, bindings] = await Promise.all([
140
+ const [worktreesResult, branchesResult, bindingsResult] = await Promise.allSettled([
55
141
  manager.listWorktrees({ workspaceId }),
56
142
  manager.listBranches({ workspaceId }),
57
143
  manager.listBindings({ workspaceId }),
58
144
  ]);
59
- return { worktrees, branches, bindings };
145
+ if (worktreesResult.status === 'rejected')
146
+ throw worktreesResult.reason;
147
+ if (bindingsResult.status === 'rejected')
148
+ throw bindingsResult.reason;
149
+ if (branchesResult.status === 'rejected') {
150
+ const readiness = readinessFromBranchError(branchesResult.reason);
151
+ if (readiness !== undefined) {
152
+ return {
153
+ worktrees: worktreesResult.value,
154
+ branches: [],
155
+ bindings: bindingsResult.value,
156
+ readiness,
157
+ };
158
+ }
159
+ throw branchesResult.reason;
160
+ }
161
+ return {
162
+ worktrees: worktreesResult.value,
163
+ branches: branchesResult.value,
164
+ bindings: bindingsResult.value,
165
+ readiness: branchesResult.value.length > 0
166
+ ? { status: 'ready' }
167
+ : { status: 'noLocalBranch' },
168
+ };
60
169
  }
61
170
  /** Load one independent projection per DSH Workspace for the flat sidebar hierarchy. */
62
- export async function loadWorktreeViews(manager, workspaceIds) {
63
- return Promise.all(workspaceIds.map(async (workspaceId) => ({
171
+ export async function loadWorktreeViews(manager, workspaceIds, options = {}) {
172
+ const views = await Promise.all(workspaceIds.map(async (workspaceId) => ({
64
173
  workspaceId,
65
174
  ...(await loadWorktreeView(manager, workspaceId)),
66
175
  })));
176
+ if (options.invalidateContext !== false) {
177
+ await options.invalidateWorktreeContext?.();
178
+ }
179
+ return views;
180
+ }
181
+ /** Resolve a row-half drop target to native-style optional before-anchor semantics. */
182
+ export function resolveWorktreeMove(worktreeIds, sourceWorktreeId, targetWorktreeId, half) {
183
+ const sourceIndex = worktreeIds.indexOf(sourceWorktreeId);
184
+ const targetIndex = worktreeIds.indexOf(targetWorktreeId);
185
+ if (sourceIndex === -1 || targetIndex === -1)
186
+ return undefined;
187
+ const beforeWorktreeId = half === 'before'
188
+ ? targetWorktreeId
189
+ : worktreeIds[targetIndex + 1];
190
+ if (beforeWorktreeId === sourceWorktreeId)
191
+ return undefined;
192
+ const anchorIndex = beforeWorktreeId === undefined
193
+ ? worktreeIds.length
194
+ : worktreeIds.indexOf(beforeWorktreeId);
195
+ if (anchorIndex === sourceIndex || anchorIndex === sourceIndex + 1)
196
+ return undefined;
197
+ return beforeWorktreeId === undefined ? {} : { beforeWorktreeId };
67
198
  }
68
199
  /** Keep mutation routing in the browser Consumer while leaving wire details to the adapter. */
69
200
  export async function executeWorktreeAction(manager, action) {
@@ -123,4 +254,11 @@ export function toWorktreeViewError(error) {
123
254
  retryable: true,
124
255
  };
125
256
  }
257
+ /** Keep ordering mutation/refresh failures reachable from the surface Retry control. */
258
+ export function toRetryableWorktreeOrderError(error) {
259
+ return {
260
+ ...toWorktreeViewError(error),
261
+ retryable: true,
262
+ };
263
+ }
126
264
  //# sourceMappingURL=worktree-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-view.js","sourceRoot":"","sources":["../../src/client/worktree-view.ts"],"names":[],"mappings":"AAOA,iFAAiF;AACjF,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAC3C,IAAI,GAAG,wBAAwB,CAAC;IAChC,SAAS,GAAG,IAAI,CAAC;IACjB,SAAS,CAAS;IAClB,KAAK,CAAU;IAExB,YAAY,SAAiB,EAAE,KAAc;QAC3C,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAYD,sFAAsF;AACtF,MAAM,UAAU,kBAAkB,CAChC,QAA2B,EAC3B,IAAuB;IAEvB,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,uBAAuB,CAAC,QAAiC;IACvE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;AACtF,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC;IACjD,IAAI,OAAO,UAAU,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAChF,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,yBAAyB,CACvC,aAA+B,EAC/B,aAA2B,iBAAiB;IAE5C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACzE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,GAAG,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACjF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAChC,MAAM,SAAS,GAAG,OAAO,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAClD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;AAC5E,CAAC;AAeD,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB,CACtC,UAA6B,EAC7B,kBAAqC;IAErC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACnF,CAAC;AAYD,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAwB,EACxB,WAAmB;IAEnB,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,OAAO,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;QACtC,OAAO,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;QACrC,OAAO,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;KACtC,CAAC,CAAC;IACH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC3C,CAAC;AAED,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAwB,EACxB,YAA+B;IAE/B,OAAO,OAAO,CAAC,GAAG,CAChB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACvC,WAAW;QACX,GAAG,CAAC,MAAM,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;KAClD,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAwB,EACxB,MAA0B;IAE1B,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrC,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,KAK9C;IACC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,2BAA2B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IACD,KAAK,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9B,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1F,MAAM,OAAO,GAAI,KAAwC,CAAC,OAAO,CAAC;IAClE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAChG,OAAO,OAA4C,CAAC;AACtD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,KAIjB,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,YAAY,2BAA2B;YAC1D,CAAC,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;YACjE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB;YAClF,OAAO,EAAE,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACvE,SAAS,EAAE,SAAS,CAAC,SAAS,KAAK,KAAK;YACxC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;SAC9C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"worktree-view.js","sourceRoot":"","sources":["../../src/client/worktree-view.ts"],"names":[],"mappings":"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"}