@cerbur/clutch-dsh-worktree 0.1.4 → 0.1.6

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 (115) hide show
  1. package/README.md +89 -24
  2. package/README.zh.md +81 -23
  3. package/lib/client/WorktreeContext.d.ts.map +1 -1
  4. package/lib/client/WorktreeContext.js.map +1 -1
  5. package/lib/client/WorktreeHeroContext.d.ts +1 -1
  6. package/lib/client/WorktreeHeroContext.d.ts.map +1 -1
  7. package/lib/client/WorktreeHeroContext.js +10 -5
  8. package/lib/client/WorktreeHeroContext.js.map +1 -1
  9. package/lib/client/WorktreeSurface.d.ts +1 -1
  10. package/lib/client/WorktreeSurface.d.ts.map +1 -1
  11. package/lib/client/WorktreeSurface.js +349 -88
  12. package/lib/client/WorktreeSurface.js.map +1 -1
  13. package/lib/client/entry.d.ts.map +1 -1
  14. package/lib/client/entry.js +3 -0
  15. package/lib/client/entry.js.map +1 -1
  16. package/lib/client/locales.d.ts +28 -0
  17. package/lib/client/locales.d.ts.map +1 -1
  18. package/lib/client/locales.js +30 -2
  19. package/lib/client/locales.js.map +1 -1
  20. package/lib/client/virtual-workspace-membership.js +1 -1
  21. package/lib/client/virtual-workspace-membership.js.map +1 -1
  22. package/lib/client/worktree-connection.d.ts +2 -0
  23. package/lib/client/worktree-connection.d.ts.map +1 -1
  24. package/lib/client/worktree-connection.js +4 -0
  25. package/lib/client/worktree-connection.js.map +1 -1
  26. package/lib/client/worktree-context-store.d.ts.map +1 -1
  27. package/lib/client/worktree-context-store.js +51 -11
  28. package/lib/client/worktree-context-store.js.map +1 -1
  29. package/lib/client/worktree-error-copy.d.ts.map +1 -1
  30. package/lib/client/worktree-error-copy.js +8 -0
  31. package/lib/client/worktree-error-copy.js.map +1 -1
  32. package/lib/client/worktree-expand-state.d.ts +33 -0
  33. package/lib/client/worktree-expand-state.d.ts.map +1 -0
  34. package/lib/client/worktree-expand-state.js +83 -0
  35. package/lib/client/worktree-expand-state.js.map +1 -0
  36. package/lib/client/worktree-session-position.d.ts +2 -0
  37. package/lib/client/worktree-session-position.d.ts.map +1 -0
  38. package/lib/client/worktree-session-position.js +11 -0
  39. package/lib/client/worktree-session-position.js.map +1 -0
  40. package/lib/client/worktree-surface-dialogs.d.ts +1 -1
  41. package/lib/client/worktree-surface-dialogs.d.ts.map +1 -1
  42. package/lib/client/worktree-surface-dialogs.js +33 -13
  43. package/lib/client/worktree-surface-dialogs.js.map +1 -1
  44. package/lib/client/worktree-surface-rows.d.ts +2 -2
  45. package/lib/client/worktree-surface-rows.d.ts.map +1 -1
  46. package/lib/client/worktree-surface-rows.js +5 -5
  47. package/lib/client/worktree-surface-rows.js.map +1 -1
  48. package/lib/client/worktree-surface-selectors.d.ts +16 -0
  49. package/lib/client/worktree-surface-selectors.d.ts.map +1 -1
  50. package/lib/client/worktree-surface-selectors.js +54 -0
  51. package/lib/client/worktree-surface-selectors.js.map +1 -1
  52. package/lib/client/worktree-surface-types.d.ts +28 -1
  53. package/lib/client/worktree-surface-types.d.ts.map +1 -1
  54. package/lib/client/worktree-view-actions.d.ts +3 -0
  55. package/lib/client/worktree-view-actions.d.ts.map +1 -1
  56. package/lib/client/worktree-view-actions.js +3 -0
  57. package/lib/client/worktree-view-actions.js.map +1 -1
  58. package/lib/client/worktree-view-read.d.ts +11 -0
  59. package/lib/client/worktree-view-read.d.ts.map +1 -1
  60. package/lib/client/worktree-view-read.js +24 -0
  61. package/lib/client/worktree-view-read.js.map +1 -1
  62. package/lib/client.js +697 -137
  63. package/lib/client.js.map +1 -1
  64. package/lib/contract/index.contract.js +14 -0
  65. package/lib/contract/index.contract.js.map +1 -1
  66. package/lib/contract/index.d.ts +22 -2
  67. package/lib/contract/index.d.ts.map +1 -1
  68. package/lib/contract/index.js +5 -0
  69. package/lib/contract/index.js.map +1 -1
  70. package/lib/host/remote.d.ts.map +1 -1
  71. package/lib/host/remote.js +2 -0
  72. package/lib/host/remote.js.map +1 -1
  73. package/lib/host/service.d.ts +8 -1
  74. package/lib/host/service.d.ts.map +1 -1
  75. package/lib/host/service.js +12 -0
  76. package/lib/host/service.js.map +1 -1
  77. package/lib/index.d.ts +1 -1
  78. package/lib/index.d.ts.map +1 -1
  79. package/lib/index.js.map +1 -1
  80. package/lib/manage/manager-support.d.ts +2 -0
  81. package/lib/manage/manager-support.d.ts.map +1 -1
  82. package/lib/manage/manager-support.js +9 -0
  83. package/lib/manage/manager-support.js.map +1 -1
  84. package/lib/manage/manager-worktrees.d.ts +10 -1
  85. package/lib/manage/manager-worktrees.d.ts.map +1 -1
  86. package/lib/manage/manager-worktrees.js +121 -5
  87. package/lib/manage/manager-worktrees.js.map +1 -1
  88. package/lib/manage/manager.d.ts +8 -1
  89. package/lib/manage/manager.d.ts.map +1 -1
  90. package/lib/manage/manager.js +7 -1
  91. package/lib/manage/manager.js.map +1 -1
  92. package/lib/provider/git.d.ts +8 -0
  93. package/lib/provider/git.d.ts.map +1 -1
  94. package/lib/provider/git.js +57 -11
  95. package/lib/provider/git.js.map +1 -1
  96. package/lib/provider/index.d.ts +1 -1
  97. package/lib/provider/index.d.ts.map +1 -1
  98. package/lib/provider/index.js +1 -1
  99. package/lib/provider/index.js.map +1 -1
  100. package/lib/provider/sidecar-schema.d.ts +1 -1
  101. package/lib/provider/sidecar-schema.d.ts.map +1 -1
  102. package/lib/provider/sidecar-schema.js +33 -37
  103. package/lib/provider/sidecar-schema.js.map +1 -1
  104. package/lib/provider/sidecar.d.ts.map +1 -1
  105. package/lib/provider/sidecar.js +3 -1
  106. package/lib/provider/sidecar.js.map +1 -1
  107. package/lib/provider/types.d.ts +9 -1
  108. package/lib/provider/types.d.ts.map +1 -1
  109. package/lib/provider/types.js +2 -1
  110. package/lib/provider/types.js.map +1 -1
  111. package/lib/typert.host.js +115 -21
  112. package/lib/typert.remote-client.d.ts +5 -1
  113. package/lib/typert.remote-client.d.ts.map +1 -1
  114. package/lib/typert.remote-client.js +115 -21
  115. package/package.json +30 -30
@@ -8,6 +8,8 @@ const JsonValueRemoteCodec$schema4 = z.union([z.literal(null), z.string(), z.num
8
8
  const JsonValueRemoteCodec$schema5 = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema5)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema5)).readonly()])
9
9
  const JsonValueRemoteCodec$schema6 = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema6)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema6)).readonly()])
10
10
  const JsonValueRemoteCodec$schema7 = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema7)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema7)).readonly()])
11
+ const JsonValueRemoteCodec$schema8 = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema8)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema8)).readonly()])
12
+ const JsonValueRemoteCodec$schema9 = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema9)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema9)).readonly()])
11
13
  const _cerbur_clutch_dsh_worktree_worktreeManager_bindSession_parameter_0$schema = z.object({
12
14
  'workspaceId': z.string().readonly(),
13
15
  'worktreeId': z.string().readonly(),
@@ -16,9 +18,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_bindSession_parameter_0$schema
16
18
  const _cerbur_clutch_dsh_worktree_worktreeManager_bindSession_result$schema = z.union([z.object({
17
19
  'ok': z.literal(false).readonly(),
18
20
  'error': z.object({
19
- 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
21
+ 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
20
22
  'message': z.string().readonly(),
21
- 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema3)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema3)).readonly()])).readonly().readonly(),
23
+ 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema5)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema5)).readonly()])).readonly().readonly(),
22
24
  }).readonly(),
23
25
  }), z.object({
24
26
  'ok': z.literal(true).readonly(),
@@ -37,9 +39,32 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_createWorktree_parameter_0$sch
37
39
  const _cerbur_clutch_dsh_worktree_worktreeManager_createWorktree_result$schema = z.union([z.object({
38
40
  'ok': z.literal(false).readonly(),
39
41
  'error': z.object({
40
- 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
42
+ 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
41
43
  'message': z.string().readonly(),
42
- 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema6)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema6)).readonly()])).readonly().readonly(),
44
+ 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema9)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema9)).readonly()])).readonly().readonly(),
45
+ }).readonly(),
46
+ }), z.object({
47
+ 'ok': z.literal(true).readonly(),
48
+ 'value': z.object({
49
+ 'worktreeId': z.string().readonly(),
50
+ 'workspaceId': z.string().readonly(),
51
+ 'absolutePath': z.string().readonly(),
52
+ 'branch': z.string().readonly(),
53
+ 'source': z.union([z.literal("plugin"), z.literal("external")]).readonly(),
54
+ 'status': z.union([z.literal("active"), z.literal("removed")]).readonly(),
55
+ 'health': z.union([z.undefined(), z.literal("ready"), z.literal("repair")]).readonly().optional(),
56
+ }).readonly(),
57
+ })])
58
+ const _cerbur_clutch_dsh_worktree_worktreeManager_importWorktree_parameter_0$schema = z.object({
59
+ 'workspaceId': z.string().readonly(),
60
+ 'absolutePath': z.string().readonly(),
61
+ })
62
+ const _cerbur_clutch_dsh_worktree_worktreeManager_importWorktree_result$schema = z.union([z.object({
63
+ 'ok': z.literal(false).readonly(),
64
+ 'error': z.object({
65
+ 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
66
+ 'message': z.string().readonly(),
67
+ 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema)).readonly()])).readonly().readonly(),
43
68
  }).readonly(),
44
69
  }), z.object({
45
70
  'ok': z.literal(true).readonly(),
@@ -48,6 +73,7 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_createWorktree_result$schema =
48
73
  'workspaceId': z.string().readonly(),
49
74
  'absolutePath': z.string().readonly(),
50
75
  'branch': z.string().readonly(),
76
+ 'source': z.union([z.literal("plugin"), z.literal("external")]).readonly(),
51
77
  'status': z.union([z.literal("active"), z.literal("removed")]).readonly(),
52
78
  'health': z.union([z.undefined(), z.literal("ready"), z.literal("repair")]).readonly().optional(),
53
79
  }).readonly(),
@@ -60,9 +86,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_insertWorktreeBefore_parameter
60
86
  const _cerbur_clutch_dsh_worktree_worktreeManager_insertWorktreeBefore_result$schema = z.union([z.object({
61
87
  'ok': z.literal(false).readonly(),
62
88
  'error': z.object({
63
- 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
89
+ 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
64
90
  'message': z.string().readonly(),
65
- 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema)).readonly()])).readonly().readonly(),
91
+ 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema3)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema3)).readonly()])).readonly().readonly(),
66
92
  }).readonly(),
67
93
  }), z.object({
68
94
  'ok': z.literal(true).readonly(),
@@ -74,9 +100,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_listBindings_parameter_0$schem
74
100
  const _cerbur_clutch_dsh_worktree_worktreeManager_listBindings_result$schema = z.union([z.object({
75
101
  'ok': z.literal(false).readonly(),
76
102
  'error': z.object({
77
- 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
103
+ 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
78
104
  'message': z.string().readonly(),
79
- 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema2)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema2)).readonly()])).readonly().readonly(),
105
+ 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema4)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema4)).readonly()])).readonly().readonly(),
80
106
  }).readonly(),
81
107
  }), z.object({
82
108
  'ok': z.literal(true).readonly(),
@@ -93,9 +119,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_listBranches_parameter_0$schem
93
119
  const _cerbur_clutch_dsh_worktree_worktreeManager_listBranches_result$schema = z.union([z.object({
94
120
  'ok': z.literal(false).readonly(),
95
121
  'error': z.object({
96
- 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
122
+ 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
97
123
  'message': z.string().readonly(),
98
- 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema5)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema5)).readonly()])).readonly().readonly(),
124
+ 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema8)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema8)).readonly()])).readonly().readonly(),
99
125
  }).readonly(),
100
126
  }), z.object({
101
127
  'ok': z.literal(true).readonly(),
@@ -105,15 +131,32 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_listBranches_result$schema = z
105
131
  'checkedOut': z.boolean().readonly(),
106
132
  })).readonly(),
107
133
  })])
134
+ const _cerbur_clutch_dsh_worktree_worktreeManager_listImportCandidates_parameter_0$schema = z.object({
135
+ 'workspaceId': z.string().readonly(),
136
+ })
137
+ const _cerbur_clutch_dsh_worktree_worktreeManager_listImportCandidates_result$schema = z.union([z.object({
138
+ 'ok': z.literal(false).readonly(),
139
+ 'error': z.object({
140
+ 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
141
+ 'message': z.string().readonly(),
142
+ 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema7)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema7)).readonly()])).readonly().readonly(),
143
+ }).readonly(),
144
+ }), z.object({
145
+ 'ok': z.literal(true).readonly(),
146
+ 'value': z.array(z.object({
147
+ 'absolutePath': z.string().readonly(),
148
+ 'branch': z.string().readonly(),
149
+ })).readonly(),
150
+ })])
108
151
  const _cerbur_clutch_dsh_worktree_worktreeManager_listWorktrees_parameter_0$schema = z.object({
109
152
  'workspaceId': z.string().readonly(),
110
153
  })
111
154
  const _cerbur_clutch_dsh_worktree_worktreeManager_listWorktrees_result$schema = z.union([z.object({
112
155
  'ok': z.literal(false).readonly(),
113
156
  'error': z.object({
114
- 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
157
+ 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
115
158
  'message': z.string().readonly(),
116
- 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema4)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema4)).readonly()])).readonly().readonly(),
159
+ 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema6)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema6)).readonly()])).readonly().readonly(),
117
160
  }).readonly(),
118
161
  }), z.object({
119
162
  'ok': z.literal(true).readonly(),
@@ -122,6 +165,7 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_listWorktrees_result$schema =
122
165
  'workspaceId': z.string().readonly(),
123
166
  'absolutePath': z.string().readonly(),
124
167
  'branch': z.string().readonly(),
168
+ 'source': z.union([z.literal("plugin"), z.literal("external")]).readonly(),
125
169
  'status': z.union([z.literal("active"), z.literal("removed")]).readonly(),
126
170
  'health': z.union([z.undefined(), z.literal("ready"), z.literal("repair")]).readonly().optional(),
127
171
  })).readonly(),
@@ -133,9 +177,9 @@ const _cerbur_clutch_dsh_worktree_worktreeManager_removeWorktree_parameter_0$sch
133
177
  const _cerbur_clutch_dsh_worktree_worktreeManager_removeWorktree_result$schema = z.union([z.object({
134
178
  'ok': z.literal(false).readonly(),
135
179
  'error': z.object({
136
- 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
180
+ 'code': z.union([z.literal("WORKSPACE_NOT_FOUND"), z.literal("WORKSPACE_NOT_GIT_REPOSITORY"), z.literal("GIT_NOT_INSTALLED"), z.literal("WORKTREE_REQUIRES_INITIAL_COMMIT"), z.literal("WORKTREE_BRANCH_CONFLICT"), z.literal("WORKTREE_NOT_FOUND"), z.literal("WORKTREE_ORDER_INVALID"), z.literal("WORKTREE_REMOVED"), z.literal("WORKTREE_IMPORT_INVALID"), z.literal("WORKTREE_ALREADY_MANAGED"), z.literal("SESSION_NOT_FOUND"), z.literal("SESSION_CWD_MISMATCH"), z.literal("SESSION_ALREADY_BOUND"), z.literal("SIDECAR_UNAVAILABLE"), z.literal("SIDECAR_CORRUPT"), z.literal("SIDECAR_SYNC_REQUIRED"), z.literal("GIT_OPERATION_FAILED")]).readonly(),
137
181
  'message': z.string().readonly(),
138
- 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema7)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema7)).readonly()])).readonly().readonly(),
182
+ 'details': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema2)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema2)).readonly()])).readonly().readonly(),
139
183
  }).readonly(),
140
184
  }), z.object({
141
185
  'ok': z.literal(true).readonly(),
@@ -168,7 +212,7 @@ export const TYPERT_REMOTE = {
168
212
  typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
169
213
  schema: _cerbur_clutch_dsh_worktree_worktreeManager_bindSession_result$schema,
170
214
  },
171
- sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":116,"column":3},
215
+ sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":133,"column":3},
172
216
  },
173
217
  {
174
218
  id: '@cerbur/clutch-dsh-worktree#worktreeManager/createWorktree',
@@ -193,7 +237,32 @@ export const TYPERT_REMOTE = {
193
237
  typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
194
238
  schema: _cerbur_clutch_dsh_worktree_worktreeManager_createWorktree_result$schema,
195
239
  },
196
- sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":83,"column":3},
240
+ sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":92,"column":3},
241
+ },
242
+ {
243
+ id: '@cerbur/clutch-dsh-worktree#worktreeManager/importWorktree',
244
+ service: 'worktreeManager',
245
+ namespace: 'worktreeManager',
246
+ method: 'importWorktree',
247
+ invocation: { kind: 'direct' },
248
+ parameters: [
249
+ {
250
+ name: 'input',
251
+ wire: 'input',
252
+ source: 'json',
253
+ codec: {
254
+ mode: 'strict',
255
+ typeSymbol: '@cerbur/clutch-dsh-worktree#worktreeManager/importWorktree:input',
256
+ schema: _cerbur_clutch_dsh_worktree_worktreeManager_importWorktree_parameter_0$schema,
257
+ },
258
+ },
259
+ ],
260
+ result: {
261
+ mode: 'strict',
262
+ typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
263
+ schema: _cerbur_clutch_dsh_worktree_worktreeManager_importWorktree_result$schema,
264
+ },
265
+ sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":101,"column":3},
197
266
  },
198
267
  {
199
268
  id: '@cerbur/clutch-dsh-worktree#worktreeManager/insertWorktreeBefore',
@@ -218,7 +287,7 @@ export const TYPERT_REMOTE = {
218
287
  typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
219
288
  schema: _cerbur_clutch_dsh_worktree_worktreeManager_insertWorktreeBefore_result$schema,
220
289
  },
221
- sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":100,"column":3},
290
+ sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":117,"column":3},
222
291
  },
223
292
  {
224
293
  id: '@cerbur/clutch-dsh-worktree#worktreeManager/listBindings',
@@ -243,7 +312,7 @@ export const TYPERT_REMOTE = {
243
312
  typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
244
313
  schema: _cerbur_clutch_dsh_worktree_worktreeManager_listBindings_result$schema,
245
314
  },
246
- sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":109,"column":3},
315
+ sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":126,"column":3},
247
316
  },
248
317
  {
249
318
  id: '@cerbur/clutch-dsh-worktree#worktreeManager/listBranches',
@@ -268,7 +337,32 @@ export const TYPERT_REMOTE = {
268
337
  typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
269
338
  schema: _cerbur_clutch_dsh_worktree_worktreeManager_listBranches_result$schema,
270
339
  },
271
- sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":76,"column":3},
340
+ sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":85,"column":3},
341
+ },
342
+ {
343
+ id: '@cerbur/clutch-dsh-worktree#worktreeManager/listImportCandidates',
344
+ service: 'worktreeManager',
345
+ namespace: 'worktreeManager',
346
+ method: 'listImportCandidates',
347
+ invocation: { kind: 'direct' },
348
+ parameters: [
349
+ {
350
+ name: 'input',
351
+ wire: 'input',
352
+ source: 'json',
353
+ codec: {
354
+ mode: 'strict',
355
+ typeSymbol: '@cerbur/clutch-dsh-worktree#worktreeManager/listImportCandidates:input',
356
+ schema: _cerbur_clutch_dsh_worktree_worktreeManager_listImportCandidates_parameter_0$schema,
357
+ },
358
+ },
359
+ ],
360
+ result: {
361
+ mode: 'strict',
362
+ typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
363
+ schema: _cerbur_clutch_dsh_worktree_worktreeManager_listImportCandidates_result$schema,
364
+ },
365
+ sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":78,"column":3},
272
366
  },
273
367
  {
274
368
  id: '@cerbur/clutch-dsh-worktree#worktreeManager/listWorktrees',
@@ -293,7 +387,7 @@ export const TYPERT_REMOTE = {
293
387
  typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
294
388
  schema: _cerbur_clutch_dsh_worktree_worktreeManager_listWorktrees_result$schema,
295
389
  },
296
- sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":69,"column":3},
390
+ sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":71,"column":3},
297
391
  },
298
392
  {
299
393
  id: '@cerbur/clutch-dsh-worktree#worktreeManager/removeWorktree',
@@ -318,7 +412,7 @@ export const TYPERT_REMOTE = {
318
412
  typeSymbol: '@cerbur/clutch-dsh-worktree/contract#WorktreeRemoteResult',
319
413
  schema: _cerbur_clutch_dsh_worktree_worktreeManager_removeWorktree_result$schema,
320
414
  },
321
- sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":92,"column":3},
415
+ sourceLocation: {"file":"packages/clutch-dsh-worktree/src/host/service.ts","line":109,"column":3},
322
416
  },
323
417
  ],
324
418
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cerbur/clutch-dsh-worktree",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -84,39 +84,39 @@
84
84
  },
85
85
  "peerDependencies": {
86
86
  "@deepseek-ai/cordis": "4.0.1",
87
- "@deepseek-ai/dsh-client-connection": "0.1.0-rc.8",
88
- "@deepseek-ai/dsh-client-locale": "0.1.0-rc.8",
89
- "@deepseek-ai/dsh-client-runtime": "0.1.0-rc.8",
90
- "@deepseek-ai/dsh-client-ui-conversation": "0.1.0-rc.8",
91
- "@deepseek-ai/dsh-client-ui-layout": "0.1.0-rc.8",
92
- "@deepseek-ai/dsh-client-ui-primitives": "0.1.0-rc.8",
93
- "@deepseek-ai/dsh-client-ui-sidebar": "0.1.0-rc.8",
94
- "@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.8",
95
- "@deepseek-ai/dsh-session": "0.1.0-rc.8",
96
- "@deepseek-ai/dsh-session-persistence": "0.1.0-rc.8",
97
- "@deepseek-ai/dsh-typert-protocol": "0.1.0-rc.8",
98
- "@deepseek-ai/dsh-workspace": "0.1.0-rc.8"
87
+ "@deepseek-ai/dsh-client-connection": "*",
88
+ "@deepseek-ai/dsh-client-locale": "*",
89
+ "@deepseek-ai/dsh-client-runtime": "*",
90
+ "@deepseek-ai/dsh-client-ui-conversation": "*",
91
+ "@deepseek-ai/dsh-client-ui-layout": "*",
92
+ "@deepseek-ai/dsh-client-ui-primitives": "*",
93
+ "@deepseek-ai/dsh-client-ui-sidebar": "*",
94
+ "@deepseek-ai/dsh-client-ui-slots": "*",
95
+ "@deepseek-ai/dsh-session": "*",
96
+ "@deepseek-ai/dsh-session-persistence": "*",
97
+ "@deepseek-ai/dsh-typert-protocol": "*",
98
+ "@deepseek-ai/dsh-workspace": "*"
99
99
  },
100
100
  "devDependencies": {
101
101
  "@deepseek-ai/cordis": "4.0.1",
102
102
  "@deepseek-ai/cordis-plugin-loader": "1.0.2",
103
- "@deepseek-ai/dsh-api-gateway": "0.1.0-rc.8",
104
- "@deepseek-ai/dsh-client-connection": "0.1.0-rc.8",
105
- "@deepseek-ai/dsh-client-locale": "0.1.0-rc.8",
106
- "@deepseek-ai/dsh-client-runtime": "0.1.0-rc.8",
107
- "@deepseek-ai/dsh-client-ui-conversation": "0.1.0-rc.8",
108
- "@deepseek-ai/dsh-client-ui-layout": "0.1.0-rc.8",
109
- "@deepseek-ai/dsh-client-ui-primitives": "0.1.0-rc.8",
110
- "@deepseek-ai/dsh-client-ui-sidebar": "0.1.0-rc.8",
111
- "@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.8",
112
- "@deepseek-ai/dsh-invariants": "0.1.0-rc.8",
113
- "@deepseek-ai/dsh-session": "0.1.0-rc.8",
114
- "@deepseek-ai/dsh-session-persistence": "0.1.0-rc.8",
115
- "@deepseek-ai/dsh-typert-generator": "0.1.0-rc.8",
116
- "@deepseek-ai/dsh-typert-loader": "0.1.0-rc.8",
117
- "@deepseek-ai/dsh-typert-protocol": "0.1.0-rc.8",
118
- "@deepseek-ai/dsh-typert-registry": "0.1.0-rc.8",
119
- "@deepseek-ai/dsh-workspace": "0.1.0-rc.8",
103
+ "@deepseek-ai/dsh-api-gateway": "0.1.1-rc.2",
104
+ "@deepseek-ai/dsh-client-connection": "0.1.1-rc.2",
105
+ "@deepseek-ai/dsh-client-locale": "0.1.1-rc.2",
106
+ "@deepseek-ai/dsh-client-runtime": "0.1.1-rc.2",
107
+ "@deepseek-ai/dsh-client-ui-conversation": "0.1.1-rc.2",
108
+ "@deepseek-ai/dsh-client-ui-layout": "0.1.1-rc.2",
109
+ "@deepseek-ai/dsh-client-ui-primitives": "0.1.1-rc.2",
110
+ "@deepseek-ai/dsh-client-ui-sidebar": "0.1.1-rc.2",
111
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.1-rc.2",
112
+ "@deepseek-ai/dsh-invariants": "0.1.1-rc.2",
113
+ "@deepseek-ai/dsh-session": "0.1.1-rc.2",
114
+ "@deepseek-ai/dsh-session-persistence": "0.1.1-rc.2",
115
+ "@deepseek-ai/dsh-typert-generator": "0.1.1-rc.2",
116
+ "@deepseek-ai/dsh-typert-loader": "0.1.1-rc.2",
117
+ "@deepseek-ai/dsh-typert-protocol": "0.1.1-rc.2",
118
+ "@deepseek-ai/dsh-typert-registry": "0.1.1-rc.2",
119
+ "@deepseek-ai/dsh-workspace": "0.1.1-rc.2",
120
120
  "@types/node": "^22.15.3",
121
121
  "@types/react": "~18.3.1",
122
122
  "react": "^18.2.0",