@cerbur/clutch-dsh-worktree 0.1.17 → 0.1.19

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 (288) hide show
  1. package/README.md +207 -42
  2. package/README.zh.md +174 -38
  3. package/assets/screenshots/screenshots-agent-steer.jpg +0 -0
  4. package/assets/screenshots/screenshots-baseline-sync.png +0 -0
  5. package/lib/client/WorktreeSurface.d.ts.map +1 -1
  6. package/lib/client/WorktreeSurface.js +55 -12
  7. package/lib/client/WorktreeSurface.js.map +1 -1
  8. package/lib/client/branch/GitBranchSelector.d.ts +23 -0
  9. package/lib/client/branch/GitBranchSelector.d.ts.map +1 -0
  10. package/lib/client/branch/GitBranchSelector.js +142 -0
  11. package/lib/client/branch/GitBranchSelector.js.map +1 -0
  12. package/lib/client/context/worktree-context-store.d.ts +3 -1
  13. package/lib/client/context/worktree-context-store.d.ts.map +1 -1
  14. package/lib/client/context/worktree-context-store.js +4 -2
  15. package/lib/client/context/worktree-context-store.js.map +1 -1
  16. package/lib/client/context/worktree-context.d.ts +3 -2
  17. package/lib/client/context/worktree-context.d.ts.map +1 -1
  18. package/lib/client/context/worktree-context.js +5 -3
  19. package/lib/client/context/worktree-context.js.map +1 -1
  20. package/lib/client/dashboard/WorktreeDashboard.d.ts +11 -3
  21. package/lib/client/dashboard/WorktreeDashboard.d.ts.map +1 -1
  22. package/lib/client/dashboard/WorktreeDashboard.js +181 -75
  23. package/lib/client/dashboard/WorktreeDashboard.js.map +1 -1
  24. package/lib/client/dashboard/dashboard-selection.d.ts +8 -3
  25. package/lib/client/dashboard/dashboard-selection.d.ts.map +1 -1
  26. package/lib/client/dashboard/dashboard-selection.js +29 -4
  27. package/lib/client/dashboard/dashboard-selection.js.map +1 -1
  28. package/lib/client/dashboard/git/GitChangedFiles.d.ts +2 -1
  29. package/lib/client/dashboard/git/GitChangedFiles.d.ts.map +1 -1
  30. package/lib/client/dashboard/git/GitChangedFiles.js +8 -6
  31. package/lib/client/dashboard/git/GitChangedFiles.js.map +1 -1
  32. package/lib/client/dashboard/git/GitCommitList.d.ts +6 -1
  33. package/lib/client/dashboard/git/GitCommitList.d.ts.map +1 -1
  34. package/lib/client/dashboard/git/GitCommitList.js +34 -29
  35. package/lib/client/dashboard/git/GitCommitList.js.map +1 -1
  36. package/lib/client/dashboard/git/GitCommitStats.d.ts +8 -0
  37. package/lib/client/dashboard/git/GitCommitStats.d.ts.map +1 -0
  38. package/lib/client/dashboard/git/GitCommitStats.js +7 -0
  39. package/lib/client/dashboard/git/GitCommitStats.js.map +1 -0
  40. package/lib/client/dashboard/git/WorktreeGitOverview.d.ts.map +1 -1
  41. package/lib/client/dashboard/git/WorktreeGitOverview.js +2 -1
  42. package/lib/client/dashboard/git/WorktreeGitOverview.js.map +1 -1
  43. package/lib/client/dashboard/git/WorktreeGitPanel.d.ts +1 -1
  44. package/lib/client/dashboard/git/WorktreeGitPanel.d.ts.map +1 -1
  45. package/lib/client/dashboard/git/WorktreeGitPanel.js +28 -9
  46. package/lib/client/dashboard/git/WorktreeGitPanel.js.map +1 -1
  47. package/lib/client/dashboard/git/file-address.d.ts +5 -2
  48. package/lib/client/dashboard/git/file-address.d.ts.map +1 -1
  49. package/lib/client/dashboard/git/file-address.js +50 -7
  50. package/lib/client/dashboard/git/file-address.js.map +1 -1
  51. package/lib/client/dashboard/git/git-facts.js +1 -1
  52. package/lib/client/dashboard/git/git-facts.js.map +1 -1
  53. package/lib/client/dashboard/git/useWorktreeGitState.d.ts +7 -2
  54. package/lib/client/dashboard/git/useWorktreeGitState.d.ts.map +1 -1
  55. package/lib/client/dashboard/git/useWorktreeGitState.js +84 -21
  56. package/lib/client/dashboard/git/useWorktreeGitState.js.map +1 -1
  57. package/lib/client/dsh-icons.d.ts +2 -0
  58. package/lib/client/dsh-icons.d.ts.map +1 -1
  59. package/lib/client/dsh-icons.js +2 -0
  60. package/lib/client/dsh-icons.js.map +1 -1
  61. package/lib/client/dsh-slot-contract.d.ts +8 -1
  62. package/lib/client/dsh-slot-contract.d.ts.map +1 -1
  63. package/lib/client/entry.d.ts.map +1 -1
  64. package/lib/client/entry.js +22 -4
  65. package/lib/client/entry.js.map +1 -1
  66. package/lib/client/locales.d.ts +86 -2
  67. package/lib/client/locales.d.ts.map +1 -1
  68. package/lib/client/locales.js +100 -16
  69. package/lib/client/locales.js.map +1 -1
  70. package/lib/client/permission/worktree-permission.d.ts.map +1 -1
  71. package/lib/client/permission/worktree-permission.js +14 -6
  72. package/lib/client/permission/worktree-permission.js.map +1 -1
  73. package/lib/client/select/SearchableSingleSelect.d.ts +44 -0
  74. package/lib/client/select/SearchableSingleSelect.d.ts.map +1 -0
  75. package/lib/client/select/SearchableSingleSelect.js +180 -0
  76. package/lib/client/select/SearchableSingleSelect.js.map +1 -0
  77. package/lib/client/select/WorktreeSelector.d.ts +14 -0
  78. package/lib/client/select/WorktreeSelector.d.ts.map +1 -0
  79. package/lib/client/select/WorktreeSelector.js +11 -0
  80. package/lib/client/select/WorktreeSelector.js.map +1 -0
  81. package/lib/client/settings/diagnostics.d.ts +4 -0
  82. package/lib/client/settings/diagnostics.d.ts.map +1 -1
  83. package/lib/client/settings/diagnostics.js +12 -0
  84. package/lib/client/settings/diagnostics.js.map +1 -1
  85. package/lib/client/steer/SteerDock.d.ts +8 -0
  86. package/lib/client/steer/SteerDock.d.ts.map +1 -0
  87. package/lib/client/steer/SteerDock.js +12 -0
  88. package/lib/client/steer/SteerDock.js.map +1 -0
  89. package/lib/client/steer/steer-activity.d.ts +18 -0
  90. package/lib/client/steer/steer-activity.d.ts.map +1 -0
  91. package/lib/client/steer/steer-activity.js +37 -0
  92. package/lib/client/steer/steer-activity.js.map +1 -0
  93. package/lib/client/steer/steer-state.d.ts +24 -0
  94. package/lib/client/steer/steer-state.d.ts.map +1 -0
  95. package/lib/client/steer/steer-state.js +102 -0
  96. package/lib/client/steer/steer-state.js.map +1 -0
  97. package/lib/client/surface/actions/useLifecycleActions.js +1 -1
  98. package/lib/client/surface/actions/useLifecycleActions.js.map +1 -1
  99. package/lib/client/surface/actions/useWorktreeRegistration.d.ts +1 -1
  100. package/lib/client/surface/actions/useWorktreeRegistration.d.ts.map +1 -1
  101. package/lib/client/surface/actions/useWorktreeRegistration.js +32 -11
  102. package/lib/client/surface/actions/useWorktreeRegistration.js.map +1 -1
  103. package/lib/client/surface/components/RegistrationDialog.d.ts +3 -3
  104. package/lib/client/surface/components/RegistrationDialog.d.ts.map +1 -1
  105. package/lib/client/surface/components/RegistrationDialog.js +70 -5
  106. package/lib/client/surface/components/RegistrationDialog.js.map +1 -1
  107. package/lib/client/surface/components/WorkspaceTree.d.ts.map +1 -1
  108. package/lib/client/surface/components/WorkspaceTree.js +11 -8
  109. package/lib/client/surface/components/WorkspaceTree.js.map +1 -1
  110. package/lib/client/surface/components/dialogs.d.ts +1 -1
  111. package/lib/client/surface/components/dialogs.d.ts.map +1 -1
  112. package/lib/client/surface/components/dialogs.js +24 -15
  113. package/lib/client/surface/components/dialogs.js.map +1 -1
  114. package/lib/client/surface/state/useRegistrationState.d.ts +6 -1
  115. package/lib/client/surface/state/useRegistrationState.d.ts.map +1 -1
  116. package/lib/client/surface/state/useRegistrationState.js +7 -0
  117. package/lib/client/surface/state/useRegistrationState.js.map +1 -1
  118. package/lib/client/surface/state/useSurfaceRefresh.d.ts.map +1 -1
  119. package/lib/client/surface/state/useSurfaceRefresh.js +6 -3
  120. package/lib/client/surface/state/useSurfaceRefresh.js.map +1 -1
  121. package/lib/client/surface/types.d.ts +10 -2
  122. package/lib/client/surface/types.d.ts.map +1 -1
  123. package/lib/client/view/worktree-error-copy.d.ts.map +1 -1
  124. package/lib/client/view/worktree-error-copy.js +4 -0
  125. package/lib/client/view/worktree-error-copy.js.map +1 -1
  126. package/lib/client/view/worktree-view-read.d.ts +7 -2
  127. package/lib/client/view/worktree-view-read.d.ts.map +1 -1
  128. package/lib/client/view/worktree-view-read.js +57 -18
  129. package/lib/client/view/worktree-view-read.js.map +1 -1
  130. package/lib/client/worktree-connection.d.ts +4 -0
  131. package/lib/client/worktree-connection.d.ts.map +1 -1
  132. package/lib/client/worktree-connection.js +20 -1
  133. package/lib/client/worktree-connection.js.map +1 -1
  134. package/lib/client.js +2361 -834
  135. package/lib/client.js.map +1 -1
  136. package/lib/contract/baseline-sync.d.ts +27 -0
  137. package/lib/contract/baseline-sync.d.ts.map +1 -0
  138. package/lib/contract/baseline-sync.js +2 -0
  139. package/lib/contract/baseline-sync.js.map +1 -0
  140. package/lib/contract/index.contract.js +16 -0
  141. package/lib/contract/index.contract.js.map +1 -1
  142. package/lib/contract/index.d.ts +73 -12
  143. package/lib/contract/index.d.ts.map +1 -1
  144. package/lib/contract/index.js +4 -0
  145. package/lib/contract/index.js.map +1 -1
  146. package/lib/contract/worktree-permission.d.ts +2 -0
  147. package/lib/contract/worktree-permission.d.ts.map +1 -1
  148. package/lib/contract/worktree-permission.js +1 -1
  149. package/lib/contract/worktree-permission.js.map +1 -1
  150. package/lib/contract/worktree-tool-changes.d.ts +2 -0
  151. package/lib/contract/worktree-tool-changes.d.ts.map +1 -1
  152. package/lib/host/baseline-sync.d.ts +15 -0
  153. package/lib/host/baseline-sync.d.ts.map +1 -0
  154. package/lib/host/baseline-sync.js +93 -0
  155. package/lib/host/baseline-sync.js.map +1 -0
  156. package/lib/host/remote.d.ts +2 -1
  157. package/lib/host/remote.d.ts.map +1 -1
  158. package/lib/host/remote.js +8 -1
  159. package/lib/host/remote.js.map +1 -1
  160. package/lib/host/service.d.ts +18 -6
  161. package/lib/host/service.d.ts.map +1 -1
  162. package/lib/host/service.js +45 -2
  163. package/lib/host/service.js.map +1 -1
  164. package/lib/host/worktree-permission.d.ts +12 -0
  165. package/lib/host/worktree-permission.d.ts.map +1 -1
  166. package/lib/host/worktree-permission.js +87 -16
  167. package/lib/host/worktree-permission.js.map +1 -1
  168. package/lib/host/worktree-tool-changes.d.ts +1 -1
  169. package/lib/host/worktree-tool-changes.d.ts.map +1 -1
  170. package/lib/host/worktree-tool-changes.js +5 -2
  171. package/lib/host/worktree-tool-changes.js.map +1 -1
  172. package/lib/index.d.ts +1 -1
  173. package/lib/index.d.ts.map +1 -1
  174. package/lib/index.js.map +1 -1
  175. package/lib/manage/manager-git-history.d.ts +5 -7
  176. package/lib/manage/manager-git-history.d.ts.map +1 -1
  177. package/lib/manage/manager-git-history.js +158 -65
  178. package/lib/manage/manager-git-history.js.map +1 -1
  179. package/lib/manage/manager-git-paths.d.ts +7 -0
  180. package/lib/manage/manager-git-paths.d.ts.map +1 -0
  181. package/lib/manage/manager-git-paths.js +62 -0
  182. package/lib/manage/manager-git-paths.js.map +1 -0
  183. package/lib/manage/manager-worktrees.d.ts +9 -1
  184. package/lib/manage/manager-worktrees.d.ts.map +1 -1
  185. package/lib/manage/manager-worktrees.js +69 -14
  186. package/lib/manage/manager-worktrees.js.map +1 -1
  187. package/lib/manage/manager.d.ts +17 -5
  188. package/lib/manage/manager.d.ts.map +1 -1
  189. package/lib/manage/manager.js +81 -4
  190. package/lib/manage/manager.js.map +1 -1
  191. package/lib/manage/types.d.ts +5 -0
  192. package/lib/manage/types.d.ts.map +1 -1
  193. package/lib/provider/git/adapter.d.ts +13 -12
  194. package/lib/provider/git/adapter.d.ts.map +1 -1
  195. package/lib/provider/git/adapter.js +152 -29
  196. package/lib/provider/git/adapter.js.map +1 -1
  197. package/lib/provider/git/branch-name.d.ts +5 -0
  198. package/lib/provider/git/branch-name.d.ts.map +1 -0
  199. package/lib/provider/git/branch-name.js +16 -0
  200. package/lib/provider/git/branch-name.js.map +1 -0
  201. package/lib/provider/git/branches.d.ts +11 -0
  202. package/lib/provider/git/branches.d.ts.map +1 -0
  203. package/lib/provider/git/branches.js +37 -0
  204. package/lib/provider/git/branches.js.map +1 -0
  205. package/lib/provider/sidecar/repository.d.ts.map +1 -1
  206. package/lib/provider/sidecar/repository.js +2 -1
  207. package/lib/provider/sidecar/repository.js.map +1 -1
  208. package/lib/provider/sidecar/sidecar-schema.d.ts.map +1 -1
  209. package/lib/provider/sidecar/sidecar-schema.js +2 -0
  210. package/lib/provider/sidecar/sidecar-schema.js.map +1 -1
  211. package/lib/provider/transaction/operations/create.d.ts.map +1 -1
  212. package/lib/provider/transaction/operations/create.js +18 -6
  213. package/lib/provider/transaction/operations/create.js.map +1 -1
  214. package/lib/provider/transaction/recovery/failure-recovery.d.ts.map +1 -1
  215. package/lib/provider/transaction/recovery/failure-recovery.js +3 -2
  216. package/lib/provider/transaction/recovery/failure-recovery.js.map +1 -1
  217. package/lib/provider/transaction/recovery/recover.d.ts.map +1 -1
  218. package/lib/provider/transaction/recovery/recover.js +8 -5
  219. package/lib/provider/transaction/recovery/recover.js.map +1 -1
  220. package/lib/provider/transaction/support/journal.d.ts.map +1 -1
  221. package/lib/provider/transaction/support/journal.js +1 -0
  222. package/lib/provider/transaction/support/journal.js.map +1 -1
  223. package/lib/provider/types.d.ts +24 -4
  224. package/lib/provider/types.d.ts.map +1 -1
  225. package/lib/provider/types.js.map +1 -1
  226. package/lib/tool/agent-relay.d.ts +55 -0
  227. package/lib/tool/agent-relay.d.ts.map +1 -0
  228. package/lib/tool/agent-relay.js +159 -0
  229. package/lib/tool/agent-relay.js.map +1 -0
  230. package/lib/tool/delegation.d.ts +1 -0
  231. package/lib/tool/delegation.d.ts.map +1 -1
  232. package/lib/tool/delegation.js +32 -6
  233. package/lib/tool/delegation.js.map +1 -1
  234. package/lib/tool/dispatch-session.d.ts +18 -0
  235. package/lib/tool/dispatch-session.d.ts.map +1 -0
  236. package/lib/tool/dispatch-session.js +41 -0
  237. package/lib/tool/dispatch-session.js.map +1 -0
  238. package/lib/tool/errors.d.ts +6 -0
  239. package/lib/tool/errors.d.ts.map +1 -1
  240. package/lib/tool/errors.js +16 -2
  241. package/lib/tool/errors.js.map +1 -1
  242. package/lib/tool/guidance.d.ts +1 -0
  243. package/lib/tool/guidance.d.ts.map +1 -1
  244. package/lib/tool/guidance.js +2 -0
  245. package/lib/tool/guidance.js.map +1 -1
  246. package/lib/tool/index.d.ts.map +1 -1
  247. package/lib/tool/index.js +38 -4
  248. package/lib/tool/index.js.map +1 -1
  249. package/lib/tool/inputs.d.ts.map +1 -1
  250. package/lib/tool/inputs.js +6 -6
  251. package/lib/tool/inputs.js.map +1 -1
  252. package/lib/tool/list-models.js +2 -2
  253. package/lib/tool/list-models.js.map +1 -1
  254. package/lib/tool/list-sessions.js +2 -2
  255. package/lib/tool/list-sessions.js.map +1 -1
  256. package/lib/tool/list-worktrees.d.ts.map +1 -1
  257. package/lib/tool/list-worktrees.js +9 -2
  258. package/lib/tool/list-worktrees.js.map +1 -1
  259. package/lib/tool/native-session.d.ts +4 -0
  260. package/lib/tool/native-session.d.ts.map +1 -1
  261. package/lib/tool/native-session.js +17 -0
  262. package/lib/tool/native-session.js.map +1 -1
  263. package/lib/tool/new-worktree.js +4 -4
  264. package/lib/tool/new-worktree.js.map +1 -1
  265. package/lib/tool/report-result.d.ts.map +1 -1
  266. package/lib/tool/report-result.js +9 -7
  267. package/lib/tool/report-result.js.map +1 -1
  268. package/lib/tool/schema.d.ts +8 -0
  269. package/lib/tool/schema.d.ts.map +1 -1
  270. package/lib/tool/schema.js +31 -2
  271. package/lib/tool/schema.js.map +1 -1
  272. package/lib/tool/send-message.d.ts.map +1 -1
  273. package/lib/tool/send-message.js +8 -7
  274. package/lib/tool/send-message.js.map +1 -1
  275. package/lib/tool/span-worktree.d.ts.map +1 -1
  276. package/lib/tool/span-worktree.js +33 -59
  277. package/lib/tool/span-worktree.js.map +1 -1
  278. package/lib/tool/types.d.ts +2 -0
  279. package/lib/tool/types.d.ts.map +1 -1
  280. package/lib/tool/wire-schema.d.ts +4 -0
  281. package/lib/tool/wire-schema.d.ts.map +1 -0
  282. package/lib/tool/wire-schema.js +24 -0
  283. package/lib/tool/wire-schema.js.map +1 -0
  284. package/lib/typert.host.js +283 -52
  285. package/lib/typert.remote-client.d.ts +13 -5
  286. package/lib/typert.remote-client.d.ts.map +1 -1
  287. package/lib/typert.remote-client.js +283 -52
  288. package/package.json +7 -2
@@ -1,13 +1,13 @@
1
1
  import { lstat, mkdtemp, realpath, rm, writeFile } from 'node:fs/promises';
2
2
  import os from 'node:os';
3
3
  import path from 'node:path';
4
+ import { isSafeBranchName } from './branch-name.js';
4
5
  import { GitCommandError, runGit, } from './subprocess.js';
5
6
  import { WorktreeProviderError, providerError } from '../types.js';
6
7
  import { WORKTREE_GIT_COMMIT_PATTERN, WORKTREE_GIT_WORKING_TREE } from '../../contract/index.js';
7
8
  /** Shared with Contract/Manage/Client so commit-SHA validation cannot drift. */
8
9
  const COMMIT_PATTERN = WORKTREE_GIT_COMMIT_PATTERN;
9
- const HISTORY_REQUEST_LIMIT = 201;
10
- const HISTORY_VISIBLE_LIMIT = 200;
10
+ const HISTORY_VISIBLE_LIMIT = 50;
11
11
  /**
12
12
  * Line statistics for untracked files cost one `git diff --no-index` process per
13
13
  * file. A large untracked tree therefore reports unknown counts beyond this
@@ -414,18 +414,28 @@ function parseWorktrees(output) {
414
414
  flush();
415
415
  return worktrees;
416
416
  }
417
- /** Parse `for-each-ref` branch/path pairs without relying on whitespace delimiters. */
417
+ /** Parse exact refs, symrefs and optional checkout paths; tags never affect branch names. */
418
418
  function parseBranchWorktreePaths(output) {
419
419
  const fields = output.split('\0');
420
420
  const branches = [];
421
- for (let index = 0; index + 1 < fields.length; index += 2) {
422
- const name = (fields[index] ?? '').replace(/^\r?\n/u, '');
423
- const worktreePath = fields[index + 1] ?? '';
421
+ for (let index = 0; index + 3 < fields.length; index += 4) {
422
+ const ref = (fields[index] ?? '').replace(/^\r?\n/u, '');
423
+ const symref = fields[index + 2] ?? '';
424
+ const worktreePath = fields[index + 3] ?? '';
425
+ const kind = ref.startsWith('refs/heads/') ? 'local'
426
+ : ref.startsWith('refs/remotes/') ? 'remote' : undefined;
427
+ if (kind === undefined || symref || (kind === 'remote' && ref.endsWith('/HEAD')))
428
+ continue;
429
+ const name = ref.slice(kind === 'local' ? 'refs/heads/'.length : 'refs/remotes/'.length);
424
430
  if (!name)
425
431
  continue;
432
+ const remote = kind === 'remote' ? ref.slice('refs/remotes/'.length).split('/')[0] : undefined;
426
433
  branches.push({
427
434
  name,
428
- ...(worktreePath ? { worktreePath } : {}),
435
+ ref,
436
+ kind,
437
+ ...(remote ? { remote } : {}),
438
+ ...(kind === 'local' && worktreePath ? { worktreePath } : {}),
429
439
  });
430
440
  }
431
441
  return branches;
@@ -435,11 +445,10 @@ function isUnsupportedWorktreePathAtom(error) {
435
445
  }
436
446
  /**
437
447
  * 本地 Git worktree adapter:所有命令都以 DSH Workspace 根目录为 cwd,并仅使用固定的
438
- * 本地子命令;不使用 `--force`,也不访问 remote。
448
+ * 子命令;只有显式 fetchRemoteBranches 会访问已配置的 remote。
439
449
  *
440
450
  * Local Git worktree adapter: every command runs with the DSH Workspace root as
441
- * cwd and uses a fixed local-only subcommand; it never uses `--force` or accesses
442
- * remotes.
451
+ * cwd and uses fixed subcommands. Only explicit fetchRemoteBranches contacts remotes.
443
452
  */
444
453
  export class LocalGitAdapter {
445
454
  executable;
@@ -450,6 +459,7 @@ export class LocalGitAdapter {
450
459
  maxOutputBytes;
451
460
  defaultSignal;
452
461
  subprocess;
462
+ fetches = new Map();
453
463
  constructor(options = {}) {
454
464
  this.executable = options.executable ?? 'git';
455
465
  this.executableArgs = options.executableArgs ?? [];
@@ -643,19 +653,24 @@ export class LocalGitAdapter {
643
653
  throw operationError('count commit divergence', worktreeRoot, undefined, headCommit, error);
644
654
  }
645
655
  }
646
- /** Read at most 201 commits after a boundary, or the complete reachable HEAD history when omitted. */
656
+ /** Read one bounded page using a pinned HEAD for the entire log invocation. */
647
657
  async listCommits(worktreeRoot, baseCommit, options = {}) {
648
658
  if (baseCommit !== undefined)
649
659
  assertCommitArgument(baseCommit, 'list commits', worktreeRoot);
660
+ const offset = options.offset ?? 0;
661
+ if (!Number.isSafeInteger(offset) || offset < 0) {
662
+ throw providerError('WORKTREE_STATE_CONFLICT', 'Invalid history offset', { offset });
663
+ }
650
664
  const headCommit = await this.resolveCommit(worktreeRoot, 'HEAD', options);
651
665
  try {
652
666
  const result = await this.run([
653
667
  'log',
654
668
  '--no-color',
655
669
  '--topo-order',
656
- `--max-count=${HISTORY_REQUEST_LIMIT}`,
670
+ `--max-count=${HISTORY_VISIBLE_LIMIT + 1}`,
671
+ `--skip=${offset}`,
657
672
  '--format=%H%x00%P%x00%s%x00%an%x00%ae%x00%aI%x1e',
658
- ...(baseCommit === undefined ? [] : [`${baseCommit}..HEAD`]),
673
+ baseCommit === undefined ? headCommit : `${baseCommit}..${headCommit}`,
659
674
  ], worktreeRoot, options);
660
675
  const commits = result.stdout
661
676
  .split('\x1e')
@@ -666,6 +681,7 @@ export class LocalGitAdapter {
666
681
  headCommit,
667
682
  commits: commits.slice(0, HISTORY_VISIBLE_LIMIT),
668
683
  truncated: commits.length > HISTORY_VISIBLE_LIMIT,
684
+ ...(commits.length > HISTORY_VISIBLE_LIMIT ? { nextOffset: offset + HISTORY_VISIBLE_LIMIT } : {}),
669
685
  };
670
686
  }
671
687
  catch (error) {
@@ -674,6 +690,62 @@ export class LocalGitAdapter {
674
690
  throw operationError('list commits', worktreeRoot, undefined, baseCommit, error);
675
691
  }
676
692
  }
693
+ async containsCommit(worktreeRoot, commit, headCommit, baseCommit, options = {}) {
694
+ assertCommitArgument(commit, 'authorize commit', worktreeRoot);
695
+ assertCommitArgument(headCommit, 'authorize commit', worktreeRoot);
696
+ if (baseCommit !== undefined)
697
+ assertCommitArgument(baseCommit, 'authorize commit', worktreeRoot);
698
+ try {
699
+ await this.run(['rev-parse', '--verify', '--quiet', `${commit}^{commit}`], worktreeRoot, options);
700
+ }
701
+ catch (error) {
702
+ if (error instanceof GitCommandError && error.exitCode === 1 &&
703
+ !error.timedOut && !error.aborted && !error.outputTruncated)
704
+ return false;
705
+ throw operationError('authorize commit', worktreeRoot, undefined, commit, error);
706
+ }
707
+ const isAncestor = async (head) => {
708
+ try {
709
+ await this.run(['merge-base', '--is-ancestor', commit, head], worktreeRoot, options);
710
+ return true;
711
+ }
712
+ catch (error) {
713
+ if (error instanceof GitCommandError && error.exitCode === 1 &&
714
+ !error.timedOut && !error.aborted && !error.outputTruncated)
715
+ return false;
716
+ throw operationError('authorize commit', worktreeRoot, undefined, commit, error);
717
+ }
718
+ };
719
+ return await isAncestor(headCommit) && (baseCommit === undefined || !await isAncestor(baseCommit));
720
+ }
721
+ async containsCommits(worktreeRoot, commits, headCommit, baseCommit, options = {}) {
722
+ for (const commit of commits)
723
+ assertCommitArgument(commit, 'authorize commits', worktreeRoot);
724
+ assertCommitArgument(headCommit, 'authorize commits', worktreeRoot);
725
+ if (baseCommit !== undefined)
726
+ assertCommitArgument(baseCommit, 'authorize commits', worktreeRoot);
727
+ if (commits.length < 8) {
728
+ for (const commit of commits) {
729
+ if (!await this.containsCommit(worktreeRoot, commit, headCommit, baseCommit, options))
730
+ return false;
731
+ }
732
+ return true;
733
+ }
734
+ try {
735
+ // Large selections share one traversal. The runner's output bound fails
736
+ // closed on oversized histories; a partial membership set is never trusted.
737
+ const result = await this.run(['rev-list', headCommit, ...(baseCommit === undefined ? [] : [`^${baseCommit}`]), '--'], worktreeRoot, options);
738
+ const members = new Set(result.stdout.trim().split(/\s+/u).filter(Boolean));
739
+ for (const member of members)
740
+ assertCommitArgument(member, 'authorize commits', worktreeRoot);
741
+ return commits.every((commit) => members.has(commit));
742
+ }
743
+ catch (error) {
744
+ if (error instanceof WorktreeProviderError)
745
+ throw error;
746
+ throw operationError('authorize commits', worktreeRoot, undefined, headCommit, error);
747
+ }
748
+ }
677
749
  async isTrackedWorkingTreeFile(worktreeRoot, filePath, options) {
678
750
  try {
679
751
  await this.run(['ls-files', '--error-unmatch', '--', filePath], worktreeRoot, options);
@@ -1117,30 +1189,57 @@ export class LocalGitAdapter {
1117
1189
  ];
1118
1190
  return shapeFileDiff(() => this.run(args, worktreeRoot, options), { commit, path: filePath, operation, worktreeRoot, detail: commit });
1119
1191
  }
1120
- /**
1121
- * 仅列出 `refs/heads/` 下的本地分支;NUL 分隔避免依赖面向人的展示格式或空白切分。
1122
- * Lists local branches under `refs/heads/` only; NUL delimiting avoids
1123
- * depending on human-facing formatting or whitespace tokenization.
1124
- */
1192
+ /** Fetch branch heads into remote-tracking refs, ignoring configured local/tag refspecs. */
1193
+ async fetchRemoteBranches(workspaceRoot, options = {}) {
1194
+ const existing = this.fetches.get(workspaceRoot);
1195
+ if (existing)
1196
+ return existing;
1197
+ const task = (async () => {
1198
+ try {
1199
+ const result = await this.run(['remote'], workspaceRoot, options);
1200
+ const remotes = result.stdout.split(/\r?\n/u).filter(Boolean);
1201
+ for (const remote of remotes) {
1202
+ if (!isSafeBranchName(remote))
1203
+ throw providerError('GIT_OPERATION_FAILED', 'Invalid configured Git remote name', { operation: 'fetch remote branches' });
1204
+ }
1205
+ for (const remote of remotes) {
1206
+ await this.run([
1207
+ '-c', 'core.hooksPath=' + GIT_NULL_DEVICE,
1208
+ 'fetch', '--refmap=', '--no-tags', '--no-prune', '--no-recurse-submodules', '--no-auto-gc',
1209
+ '--', remote, '+refs/heads/*:refs/remotes/' + remote + '/*',
1210
+ ], workspaceRoot, options, false);
1211
+ }
1212
+ }
1213
+ catch (error) {
1214
+ throw operationError('fetch remote branches', workspaceRoot, undefined, undefined, error);
1215
+ }
1216
+ })();
1217
+ this.fetches.set(workspaceRoot, task);
1218
+ try {
1219
+ await task;
1220
+ }
1221
+ finally {
1222
+ if (this.fetches.get(workspaceRoot) === task)
1223
+ this.fetches.delete(workspaceRoot);
1224
+ }
1225
+ }
1226
+ /** Lists local and fetched remote refs using NUL delimiters. */
1125
1227
  async listBranches(workspaceRoot, options = {}) {
1126
1228
  try {
1127
- const result = await this.run(['for-each-ref', '--format=%(refname:short)%00', 'refs/heads/'], workspaceRoot, options);
1128
- return result.stdout
1129
- .split('\0')
1130
- .map((branch) => branch.replace(/^\r?\n/, '').replace(/\r?\n$/, ''))
1131
- .filter((branch) => branch.length > 0);
1229
+ const result = await this.run(['for-each-ref', '--format=%(refname)%00%(refname:short)%00%(symref)%00%00', 'refs/heads/', 'refs/remotes/'], workspaceRoot, options);
1230
+ return parseBranchWorktreePaths(result.stdout).map((branch) => branch.name);
1132
1231
  }
1133
1232
  catch (error) {
1134
1233
  throw operationError('list branches', workspaceRoot, undefined, undefined, error);
1135
1234
  }
1136
1235
  }
1137
1236
  /**
1138
- * Read local branches and their checkout paths in one Git invocation when the
1237
+ * Read local/fetched remote branches and local checkout paths in one invocation when the
1139
1238
  * installed Git supports the `worktreepath` format atom.
1140
1239
  */
1141
1240
  async listBranchesWithWorktreePaths(workspaceRoot, options = {}) {
1142
1241
  try {
1143
- const result = await this.run(['for-each-ref', '--format=%(refname:short)%00%(worktreepath)%00', 'refs/heads/'], workspaceRoot, options);
1242
+ const result = await this.run(['for-each-ref', '--format=%(refname)%00%(refname:short)%00%(symref)%00%(worktreepath)%00', 'refs/heads/', 'refs/remotes/'], workspaceRoot, options);
1144
1243
  return parseBranchWorktreePaths(result.stdout);
1145
1244
  }
1146
1245
  catch (error) {
@@ -1148,15 +1247,17 @@ export class LocalGitAdapter {
1148
1247
  throw operationError('list branches', workspaceRoot, undefined, undefined, error);
1149
1248
  }
1150
1249
  const [branches, worktrees] = await Promise.all([
1151
- this.listBranches(workspaceRoot, options),
1250
+ this.run(['for-each-ref', '--format=%(refname)%00%(refname:short)%00%(symref)%00%00', 'refs/heads/', 'refs/remotes/'], workspaceRoot, options).then((result) => parseBranchWorktreePaths(result.stdout))
1251
+ .catch((cause) => { throw operationError('list branches', workspaceRoot, undefined, undefined, cause); }),
1152
1252
  this.listWorktrees(workspaceRoot, options),
1153
1253
  ]);
1154
1254
  const worktreePathByBranch = new Map(worktrees.flatMap((worktree) => worktree.branch
1155
1255
  ? [[worktree.branch, worktree.absolutePath]]
1156
1256
  : []));
1157
- return branches.map((name) => ({
1158
- name,
1159
- ...(worktreePathByBranch.has(name) ? { worktreePath: worktreePathByBranch.get(name) } : {}),
1257
+ return branches.map((branch) => ({
1258
+ ...branch,
1259
+ ...(branch.kind !== 'remote' && worktreePathByBranch.has(branch.ref?.slice('refs/heads/'.length) ?? branch.name)
1260
+ ? { worktreePath: worktreePathByBranch.get(branch.ref?.slice('refs/heads/'.length) ?? branch.name) } : {}),
1160
1261
  }));
1161
1262
  }
1162
1263
  }
@@ -1174,6 +1275,28 @@ export class LocalGitAdapter {
1174
1275
  throw operationError('list worktrees', workspaceRoot, undefined, undefined, error);
1175
1276
  }
1176
1277
  }
1278
+ async resolveCheckoutHead(workspaceRoot, worktree, options = {}) {
1279
+ const commit = worktree.headCommit;
1280
+ if (worktree.prunable || worktree.bare || !commit || !COMMIT_PATTERN.test(commit) || /^0+$/u.test(commit))
1281
+ return undefined;
1282
+ if (worktree.branch && !worktree.detached)
1283
+ return { kind: 'branch', name: worktree.branch, commit };
1284
+ try {
1285
+ // Only the captured object in the known repository is inspected.
1286
+ const tag = (await this.run(['describe', '--tags', '--exact-match', commit], workspaceRoot, options)).stdout.trim();
1287
+ return tag ? { kind: 'tag', name: tag, commit } : { kind: 'commit', name: commit.slice(0, 7), commit };
1288
+ }
1289
+ catch (error) {
1290
+ // No exact tag is an ordinary detached commit. All other display failures
1291
+ // omit the label without breaking registration or readiness reads.
1292
+ if (error instanceof GitCommandError && error.exitCode === 128 &&
1293
+ !error.aborted && !error.timedOut && !error.outputTruncated && !error.processTreeDidNotExit &&
1294
+ /no tag|cannot describe|no names found/iu.test(error.stderr)) {
1295
+ return { kind: 'commit', name: commit.slice(0, 7), commit };
1296
+ }
1297
+ return undefined;
1298
+ }
1299
+ }
1177
1300
  /**
1178
1301
  * 执行 `git worktree add`;传入 newBranch 时使用 `-b` 从 base branch 创建本地分支。
1179
1302
  * Executes `git worktree add`; when newBranch is supplied, `-b` creates a local
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/provider/git/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/provider/git/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** Accept branch short names only; Git revision expressions and options are forbidden. */
2
+ export declare function isSafeBranchName(branch: string): boolean;
3
+ /** Only exact branch namespaces are accepted, and callers must also enumerate the ref. */
4
+ export declare function isSafeBranchIdentity(branch: string): boolean;
5
+ //# sourceMappingURL=branch-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-name.d.ts","sourceRoot":"","sources":["../../../src/provider/git/branch-name.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMxD;AAED,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG5D"}
@@ -0,0 +1,16 @@
1
+ /** Accept branch short names only; Git revision expressions and options are forbidden. */
2
+ export function isSafeBranchName(branch) {
3
+ if (!branch || branch === '@' || branch.startsWith('-') || branch.startsWith('refs/'))
4
+ return false;
5
+ if ([...branch].some((character) => character.charCodeAt(0) <= 32 || character.charCodeAt(0) === 127 ||
6
+ '~^:?*[\\'.includes(character)) || branch.includes('..') || branch.includes('@{'))
7
+ return false;
8
+ return branch.split('/').every((part) => part.length > 0 && !part.startsWith('.') &&
9
+ !part.endsWith('.') && !part.endsWith('.lock'));
10
+ }
11
+ /** Only exact branch namespaces are accepted, and callers must also enumerate the ref. */
12
+ export function isSafeBranchIdentity(branch) {
13
+ const prefix = ['refs/heads/', 'refs/remotes/'].find((value) => branch.startsWith(value));
14
+ return isSafeBranchName(prefix === undefined ? branch : branch.slice(prefix.length));
15
+ }
16
+ //# sourceMappingURL=branch-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branch-name.js","sourceRoot":"","sources":["../../../src/provider/git/branch-name.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACpG,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG;QAClG,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClG,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAC/E,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,MAAM,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1F,OAAO,gBAAgB,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACvF,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { GitBranchWorktreeInfo, GitCommandOptions, GitWorktreeAdapter } from '../types.js';
2
+ /** Old injected adapters expose local short names only. */
3
+ export declare function readBranchFacts(git: GitWorktreeAdapter, root: string, options?: GitCommandOptions): Promise<readonly GitBranchWorktreeInfo[]>;
4
+ /** A remote-tracking ref cannot be the checked-out branch of a managed Worktree. */
5
+ export declare function assertLocalWorktreeBranch(base: GitBranchWorktreeInfo | undefined, newBranch: string | undefined): void;
6
+ export declare function localBranchExists(branches: readonly GitBranchWorktreeInfo[], name: string): boolean;
7
+ /** Resolve exact refs or unambiguous legacy names; never let a new local ref steal a baseline. */
8
+ export declare function findBranchIdentity(branches: readonly GitBranchWorktreeInfo[], identity: string): GitBranchWorktreeInfo | undefined;
9
+ /** Normalize remote aliases when writing new baseline facts; leave legacy local names compatible. */
10
+ export declare function canonicalBranchIdentity(branch: GitBranchWorktreeInfo, requested: string): string;
11
+ //# sourceMappingURL=branches.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branches.d.ts","sourceRoot":"","sources":["../../../src/provider/git/branches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGhG,2DAA2D;AAC3D,wBAAsB,eAAe,CACnC,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAG3C;AAED,oFAAoF;AACpF,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,IAAI,CAMN;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGnG;AAED,kGAAkG;AAClG,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,EAC1C,QAAQ,EAAE,MAAM,GACf,qBAAqB,GAAG,SAAS,CAWnC;AAED,qGAAqG;AACrG,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEhG"}
@@ -0,0 +1,37 @@
1
+ import { providerError } from '../types.js';
2
+ /** Old injected adapters expose local short names only. */
3
+ export async function readBranchFacts(git, root, options = {}) {
4
+ if (git.listBranchesWithWorktreePaths)
5
+ return git.listBranchesWithWorktreePaths(root, options);
6
+ return (await git.listBranches(root, options)).map((name) => ({ name }));
7
+ }
8
+ /** A remote-tracking ref cannot be the checked-out branch of a managed Worktree. */
9
+ export function assertLocalWorktreeBranch(base, newBranch) {
10
+ if (base?.kind === 'remote' && newBranch === undefined) {
11
+ throw providerError('GIT_OPERATION_FAILED', 'A remote base branch requires a new local branch', {
12
+ baseBranch: base.name,
13
+ });
14
+ }
15
+ }
16
+ export function localBranchExists(branches, name) {
17
+ return branches.some((branch) => branch.kind !== 'remote' &&
18
+ (branch.ref === undefined ? branch.name === name : branch.ref === 'refs/heads/' + name));
19
+ }
20
+ /** Resolve exact refs or unambiguous legacy names; never let a new local ref steal a baseline. */
21
+ export function findBranchIdentity(branches, identity) {
22
+ const matches = branches.filter((branch) => identity.startsWith('refs/')
23
+ ? branch.ref === identity
24
+ : branch.name === identity || (branch.kind === 'remote' && 'remotes/' + branch.name === identity));
25
+ if (matches.length > 1) {
26
+ throw providerError('WORKTREE_STATE_CONFLICT', 'Baseline branch identity is ambiguous; select an exact branch ref', {
27
+ baseBranch: identity,
28
+ refs: matches.map((branch) => branch.ref ?? branch.name).join(', '),
29
+ });
30
+ }
31
+ return matches[0];
32
+ }
33
+ /** Normalize remote aliases when writing new baseline facts; leave legacy local names compatible. */
34
+ export function canonicalBranchIdentity(branch, requested) {
35
+ return branch.kind === 'remote' ? branch.ref ?? requested : requested;
36
+ }
37
+ //# sourceMappingURL=branches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branches.js","sourceRoot":"","sources":["../../../src/provider/git/branches.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAuB,EACvB,IAAY,EACZ,UAA6B,EAAE;IAE/B,IAAI,GAAG,CAAC,6BAA6B;QAAE,OAAO,GAAG,CAAC,6BAA6B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/F,OAAO,CAAC,MAAM,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,yBAAyB,CACvC,IAAuC,EACvC,SAA6B;IAE7B,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,aAAa,CAAC,sBAAsB,EAAE,kDAAkD,EAAE;YAC9F,UAAU,EAAE,IAAI,CAAC,IAAI;SACtB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA0C,EAAE,IAAY;IACxF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;QACvD,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,kBAAkB,CAChC,QAA0C,EAC1C,QAAgB;IAEhB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QACtE,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ;QACzB,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;IACrG,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,aAAa,CAAC,yBAAyB,EAAE,mEAAmE,EAAE;YAClH,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,uBAAuB,CAAC,MAA6B,EAAE,SAAiB;IACtF,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/provider/sidecar/repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE1F,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EAElB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iCAAiC,EACjC,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAiC7B;;;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;IA8BrE,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":"repository.d.ts","sourceRoot":"","sources":["../../../src/provider/sidecar/repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE1F,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EAElB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iCAAiC,EACjC,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAiC7B;;;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;IA+BrE,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"}