@12ui/design 0.2.72 → 0.2.74

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 (581) hide show
  1. package/README.md +242 -54
  2. package/SKILL.md +28 -33
  3. package/dist/cli-arguments.d.ts.map +1 -1
  4. package/dist/cli-arguments.js +3 -0
  5. package/dist/cli-arguments.js.map +1 -1
  6. package/dist/cli-branch-command.d.ts.map +1 -1
  7. package/dist/cli-branch-command.js +4 -0
  8. package/dist/cli-branch-command.js.map +1 -1
  9. package/dist/cli-capabilities.d.ts +26 -1
  10. package/dist/cli-capabilities.d.ts.map +1 -1
  11. package/dist/cli-capabilities.js +26 -1
  12. package/dist/cli-capabilities.js.map +1 -1
  13. package/dist/cli-corpus-command.d.ts +5 -4
  14. package/dist/cli-corpus-command.d.ts.map +1 -1
  15. package/dist/cli-corpus-command.js +17 -26
  16. package/dist/cli-corpus-command.js.map +1 -1
  17. package/dist/cli-corpus-run.js +1 -1
  18. package/dist/cli-corpus-run.js.map +1 -1
  19. package/dist/cli-draft-command.js +1 -1
  20. package/dist/cli-draft-command.js.map +1 -1
  21. package/dist/cli-help/design.d.ts +26 -6
  22. package/dist/cli-help/design.d.ts.map +1 -1
  23. package/dist/cli-help/design.js +39 -7
  24. package/dist/cli-help/design.js.map +1 -1
  25. package/dist/cli-help/index.d.ts +113 -7
  26. package/dist/cli-help/index.d.ts.map +1 -1
  27. package/dist/cli-help/index.js +2 -0
  28. package/dist/cli-help/index.js.map +1 -1
  29. package/dist/cli-help/meta.d.ts +1 -1
  30. package/dist/cli-help/meta.d.ts.map +1 -1
  31. package/dist/cli-help/meta.js +2 -1
  32. package/dist/cli-help/meta.js.map +1 -1
  33. package/dist/cli-help/workflow.d.ts +90 -0
  34. package/dist/cli-help/workflow.d.ts.map +1 -0
  35. package/dist/cli-help/workflow.js +89 -0
  36. package/dist/cli-help/workflow.js.map +1 -0
  37. package/dist/cli-open-browser.d.ts +7 -0
  38. package/dist/cli-open-browser.d.ts.map +1 -0
  39. package/dist/cli-open-browser.js +25 -0
  40. package/dist/cli-open-browser.js.map +1 -0
  41. package/dist/cli-prototype-command.d.ts +3 -1
  42. package/dist/cli-prototype-command.d.ts.map +1 -1
  43. package/dist/cli-prototype-command.js +33 -7
  44. package/dist/cli-prototype-command.js.map +1 -1
  45. package/dist/cli-review-command.d.ts.map +1 -1
  46. package/dist/cli-review-command.js +1 -16
  47. package/dist/cli-review-command.js.map +1 -1
  48. package/dist/cli-run.d.ts.map +1 -1
  49. package/dist/cli-run.js +35 -3
  50. package/dist/cli-run.js.map +1 -1
  51. package/dist/cli-usage.d.ts.map +1 -1
  52. package/dist/cli-usage.js +39 -5
  53. package/dist/cli-usage.js.map +1 -1
  54. package/dist/cli-workflow-command.d.ts +8 -0
  55. package/dist/cli-workflow-command.d.ts.map +1 -0
  56. package/dist/cli-workflow-command.js +97 -0
  57. package/dist/cli-workflow-command.js.map +1 -0
  58. package/dist/cli-workspace-command.d.ts +25 -0
  59. package/dist/cli-workspace-command.d.ts.map +1 -0
  60. package/dist/cli-workspace-command.js +95 -0
  61. package/dist/cli-workspace-command.js.map +1 -0
  62. package/dist/config.d.ts +6 -0
  63. package/dist/config.d.ts.map +1 -1
  64. package/dist/config.js +12 -4
  65. package/dist/config.js.map +1 -1
  66. package/dist/corpus-access.d.ts +11 -0
  67. package/dist/corpus-access.d.ts.map +1 -0
  68. package/dist/corpus-access.js +18 -0
  69. package/dist/corpus-access.js.map +1 -0
  70. package/dist/corpus-client.d.ts +11 -11
  71. package/dist/corpus-client.d.ts.map +1 -1
  72. package/dist/corpus-client.js +17 -6
  73. package/dist/corpus-client.js.map +1 -1
  74. package/dist/corpus-inspiration-failure.d.ts +1 -1
  75. package/dist/corpus-inspiration-failure.js +2 -2
  76. package/dist/corpus-inspiration-failure.js.map +1 -1
  77. package/dist/corpus-reference-download-retry.d.ts.map +1 -1
  78. package/dist/corpus-reference-download-retry.js +11 -1
  79. package/dist/corpus-reference-download-retry.js.map +1 -1
  80. package/dist/corpus-request-error.d.ts +2 -0
  81. package/dist/corpus-request-error.d.ts.map +1 -1
  82. package/dist/corpus-request-error.js +2 -0
  83. package/dist/corpus-request-error.js.map +1 -1
  84. package/dist/corpus-retry-guidance.d.ts +5 -0
  85. package/dist/corpus-retry-guidance.d.ts.map +1 -0
  86. package/dist/corpus-retry-guidance.js +18 -0
  87. package/dist/corpus-retry-guidance.js.map +1 -0
  88. package/dist/improve-pricing-plan.d.ts.map +1 -1
  89. package/dist/improve-pricing-plan.js +2 -4
  90. package/dist/improve-pricing-plan.js.map +1 -1
  91. package/dist/index.d.ts +10 -1
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +10 -1
  94. package/dist/index.js.map +1 -1
  95. package/dist/legacy-skill-catalog.d.ts.map +1 -1
  96. package/dist/legacy-skill-catalog.js +41 -0
  97. package/dist/legacy-skill-catalog.js.map +1 -1
  98. package/dist/mcp-slate-command.d.ts +31 -0
  99. package/dist/mcp-slate-command.d.ts.map +1 -0
  100. package/dist/mcp-slate-command.js +123 -0
  101. package/dist/mcp-slate-command.js.map +1 -0
  102. package/dist/mcp-slate-image.d.ts +22 -0
  103. package/dist/mcp-slate-image.d.ts.map +1 -0
  104. package/dist/mcp-slate-image.js +28 -0
  105. package/dist/mcp-slate-image.js.map +1 -0
  106. package/dist/mcp-slate-latest.d.ts +13 -0
  107. package/dist/mcp-slate-latest.d.ts.map +1 -0
  108. package/dist/mcp-slate-latest.js +34 -0
  109. package/dist/mcp-slate-latest.js.map +1 -0
  110. package/dist/mcp-slate-names.d.ts +25 -0
  111. package/dist/mcp-slate-names.d.ts.map +1 -0
  112. package/dist/mcp-slate-names.js +49 -0
  113. package/dist/mcp-slate-names.js.map +1 -0
  114. package/dist/mcp-slate-resource.d.ts +5 -0
  115. package/dist/mcp-slate-resource.d.ts.map +1 -0
  116. package/dist/mcp-slate-resource.js +37 -0
  117. package/dist/mcp-slate-resource.js.map +1 -0
  118. package/dist/mcp-slate-run.d.ts +41 -0
  119. package/dist/mcp-slate-run.d.ts.map +1 -0
  120. package/dist/mcp-slate-run.js +88 -0
  121. package/dist/mcp-slate-run.js.map +1 -0
  122. package/dist/mcp-slate-tool-defs.d.ts +61 -0
  123. package/dist/mcp-slate-tool-defs.d.ts.map +1 -0
  124. package/dist/mcp-slate-tool-defs.js +247 -0
  125. package/dist/mcp-slate-tool-defs.js.map +1 -0
  126. package/dist/mcp-slate-tools.d.ts +8 -0
  127. package/dist/mcp-slate-tools.d.ts.map +1 -0
  128. package/dist/mcp-slate-tools.js +45 -0
  129. package/dist/mcp-slate-tools.js.map +1 -0
  130. package/dist/mcp-slate-ui-copy.d.ts +145 -0
  131. package/dist/mcp-slate-ui-copy.d.ts.map +1 -0
  132. package/dist/mcp-slate-ui-copy.js +164 -0
  133. package/dist/mcp-slate-ui-copy.js.map +1 -0
  134. package/dist/mcp-slate-ui-script-bridge.d.ts +18 -0
  135. package/dist/mcp-slate-ui-script-bridge.d.ts.map +1 -0
  136. package/dist/mcp-slate-ui-script-bridge.js +137 -0
  137. package/dist/mcp-slate-ui-script-bridge.js.map +1 -0
  138. package/dist/mcp-slate-ui-script-browser.d.ts +12 -0
  139. package/dist/mcp-slate-ui-script-browser.d.ts.map +1 -0
  140. package/dist/mcp-slate-ui-script-browser.js +19 -0
  141. package/dist/mcp-slate-ui-script-browser.js.map +1 -0
  142. package/dist/mcp-slate-ui-script-dialog.d.ts +21 -0
  143. package/dist/mcp-slate-ui-script-dialog.d.ts.map +1 -0
  144. package/dist/mcp-slate-ui-script-dialog.js +321 -0
  145. package/dist/mcp-slate-ui-script-dialog.js.map +1 -0
  146. package/dist/mcp-slate-ui-script-inline.d.ts +10 -0
  147. package/dist/mcp-slate-ui-script-inline.d.ts.map +1 -0
  148. package/dist/mcp-slate-ui-script-inline.js +224 -0
  149. package/dist/mcp-slate-ui-script-inline.js.map +1 -0
  150. package/dist/mcp-slate-ui-script-inspiration.d.ts +13 -0
  151. package/dist/mcp-slate-ui-script-inspiration.d.ts.map +1 -0
  152. package/dist/mcp-slate-ui-script-inspiration.js +236 -0
  153. package/dist/mcp-slate-ui-script-inspiration.js.map +1 -0
  154. package/dist/mcp-slate-ui-script-more.d.ts +32 -0
  155. package/dist/mcp-slate-ui-script-more.d.ts.map +1 -0
  156. package/dist/mcp-slate-ui-script-more.js +289 -0
  157. package/dist/mcp-slate-ui-script-more.js.map +1 -0
  158. package/dist/mcp-slate-ui-script-progress.d.ts +7 -0
  159. package/dist/mcp-slate-ui-script-progress.d.ts.map +1 -0
  160. package/dist/mcp-slate-ui-script-progress.js +9 -0
  161. package/dist/mcp-slate-ui-script-progress.js.map +1 -0
  162. package/dist/mcp-slate-ui-script-remote.d.ts +28 -0
  163. package/dist/mcp-slate-ui-script-remote.d.ts.map +1 -0
  164. package/dist/mcp-slate-ui-script-remote.js +147 -0
  165. package/dist/mcp-slate-ui-script-remote.js.map +1 -0
  166. package/dist/mcp-slate-ui-script-scribble.d.ts +19 -0
  167. package/dist/mcp-slate-ui-script-scribble.d.ts.map +1 -0
  168. package/dist/mcp-slate-ui-script-scribble.js +114 -0
  169. package/dist/mcp-slate-ui-script-scribble.js.map +1 -0
  170. package/dist/mcp-slate-ui-script-select.d.ts +16 -0
  171. package/dist/mcp-slate-ui-script-select.d.ts.map +1 -0
  172. package/dist/mcp-slate-ui-script-select.js +73 -0
  173. package/dist/mcp-slate-ui-script-select.js.map +1 -0
  174. package/dist/mcp-slate-ui-script-stage.d.ts +12 -0
  175. package/dist/mcp-slate-ui-script-stage.d.ts.map +1 -0
  176. package/dist/mcp-slate-ui-script-stage.js +180 -0
  177. package/dist/mcp-slate-ui-script-stage.js.map +1 -0
  178. package/dist/mcp-slate-ui-script-state.d.ts +13 -0
  179. package/dist/mcp-slate-ui-script-state.d.ts.map +1 -0
  180. package/dist/mcp-slate-ui-script-state.js +306 -0
  181. package/dist/mcp-slate-ui-script-state.js.map +1 -0
  182. package/dist/mcp-slate-ui-script.d.ts +27 -0
  183. package/dist/mcp-slate-ui-script.d.ts.map +1 -0
  184. package/dist/mcp-slate-ui-script.js +60 -0
  185. package/dist/mcp-slate-ui-script.js.map +1 -0
  186. package/dist/mcp-slate-ui-styles-dialog.d.ts +20 -0
  187. package/dist/mcp-slate-ui-styles-dialog.d.ts.map +1 -0
  188. package/dist/mcp-slate-ui-styles-dialog.js +95 -0
  189. package/dist/mcp-slate-ui-styles-dialog.js.map +1 -0
  190. package/dist/mcp-slate-ui-styles-stage.d.ts +19 -0
  191. package/dist/mcp-slate-ui-styles-stage.d.ts.map +1 -0
  192. package/dist/mcp-slate-ui-styles-stage.js +67 -0
  193. package/dist/mcp-slate-ui-styles-stage.js.map +1 -0
  194. package/dist/mcp-slate-ui-styles.d.ts +18 -0
  195. package/dist/mcp-slate-ui-styles.d.ts.map +1 -0
  196. package/dist/mcp-slate-ui-styles.js +132 -0
  197. package/dist/mcp-slate-ui-styles.js.map +1 -0
  198. package/dist/mcp-slate-ui.d.ts +16 -0
  199. package/dist/mcp-slate-ui.d.ts.map +1 -0
  200. package/dist/mcp-slate-ui.js +59 -0
  201. package/dist/mcp-slate-ui.js.map +1 -0
  202. package/dist/mcp-slate-workspace-tools.d.ts +15 -0
  203. package/dist/mcp-slate-workspace-tools.d.ts.map +1 -0
  204. package/dist/mcp-slate-workspace-tools.js +155 -0
  205. package/dist/mcp-slate-workspace-tools.js.map +1 -0
  206. package/dist/mcp-tool-definitions.d.ts.map +1 -1
  207. package/dist/mcp-tool-definitions.js +9 -7
  208. package/dist/mcp-tool-definitions.js.map +1 -1
  209. package/dist/mcp-tool-handler.d.ts +8 -2
  210. package/dist/mcp-tool-handler.d.ts.map +1 -1
  211. package/dist/mcp-tool-handler.js +34 -13
  212. package/dist/mcp-tool-handler.js.map +1 -1
  213. package/dist/mcp-workflow-tools.d.ts +6 -0
  214. package/dist/mcp-workflow-tools.d.ts.map +1 -0
  215. package/dist/mcp-workflow-tools.js +108 -0
  216. package/dist/mcp-workflow-tools.js.map +1 -0
  217. package/dist/prototype-label-client.d.ts +5 -0
  218. package/dist/prototype-label-client.d.ts.map +1 -1
  219. package/dist/prototype-label-client.js.map +1 -1
  220. package/dist/prototype-poststep.d.ts +2 -2
  221. package/dist/prototype-poststep.d.ts.map +1 -1
  222. package/dist/prototype-poststep.js +3 -0
  223. package/dist/prototype-poststep.js.map +1 -1
  224. package/dist/prototype-run-record.d.ts +6 -2
  225. package/dist/prototype-run-record.d.ts.map +1 -1
  226. package/dist/prototype-run-record.js +6 -0
  227. package/dist/prototype-run-record.js.map +1 -1
  228. package/dist/prototype-runner.d.ts +2 -2
  229. package/dist/prototype-runner.d.ts.map +1 -1
  230. package/dist/prototype-runner.js +5 -2
  231. package/dist/prototype-runner.js.map +1 -1
  232. package/dist/prototype-workflow-contract.d.ts +13 -0
  233. package/dist/prototype-workflow-contract.d.ts.map +1 -0
  234. package/dist/prototype-workflow-contract.js +82 -0
  235. package/dist/prototype-workflow-contract.js.map +1 -0
  236. package/dist/prototype-workflow-labels.d.ts +29 -0
  237. package/dist/prototype-workflow-labels.d.ts.map +1 -0
  238. package/dist/prototype-workflow-labels.js +93 -0
  239. package/dist/prototype-workflow-labels.js.map +1 -0
  240. package/dist/run-journal-commands.d.ts.map +1 -1
  241. package/dist/run-journal-commands.js +18 -5
  242. package/dist/run-journal-commands.js.map +1 -1
  243. package/dist/server.d.ts +22 -2
  244. package/dist/server.d.ts.map +1 -1
  245. package/dist/server.js +44 -8
  246. package/dist/server.js.map +1 -1
  247. package/dist/slate-actions.d.ts +43 -0
  248. package/dist/slate-actions.d.ts.map +1 -0
  249. package/dist/slate-actions.js +108 -0
  250. package/dist/slate-actions.js.map +1 -0
  251. package/dist/slate-annotate.d.ts +36 -0
  252. package/dist/slate-annotate.d.ts.map +1 -0
  253. package/dist/slate-annotate.js +71 -0
  254. package/dist/slate-annotate.js.map +1 -0
  255. package/dist/slate-approvals.d.ts +61 -0
  256. package/dist/slate-approvals.d.ts.map +1 -0
  257. package/dist/slate-approvals.js +153 -0
  258. package/dist/slate-approvals.js.map +1 -0
  259. package/dist/slate-browser-decision.d.ts +30 -0
  260. package/dist/slate-browser-decision.d.ts.map +1 -0
  261. package/dist/slate-browser-decision.js +24 -0
  262. package/dist/slate-browser-decision.js.map +1 -0
  263. package/dist/slate-browser-host-script.d.ts +14 -0
  264. package/dist/slate-browser-host-script.d.ts.map +1 -0
  265. package/dist/slate-browser-host-script.js +125 -0
  266. package/dist/slate-browser-host-script.js.map +1 -0
  267. package/dist/slate-browser-host.d.ts +9 -0
  268. package/dist/slate-browser-host.d.ts.map +1 -0
  269. package/dist/slate-browser-host.js +37 -0
  270. package/dist/slate-browser-host.js.map +1 -0
  271. package/dist/slate-browser-server.d.ts +37 -0
  272. package/dist/slate-browser-server.d.ts.map +1 -0
  273. package/dist/slate-browser-server.js +186 -0
  274. package/dist/slate-browser-server.js.map +1 -0
  275. package/dist/slate-commit.d.ts +28 -0
  276. package/dist/slate-commit.d.ts.map +1 -0
  277. package/dist/slate-commit.js +218 -0
  278. package/dist/slate-commit.js.map +1 -0
  279. package/dist/slate-corpus.d.ts +14 -0
  280. package/dist/slate-corpus.d.ts.map +1 -0
  281. package/dist/slate-corpus.js +32 -0
  282. package/dist/slate-corpus.js.map +1 -0
  283. package/dist/slate-edit-prompt.d.ts +18 -0
  284. package/dist/slate-edit-prompt.d.ts.map +1 -0
  285. package/dist/slate-edit-prompt.js +41 -0
  286. package/dist/slate-edit-prompt.js.map +1 -0
  287. package/dist/slate-edit-runner.d.ts +4 -0
  288. package/dist/slate-edit-runner.d.ts.map +1 -0
  289. package/dist/slate-edit-runner.js +90 -0
  290. package/dist/slate-edit-runner.js.map +1 -0
  291. package/dist/slate-editability.d.ts +20 -0
  292. package/dist/slate-editability.d.ts.map +1 -0
  293. package/dist/slate-editability.js +19 -0
  294. package/dist/slate-editability.js.map +1 -0
  295. package/dist/slate-errors.d.ts +15 -0
  296. package/dist/slate-errors.d.ts.map +1 -0
  297. package/dist/slate-errors.js +21 -0
  298. package/dist/slate-errors.js.map +1 -0
  299. package/dist/slate-handoff-options.d.ts +40 -0
  300. package/dist/slate-handoff-options.d.ts.map +1 -0
  301. package/dist/slate-handoff-options.js +117 -0
  302. package/dist/slate-handoff-options.js.map +1 -0
  303. package/dist/slate-handoff.d.ts +11 -0
  304. package/dist/slate-handoff.d.ts.map +1 -0
  305. package/dist/slate-handoff.js +56 -0
  306. package/dist/slate-handoff.js.map +1 -0
  307. package/dist/slate-ids.d.ts +33 -0
  308. package/dist/slate-ids.d.ts.map +1 -0
  309. package/dist/slate-ids.js +47 -0
  310. package/dist/slate-ids.js.map +1 -0
  311. package/dist/slate-image-executor.d.ts +39 -0
  312. package/dist/slate-image-executor.d.ts.map +1 -0
  313. package/dist/slate-image-executor.js +52 -0
  314. package/dist/slate-image-executor.js.map +1 -0
  315. package/dist/slate-inspiration.d.ts +22 -0
  316. package/dist/slate-inspiration.d.ts.map +1 -0
  317. package/dist/slate-inspiration.js +112 -0
  318. package/dist/slate-inspiration.js.map +1 -0
  319. package/dist/slate-labels.d.ts +11 -0
  320. package/dist/slate-labels.d.ts.map +1 -0
  321. package/dist/slate-labels.js +32 -0
  322. package/dist/slate-labels.js.map +1 -0
  323. package/dist/slate-ledger.d.ts +29 -0
  324. package/dist/slate-ledger.d.ts.map +1 -0
  325. package/dist/slate-ledger.js +65 -0
  326. package/dist/slate-ledger.js.map +1 -0
  327. package/dist/slate-liveness.d.ts +26 -0
  328. package/dist/slate-liveness.d.ts.map +1 -0
  329. package/dist/slate-liveness.js +49 -0
  330. package/dist/slate-liveness.js.map +1 -0
  331. package/dist/slate-local-image.d.ts +19 -0
  332. package/dist/slate-local-image.d.ts.map +1 -0
  333. package/dist/slate-local-image.js +36 -0
  334. package/dist/slate-local-image.js.map +1 -0
  335. package/dist/slate-lock.d.ts +64 -0
  336. package/dist/slate-lock.d.ts.map +1 -0
  337. package/dist/slate-lock.js +178 -0
  338. package/dist/slate-lock.js.map +1 -0
  339. package/dist/slate-paths.d.ts +45 -0
  340. package/dist/slate-paths.d.ts.map +1 -0
  341. package/dist/slate-paths.js +132 -0
  342. package/dist/slate-paths.js.map +1 -0
  343. package/dist/slate-pick.d.ts +29 -0
  344. package/dist/slate-pick.d.ts.map +1 -0
  345. package/dist/slate-pick.js +55 -0
  346. package/dist/slate-pick.js.map +1 -0
  347. package/dist/slate-reference-ids.d.ts +6 -0
  348. package/dist/slate-reference-ids.d.ts.map +1 -0
  349. package/dist/slate-reference-ids.js +17 -0
  350. package/dist/slate-reference-ids.js.map +1 -0
  351. package/dist/slate-reference-store.d.ts +23 -0
  352. package/dist/slate-reference-store.d.ts.map +1 -0
  353. package/dist/slate-reference-store.js +46 -0
  354. package/dist/slate-reference-store.js.map +1 -0
  355. package/dist/slate-resume.d.ts +19 -0
  356. package/dist/slate-resume.d.ts.map +1 -0
  357. package/dist/slate-resume.js +94 -0
  358. package/dist/slate-resume.js.map +1 -0
  359. package/dist/slate-round-params.d.ts +20 -0
  360. package/dist/slate-round-params.d.ts.map +1 -0
  361. package/dist/slate-round-params.js +32 -0
  362. package/dist/slate-round-params.js.map +1 -0
  363. package/dist/slate-round-prompt.d.ts +18 -0
  364. package/dist/slate-round-prompt.d.ts.map +1 -0
  365. package/dist/slate-round-prompt.js +20 -0
  366. package/dist/slate-round-prompt.js.map +1 -0
  367. package/dist/slate-round-runner.d.ts +4 -0
  368. package/dist/slate-round-runner.d.ts.map +1 -0
  369. package/dist/slate-round-runner.js +125 -0
  370. package/dist/slate-round-runner.js.map +1 -0
  371. package/dist/slate-round-search.d.ts +7 -0
  372. package/dist/slate-round-search.d.ts.map +1 -0
  373. package/dist/slate-round-search.js +77 -0
  374. package/dist/slate-round-search.js.map +1 -0
  375. package/dist/slate-run-action.d.ts +14 -0
  376. package/dist/slate-run-action.d.ts.map +1 -0
  377. package/dist/slate-run-action.js +81 -0
  378. package/dist/slate-run-action.js.map +1 -0
  379. package/dist/slate-runner-context.d.ts +57 -0
  380. package/dist/slate-runner-context.d.ts.map +1 -0
  381. package/dist/slate-runner-context.js +79 -0
  382. package/dist/slate-runner-context.js.map +1 -0
  383. package/dist/slate-runner-failure.d.ts +8 -0
  384. package/dist/slate-runner-failure.d.ts.map +1 -0
  385. package/dist/slate-runner-failure.js +17 -0
  386. package/dist/slate-runner-failure.js.map +1 -0
  387. package/dist/slate-runner-flag.d.ts +3 -0
  388. package/dist/slate-runner-flag.d.ts.map +1 -0
  389. package/dist/slate-runner-flag.js +3 -0
  390. package/dist/slate-runner-flag.js.map +1 -0
  391. package/dist/slate-runner-main.d.ts +31 -0
  392. package/dist/slate-runner-main.d.ts.map +1 -0
  393. package/dist/slate-runner-main.js +132 -0
  394. package/dist/slate-runner-main.js.map +1 -0
  395. package/dist/slate-runner-spawn.d.ts +23 -0
  396. package/dist/slate-runner-spawn.d.ts.map +1 -0
  397. package/dist/slate-runner-spawn.js +27 -0
  398. package/dist/slate-runner-spawn.js.map +1 -0
  399. package/dist/slate-runtime.d.ts +38 -0
  400. package/dist/slate-runtime.d.ts.map +1 -0
  401. package/dist/slate-runtime.js +48 -0
  402. package/dist/slate-runtime.js.map +1 -0
  403. package/dist/slate-versions.d.ts +26 -0
  404. package/dist/slate-versions.d.ts.map +1 -0
  405. package/dist/slate-versions.js +110 -0
  406. package/dist/slate-versions.js.map +1 -0
  407. package/dist/slate-view-contract.d.ts +232 -0
  408. package/dist/slate-view-contract.d.ts.map +1 -0
  409. package/dist/slate-view-contract.js +17 -0
  410. package/dist/slate-view-contract.js.map +1 -0
  411. package/dist/slate-view-types.d.ts +2 -0
  412. package/dist/slate-view-types.d.ts.map +1 -0
  413. package/dist/slate-view-types.js +2 -0
  414. package/dist/slate-view-types.js.map +1 -0
  415. package/dist/slate-view.d.ts +19 -0
  416. package/dist/slate-view.d.ts.map +1 -0
  417. package/dist/slate-view.js +184 -0
  418. package/dist/slate-view.js.map +1 -0
  419. package/dist/slate-workspace-parse.d.ts +20 -0
  420. package/dist/slate-workspace-parse.d.ts.map +1 -0
  421. package/dist/slate-workspace-parse.js +442 -0
  422. package/dist/slate-workspace-parse.js.map +1 -0
  423. package/dist/slate-workspace-store.d.ts +44 -0
  424. package/dist/slate-workspace-store.d.ts.map +1 -0
  425. package/dist/slate-workspace-store.js +270 -0
  426. package/dist/slate-workspace-store.js.map +1 -0
  427. package/dist/slate-workspace-types.d.ts +176 -0
  428. package/dist/slate-workspace-types.d.ts.map +1 -0
  429. package/dist/slate-workspace-types.js +13 -0
  430. package/dist/slate-workspace-types.js.map +1 -0
  431. package/dist/workflow/adapter-12ui.d.ts +4 -0
  432. package/dist/workflow/adapter-12ui.d.ts.map +1 -0
  433. package/dist/workflow/adapter-12ui.js +147 -0
  434. package/dist/workflow/adapter-12ui.js.map +1 -0
  435. package/dist/workflow/adapter-layerdoc.d.ts +16 -0
  436. package/dist/workflow/adapter-layerdoc.d.ts.map +1 -0
  437. package/dist/workflow/adapter-layerdoc.js +116 -0
  438. package/dist/workflow/adapter-layerdoc.js.map +1 -0
  439. package/dist/workflow/adapter-openai.d.ts +4 -0
  440. package/dist/workflow/adapter-openai.d.ts.map +1 -0
  441. package/dist/workflow/adapter-openai.js +166 -0
  442. package/dist/workflow/adapter-openai.js.map +1 -0
  443. package/dist/workflow/adapter-process.d.ts +7 -0
  444. package/dist/workflow/adapter-process.d.ts.map +1 -0
  445. package/dist/workflow/adapter-process.js +174 -0
  446. package/dist/workflow/adapter-process.js.map +1 -0
  447. package/dist/workflow/adapter-prototype-labels.d.ts +15 -0
  448. package/dist/workflow/adapter-prototype-labels.d.ts.map +1 -0
  449. package/dist/workflow/adapter-prototype-labels.js +71 -0
  450. package/dist/workflow/adapter-prototype-labels.js.map +1 -0
  451. package/dist/workflow/adapter-types.d.ts +40 -0
  452. package/dist/workflow/adapter-types.d.ts.map +1 -0
  453. package/dist/workflow/adapter-types.js +2 -0
  454. package/dist/workflow/adapter-types.js.map +1 -0
  455. package/dist/workflow/adapter-utils.d.ts +11 -0
  456. package/dist/workflow/adapter-utils.d.ts.map +1 -0
  457. package/dist/workflow/adapter-utils.js +72 -0
  458. package/dist/workflow/adapter-utils.js.map +1 -0
  459. package/dist/workflow/adapters.d.ts +6 -0
  460. package/dist/workflow/adapters.d.ts.map +1 -0
  461. package/dist/workflow/adapters.js +25 -0
  462. package/dist/workflow/adapters.js.map +1 -0
  463. package/dist/workflow/artifact.d.ts +11 -0
  464. package/dist/workflow/artifact.d.ts.map +1 -0
  465. package/dist/workflow/artifact.js +94 -0
  466. package/dist/workflow/artifact.js.map +1 -0
  467. package/dist/workflow/bundle-collect.d.ts +8 -0
  468. package/dist/workflow/bundle-collect.d.ts.map +1 -0
  469. package/dist/workflow/bundle-collect.js +56 -0
  470. package/dist/workflow/bundle-collect.js.map +1 -0
  471. package/dist/workflow/bundle-export.d.ts +16 -0
  472. package/dist/workflow/bundle-export.d.ts.map +1 -0
  473. package/dist/workflow/bundle-export.js +174 -0
  474. package/dist/workflow/bundle-export.js.map +1 -0
  475. package/dist/workflow/bundle-paths.d.ts +7 -0
  476. package/dist/workflow/bundle-paths.d.ts.map +1 -0
  477. package/dist/workflow/bundle-paths.js +35 -0
  478. package/dist/workflow/bundle-paths.js.map +1 -0
  479. package/dist/workflow/bundle.d.ts +4 -0
  480. package/dist/workflow/bundle.d.ts.map +1 -0
  481. package/dist/workflow/bundle.js +4 -0
  482. package/dist/workflow/bundle.js.map +1 -0
  483. package/dist/workflow/capture.d.ts +36 -0
  484. package/dist/workflow/capture.d.ts.map +1 -0
  485. package/dist/workflow/capture.js +81 -0
  486. package/dist/workflow/capture.js.map +1 -0
  487. package/dist/workflow/continuation-branch.d.ts +15 -0
  488. package/dist/workflow/continuation-branch.d.ts.map +1 -0
  489. package/dist/workflow/continuation-branch.js +103 -0
  490. package/dist/workflow/continuation-branch.js.map +1 -0
  491. package/dist/workflow/continuation-plans.d.ts +38 -0
  492. package/dist/workflow/continuation-plans.d.ts.map +1 -0
  493. package/dist/workflow/continuation-plans.js +78 -0
  494. package/dist/workflow/continuation-plans.js.map +1 -0
  495. package/dist/workflow/continuation.d.ts +25 -0
  496. package/dist/workflow/continuation.d.ts.map +1 -0
  497. package/dist/workflow/continuation.js +89 -0
  498. package/dist/workflow/continuation.js.map +1 -0
  499. package/dist/workflow/layerdoc-reader.d.ts +27 -0
  500. package/dist/workflow/layerdoc-reader.d.ts.map +1 -0
  501. package/dist/workflow/layerdoc-reader.js +81 -0
  502. package/dist/workflow/layerdoc-reader.js.map +1 -0
  503. package/dist/workflow/project-evidence.d.ts +48 -0
  504. package/dist/workflow/project-evidence.d.ts.map +1 -0
  505. package/dist/workflow/project-evidence.js +200 -0
  506. package/dist/workflow/project-evidence.js.map +1 -0
  507. package/dist/workflow/providers.d.ts +35 -0
  508. package/dist/workflow/providers.d.ts.map +1 -0
  509. package/dist/workflow/providers.js +110 -0
  510. package/dist/workflow/providers.js.map +1 -0
  511. package/dist/workflow/recipes-layerdoc-validation.d.ts +4 -0
  512. package/dist/workflow/recipes-layerdoc-validation.d.ts.map +1 -0
  513. package/dist/workflow/recipes-layerdoc-validation.js +98 -0
  514. package/dist/workflow/recipes-layerdoc-validation.js.map +1 -0
  515. package/dist/workflow/recipes-result-validation.d.ts +6 -0
  516. package/dist/workflow/recipes-result-validation.d.ts.map +1 -0
  517. package/dist/workflow/recipes-result-validation.js +38 -0
  518. package/dist/workflow/recipes-result-validation.js.map +1 -0
  519. package/dist/workflow/recipes-schemas.d.ts +7 -0
  520. package/dist/workflow/recipes-schemas.d.ts.map +1 -0
  521. package/dist/workflow/recipes-schemas.js +67 -0
  522. package/dist/workflow/recipes-schemas.js.map +1 -0
  523. package/dist/workflow/recipes-validation.d.ts +14 -0
  524. package/dist/workflow/recipes-validation.d.ts.map +1 -0
  525. package/dist/workflow/recipes-validation.js +68 -0
  526. package/dist/workflow/recipes-validation.js.map +1 -0
  527. package/dist/workflow/recipes.d.ts +20 -0
  528. package/dist/workflow/recipes.d.ts.map +1 -0
  529. package/dist/workflow/recipes.js +167 -0
  530. package/dist/workflow/recipes.js.map +1 -0
  531. package/dist/workflow/routing.d.ts +4 -0
  532. package/dist/workflow/routing.d.ts.map +1 -0
  533. package/dist/workflow/routing.js +28 -0
  534. package/dist/workflow/routing.js.map +1 -0
  535. package/dist/workflow/schema.d.ts +5 -0
  536. package/dist/workflow/schema.d.ts.map +1 -0
  537. package/dist/workflow/schema.js +29 -0
  538. package/dist/workflow/schema.js.map +1 -0
  539. package/dist/workflow/service.d.ts +59 -0
  540. package/dist/workflow/service.d.ts.map +1 -0
  541. package/dist/workflow/service.js +170 -0
  542. package/dist/workflow/service.js.map +1 -0
  543. package/dist/workflow/store-json.d.ts +5 -0
  544. package/dist/workflow/store-json.d.ts.map +1 -0
  545. package/dist/workflow/store-json.js +35 -0
  546. package/dist/workflow/store-json.js.map +1 -0
  547. package/dist/workflow/store-lock.d.ts +3 -0
  548. package/dist/workflow/store-lock.d.ts.map +1 -0
  549. package/dist/workflow/store-lock.js +85 -0
  550. package/dist/workflow/store-lock.js.map +1 -0
  551. package/dist/workflow/store-paths.d.ts +17 -0
  552. package/dist/workflow/store-paths.d.ts.map +1 -0
  553. package/dist/workflow/store-paths.js +67 -0
  554. package/dist/workflow/store-paths.js.map +1 -0
  555. package/dist/workflow/store-validation.d.ts +7 -0
  556. package/dist/workflow/store-validation.d.ts.map +1 -0
  557. package/dist/workflow/store-validation.js +119 -0
  558. package/dist/workflow/store-validation.js.map +1 -0
  559. package/dist/workflow/store.d.ts +10 -0
  560. package/dist/workflow/store.d.ts.map +1 -0
  561. package/dist/workflow/store.js +193 -0
  562. package/dist/workflow/store.js.map +1 -0
  563. package/dist/workflow/types.d.ts +120 -0
  564. package/dist/workflow/types.d.ts.map +1 -0
  565. package/dist/workflow/types.js +15 -0
  566. package/dist/workflow/types.js.map +1 -0
  567. package/dist/workflow-transport.d.ts +28 -0
  568. package/dist/workflow-transport.d.ts.map +1 -0
  569. package/dist/workflow-transport.js +184 -0
  570. package/dist/workflow-transport.js.map +1 -0
  571. package/open-design.json +2 -2
  572. package/package.json +2 -1
  573. package/prototype-kit/tests/rules-check.mjs +9 -0
  574. package/runtime/codex-conversion/src/images/native-invoke.mjs +1 -1
  575. package/runtime/codex-conversion/src/images/native.mjs +8 -4
  576. package/runtime/layerdoc-validator.mjs +1860 -0
  577. package/skills/12ui-design/SKILL.md +17 -63
  578. package/skills/12ui-design/improve.md +5 -1
  579. package/skills/12ui-design/inspire.md +8 -5
  580. package/skills/12ui-design/outputs.md +23 -2
  581. package/skills/12ui-design/session.md +161 -0
@@ -0,0 +1,61 @@
1
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ /** The view every reader returns. Permissive on purpose: the schema names the shape, the code enforces it. */
3
+ export declare const slateViewOutputSchema: {
4
+ type: "object";
5
+ required: string[];
6
+ properties: {
7
+ schema: {
8
+ type: "string";
9
+ const: "12ui.slate.view/3";
10
+ };
11
+ rev: {
12
+ type: "integer";
13
+ };
14
+ stamp: {
15
+ type: "string";
16
+ };
17
+ workspaceId: {
18
+ type: string[];
19
+ };
20
+ runDir: {
21
+ type: string[];
22
+ };
23
+ brief: {
24
+ type: string[];
25
+ };
26
+ local: {
27
+ type: "object";
28
+ };
29
+ rounds: {
30
+ type: "array";
31
+ items: object;
32
+ };
33
+ candidates: {
34
+ type: "array";
35
+ items: object;
36
+ };
37
+ versions: {
38
+ type: "array";
39
+ items: object;
40
+ };
41
+ ops: {
42
+ type: "array";
43
+ items: object;
44
+ };
45
+ pick: {
46
+ type: string[];
47
+ };
48
+ inspiration: {
49
+ type: "object";
50
+ };
51
+ references: {
52
+ type: "object";
53
+ };
54
+ handoffs: {
55
+ type: "array";
56
+ items: object;
57
+ };
58
+ };
59
+ };
60
+ export declare const SLATE_TOOL_DEFINITIONS: Tool[];
61
+ //# sourceMappingURL=mcp-slate-tool-defs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-tool-defs.d.ts","sourceRoot":"","sources":["../src/mcp-slate-tool-defs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AA+C/D,8GAA8G;AAC9G,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBjC,CAAC;AA+BF,eAAO,MAAM,sBAAsB,EAAE,IAAI,EA4KxC,CAAC"}
@@ -0,0 +1,247 @@
1
+ import { SLATE_DATA_TOOL, SLATE_HANDOFF_TOOL, SLATE_IMAGE_TOOL, SLATE_INSPIRATION_TOOL, SLATE_INSPIRE_TOOL, SLATE_OPEN_TOOL, SLATE_PICK_TOOL, SLATE_REFERENCE_TOOL, SLATE_RESOURCE_URI, SLATE_RESUME_TOOL, SLATE_RUN_TOOL, SLATE_SHOW_TOOL, SLATE_STATUS_TOOL, } from './mcp-slate-names.js';
2
+ import { SLATE_VIEW_SCHEMA } from './slate-view-contract.js';
3
+ /**
4
+ * Definitions of the twelve design-workspace tools. Three are model-visible
5
+ * (`show` renders the card, `data` returns the same facts as plain data so the
6
+ * agent can verify a selection or a hand-off, `open` is the sidebar entry). The
7
+ * other nine are app-only: the host hides them from the model. Only `run` and
8
+ * `resume` start work, only from a click in the screen, and that work is local:
9
+ * nothing in the workspace uses a paid service.
10
+ */
11
+ const uiResource = { ui: { resourceUri: SLATE_RESOURCE_URI }, 'ui/resourceUri': SLATE_RESOURCE_URI };
12
+ const appOnly = { ui: { visibility: ['app'] } };
13
+ const readOnlyAnnotations = { readOnlyHint: true, destructiveHint: false, openWorldHint: false };
14
+ const writeAnnotations = (title, openWorldHint = false) => ({
15
+ readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint, title,
16
+ });
17
+ const runDirProperty = {
18
+ type: 'string',
19
+ minLength: 1,
20
+ description: 'Absolute path of the workspace root: a finished 12ui draft run (the one holding draft.complete.json).',
21
+ };
22
+ const arrayOf = (items = {}) => ({ type: 'array', items });
23
+ const nullable = (type) => ({ type: [type, 'null'] });
24
+ const uuidPattern = '^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$';
25
+ const referenceIdPattern = '^(?:gen|logo-gen)-[A-Za-z0-9._-]{1,120}$';
26
+ /** The view every reader returns. Permissive on purpose: the schema names the shape, the code enforces it. */
27
+ export const slateViewOutputSchema = {
28
+ type: 'object',
29
+ required: ['schema', 'rev', 'stamp', 'local', 'rounds', 'candidates', 'versions', 'ops', 'pick', 'inspiration', 'references', 'handoffs'],
30
+ properties: {
31
+ schema: { type: 'string', const: SLATE_VIEW_SCHEMA },
32
+ rev: { type: 'integer' },
33
+ stamp: { type: 'string' },
34
+ workspaceId: nullable('string'),
35
+ runDir: nullable('string'),
36
+ brief: nullable('object'),
37
+ local: { type: 'object' },
38
+ rounds: arrayOf({ type: 'object' }),
39
+ candidates: arrayOf({ type: 'object' }),
40
+ versions: arrayOf({ type: 'object' }),
41
+ ops: arrayOf({ type: 'object' }),
42
+ pick: nullable('object'),
43
+ inspiration: { type: 'object' },
44
+ references: { type: 'object' },
45
+ handoffs: arrayOf({ type: 'object' }),
46
+ },
47
+ };
48
+ const strokeSchema = {
49
+ type: 'array',
50
+ minItems: 1,
51
+ maxItems: 400,
52
+ description: 'One freehand stroke: [x, y] points in thousandths of the image, 0 to 1000.',
53
+ items: { type: 'array', minItems: 2, maxItems: 2, items: { type: 'integer', minimum: 0, maximum: 1000 } },
54
+ };
55
+ const workActionSchema = {
56
+ type: 'object',
57
+ required: ['kind'],
58
+ properties: {
59
+ kind: { type: 'string', enum: ['round', 'edit'] },
60
+ mode: { type: 'string', enum: ['new', 'like'] },
61
+ note: { type: 'string', maxLength: 600 },
62
+ fromVersionId: { type: 'string' },
63
+ count: { type: 'integer', enum: [1, 2, 4, 8, 12], description: 'Options to draw in a round: 1, 2, 4, 8 or 12 (default 4).' },
64
+ versionId: { type: 'string' },
65
+ prompt: { type: 'string', description: 'The edit instruction. Optional when strokes are sent.' },
66
+ strokes: { type: 'array', maxItems: 24, items: strokeSchema },
67
+ },
68
+ };
69
+ const opIdProperty = {
70
+ type: 'string',
71
+ pattern: uuidPattern,
72
+ description: 'A UUID v4 minted when the dialog opened: one per intent, so a repeated call never repeats work.',
73
+ };
74
+ export const SLATE_TOOL_DEFINITIONS = [
75
+ {
76
+ name: SLATE_SHOW_TOOL,
77
+ title: 'Design workspace',
78
+ description: 'Show the 12ui Design workspace for a finished draft run: its options as an interactive card (one large image, the other options as thumbnails, and Select) the user opens into a workspace to design, edit, branch and convert. Returns the options, versions, rounds, the selection, the file paths and the continuation command as text too. Reads only. Omit runDir for the most recent draft run.',
79
+ inputSchema: { type: 'object', additionalProperties: false, properties: { runDir: runDirProperty } },
80
+ outputSchema: slateViewOutputSchema,
81
+ annotations: { ...readOnlyAnnotations, title: 'Design workspace' },
82
+ _meta: { ...uiResource, 'openai/ui': { preferredModelDisplayMode: 'inline' } },
83
+ },
84
+ {
85
+ name: SLATE_DATA_TOOL,
86
+ title: 'Design workspace data',
87
+ description: 'Read the Design workspace of a finished 12ui draft run: every option and version with its file path and sha256, each round and the references it used, each op with its state, the selection with its durable image path, the selected inspiration, and every recorded Branch or Convert hand-off with the user\'s exact words and its image. Renders nothing. Use it to confirm a selection or a hand-off before acting on a message that says so. A Convert hand-off lists the exact `12ui convert` and `12ui export` commands that carry it out; run those in a shell, since design.workflow convert offers only HTML or LayerDoc. Omit runDir for the most recent draft run.',
88
+ inputSchema: { type: 'object', additionalProperties: false, properties: { runDir: runDirProperty } },
89
+ outputSchema: slateViewOutputSchema,
90
+ annotations: { ...readOnlyAnnotations, title: 'Design workspace data' },
91
+ },
92
+ {
93
+ name: SLATE_OPEN_TOOL,
94
+ title: 'Design workspace',
95
+ description: 'Open the Design workspace of the most recent finished draft run, or an empty state when there is none.',
96
+ inputSchema: { type: 'object', additionalProperties: false, properties: {} },
97
+ outputSchema: slateViewOutputSchema,
98
+ annotations: { ...readOnlyAnnotations, title: 'Design workspace' },
99
+ _meta: { ...uiResource, 'openai/ui': { entrypoints: [{ type: 'global' }] } },
100
+ },
101
+ {
102
+ name: SLATE_IMAGE_TOOL,
103
+ title: 'Workspace version image',
104
+ description: 'Image bytes of one version for the workspace view: a 480px wide thumbnail, or the full-size PNG.',
105
+ inputSchema: {
106
+ type: 'object',
107
+ additionalProperties: false,
108
+ required: ['runDir', 'versionId', 'size'],
109
+ properties: {
110
+ runDir: runDirProperty,
111
+ versionId: { type: 'string', minLength: 1, maxLength: 64 },
112
+ size: { type: 'string', enum: ['thumb', 'full'] },
113
+ },
114
+ },
115
+ annotations: { ...readOnlyAnnotations, title: 'Workspace version image' },
116
+ _meta: appOnly,
117
+ },
118
+ {
119
+ name: SLATE_REFERENCE_TOOL,
120
+ title: 'Workspace reference image',
121
+ description: 'Image bytes of one inspiration reference named in the workspace, from the free corpus (cached in the workspace after the first download): a thumbnail or the reference size.',
122
+ inputSchema: {
123
+ type: 'object',
124
+ additionalProperties: false,
125
+ required: ['runDir', 'referenceId', 'size'],
126
+ properties: {
127
+ runDir: runDirProperty,
128
+ referenceId: { type: 'string', pattern: referenceIdPattern },
129
+ size: { type: 'string', enum: ['thumb', 'ref'] },
130
+ },
131
+ },
132
+ annotations: { ...readOnlyAnnotations, openWorldHint: true, title: 'Workspace reference image' },
133
+ _meta: appOnly,
134
+ },
135
+ {
136
+ name: SLATE_INSPIRE_TOOL,
137
+ title: 'Search inspiration',
138
+ description: 'Search the free reference corpus (balanced mode, no account) and record the result in the workspace. An identical search is answered from the record. Does not change the selection or start any work.',
139
+ inputSchema: {
140
+ type: 'object',
141
+ additionalProperties: false,
142
+ required: ['runDir', 'query'],
143
+ properties: {
144
+ runDir: runDirProperty,
145
+ query: { type: 'string', minLength: 1, maxLength: 500 },
146
+ count: { type: 'integer', minimum: 1, maximum: 24 },
147
+ },
148
+ },
149
+ annotations: writeAnnotations('Search inspiration', true),
150
+ _meta: appOnly,
151
+ },
152
+ {
153
+ name: SLATE_INSPIRATION_TOOL,
154
+ title: 'Select inspiration',
155
+ description: 'Replace the selected inspiration: at most eight reference ids, in click order, each already named by a round, a search or the current selection. Changes nothing else and starts no work.',
156
+ inputSchema: {
157
+ type: 'object',
158
+ additionalProperties: false,
159
+ required: ['runDir', 'referenceIds'],
160
+ properties: {
161
+ runDir: runDirProperty,
162
+ referenceIds: { type: 'array', maxItems: 8, uniqueItems: true, items: { type: 'string', pattern: referenceIdPattern } },
163
+ },
164
+ },
165
+ annotations: writeAnnotations('Select inspiration'),
166
+ _meta: appOnly,
167
+ },
168
+ {
169
+ name: SLATE_PICK_TOOL,
170
+ title: 'Record workspace selection',
171
+ description: 'Record the selected version (a reason is optional) in the workspace, and copy its image to a durable folder. Starts no work.',
172
+ inputSchema: {
173
+ type: 'object',
174
+ additionalProperties: false,
175
+ required: ['runDir', 'versionId'],
176
+ properties: {
177
+ runDir: runDirProperty,
178
+ versionId: { type: 'string', minLength: 1, maxLength: 64 },
179
+ reason: { type: 'string', maxLength: 500 },
180
+ },
181
+ },
182
+ annotations: writeAnnotations('Record workspace selection'),
183
+ _meta: appOnly,
184
+ },
185
+ {
186
+ name: SLATE_RUN_TOOL,
187
+ title: 'Start workspace action',
188
+ description: 'Commit one workspace action (a new round of options, or an edit with an optional scribble) from the user\'s click. Writes the approval record, starts a detached local runner and returns at once; it never waits for image work.',
189
+ inputSchema: {
190
+ type: 'object',
191
+ additionalProperties: false,
192
+ required: ['runDir', 'opId', 'action'],
193
+ properties: { runDir: runDirProperty, opId: opIdProperty, action: workActionSchema },
194
+ },
195
+ annotations: writeAnnotations('Start workspace action'),
196
+ _meta: appOnly,
197
+ },
198
+ {
199
+ name: SLATE_RESUME_TOOL,
200
+ title: 'Resume workspace action',
201
+ description: 'Continue an interrupted or unfinished op from the user\'s click. Replays the same approved work with the same call ids; it accepts no other input.',
202
+ inputSchema: {
203
+ type: 'object',
204
+ additionalProperties: false,
205
+ required: ['runDir', 'opId'],
206
+ properties: { runDir: runDirProperty, opId: opIdProperty },
207
+ },
208
+ annotations: writeAnnotations('Resume workspace action'),
209
+ _meta: appOnly,
210
+ },
211
+ {
212
+ name: SLATE_STATUS_TOOL,
213
+ title: 'Workspace status',
214
+ description: 'Read the workspace state and the liveness of its runners from local files, with whether this Mac can draw images now (a local Codex check, cached for a minute). Answers { unchanged: true } when nothing changed since the given stamp.',
215
+ inputSchema: {
216
+ type: 'object',
217
+ additionalProperties: false,
218
+ required: ['runDir'],
219
+ properties: { runDir: runDirProperty, since: { type: 'string', maxLength: 128 } },
220
+ },
221
+ annotations: { ...readOnlyAnnotations, title: 'Workspace status' },
222
+ _meta: appOnly,
223
+ },
224
+ {
225
+ name: SLATE_HANDOFF_TOOL,
226
+ title: 'Record workspace hand-off',
227
+ description: 'Record that the user asked to Branch or Convert a version, with their exact words or chosen format and a verified copy of the image, so the agent can verify it with the data tool. Starts nothing.',
228
+ inputSchema: {
229
+ type: 'object',
230
+ additionalProperties: false,
231
+ required: ['runDir', 'handoffId', 'kind', 'versionId', 'options'],
232
+ properties: {
233
+ runDir: runDirProperty,
234
+ handoffId: { type: 'string', pattern: uuidPattern, description: 'A UUID v4 minted when the dialog opened.' },
235
+ kind: { type: 'string', enum: ['branch', 'convert'] },
236
+ versionId: { type: 'string', minLength: 1, maxLength: 64 },
237
+ options: {
238
+ type: 'object',
239
+ description: 'Branch: { explanation? }. Convert: { engine: local|service, output, model?, width?, responsiveQuality? }.',
240
+ },
241
+ },
242
+ },
243
+ annotations: writeAnnotations('Record workspace hand-off'),
244
+ _meta: appOnly,
245
+ },
246
+ ];
247
+ //# sourceMappingURL=mcp-slate-tool-defs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-tool-defs.js","sourceRoot":"","sources":["../src/mcp-slate-tool-defs.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;GAOG;AAEH,MAAM,UAAU,GAAG,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;AACrG,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;AAEhD,MAAM,mBAAmB,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AACjG,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;IAClE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK;CACxF,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,QAAiB;IACvB,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,uGAAuG;CACrH,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5E,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9D,MAAM,WAAW,GAAG,uEAAuE,CAAC;AAC5F,MAAM,kBAAkB,GAAG,0CAA0C,CAAC;AAEtE,8GAA8G;AAC9G,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,QAAiB;IACvB,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,CAAC;IACzI,UAAU,EAAE;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;QAC7D,GAAG,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE;QACjC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;QAClC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC/B,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC1B,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC;QACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;QAClC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACnC,UAAU,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACvC,QAAQ,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACrC,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAChC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;QACxB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;QACxC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;QACvC,QAAQ,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;KACtC;CACF,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,OAAgB;IACtB,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,GAAG;IACb,WAAW,EAAE,4EAA4E;IACzF,KAAK,EAAE,EAAE,IAAI,EAAE,OAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;CAC5H,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,IAAI,EAAE,QAAiB;IACvB,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QAC1D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;QACxD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,SAAS,EAAE,GAAG,EAAE;QACjD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;QAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,SAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,2DAA2D,EAAE;QACrI,SAAS,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE;QACtC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,WAAW,EAAE,uDAAuD,EAAE;QACzG,OAAO,EAAE,EAAE,IAAI,EAAE,OAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;KACvE;CACF,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,QAAiB;IACvB,OAAO,EAAE,WAAW;IACpB,WAAW,EAAE,iGAAiG;CAC/G,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAW;IAC5C;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,uYAAuY;QACpZ,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE;QACpG,YAAY,EAAE,qBAAqB;QACnC,WAAW,EAAE,EAAE,GAAG,mBAAmB,EAAE,KAAK,EAAE,kBAAkB,EAAE;QAClE,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,EAAE,yBAAyB,EAAE,QAAQ,EAAE,EAAE;KAC/E;IACD;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,kpBAAkpB;QAC/pB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE;QACpG,YAAY,EAAE,qBAAqB;QACnC,WAAW,EAAE,EAAE,GAAG,mBAAmB,EAAE,KAAK,EAAE,uBAAuB,EAAE;KACxE;IACD;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,wGAAwG;QACrH,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE;QAC5E,YAAY,EAAE,qBAAqB;QACnC,WAAW,EAAE,EAAE,GAAG,mBAAmB,EAAE,KAAK,EAAE,kBAAkB,EAAE;QAClE,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;KAC7E;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,kGAAkG;QAC/G,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC;YACzC,UAAU,EAAE;gBACV,MAAM,EAAE,cAAc;gBACtB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;gBAC1D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;aAClD;SACF;QACD,WAAW,EAAE,EAAE,GAAG,mBAAmB,EAAE,KAAK,EAAE,yBAAyB,EAAE;QACzE,KAAK,EAAE,OAAO;KACf;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,8KAA8K;QAC3L,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC;YAC3C,UAAU,EAAE;gBACV,MAAM,EAAE,cAAc;gBACtB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE;gBAC5D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;aACjD;SACF;QACD,WAAW,EAAE,EAAE,GAAG,mBAAmB,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,2BAA2B,EAAE;QAChG,KAAK,EAAE,OAAO;KACf;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,wMAAwM;QACrN,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;YAC7B,UAAU,EAAE;gBACV,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;gBACvD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;aACpD;SACF;QACD,WAAW,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC;QACzD,KAAK,EAAE,OAAO;KACf;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,2LAA2L;QACxM,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;YACpC,UAAU,EAAE;gBACV,MAAM,EAAE,cAAc;gBACtB,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE;aACxH;SACF;QACD,WAAW,EAAE,gBAAgB,CAAC,oBAAoB,CAAC;QACnD,KAAK,EAAE,OAAO;KACf;IACD;QACE,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,8HAA8H;QAC3I,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;YACjC,UAAU,EAAE;gBACV,MAAM,EAAE,cAAc;gBACtB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;gBAC1D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE;aAC3C;SACF;QACD,WAAW,EAAE,gBAAgB,CAAC,4BAA4B,CAAC;QAC3D,KAAK,EAAE,OAAO;KACf;IACD;QACE,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,mOAAmO;QAChP,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACtC,UAAU,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE;SACrF;QACD,WAAW,EAAE,gBAAgB,CAAC,wBAAwB,CAAC;QACvD,KAAK,EAAE,OAAO;KACf;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,oJAAoJ;QACjK,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;YAC5B,UAAU,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE;SAC3D;QACD,WAAW,EAAE,gBAAgB,CAAC,yBAAyB,CAAC;QACxD,KAAK,EAAE,OAAO;KACf;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,0OAA0O;QACvP,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,UAAU,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;SAClF;QACD,WAAW,EAAE,EAAE,GAAG,mBAAmB,EAAE,KAAK,EAAE,kBAAkB,EAAE;QAClE,KAAK,EAAE,OAAO;KACf;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,qMAAqM;QAClN,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC;YACjE,UAAU,EAAE;gBACV,MAAM,EAAE,cAAc;gBACtB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,0CAA0C,EAAE;gBAC5G,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;gBACrD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;gBAC1D,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2GAA2G;iBACzH;aACF;SACF;QACD,WAAW,EAAE,gBAAgB,CAAC,2BAA2B,CAAC;QAC1D,KAAK,EAAE,OAAO;KACf;CACF,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ import { type SlateToolContext } from './slate-runtime.js';
3
+ export { SLATE_TOOL_DEFINITIONS } from './mcp-slate-tool-defs.js';
4
+ export type { SlateToolContext } from './slate-runtime.js';
5
+ export declare const isSlateTool: (name: string) => boolean;
6
+ /** The runtime is built once per server: its readiness answer and corpus client are cached for the session. */
7
+ export declare const createSlateToolHandler: (context?: SlateToolContext) => (name: string, argumentsValue: unknown) => Promise<CallToolResult>;
8
+ //# sourceMappingURL=mcp-slate-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-tools.d.ts","sourceRoot":"","sources":["../src/mcp-slate-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AA8BzE,OAAO,EAA0C,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,OAE1C,CAAC;AAEF,+GAA+G;AAC/G,eAAO,MAAM,sBAAsB,GAAI,UAAS,gBAAqB,MAErD,MAAM,MAAM,EAAE,gBAAgB,OAAO,KAAG,OAAO,CAAC,cAAc,CAkC7E,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { SLATE_DATA_TOOL, SLATE_HANDOFF_TOOL, SLATE_IMAGE_TOOL, SLATE_INSPIRATION_TOOL, SLATE_INSPIRE_TOOL, SLATE_OPEN_TOOL, SLATE_PICK_TOOL, SLATE_REFERENCE_TOOL, SLATE_RESUME_TOOL, SLATE_RUN_TOOL, SLATE_SHOW_TOOL, SLATE_STATUS_TOOL, SLATE_TOOL_NAMES, } from './mcp-slate-names.js';
2
+ import { handoffResult, imageResult, inspirationResult, inspireResult, openWorkspace, pickResult, referenceResult, resumeResult, runResult, showWorkspace, statusResult, } from './mcp-slate-workspace-tools.js';
3
+ import { errorResult, inputRecord, slateRuntime } from './slate-runtime.js';
4
+ export { SLATE_TOOL_DEFINITIONS } from './mcp-slate-tool-defs.js';
5
+ export const isSlateTool = (name) => (SLATE_TOOL_NAMES.includes(name));
6
+ /** The runtime is built once per server: its readiness answer and corpus client are cached for the session. */
7
+ export const createSlateToolHandler = (context = {}) => {
8
+ const runtime = slateRuntime(context);
9
+ return async (name, argumentsValue) => {
10
+ try {
11
+ const input = inputRecord(argumentsValue);
12
+ switch (name) {
13
+ case SLATE_SHOW_TOOL:
14
+ case SLATE_DATA_TOOL:
15
+ return await showWorkspace(input, runtime);
16
+ case SLATE_OPEN_TOOL:
17
+ return await openWorkspace(runtime);
18
+ case SLATE_IMAGE_TOOL:
19
+ return await imageResult(input, runtime);
20
+ case SLATE_REFERENCE_TOOL:
21
+ return await referenceResult(input, runtime);
22
+ case SLATE_INSPIRE_TOOL:
23
+ return await inspireResult(input, runtime);
24
+ case SLATE_INSPIRATION_TOOL:
25
+ return await inspirationResult(input, runtime);
26
+ case SLATE_PICK_TOOL:
27
+ return await pickResult(input, runtime);
28
+ case SLATE_HANDOFF_TOOL:
29
+ return await handoffResult(input, runtime);
30
+ case SLATE_STATUS_TOOL:
31
+ return await statusResult(input, runtime);
32
+ case SLATE_RUN_TOOL:
33
+ return await runResult(input, runtime);
34
+ case SLATE_RESUME_TOOL:
35
+ return await resumeResult(input, runtime);
36
+ default:
37
+ throw new Error(`Unknown tool: ${name}`);
38
+ }
39
+ }
40
+ catch (error) {
41
+ return errorResult(error);
42
+ }
43
+ };
44
+ };
45
+ //# sourceMappingURL=mcp-slate-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-tools.js","sourceRoot":"","sources":["../src/mcp-slate-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AAEnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,CACnD,gBAAsC,CAAC,QAAQ,CAAC,IAAI,CAAC,CACvD,CAAC;AAEF,+GAA+G;AAC/G,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAA4B,EAAE,EAAE,EAAE;IACvE,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,KAAK,EAAE,IAAY,EAAE,cAAuB,EAA2B,EAAE;QAC9E,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;YAC1C,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,eAAe,CAAC;gBACrB,KAAK,eAAe;oBAClB,OAAO,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7C,KAAK,eAAe;oBAClB,OAAO,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;gBACtC,KAAK,gBAAgB;oBACnB,OAAO,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC3C,KAAK,oBAAoB;oBACvB,OAAO,MAAM,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC/C,KAAK,kBAAkB;oBACrB,OAAO,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7C,KAAK,sBAAsB;oBACzB,OAAO,MAAM,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACjD,KAAK,eAAe;oBAClB,OAAO,MAAM,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC1C,KAAK,kBAAkB;oBACrB,OAAO,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC7C,KAAK,iBAAiB;oBACpB,OAAO,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC5C,KAAK,cAAc;oBACjB,OAAO,MAAM,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACzC,KAAK,iBAAiB;oBACpB,OAAO,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC5C;oBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,145 @@
1
+ import type { SlateConvertOutput } from './slate-view-contract.js';
2
+ /**
3
+ * Every visible string of the workspace view, in one place: the script reads
4
+ * this object (injected as JSON), and the copy test reads the same object, so
5
+ * the sentence-case and bare-verb rules are checked on exactly the words a
6
+ * person sees.
7
+ *
8
+ * Rules (spec v3, section 7): sentence case (no all-caps words except codes),
9
+ * action labels are bare verbs, no counts in a label, no explanatory
10
+ * paragraphs, and no price or budget wording anywhere: the workspace never
11
+ * costs money, so it never shows any. `{n}`, `{m}` and `{label}` are filled in
12
+ * by the script; status lines may carry counts, labels may not.
13
+ *
14
+ * The messages the view sends to the agent are not copy: they are input to a
15
+ * model, not words on a screen, and live with the code that sends them.
16
+ */
17
+ export declare const SLATE_UI_COPY: {
18
+ readonly title: "Design workspace";
19
+ readonly empty: "No finished draft run was found. Start one, then open this again.";
20
+ readonly tabDesigns: "Designs";
21
+ readonly tabInspiration: "Inspiration";
22
+ readonly openWorkspace: "Open workspace";
23
+ readonly closeWorkspace: "Close workspace";
24
+ readonly select: "Select";
25
+ readonly selected: "Selected";
26
+ readonly edit: "Edit";
27
+ readonly branch: "Branch";
28
+ readonly convert: "Convert";
29
+ readonly generate: "Generate";
30
+ readonly apply: "Apply";
31
+ readonly send: "Send";
32
+ readonly search: "Search";
33
+ readonly resume: "Resume";
34
+ readonly cancel: "Cancel";
35
+ readonly clear: "Clear";
36
+ readonly undo: "Undo";
37
+ readonly generateMore: "Generate more";
38
+ readonly moreHelpFresh: "Draws new options from fresh references.";
39
+ readonly moreHelpSelected: "Draws new options from your selected inspiration.";
40
+ readonly moreHelpLike: "Draws options that stay close to {label}.";
41
+ readonly moreBasedOn: "Based on {label}";
42
+ readonly moreLikeUnavailable: "This version has no picture to work from.";
43
+ readonly moreInspirationLabel: "Inspiration";
44
+ readonly removeReference: "Remove {name}";
45
+ readonly moreNotePlaceholder: "Describe how they should differ (optional)";
46
+ readonly moreCountLabel: "How many";
47
+ readonly scribbleHint: "Draw on the image to show where. An X or a circle is enough.";
48
+ readonly editAria: "Edit instruction";
49
+ readonly editPlaceholder: "Optional if you drew on the image. For example, make the headline larger.";
50
+ readonly editHelp: "Applies the change to {label} and saves the result as a new version.";
51
+ readonly editHelpMarks: "Marks only: the change is inferred from what you drew.";
52
+ readonly branchAria: "What to build";
53
+ readonly branchPlaceholder: "Optional. Which pages or states to add, for example pricing, sign in and settings.";
54
+ readonly branchHelp: "Your agent expands this design into more pages and app states.";
55
+ readonly convertLabel: "Format";
56
+ readonly serviceGroup: "12ui service";
57
+ readonly qualityLabel: "Quality";
58
+ readonly qualityHelp: "Higher quality takes longer.";
59
+ readonly fast: "Fast";
60
+ readonly standard: "Standard";
61
+ readonly pro: "Pro";
62
+ readonly widthLabel: "Width";
63
+ readonly widthPlaceholder: "Pixels";
64
+ readonly widthHelp: "Optional. Output width in pixels; blank keeps the original size.";
65
+ readonly layoutsLabel: "Layouts";
66
+ readonly layoutsHelp: "How carefully the layouts adapt to other screen sizes.";
67
+ readonly inspirationLabel: "Search inspiration";
68
+ readonly inspirationPlaceholder: "What style are you looking for?";
69
+ readonly inspirationEmpty: "Search for a style to pick references for your next options.";
70
+ readonly inspirationNoMatches: "No matches. Try different words.";
71
+ readonly searching: "Searching.";
72
+ readonly eightAtMost: "Eight at most.";
73
+ readonly searchFailed: "Search failed: {message}";
74
+ readonly tryAgain: "Try again in {n} seconds.";
75
+ readonly roundPrefix: "Round ";
76
+ readonly likePrefix: "Like ";
77
+ readonly newOptionsTitle: "New options";
78
+ readonly optionPrefix: "Option ";
79
+ readonly versionPrefix: "Version ";
80
+ readonly referencePrefix: "Reference ";
81
+ readonly failedSuffix: ", failed";
82
+ readonly optionsGroup: "Options";
83
+ readonly fileMissing: "File missing on this Mac";
84
+ readonly fileChanged: "This file changed on disk";
85
+ readonly recording: "Selecting...";
86
+ readonly selectedLine: "Selected {label}. The agent has been told.";
87
+ readonly selectedRefused: "Selected {label} and saved it, but the host did not take the message: {detail}";
88
+ readonly couldNotSelect: "Could not select: {detail}";
89
+ readonly pickMissing: "The picked image is missing on this Mac. Select it again.";
90
+ readonly pickChanged: "The picked image changed on disk. Select a different version.";
91
+ readonly sent: "Sent to the agent.";
92
+ readonly sentRefused: "Recorded the request, but the host did not take the message: {detail}";
93
+ readonly designing: "Designing.";
94
+ readonly waitingForAgent: "Waiting for your agent.";
95
+ readonly designingProgress: "Designing. {n} of {m} ready.";
96
+ readonly editing: "Editing {label}.";
97
+ readonly roundReadyOne: "1 new option is ready.";
98
+ readonly roundReadyMany: "{n} new options are ready.";
99
+ readonly roundFailed: "{n} failed.";
100
+ readonly editReady: "{label} is ready.";
101
+ readonly interrupted: "Work stopped before it finished.";
102
+ readonly markFailed: "Could not draw the marks on the image: {detail}";
103
+ readonly noConnection: "Could not connect to the host: ";
104
+ readonly needsHost: "This view needs a host that can show apps. Open it where ui:// resources render.";
105
+ readonly toolError: "The tool returned an error";
106
+ readonly noView: "The tool result has no workspace.";
107
+ };
108
+ export type SlateUiCopy = typeof SLATE_UI_COPY;
109
+ /**
110
+ * The choices of the Convert dialog's Format select, in the order it offers
111
+ * them: three local formats (an unlabeled group), then the 12ui service
112
+ * formats. Labels of the service group come from the conversion catalogue so
113
+ * this list cannot drift from the CLI; `react` and `assets` are the two local
114
+ * exports the catalogue does not carry (see cli-local-export.ts). `value` is
115
+ * unique across the two engines (`html` exists in both).
116
+ */
117
+ type ConvertChoice = {
118
+ value: string;
119
+ engine: 'local' | 'service';
120
+ output: SlateConvertOutput;
121
+ label: string;
122
+ };
123
+ export declare const SLATE_CONVERT_CHOICES: readonly ConvertChoice[];
124
+ /**
125
+ * The hosted target's Format select: the two outputs an agent can build in the user's own project from the image, both
126
+ * `engine: 'local'` on the wire. There is no service group (the hosted server has no 12ui service), and no Assets (that
127
+ * needs the CLI on the person's machine).
128
+ */
129
+ export declare const SLATE_REMOTE_CONVERT_CHOICES: readonly ConvertChoice[];
130
+ /**
131
+ * The one line under the Format select that says what the chosen format gives, keyed by the choice's value. Not in the
132
+ * copy object: it names formats (HTML, PNG), which the copy test's no-all-caps rule is about labels, not sentences.
133
+ */
134
+ export declare const SLATE_CONVERT_DESCRIPTIONS: Readonly<Record<string, string>>;
135
+ /** The hosted target's lines: its agent builds in the person's own project, so nothing is built on a Mac or by 12ui. */
136
+ export declare const SLATE_REMOTE_CONVERT_DESCRIPTIONS: Readonly<Record<string, string>>;
137
+ /** The widest output the CLI accepts (`MAX_IMAGE_OUTPUT_WIDTH`, pinned equal by a test; that module needs sharp). */
138
+ export declare const SLATE_CONVERT_MAX_WIDTH = 8192;
139
+ /** How many options the Generate more panel offers, and the one it starts on. A control, so it is not in the copy. */
140
+ export declare const SLATE_MORE_COUNTS: {
141
+ readonly choices: readonly [1, 2, 4, 8, 12];
142
+ readonly initial: 4;
143
+ };
144
+ export {};
145
+ //# sourceMappingURL=mcp-slate-ui-copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-ui-copy.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-copy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8GhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC;AAE/C;;;;;;;GAOG;AACH,KAAK,aAAa,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAI/G,eAAO,MAAM,qBAAqB,EAAE,SAAS,aAAa,EAKzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,aAAa,EAGhE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAevE,CAAC;AAEF,wHAAwH;AACxH,eAAO,MAAM,iCAAiC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG9E,CAAC;AAEF,qHAAqH;AACrH,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAE7C,sHAAsH;AACtH,eAAO,MAAM,iBAAiB;;;CAAqD,CAAC"}