@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,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ export const optionalInputGuidance = 'Omit optional fields for defaults. At execution, JSON null also means omission; empty strings and the string "null" do not. Empty instructions are allowed.';
2
3
  const supported = new Set([
3
4
  'type',
4
5
  'oneOf',
@@ -48,7 +49,9 @@ function project(value) {
48
49
  if (key === 'minLength' || key === 'maxLength') {
49
50
  if (source.type !== 'string' || !Number.isInteger(field) || field < 0)
50
51
  throw new Error(`Unsupported Worktree tool string constraint: ${key}`);
51
- limits.push(`${key === 'minLength' ? 'Minimum' : 'Maximum'} length: ${field} characters (checked by the tool).`);
52
+ limits.push(key === 'minLength' && field === 1
53
+ ? 'Nonempty.'
54
+ : `${key === 'minLength' ? 'Minimum' : 'Maximum'} length: ${field} UTF-16 units.`);
52
55
  continue;
53
56
  }
54
57
  if (key === 'anyOf') {
@@ -82,11 +85,37 @@ function project(value) {
82
85
  result.description = [source.description, ...limits].filter(Boolean).join(' ');
83
86
  return result;
84
87
  }
88
+ /** Provider strict adapters represent omitted optional keys as null.
89
+ * Only declared optional properties normalize to omission. Required values and
90
+ * wrong container types survive for Zod. Closed-object unknown keys reject here,
91
+ * including __proto__, which Zod's object parser otherwise silently ignores.
92
+ * This is transport normalization/closure, not provider schema conversion.
93
+ */
94
+ export function normalizeOptionalNulls(value, parameters, path = []) {
95
+ if (parameters.type === 'array' && Array.isArray(value) && parameters.items)
96
+ return value.map((item, index) => normalizeOptionalNulls(item, node(parameters.items), [...path, index]));
97
+ if (parameters.type !== 'object' || value === null || typeof value !== 'object' || Array.isArray(value))
98
+ return value;
99
+ const properties = node(parameters.properties ?? {});
100
+ const unknown = Object.keys(value).filter((key) => !Object.hasOwn(properties, key));
101
+ if (parameters.additionalProperties === false && unknown.length)
102
+ throw new z.ZodError([{ code: 'unrecognized_keys', keys: unknown, path, message: `Unknown fields: ${unknown.join(', ')}` }]);
103
+ const required = new Set(Array.isArray(parameters.required) ? parameters.required : []);
104
+ return Object.fromEntries(Object.entries(value).flatMap(([key, field]) => {
105
+ if (!Object.hasOwn(properties, key))
106
+ return [[key, field]];
107
+ if (field === null && !required.has(key))
108
+ return [];
109
+ return [[key, normalizeOptionalNulls(field, node(properties[key]), [...path, key])]];
110
+ }));
111
+ }
85
112
  /** DSH's native/PTC catalog uses a smaller schema vocabulary than Zod emits.
86
113
  * Length constraints remain enforced by the original Zod parser at execution.
87
114
  * Unsupported future constructs fail registration instead of hiding fields as unknown.
88
115
  */
89
116
  export function toolParameters(schema) {
90
- return project(z.toJSONSchema(schema, { io: 'input' }));
117
+ const parameters = project(z.toJSONSchema(schema, { io: 'input' }));
118
+ parameters.description = [parameters.description, optionalInputGuidance].filter(Boolean).join(' ');
119
+ return parameters;
91
120
  }
92
121
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/tool/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/tool/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/tool/send-message.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AA4BhD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAqD9D"}
1
+ {"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/tool/send-message.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AA4BhD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAsD9D"}
@@ -2,25 +2,25 @@ import { z } from 'zod';
2
2
  import { text, prompt } from './inputs.js';
3
3
  import * as output from './outputs.js';
4
4
  import { authorize, errorText } from './context.js';
5
- import { delegationHandoff } from './guidance.js';
5
+ import { toolHandoff } from './guidance.js';
6
6
  import { randomUUID } from 'node:crypto';
7
7
  const sendArgs = z
8
8
  .object({
9
- sessionId: text.describe('Exact native Session id returned by clutch_span_worktree or clutch_list_sessions; not a Worktree id or path.'),
9
+ sessionId: text.describe('Session id from clutch_span_worktree or clutch_list_sessions in this Workspace. Requires native membership and healthy binding/cwd, including archived Worktrees. Self/ancestors are forbidden.'),
10
10
  prompt,
11
11
  mode: z
12
12
  .enum(['queue', 'steer'])
13
13
  .default('queue')
14
- .describe('queue adds the message after the current turn; steer corrects work at the next step boundary. Omit for queue.'),
14
+ .describe('queue: after the current turn; steer: next step boundary. Omitted/null defaults to queue.'),
15
15
  requestId: text
16
16
  .max(200)
17
17
  .optional()
18
- .describe('Omit for a new message. Reuse a returned id only to retry the identical prompt after uncertain admission.'),
18
+ .describe('Host-returned retry id only; never invent one. Omit for a new message (JSON null also accepted), never an empty string. For uncertain admission reuse the returned id with identical sessionId, prompt and mode.'),
19
19
  })
20
20
  .strict();
21
21
  export function registerSendMessage(context) {
22
- const { add, options, check, scope } = context;
23
- add('clutch_send_message', `Continue an existing Session in the calling Workspace. queue (default) runs after the current turn; steer corrects at a native step boundary. Returns admitted or prompt-failed, retaining requestId on failure. Each call gets a fresh requestId; provide the returned requestId only to retry that same message. ${delegationHandoff}`, sendArgs, output.object({
22
+ const { add, agent, options, check, scope } = context;
23
+ add('clutch_send_message', `Send an Agent follow-up to an existing Session. Returns admitted or prompt-failed with requestId, not task completion or a reply. New isolated tasks need clutch_span_worktree when enabled. ${toolHandoff}`, sendArgs, output.object({
24
24
  workspaceId: output.string,
25
25
  sessionId: output.string,
26
26
  requestId: output.string,
@@ -40,7 +40,8 @@ export function registerSendMessage(context) {
40
40
  await context.prepareMessage(args.sessionId, requestId, args.prompt, args.mode, exec, args.requestId !== undefined);
41
41
  check(exec);
42
42
  try {
43
- await options.sessions.prompt({
43
+ await options.sessions.sendAgentMessage({
44
+ sender: agent,
44
45
  sessionId: args.sessionId,
45
46
  requestId,
46
47
  mode: args.mode,
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tool/send-message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tool/send-message.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"span-worktree.d.ts","sourceRoot":"","sources":["../../src/tool/span-worktree.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AA+BhD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAwG/D"}
1
+ {"version":3,"file":"span-worktree.d.ts","sourceRoot":"","sources":["../../src/tool/span-worktree.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAgChD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA0E/D"}
@@ -1,31 +1,32 @@
1
1
  import { z } from 'zod';
2
2
  import { text, prompt, model } from './inputs.js';
3
3
  import * as output from './outputs.js';
4
- import { available, errorText } from './context.js';
5
- import { delegationHandoff, delegationModel } from './guidance.js';
6
- import { randomUUID } from 'node:crypto';
4
+ import { available } from './context.js';
5
+ import { toolHandoff } from './guidance.js';
6
+ import { dispatchWorktreeSession } from './dispatch-session.js';
7
7
  const common = {
8
- prompt,
8
+ prompt: prompt.describe('Self-contained task with goal, scope, acceptance criteria and checks; delivered verbatim. Must be nonblank.'),
9
9
  model: model.optional(),
10
- title: text.max(200).optional().describe('Optional new Session title; max 200 characters.'),
10
+ title: text.max(200).optional().describe('New Session title; omitted/null keeps the native title.'),
11
11
  };
12
- const spanArgs = z.union([
13
- z
14
- .object({
15
- ...common,
16
- worktreeId: text.describe('Stable id returned by clutch_new_worktree or clutch_list_worktrees. Preferred target; do not also supply name.'),
17
- })
18
- .strict(),
19
- z
20
- .object({
21
- ...common,
22
- name: text.describe('Legacy alternative: exact branch name from clutch_list_worktrees. Do not also supply worktreeId.'),
23
- })
24
- .strict(),
25
- ]);
12
+ const spanArgs = z
13
+ .object({
14
+ ...common,
15
+ worktreeId: text.optional().describe('Preferred target id from clutch_new_worktree or clutch_list_worktrees. Exactly one non-null worktreeId or name is required.'),
16
+ name: text.optional().describe('Legacy target: exact branch name from clutch_list_worktrees, instead of worktreeId. Omitted/null means absent.'),
17
+ })
18
+ .strict()
19
+ .superRefine((args, ctx) => {
20
+ if ((args.worktreeId !== undefined) === (args.name !== undefined))
21
+ ctx.addIssue({
22
+ code: 'custom',
23
+ path: ['worktreeId'],
24
+ message: 'Supply exactly one of worktreeId or legacy name, never both',
25
+ });
26
+ });
26
27
  export function registerSpanWorktree(context) {
27
28
  const { add, agent, options, check, scope } = context;
28
- add('clutch_span_worktree', `Delegate implementation and verification to a fresh ordinary DSH Session in a healthy managed Worktree. Use after clutch_new_worktree for requests to create a feature Worktree and implement/fix something; pass a self-contained prompt including requirements, acceptance criteria and checks. Prefer worktreeId; legacy exact branch name is accepted, but provide only one. ${delegationModel} Automatically enables only result reporting by default; other capabilities require /cluworktree or explicit Worktree automatic-injection preferences. Returns admission, not completion. ${delegationHandoff} Partial failures preserve the Session; repair it before retrying.`, spanArgs, output.object({
29
+ add('clutch_span_worktree', `Delegate implementation and verification to a new Session in an active healthy Worktree in this Workspace. Binds it and enables reporting, not permissions; delivers an Agent relay. Returns sessionId, requestId and admission stage, not completion. Inherits the caller’s provider, model and reasoning effort unless overridden. Honor human model requirements; discover with clutch_list_models only when enabled, otherwise ask for unknown routes. Validates models before creation. Partial failures retain the Session: repair its stage, never redispatch. For prompt-failed, retry the identical prompt via clutch_send_message with returned ids. ${toolHandoff}`, spanArgs, output.object({
29
30
  workspaceId: output.string,
30
31
  worktreeId: output.string,
31
32
  sessionId: output.string,
@@ -47,8 +48,7 @@ export function registerSpanWorktree(context) {
47
48
  }, ['workspaceId', 'worktreeId', 'sessionId', 'status', 'model', 'requestId']), async (args, exec) => {
48
49
  context.delegation.assertDispatch(agent);
49
50
  const workspaceId = await scope();
50
- const worktreeId = 'worktreeId' in args ? args.worktreeId : undefined;
51
- const name = 'name' in args ? args.name : undefined;
51
+ const { worktreeId, name } = args;
52
52
  const matches = (await options.manager.listWorktrees({ workspaceId })).filter((record) => record.status === 'active' &&
53
53
  (worktreeId === undefined ? record.branch === name : record.worktreeId === worktreeId));
54
54
  if (matches.length !== 1 || !available(matches[0]))
@@ -57,43 +57,17 @@ export function registerSpanWorktree(context) {
57
57
  const selected = await options.sessions.validateModel(args.model ?? (await options.sessions.currentModel(agent.session.id, exec.signal)), exec.signal);
58
58
  check(exec);
59
59
  context.delegation.assertDispatch(agent);
60
- const { sessionId } = await options.sessions.create({ cwd: record.absolutePath });
61
- let status = 'binding-failed';
62
- let error;
63
- const requestId = `clutch-worktree:${sessionId}:${randomUUID()}`;
64
- try {
65
- check(exec);
66
- await options.manager.bindSession({
67
- workspaceId,
68
- worktreeId: record.worktreeId,
69
- sessionId,
70
- });
71
- status = 'model-failed';
72
- check(exec);
73
- await options.sessions.configureModel(sessionId, selected, exec.signal);
74
- if (args.title) {
75
- status = 'title-failed';
76
- check(exec);
77
- await options.sessions.rename({ sessionId, title: args.title });
78
- }
79
- status = 'reporting-failed';
80
- if (!context.enableChild)
81
- throw new Error('Delegated Session reporting setup is unavailable');
82
- await context.enableChild(sessionId, requestId, args.prompt, 'queue', exec);
83
- status = 'prompt-failed';
84
- check(exec);
85
- await options.sessions.prompt({
86
- sessionId,
87
- requestId,
88
- mode: 'queue',
89
- content: [{ type: 'text', text: args.prompt }],
90
- }, exec.signal);
91
- status = 'dispatched';
92
- }
93
- catch (cause) {
94
- exec.signal.throwIfAborted();
95
- error = errorText(cause).slice(0, 700);
96
- }
60
+ const result = await dispatchWorktreeSession({
61
+ record, manager: options.manager, sessions: options.sessions, model: selected,
62
+ prompt: args.prompt, sender: agent, title: args.title, signal: exec.signal,
63
+ check: () => check(exec),
64
+ prepare: async (sessionId, requestId) => {
65
+ if (!context.enableChild)
66
+ throw new Error('Delegated Session reporting setup is unavailable');
67
+ await context.enableChild(sessionId, requestId, args.prompt, 'queue', exec);
68
+ },
69
+ });
70
+ const { sessionId, requestId, status, error } = result;
97
71
  options.changed(workspaceId, record.worktreeId);
98
72
  return {
99
73
  workspaceId,
@@ -1 +1 @@
1
- {"version":3,"file":"span-worktree.js","sourceRoot":"","sources":["../../src/tool/span-worktree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"span-worktree.js","sourceRoot":"","sources":["../../src/tool/span-worktree.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ export interface Execution {
17
17
  signal: AbortSignal;
18
18
  }
19
19
  export interface Options {
20
+ /** Explicit routes using required+nullable transport input, never catalog/SDK types. */
21
+ nullableToolProviders?: readonly string[];
20
22
  settings?: {
21
23
  read(scope: WorktreeToolSettingsScope): Promise<WorktreeToolSelection>;
22
24
  subscribe(listener: (scope: WorktreeToolSettingsScope, selection: WorktreeToolSelection) => void): () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tool/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tool/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ /** Explicit provider transport projection; never used by the registry or SDK. */
3
+ export declare function nullableToolParameters(schema: z.ZodType): Record<string, unknown>;
4
+ //# sourceMappingURL=wire-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire-schema.d.ts","sourceRoot":"","sources":["../../src/tool/wire-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmBjF"}
@@ -0,0 +1,24 @@
1
+ import { z } from 'zod';
2
+ /** Explicit provider transport projection; never used by the registry or SDK. */
3
+ export function nullableToolParameters(schema) {
4
+ const convert = (source) => {
5
+ const result = { ...source };
6
+ delete result.$schema;
7
+ if (source.type === 'object') {
8
+ const properties = source.properties;
9
+ const required = new Set(source.required);
10
+ result.properties = Object.fromEntries(Object.entries(properties).map(([key, child]) => {
11
+ const projected = convert(child);
12
+ return [key, required.has(key) ? projected : { anyOf: [projected, { type: 'null' }] }];
13
+ }));
14
+ result.required = Object.keys(properties);
15
+ result.additionalProperties = false;
16
+ }
17
+ else if (source.type === 'array') {
18
+ result.items = convert(source.items);
19
+ }
20
+ return result;
21
+ };
22
+ return convert(z.toJSONSchema(schema, { io: 'input' }));
23
+ }
24
+ //# sourceMappingURL=wire-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wire-schema.js","sourceRoot":"","sources":["../../src/tool/wire-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iFAAiF;AACjF,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,OAAO,GAAG,CAAC,MAA+B,EAA2B,EAAE;QAC3E,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC7B,OAAO,MAAM,CAAC,OAAO,CAAC;QACtB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAqD,CAAC;YAChF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAgC,CAAC,CAAC;YAClE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACrF,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,CAAC,CAAC,CAAC,CAAC;YACJ,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1C,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACtC,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAgC,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,OAAO,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC"}