@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,18 @@
1
+ /**
2
+ * The workspace view's stylesheet: base and inline card (the fullscreen stage
3
+ * is in mcp-slate-ui-styles-stage.ts, the dialogs in
4
+ * mcp-slate-ui-styles-dialog.ts). Host variables win; the fallbacks keep the
5
+ * view usable when a host passes none. System fonts only, no external
6
+ * requests.
7
+ *
8
+ * The layout is fluid by construction: the view never asks the host for a
9
+ * width. Every flex/grid parent sets `min-width: 0` so no child can push the
10
+ * frame wider than its pane, and the strip of thumbnails scrolls inside itself.
11
+ *
12
+ * Thumbnail sizes are tokens, one place each: --thumb-card (the card's strip, 112 px under a 480 px card and 144 px from
13
+ * it) and --thumb-rail (the workspace's selection, 144 px). The container queries read the card's own width (`main`).
14
+ * Every thumbnail (designs, inspiration, the Based on picture and the reference chips) is `object-fit: contain`, so the
15
+ * whole design shows at its own aspect ratio, letterboxed on the neutral tile background.
16
+ */
17
+ export declare const SLATE_UI_STYLES: string;
18
+ //# sourceMappingURL=mcp-slate-ui-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-ui-styles.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,QAkH3B,CAAC"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * The workspace view's stylesheet: base and inline card (the fullscreen stage
3
+ * is in mcp-slate-ui-styles-stage.ts, the dialogs in
4
+ * mcp-slate-ui-styles-dialog.ts). Host variables win; the fallbacks keep the
5
+ * view usable when a host passes none. System fonts only, no external
6
+ * requests.
7
+ *
8
+ * The layout is fluid by construction: the view never asks the host for a
9
+ * width. Every flex/grid parent sets `min-width: 0` so no child can push the
10
+ * frame wider than its pane, and the strip of thumbnails scrolls inside itself.
11
+ *
12
+ * Thumbnail sizes are tokens, one place each: --thumb-card (the card's strip, 112 px under a 480 px card and 144 px from
13
+ * it) and --thumb-rail (the workspace's selection, 144 px). The container queries read the card's own width (`main`).
14
+ * Every thumbnail (designs, inspiration, the Based on picture and the reference chips) is `object-fit: contain`, so the
15
+ * whole design shows at its own aspect ratio, letterboxed on the neutral tile background.
16
+ */
17
+ export const SLATE_UI_STYLES = String.raw `
18
+ /* Host variables win; these fallbacks keep the view usable when a host passes none. System fonts only. */
19
+ :root {
20
+ color-scheme: light dark;
21
+ --f-bg: light-dark(#ffffff, #1c1c1c);
22
+ --f-bg2: light-dark(#f4f4f2, #2a2a2a);
23
+ --f-bg3: light-dark(#e8e8e4, #3a3a3a);
24
+ --f-text: light-dark(#1a1a1a, #f2f2f2);
25
+ --f-text2: light-dark(#5f5f5b, #a8a8a3);
26
+ --f-border: light-dark(#d9d9d3, #444440);
27
+ --f-inverse: light-dark(#1a1a1a, #f2f2f2);
28
+ --f-inverse-text: light-dark(#ffffff, #1a1a1a);
29
+ --f-ring: light-dark(#2f6fed, #7aa2ff);
30
+ --f-danger: light-dark(#b3261e, #ff8a80);
31
+ --f-ok: light-dark(#1d6b3a, #6fd08c);
32
+ --bg: var(--color-background-primary, var(--f-bg));
33
+ --bg2: var(--color-background-secondary, var(--f-bg2));
34
+ --bg3: var(--color-background-tertiary, var(--f-bg3));
35
+ --text: var(--color-text-primary, var(--f-text));
36
+ --text2: var(--color-text-secondary, var(--f-text2));
37
+ --border: var(--color-border-primary, var(--f-border));
38
+ --inverse: var(--color-background-inverse, var(--f-inverse));
39
+ --inverse-text: var(--color-text-inverse, var(--f-inverse-text));
40
+ --ring: var(--color-ring-primary, var(--f-ring));
41
+ --danger: var(--color-text-danger, var(--f-danger));
42
+ --ok: var(--color-text-success, var(--f-ok));
43
+ --radius: var(--border-radius-md, 8px);
44
+ --font: var(--font-sans, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
45
+ --thumb-rail: 144px;
46
+ }
47
+ #card { --thumb-card: 112px; }
48
+ @container (min-width: 480px) { #card { --thumb-card: 144px; } }
49
+ :root[data-theme="light"] { color-scheme: light; }
50
+ :root[data-theme="dark"] { color-scheme: dark; }
51
+ * { box-sizing: border-box; }
52
+ html, body { margin: 0; }
53
+ /* Fluid by construction: the app never asks the host for a width. The layout width is whatever the host gives
54
+ the view (fixed width or flexible maxWidth alike), so a host can never grow the frame past its pane. */
55
+ body {
56
+ background: var(--bg);
57
+ color: var(--text);
58
+ font: 14px/1.45 var(--font);
59
+ padding: 16px;
60
+ min-width: 0;
61
+ }
62
+ main { max-width: 960px; margin: 0 auto; min-width: 0; container-type: inline-size; }
63
+ .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
64
+ h1 { font-size: 15px; font-weight: 600; margin: 0; }
65
+ .meta { color: var(--text2); font-size: 12px; }
66
+ .topbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; min-width: 0; }
67
+ .tabs { display: flex; gap: 4px; min-width: 0; }
68
+ .tab { padding: 6px 12px; border-radius: 999px; border-color: transparent; background: transparent; color: var(--text2); font-weight: 500; }
69
+ .tab[aria-selected="true"] { background: var(--bg2); color: var(--text); border-color: var(--border); }
70
+ .iconbtn { display: inline-grid; place-items: center; flex: none; width: 34px; height: 34px; padding: 0; }
71
+ /* The large image. Its box has the image's own aspect ratio and a capped height, so the card never jumps when the
72
+ picture lands and the badge and hairline sit on the picture itself. The card caps the height at 60 percent of
73
+ its own width (a container unit, so the frame's height never feeds back into it); the workspace uses the window. */
74
+ .hero { position: relative; width: min(100%, calc(var(--cap, 60cqw) * var(--ar, 1.5))); aspect-ratio: var(--ar, 1.5); margin: 0 auto; min-width: 0; border-radius: var(--radius); background: var(--bg3); overflow: hidden; }
75
+ #card .hero { --cap: 60cqw; }
76
+ .hero.note { width: 100%; aspect-ratio: auto; background: var(--bg2); }
77
+ .heroimg { display: block; width: 100%; height: 100%; object-fit: fill; user-select: none; -webkit-user-drag: none; }
78
+ .heroimg.empty { background: var(--bg3); }
79
+ .heronote { padding: 32px 16px; color: var(--text2); text-align: center; overflow-wrap: anywhere; }
80
+ .hero .badge, .thumbbtn .code, .opt .code { position: absolute; left: 8px; bottom: 8px; padding: 0 8px; border-radius: 999px; background: var(--inverse); color: var(--inverse-text); font-size: 12px; font-weight: 600; line-height: 20px; }
81
+ .hero .hair { position: absolute; left: 0; right: 0; bottom: 0; }
82
+ /* Under 640 px the strip takes the row and Select wraps to its own line at the right; from 640 px Select sits beside the strip. */
83
+ .pickrow { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 10px; min-width: 0; }
84
+ .pickrow > button { flex: none; margin-left: auto; }
85
+ /* The wrap holds the scrolling strip and, pinned at its right end outside the scroll, the Generate more tile, so the
86
+ tile is in view at every width and however many options there are. */
87
+ .stripwrap { flex: 1 1 100%; display: flex; align-items: center; gap: 8px; min-width: 0; }
88
+ @container (min-width: 640px) { .stripwrap { flex: 1 1 0; } }
89
+ /* One row of thumbnails; more than fit scroll sideways inside the strip, never the page, with a fade at the edge. */
90
+ .strip { flex: 1 1 0; display: flex; gap: 8px; min-width: 0; margin: 0; padding: 4px; overflow-x: auto; }
91
+ .strip.fade { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent); }
92
+ .thumbbtn, .opt, .refbtn { position: relative; padding: 0; border: 0; border-radius: 6px; background: var(--bg2); overflow: hidden; }
93
+ .thumbbtn { flex: none; width: var(--thumb-card); height: var(--thumb-card); }
94
+ /* A thumbnail shows the whole design at its own aspect ratio: the tile stays the token's square, the picture is
95
+ contained in it and the rest is the neutral tile background, never a crop of the edges. */
96
+ .thumb { display: block; width: 100%; height: 100%; background: var(--bg3); object-fit: contain; object-position: center; }
97
+ .thumbbtn .code, .opt .code { left: 6px; bottom: 6px; padding: 0 7px; font-size: 11px; line-height: 18px; }
98
+ .thumbbtn.selected, .opt.selected { box-shadow: 0 0 0 2px var(--text); }
99
+ .thumbbtn.failed, .opt.failed { opacity: .5; }
100
+ .shimmer { background: linear-gradient(100deg, var(--bg2) 30%, var(--bg3) 50%, var(--bg2) 70%); background-size: 200% 100%; animation: shimmer 1.4s linear infinite; }
101
+ @keyframes shimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }
102
+ .field { margin-top: 0; }
103
+ label.lbl, span.lbl { display: block; font-size: 12px; color: var(--text2); margin-bottom: 4px; }
104
+ input[type="text"], input[type="number"], select {
105
+ width: 100%; padding: 8px 10px; font: inherit; color: var(--text); background: var(--bg);
106
+ border: 1px solid var(--border); border-radius: var(--radius);
107
+ }
108
+ input[type="text"]:focus-visible, input[type="number"]:focus-visible, select:focus-visible { outline: 2px solid var(--ring); outline-offset: 1px; }
109
+ .spacer { flex: 1 1 0; min-width: 0; }
110
+ button {
111
+ font: inherit; font-weight: 600; padding: 8px 16px; border-radius: var(--radius);
112
+ border: 1px solid var(--border); background: var(--bg2); color: var(--text); cursor: pointer;
113
+ }
114
+ button.thumbbtn, button.opt, button.refbtn { padding: 0; border: 0; }
115
+ button.primary { background: var(--inverse); color: var(--inverse-text); border-color: var(--inverse); }
116
+ button:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
117
+ button:disabled { opacity: .45; cursor: default; }
118
+ .note { margin: 10px 0 0; font-size: 12px; color: var(--text2); }
119
+ .hair { display: block; height: 2px; background: var(--bg3); overflow: hidden; position: relative; min-width: 0; }
120
+ .hair.indeterminate::after { content: ""; position: absolute; inset: 0 auto 0 -30%; width: 30%; background: var(--text); animation: slide 1.4s ease-in-out infinite; }
121
+ @keyframes slide { from { left: -30%; } to { left: 100%; } }
122
+ @media (prefers-reduced-motion: reduce) {
123
+ .hair.indeterminate::after { animation: none; width: 100%; left: 0; opacity: .3; }
124
+ .shimmer { animation: none; }
125
+ }
126
+ .status { min-height: 18px; margin: 8px 0 0; font-size: 12px; overflow-wrap: anywhere; }
127
+ .status.ok { color: var(--ok); }
128
+ .status.err, .err { color: var(--danger); }
129
+ #fatal { padding: 16px; color: var(--danger); }
130
+ .hidden { display: none !important; }
131
+ `;
132
+ //# sourceMappingURL=mcp-slate-ui-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-ui-styles.js","sourceRoot":"","sources":["../src/mcp-slate-ui-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkHxC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type SlateUiTarget } from './mcp-slate-ui-script.js';
2
+ /**
3
+ * The workspace view for one target, as one self-contained HTML document: no external script,
4
+ * stylesheet, font, or URL, so it renders under the strictest host sandbox.
5
+ *
6
+ * The static markup is the inline card and nothing else: the tabs, one large
7
+ * image, one row with the strip of options and Select, one status line, and an
8
+ * icon-only control that opens the workspace. The fullscreen stage and its dialogs are built by the
9
+ * script into `#stage` only when the host puts the view in fullscreen.
10
+ */
11
+ export declare const buildSlateUiHtml: ({ target }: {
12
+ target: SlateUiTarget;
13
+ }) => string;
14
+ /** The local plugin's screen: what `12ui mcp` serves. */
15
+ export declare const SLATE_UI_HTML: string;
16
+ //# sourceMappingURL=mcp-slate-ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-ui.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKlF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,YAAY;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,KAAG,MAyCxE,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,aAAa,QAAwC,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { SLATE_UI_COPY as COPY } from './mcp-slate-ui-copy.js';
2
+ import { buildSlateUiScript } from './mcp-slate-ui-script.js';
3
+ import { SLATE_UI_STYLES } from './mcp-slate-ui-styles.js';
4
+ import { SLATE_UI_DIALOG_STYLES, SLATE_UI_MORE_STYLES } from './mcp-slate-ui-styles-dialog.js';
5
+ import { SLATE_UI_STAGE_STYLES } from './mcp-slate-ui-styles-stage.js';
6
+ /**
7
+ * The workspace view for one target, as one self-contained HTML document: no external script,
8
+ * stylesheet, font, or URL, so it renders under the strictest host sandbox.
9
+ *
10
+ * The static markup is the inline card and nothing else: the tabs, one large
11
+ * image, one row with the strip of options and Select, one status line, and an
12
+ * icon-only control that opens the workspace. The fullscreen stage and its dialogs are built by the
13
+ * script into `#stage` only when the host puts the view in fullscreen.
14
+ */
15
+ export const buildSlateUiHtml = ({ target }) => `<!doctype html>
16
+ <html lang="en">
17
+ <head>
18
+ <meta charset="utf-8">
19
+ <meta name="viewport" content="width=device-width, initial-scale=1">${target === 'local' ? '' : `\n<meta name="slate-target" content="${target}">`}
20
+ <title>${COPY.title}</title>
21
+ <style>${SLATE_UI_STYLES}${SLATE_UI_STAGE_STYLES}${SLATE_UI_DIALOG_STYLES}${SLATE_UI_MORE_STYLES}</style>
22
+ </head>
23
+ <body>
24
+ <div id="fatal" class="hidden" role="alert"></div>
25
+ <main id="app" class="hidden">
26
+ <h1 class="sr">${COPY.title}</h1>
27
+ <p class="note hidden" id="empty">${COPY.empty}</p>
28
+ <div id="card">
29
+ <div class="topbar">
30
+ <div class="tabs" role="tablist" aria-label="${COPY.title}">
31
+ <button type="button" role="tab" class="tab" data-tab="designs" aria-selected="true">${COPY.tabDesigns}</button>
32
+ <button type="button" role="tab" class="tab" data-tab="inspiration" aria-selected="false">${COPY.tabInspiration}</button>
33
+ </div>
34
+ <button id="expand" type="button" class="iconbtn" aria-label="${COPY.openWorkspace}" title="${COPY.openWorkspace}" disabled>
35
+ <svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5"/></svg>
36
+ </button>
37
+ </div>
38
+ <div id="pane-designs">
39
+ <div id="hero" class="hero"></div>
40
+ <div class="pickrow">
41
+ <div class="stripwrap" id="stripwrap">
42
+ <div class="strip" id="strip" role="group" aria-label="${COPY.optionsGroup}"></div>
43
+ </div>
44
+ <button id="select" type="button" class="primary" disabled>${COPY.select}</button>
45
+ </div>
46
+ <div id="more"></div>
47
+ <p class="status" id="status" data-status role="status" aria-live="polite"></p>
48
+ </div>
49
+ <div id="pane-inspiration" class="hidden"></div>
50
+ </div>
51
+ </main>
52
+ <div id="stage" class="hidden"></div>
53
+ <script>${buildSlateUiScript(target)}</script>
54
+ </body>
55
+ </html>
56
+ `;
57
+ /** The local plugin's screen: what `12ui mcp` serves. */
58
+ export const SLATE_UI_HTML = buildSlateUiHtml({ target: 'local' });
59
+ //# sourceMappingURL=mcp-slate-ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-ui.js","sourceRoot":"","sources":["../src/mcp-slate-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAsB,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,MAAM,EAA6B,EAAU,EAAE,CAAC;;;;sEAIb,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wCAAwC,MAAM,IAAI;SACzI,IAAI,CAAC,KAAK;SACV,eAAe,GAAG,qBAAqB,GAAG,sBAAsB,GAAG,oBAAoB;;;;;mBAK7E,IAAI,CAAC,KAAK;sCACS,IAAI,CAAC,KAAK;;;qDAGK,IAAI,CAAC,KAAK;+FACgC,IAAI,CAAC,UAAU;oGACV,IAAI,CAAC,cAAc;;sEAEjD,IAAI,CAAC,aAAa,YAAY,IAAI,CAAC,aAAa;;;;;;;;mEAQnD,IAAI,CAAC,YAAY;;qEAEf,IAAI,CAAC,MAAM;;;;;;;;;UAStE,kBAAkB,CAAC,MAAM,CAAC;;;CAGnC,CAAC;AAEF,yDAAyD;AACzD,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { SlateRuntime } from './slate-runtime.js';
3
+ export declare const showWorkspace: (input: Record<string, unknown>, runtime: SlateRuntime) => Promise<CallToolResult>;
4
+ export declare const openWorkspace: (runtime: SlateRuntime) => Promise<CallToolResult>;
5
+ export declare const imageResult: (input: Record<string, unknown>, runtime: SlateRuntime) => Promise<CallToolResult>;
6
+ export declare const referenceResult: (input: Record<string, unknown>, runtime: SlateRuntime) => Promise<CallToolResult>;
7
+ export declare const pickResult: (input: Record<string, unknown>, runtime: SlateRuntime) => Promise<CallToolResult>;
8
+ export declare const inspireResult: (input: Record<string, unknown>, runtime: SlateRuntime) => Promise<CallToolResult>;
9
+ export declare const inspirationResult: (input: Record<string, unknown>, runtime: SlateRuntime) => Promise<CallToolResult>;
10
+ export declare const handoffResult: (input: Record<string, unknown>, runtime: SlateRuntime) => Promise<CallToolResult>;
11
+ /** Local files only, plus the cached readiness check: no network, no writes, no lock files. */
12
+ export declare const statusResult: (input: Record<string, unknown>, runtime: SlateRuntime) => Promise<CallToolResult>;
13
+ export declare const runResult: (input: Record<string, unknown>, runtime: SlateRuntime) => Promise<CallToolResult>;
14
+ export declare const resumeResult: (input: Record<string, unknown>, runtime: SlateRuntime) => Promise<CallToolResult>;
15
+ //# sourceMappingURL=mcp-slate-workspace-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-workspace-tools.d.ts","sourceRoot":"","sources":["../src/mcp-slate-workspace-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAezE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAqCvD,eAAO,MAAM,aAAa,GAAU,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,YAAY,KAAG,OAAO,CAAC,cAAc,CAIjH,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,SAAS,YAAY,KAAG,OAAO,CAAC,cAAc,CAIjF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAU,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,YAAY,KAAG,OAAO,CAAC,cAAc,CAmB/G,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,YAAY,KAAG,OAAO,CAAC,cAAc,CAkBnH,CAAC;AAYF,eAAO,MAAM,UAAU,GAAU,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,YAAY,KAAG,OAAO,CAAC,cAAc,CAI9G,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,YAAY,KAAG,OAAO,CAAC,cAAc,CAIjH,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAU,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,YAAY,KAAG,OAAO,CAAC,cAAc,CAIrH,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,YAAY,KAAG,OAAO,CAAC,cAAc,CASjH,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,YAAY,GAAU,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,YAAY,KAAG,OAAO,CAAC,cAAc,CAUhH,CAAC;AAUF,eAAO,MAAM,SAAS,GAAU,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,YAAY,KAAG,OAAO,CAAC,cAAc,CAI7G,CAAC;AAEF,eAAO,MAAM,YAAY,GAAU,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,YAAY,KAAG,OAAO,CAAC,cAAc,CAIhH,CAAC"}
@@ -0,0 +1,155 @@
1
+ import { isSlateImageSize, slateImage } from './mcp-slate-image.js';
2
+ import { findLatestSlateRunDir } from './mcp-slate-latest.js';
3
+ import { slateFallbackText } from './mcp-slate-command.js';
4
+ import { resolveSlateRunDir } from './mcp-slate-run.js';
5
+ import { SlateError } from './slate-errors.js';
6
+ import { recordHandoff } from './slate-handoff.js';
7
+ import { REFERENCE_ID_PATTERN } from './slate-ids.js';
8
+ import { runSearch, setSelection } from './slate-inspiration.js';
9
+ import { readLiveness } from './slate-liveness.js';
10
+ import { copyAdoptedPick, recordPick } from './slate-pick.js';
11
+ import { namedReferenceIds } from './slate-reference-ids.js';
12
+ import { ensureReferenceImage } from './slate-reference-store.js';
13
+ import { resumeAction, runAction } from './slate-run-action.js';
14
+ import { buildView, emptyView } from './slate-view.js';
15
+ import { readVersionBytes } from './slate-versions.js';
16
+ import { findVersion, loadWorkspaceAt } from './slate-workspace-store.js';
17
+ /**
18
+ * Handlers for the twelve design-workspace tools. The readers (`show`, `data`,
19
+ * `open`, `status`, `image`, `reference`) and the free writers (`pick`,
20
+ * `inspire`, `inspiration`, `handoff`) never import the runner launcher; only
21
+ * `run` and `resume` (in `slate-run-action.ts`) can start work, and that work
22
+ * is local.
23
+ */
24
+ const NO_RUN_TEXT = 'No finished 12ui draft run was found. Start one with `12ui draft --concept "<product, audience, surface, goal, personality>"`, then open this again.';
25
+ const structured = (value) => value;
26
+ const viewResult = async (view, extraText) => ({
27
+ content: [{ type: 'text', text: extraText ?? await slateFallbackText(view) }],
28
+ structuredContent: structured(view),
29
+ });
30
+ const loadView = async (runtime, runDirArgument) => {
31
+ const root = await resolveSlateRunDir(runDirArgument);
32
+ const { workspace, persisted } = await loadWorkspaceAt(root, runtime.now);
33
+ await copyAdoptedPick({ runtime, root, workspace, persisted });
34
+ const view = await buildView({ root, workspace, stateRoot: runtime.stateRoot, now: runtime.now(), local: await runtime.localImage() });
35
+ return { root, view };
36
+ };
37
+ const optionalRunDir = (input) => {
38
+ if (input.runDir === undefined)
39
+ return undefined;
40
+ if (typeof input.runDir !== 'string' || !input.runDir.trim())
41
+ throw new Error('runDir must be a non-empty string');
42
+ return input.runDir;
43
+ };
44
+ export const showWorkspace = async (input, runtime) => {
45
+ const runDir = optionalRunDir(input) ?? await findLatestSlateRunDir(runtime);
46
+ if (runDir === undefined)
47
+ throw new Error(NO_RUN_TEXT);
48
+ return viewResult((await loadView(runtime, runDir)).view);
49
+ };
50
+ export const openWorkspace = async (runtime) => {
51
+ const runDir = await findLatestSlateRunDir(runtime);
52
+ if (runDir === undefined)
53
+ return viewResult(emptyView(await runtime.localImage()), NO_RUN_TEXT);
54
+ return viewResult((await loadView(runtime, runDir)).view);
55
+ };
56
+ export const imageResult = async (input, runtime) => {
57
+ const size = input.size;
58
+ if (!isSlateImageSize(size))
59
+ throw new SlateError('invalid_input', 'size must be "thumb" or "full"');
60
+ const root = await resolveSlateRunDir(input.runDir);
61
+ const { workspace } = await loadWorkspaceAt(root, runtime.now);
62
+ const version = findVersion(workspace, input.versionId);
63
+ const bytes = await readVersionBytes(root, workspace, version);
64
+ const image = await slateImage(bytes, size, { width: version.width, height: version.height });
65
+ return {
66
+ content: [{ type: 'image', data: image.bytes.toString('base64'), mimeType: image.mimeType }],
67
+ structuredContent: {
68
+ versionId: version.versionId,
69
+ size,
70
+ width: image.width,
71
+ height: image.height,
72
+ mimeType: image.mimeType,
73
+ sourceSha256: version.sha256,
74
+ },
75
+ };
76
+ };
77
+ export const referenceResult = async (input, runtime) => {
78
+ const size = input.size;
79
+ if (size !== 'thumb' && size !== 'ref')
80
+ throw new SlateError('invalid_input', 'size must be "thumb" or "ref"');
81
+ const referenceId = input.referenceId;
82
+ if (typeof referenceId !== 'string' || !REFERENCE_ID_PATTERN.test(referenceId)) {
83
+ throw new SlateError('invalid_input', 'referenceId is not a reference id');
84
+ }
85
+ const root = await resolveSlateRunDir(input.runDir);
86
+ const { workspace } = await loadWorkspaceAt(root, runtime.now);
87
+ if (!namedReferenceIds(workspace).includes(referenceId)) {
88
+ throw new SlateError('unknown_reference', `${referenceId} is not in a round, a search or the selection of this workspace.`);
89
+ }
90
+ const reference = await ensureReferenceImage({ root, corpus: runtime.corpus, referenceId, size });
91
+ const image = await slateImage(reference.bytes, size === 'thumb' ? 'thumb' : 'full', { width: reference.width, height: reference.height });
92
+ return {
93
+ content: [{ type: 'image', data: image.bytes.toString('base64'), mimeType: image.mimeType }],
94
+ structuredContent: { referenceId, size, width: image.width, height: image.height, mimeType: image.mimeType },
95
+ };
96
+ };
97
+ const changeResult = async (runtime, runDirArgument, text, fields) => {
98
+ const { view } = await loadView(runtime, runDirArgument);
99
+ return { content: [{ type: 'text', text }], structuredContent: { ...fields(view), view } };
100
+ };
101
+ export const pickResult = async (input, runtime) => {
102
+ const root = await resolveSlateRunDir(input.runDir);
103
+ await recordPick({ runtime, root, versionId: input.versionId, reason: input.reason });
104
+ return changeResult(runtime, root, `Recorded the selection ${String(input.versionId)} in the workspace.`, (view) => ({ pick: view.pick, rev: view.rev }));
105
+ };
106
+ export const inspireResult = async (input, runtime) => {
107
+ const root = await resolveSlateRunDir(input.runDir);
108
+ const search = await runSearch({ runtime, root, query: input.query, count: input.count });
109
+ return changeResult(runtime, root, `Found ${search.referenceIds.length} references.`, () => ({ search }));
110
+ };
111
+ export const inspirationResult = async (input, runtime) => {
112
+ const root = await resolveSlateRunDir(input.runDir);
113
+ const selected = await setSelection({ runtime, root, referenceIds: input.referenceIds });
114
+ return changeResult(runtime, root, `Selected ${selected.length} references.`, (view) => ({ selected, rev: view.rev }));
115
+ };
116
+ export const handoffResult = async (input, runtime) => {
117
+ const root = await resolveSlateRunDir(input.runDir);
118
+ const record = await recordHandoff({
119
+ runtime, root, handoffId: input.handoffId, kind: input.kind, versionId: input.versionId, options: input.options,
120
+ });
121
+ return changeResult(runtime, root, `Recorded the ${record.kind} hand-off request. Nothing was started.`, (view) => ({
122
+ handoff: view.handoffs.find((entry) => entry.handoffId === record.handoffId) ?? null,
123
+ rev: view.rev,
124
+ }));
125
+ };
126
+ /** Local files only, plus the cached readiness check: no network, no writes, no lock files. */
127
+ export const statusResult = async (input, runtime) => {
128
+ const root = await resolveSlateRunDir(input.runDir);
129
+ const { workspace } = await loadWorkspaceAt(root, runtime.now);
130
+ const liveness = await readLiveness(root, workspace, runtime.now().getTime());
131
+ const stamp = `${workspace.rev}:${liveness.digest}`;
132
+ if (typeof input.since === 'string' && input.since === stamp) {
133
+ return { content: [{ type: 'text', text: 'unchanged' }], structuredContent: { unchanged: true, stamp } };
134
+ }
135
+ const view = await buildView({ root, workspace, stateRoot: runtime.stateRoot, now: runtime.now(), local: await runtime.localImage() });
136
+ return { content: [{ type: 'text', text: `rev ${view.rev}` }], structuredContent: structured(view) };
137
+ };
138
+ const opResult = async (runtime, root, opId, text) => {
139
+ const { view } = await loadView(runtime, root);
140
+ return {
141
+ content: [{ type: 'text', text }],
142
+ structuredContent: { op: view.ops.find((op) => op.opId === opId) ?? null, view },
143
+ };
144
+ };
145
+ export const runResult = async (input, runtime) => {
146
+ const root = await resolveSlateRunDir(input.runDir);
147
+ const op = await runAction({ runtime, root, opId: input.opId, actionInput: input.action });
148
+ return opResult(runtime, root, op.opId, `Started ${op.kind}; it runs in the background on this Mac.`);
149
+ };
150
+ export const resumeResult = async (input, runtime) => {
151
+ const root = await resolveSlateRunDir(input.runDir);
152
+ const op = await resumeAction({ runtime, root, opId: input.opId });
153
+ return opResult(runtime, root, op.opId, `Resumed ${op.kind}; it continues in the background.`);
154
+ };
155
+ //# sourceMappingURL=mcp-slate-workspace-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-workspace-tools.js","sourceRoot":"","sources":["../src/mcp-slate-workspace-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tool-definitions.d.ts","sourceRoot":"","sources":["../src/mcp-tool-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAmB/D,eAAO,MAAM,oBAAoB,EAAE,IAAI,EAwHtC,CAAC"}
1
+ {"version":3,"file":"mcp-tool-definitions.d.ts","sourceRoot":"","sources":["../src/mcp-tool-definitions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAmB/D,eAAO,MAAM,oBAAoB,EAAE,IAAI,EAyHtC,CAAC"}
@@ -1,10 +1,12 @@
1
+ import { DEFAULT_CORPUS_MODE } from './corpus-access.js';
2
+ import { MCP_WORKFLOW_TOOL_DEFINITIONS } from './mcp-workflow-tools.js';
1
3
  import { CONVERSION_MODELS } from './conversion-models.js';
2
4
  import { CONVERSION_OUTPUTS, LAYERDOC_INPUT_OUTPUTS } from './conversion-outputs.js';
3
- import { DEFAULT_INSPIRATION_MODE, INSPIRATION_MODES } from './corpus-client.js';
4
- import { REFERENCE_IMAGE_SEARCH_MODE } from './reference-search-mode.js';
5
+ import { INSPIRATION_MODES } from './corpus-client.js';
5
6
  import { APP_PROJECT_FRAMEWORKS, APP_PROJECT_LANGUAGES, APP_PROJECT_PACKAGINGS, APP_PROJECT_STYLINGS, WEB_PROJECT_FRAMEWORKS, WEB_PROJECT_LANGUAGES, WEB_PROJECT_PACKAGINGS, WEB_PROJECT_STYLINGS, } from './project-profiles.js';
6
7
  const pathProperty = (description) => ({ type: 'string', minLength: 1, description });
7
8
  export const MCP_TOOL_DEFINITIONS = [
9
+ ...MCP_WORKFLOW_TOOL_DEFINITIONS,
8
10
  {
9
11
  name: 'design.convert',
10
12
  description: 'Convert one local image into LayerDoc, responsive HTML, fixed design files, or a versioned web/native source-project bundle; LayerDoc v2 JSON is accepted for every output, including canonical republishing. This may consume conversion quota.',
@@ -71,12 +73,12 @@ export const MCP_TOOL_DEFINITIONS = [
71
73
  },
72
74
  {
73
75
  name: 'design.corpus.status',
74
- description: 'Read the current 12UI corpus release and idempotency capability without running a corpus query.',
76
+ description: 'Read the current 12UI corpus release and idempotency capability without authentication or running a corpus query.',
75
77
  inputSchema: { type: 'object', additionalProperties: false, properties: {} },
76
78
  },
77
79
  {
78
80
  name: 'design.corpus.inspire',
79
- description: 'Retrieve and locally materialize a durable, diverse set of visual references from the 12UI corpus. This is a metered corpus operation; call only after the user authorizes it. An attempt record is written before the request so ambiguous outcomes can be resumed safely.',
81
+ description: 'Retrieve and locally materialize a durable, diverse set of visual references from the 12UI corpus. Free without an account, subject to abuse limits; at most 24 references without credentials. Balanced is the default; explicit hedge requires an account for hosted planning. An attempt record is written before the request so ambiguous outcomes can be resumed safely.',
80
82
  inputSchema: {
81
83
  type: 'object',
82
84
  additionalProperties: false,
@@ -84,16 +86,16 @@ export const MCP_TOOL_DEFINITIONS = [
84
86
  properties: {
85
87
  query: { type: 'string', minLength: 1 },
86
88
  outDir: pathProperty('New directory in which to write attempt evidence, the manifest, and downloaded references.'),
87
- mode: { type: 'string', enum: [...INSPIRATION_MODES], default: DEFAULT_INSPIRATION_MODE },
89
+ mode: { type: 'string', enum: [...INSPIRATION_MODES], default: DEFAULT_CORPUS_MODE },
88
90
  count: { type: 'integer', minimum: 1, maximum: 48, default: 4 },
89
- referenceImagePath: pathProperty(`Optional local PNG, JPEG, or WebP used to condition retrieval. It moves the default mode from ${DEFAULT_INSPIRATION_MODE} to ${REFERENCE_IMAGE_SEARCH_MODE}, and mode ${DEFAULT_INSPIRATION_MODE} with it is refused: the corpus does not accept a ${DEFAULT_INSPIRATION_MODE} query that carries an image.`),
91
+ referenceImagePath: pathProperty('Optional local PNG, JPEG, or WebP used to condition retrieval. Balanced is the default; explicit hedge cannot carry a reference image.'),
90
92
  idempotencyKey: { type: 'string', minLength: 1, maxLength: 128 },
91
93
  },
92
94
  },
93
95
  },
94
96
  {
95
97
  name: 'design.corpus.resume',
96
- description: 'Resume one incomplete corpus retrieval from its durable attempt directory, reusing the recorded idempotency key rather than buying replacement work.',
98
+ description: 'Resume one incomplete corpus retrieval from its durable attempt directory, reusing the recorded idempotency key to preserve the recorded retrieval identity.',
97
99
  inputSchema: {
98
100
  type: 'object',
99
101
  additionalProperties: false,
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tool-definitions.js","sourceRoot":"","sources":["../src/mcp-tool-definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-tool-definitions.js","sourceRoot":"","sources":["../src/mcp-tool-definitions.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
+ import type { WorkflowTransportService } from './workflow-transport.js';
1
2
  import { TwelveUiBranchClient } from './branch-client.js';
2
3
  import { TwelveUiConversionClient } from './conversion-client.js';
3
- import type { ConversionConfig } from './config.js';
4
+ import type { ConversionConfig, CorpusConfig } from './config.js';
4
5
  import { TwelveUiCorpusClient } from './corpus-client.js';
5
6
  type ConversionClient = Pick<TwelveUiConversionClient, 'createConversion' | 'waitForConversion' | 'downloadResult' | 'downloadArtifact' | 'getConversion'>;
6
7
  type CorpusClient = Pick<TwelveUiCorpusClient, 'status' | 'inspire' | 'download'>;
@@ -11,6 +12,11 @@ export type McpToolDependencies = {
11
12
  corpusClient: CorpusClient;
12
13
  branchClient: BranchClient;
13
14
  };
15
+ export type McpCorpusDependencies = {
16
+ config: CorpusConfig;
17
+ corpusClient: CorpusClient;
18
+ };
19
+ export declare const createMcpCorpusDependencies: (config: CorpusConfig) => McpCorpusDependencies;
14
20
  export type McpToolResult = {
15
21
  content: [{
16
22
  type: 'text';
@@ -19,6 +25,6 @@ export type McpToolResult = {
19
25
  isError?: boolean;
20
26
  };
21
27
  export declare const createMcpToolDependencies: (config: ConversionConfig) => McpToolDependencies;
22
- export declare const callMcpTool: (name: string, argumentsValue: unknown, dependencies: McpToolDependencies) => Promise<McpToolResult>;
28
+ export declare const callMcpTool: (name: string, argumentsValue: unknown, dependenciesInput?: McpToolDependencies | (() => McpToolDependencies), workflowService?: WorkflowTransportService, corpusDependenciesInput?: McpCorpusDependencies | (() => McpCorpusDependencies)) => Promise<McpToolResult>;
23
29
  export {};
24
30
  //# sourceMappingURL=mcp-tool-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-tool-handler.d.ts","sourceRoot":"","sources":["../src/mcp-tool-handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAA0B,MAAM,oBAAoB,CAAC;AAOlF,OAAO,EACL,wBAAwB,EAGzB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAEL,oBAAoB,EAGrB,MAAM,oBAAoB,CAAC;AAM5B,KAAK,gBAAgB,GAAG,IAAI,CAC1B,wBAAwB,EACxB,kBAAkB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,eAAe,CACnG,CAAC;AACF,KAAK,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;AAClF,KAAK,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,gBAAgB,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,QAAQ,gBAAgB,KAAG,mBAKnE,CAAC;AAsEH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,gBAAgB,OAAO,EACvB,cAAc,mBAAmB,KAChC,OAAO,CAAC,aAAa,CAiDvB,CAAC"}
1
+ {"version":3,"file":"mcp-tool-handler.d.ts","sourceRoot":"","sources":["../src/mcp-tool-handler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGxE,OAAO,EAAE,oBAAoB,EAA0B,MAAM,oBAAoB,CAAC;AAOlF,OAAO,EACL,wBAAwB,EAGzB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGlE,OAAO,EAEL,oBAAoB,EAGrB,MAAM,oBAAoB,CAAC;AAM5B,KAAK,gBAAgB,GAAG,IAAI,CAC1B,wBAAwB,EACxB,kBAAkB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,eAAe,CACnG,CAAC;AACF,KAAK,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;AAClF,KAAK,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,gBAAgB,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAE,CAAC;AAEzF,eAAO,MAAM,2BAA2B,GAAI,QAAQ,YAAY,KAAG,qBAGjE,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,QAAQ,gBAAgB,KAAG,mBAKnE,CAAC;AAoEH,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,gBAAgB,OAAO,EACvB,oBAAoB,mBAAmB,GAAG,CAAC,MAAM,mBAAmB,CAAC,EACrE,kBAAkB,wBAAwB,EAC1C,0BAA0B,qBAAqB,GAAG,CAAC,MAAM,qBAAqB,CAAC,KAC9E,OAAO,CAAC,aAAa,CA6DvB,CAAC"}