@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,164 @@
1
+ import { CONVERSION_OUTPUT_FORMATS } from './conversion-outputs.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 const SLATE_UI_COPY = {
18
+ title: 'Design workspace',
19
+ empty: 'No finished draft run was found. Start one, then open this again.',
20
+ // Tabs.
21
+ tabDesigns: 'Designs',
22
+ tabInspiration: 'Inspiration',
23
+ // Actions: bare verbs. The two chrome controls are icon-only and named for assistive technology.
24
+ openWorkspace: 'Open workspace',
25
+ closeWorkspace: 'Close workspace',
26
+ select: 'Select',
27
+ selected: 'Selected',
28
+ edit: 'Edit',
29
+ branch: 'Branch',
30
+ convert: 'Convert',
31
+ generate: 'Generate',
32
+ apply: 'Apply',
33
+ send: 'Send',
34
+ search: 'Search',
35
+ resume: 'Resume',
36
+ cancel: 'Cancel',
37
+ clear: 'Clear',
38
+ undo: 'Undo',
39
+ // Generate more: the dashed tile, and the panel it opens under the thumbnails. The counts are a control (SLATE_MORE_COUNTS), not copy.
40
+ // {label} is the code of the design that is shown.
41
+ generateMore: 'Generate more',
42
+ moreHelpFresh: 'Draws new options from fresh references.',
43
+ moreHelpSelected: 'Draws new options from your selected inspiration.',
44
+ moreHelpLike: 'Draws options that stay close to {label}.',
45
+ moreBasedOn: 'Based on {label}',
46
+ moreLikeUnavailable: 'This version has no picture to work from.',
47
+ moreInspirationLabel: 'Inspiration',
48
+ removeReference: 'Remove {name}',
49
+ moreNotePlaceholder: 'Describe how they should differ (optional)',
50
+ moreCountLabel: 'How many',
51
+ // Edit dialog: one optional instruction, a drawing, or both. {label} is the code of the design that is edited.
52
+ scribbleHint: 'Draw on the image to show where. An X or a circle is enough.',
53
+ editAria: 'Edit instruction',
54
+ editPlaceholder: 'Optional if you drew on the image. For example, make the headline larger.',
55
+ editHelp: 'Applies the change to {label} and saves the result as a new version.',
56
+ editHelpMarks: 'Marks only: the change is inferred from what you drew.',
57
+ // Branch and Convert dialogs.
58
+ branchAria: 'What to build',
59
+ branchPlaceholder: 'Optional. Which pages or states to add, for example pricing, sign in and settings.',
60
+ branchHelp: 'Your agent expands this design into more pages and app states.',
61
+ convertLabel: 'Format',
62
+ serviceGroup: '12ui service',
63
+ qualityLabel: 'Quality',
64
+ qualityHelp: 'Higher quality takes longer.',
65
+ fast: 'Fast',
66
+ standard: 'Standard',
67
+ pro: 'Pro',
68
+ widthLabel: 'Width',
69
+ widthPlaceholder: 'Pixels',
70
+ widthHelp: 'Optional. Output width in pixels; blank keeps the original size.',
71
+ layoutsLabel: 'Layouts',
72
+ layoutsHelp: 'How carefully the layouts adapt to other screen sizes.',
73
+ // Inspiration tab.
74
+ inspirationLabel: 'Search inspiration',
75
+ inspirationPlaceholder: 'What style are you looking for?',
76
+ inspirationEmpty: 'Search for a style to pick references for your next options.',
77
+ inspirationNoMatches: 'No matches. Try different words.',
78
+ searching: 'Searching.',
79
+ eightAtMost: 'Eight at most.',
80
+ searchFailed: 'Search failed: {message}',
81
+ tryAgain: 'Try again in {n} seconds.',
82
+ // Names and titles.
83
+ roundPrefix: 'Round ',
84
+ likePrefix: 'Like ',
85
+ newOptionsTitle: 'New options',
86
+ optionPrefix: 'Option ',
87
+ versionPrefix: 'Version ',
88
+ referencePrefix: 'Reference ',
89
+ failedSuffix: ', failed',
90
+ optionsGroup: 'Options',
91
+ fileMissing: 'File missing on this Mac',
92
+ fileChanged: 'This file changed on disk',
93
+ // Status and band lines.
94
+ recording: 'Selecting...',
95
+ selectedLine: 'Selected {label}. The agent has been told.',
96
+ selectedRefused: 'Selected {label} and saved it, but the host did not take the message: {detail}',
97
+ couldNotSelect: 'Could not select: {detail}',
98
+ pickMissing: 'The picked image is missing on this Mac. Select it again.',
99
+ pickChanged: 'The picked image changed on disk. Select a different version.',
100
+ sent: 'Sent to the agent.',
101
+ sentRefused: 'Recorded the request, but the host did not take the message: {detail}',
102
+ designing: 'Designing.',
103
+ // The hosted target: work waits for the person's own agent, which draws locally and uploads.
104
+ waitingForAgent: 'Waiting for your agent.',
105
+ designingProgress: 'Designing. {n} of {m} ready.',
106
+ editing: 'Editing {label}.',
107
+ roundReadyOne: '1 new option is ready.',
108
+ roundReadyMany: '{n} new options are ready.',
109
+ roundFailed: '{n} failed.',
110
+ editReady: '{label} is ready.',
111
+ interrupted: 'Work stopped before it finished.',
112
+ // Errors.
113
+ markFailed: 'Could not draw the marks on the image: {detail}',
114
+ noConnection: 'Could not connect to the host: ',
115
+ needsHost: 'This view needs a host that can show apps. Open it where ui:// resources render.',
116
+ toolError: 'The tool returned an error',
117
+ noView: 'The tool result has no workspace.',
118
+ };
119
+ const SERVICE_ORDER = ['html', 'layerdoc', 'html_fixed', 'svg', 'png', 'jpg', 'webp', 'pdf', 'psd', 'pptx', 'sketch'];
120
+ export const SLATE_CONVERT_CHOICES = [
121
+ { value: 'local:html', engine: 'local', output: 'html', label: 'HTML' },
122
+ { value: 'local:react', engine: 'local', output: 'react', label: 'React' },
123
+ { value: 'local:assets', engine: 'local', output: 'assets', label: 'Assets' },
124
+ ...SERVICE_ORDER.map((output) => ({ value: `service:${output}`, engine: 'service', output, label: CONVERSION_OUTPUT_FORMATS[output].label })),
125
+ ];
126
+ /**
127
+ * The hosted target's Format select: the two outputs an agent can build in the user's own project from the image, both
128
+ * `engine: 'local'` on the wire. There is no service group (the hosted server has no 12ui service), and no Assets (that
129
+ * needs the CLI on the person's machine).
130
+ */
131
+ export const SLATE_REMOTE_CONVERT_CHOICES = [
132
+ { value: 'local:html', engine: 'local', output: 'html', label: 'HTML' },
133
+ { value: 'local:react', engine: 'local', output: 'react', label: 'React' },
134
+ ];
135
+ /**
136
+ * The one line under the Format select that says what the chosen format gives, keyed by the choice's value. Not in the
137
+ * copy object: it names formats (HTML, PNG), which the copy test's no-all-caps rule is about labels, not sentences.
138
+ */
139
+ export const SLATE_CONVERT_DESCRIPTIONS = {
140
+ 'local:html': 'Editable HTML and CSS, built on this Mac.',
141
+ 'local:react': 'Editable React components and CSS, built on this Mac.',
142
+ 'local:assets': "The design's images as separate files, cut out on this Mac.",
143
+ 'service:html': 'Responsive HTML that adapts to screen widths, built by 12ui.',
144
+ 'service:layerdoc': 'An editable layered document, built by 12ui.',
145
+ 'service:html_fixed': 'Fixed-width HTML that matches the picture, built by 12ui.',
146
+ 'service:svg': 'A vector SVG, built by 12ui.',
147
+ 'service:png': 'A PNG image at the width you choose, made by 12ui.',
148
+ 'service:jpg': 'A JPG image at the width you choose, made by 12ui.',
149
+ 'service:webp': 'A WebP image at the width you choose, made by 12ui.',
150
+ 'service:pdf': 'A PDF file with editable layers, made by 12ui.',
151
+ 'service:psd': 'A PSD file with editable layers, made by 12ui.',
152
+ 'service:pptx': 'A PowerPoint file with editable layers, made by 12ui.',
153
+ 'service:sketch': 'A Sketch file with editable layers, made by 12ui.',
154
+ };
155
+ /** The hosted target's lines: its agent builds in the person's own project, so nothing is built on a Mac or by 12ui. */
156
+ export const SLATE_REMOTE_CONVERT_DESCRIPTIONS = {
157
+ 'local:html': 'Your agent builds editable HTML from this image in your project.',
158
+ 'local:react': 'Your agent builds React components from this image in your project.',
159
+ };
160
+ /** The widest output the CLI accepts (`MAX_IMAGE_OUTPUT_WIDTH`, pinned equal by a test; that module needs sharp). */
161
+ export const SLATE_CONVERT_MAX_WIDTH = 8_192;
162
+ /** How many options the Generate more panel offers, and the one it starts on. A control, so it is not in the copy. */
163
+ export const SLATE_MORE_COUNTS = { choices: [1, 2, 4, 8, 12], initial: 4 };
164
+ //# sourceMappingURL=mcp-slate-ui-copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-ui-copy.js","sourceRoot":"","sources":["../src/mcp-slate-ui-copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAGpE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,kBAAkB;IACzB,KAAK,EAAE,mEAAmE;IAE1E,QAAQ;IACR,UAAU,EAAE,SAAS;IACrB,cAAc,EAAE,aAAa;IAE7B,iGAAiG;IACjG,aAAa,EAAE,gBAAgB;IAC/B,cAAc,EAAE,iBAAiB;IACjC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IAEZ,uIAAuI;IACvI,mDAAmD;IACnD,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,0CAA0C;IACzD,gBAAgB,EAAE,mDAAmD;IACrE,YAAY,EAAE,2CAA2C;IACzD,WAAW,EAAE,kBAAkB;IAC/B,mBAAmB,EAAE,2CAA2C;IAChE,oBAAoB,EAAE,aAAa;IACnC,eAAe,EAAE,eAAe;IAChC,mBAAmB,EAAE,4CAA4C;IACjE,cAAc,EAAE,UAAU;IAE1B,+GAA+G;IAC/G,YAAY,EAAE,8DAA8D;IAC5E,QAAQ,EAAE,kBAAkB;IAC5B,eAAe,EAAE,2EAA2E;IAC5F,QAAQ,EAAE,sEAAsE;IAChF,aAAa,EAAE,wDAAwD;IAEvE,8BAA8B;IAC9B,UAAU,EAAE,eAAe;IAC3B,iBAAiB,EAAE,oFAAoF;IACvG,UAAU,EAAE,gEAAgE;IAC5E,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,8BAA8B;IAC3C,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;IACV,UAAU,EAAE,OAAO;IACnB,gBAAgB,EAAE,QAAQ;IAC1B,SAAS,EAAE,kEAAkE;IAC7E,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,wDAAwD;IAErE,mBAAmB;IACnB,gBAAgB,EAAE,oBAAoB;IACtC,sBAAsB,EAAE,iCAAiC;IACzD,gBAAgB,EAAE,8DAA8D;IAChF,oBAAoB,EAAE,kCAAkC;IACxD,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,gBAAgB;IAC7B,YAAY,EAAE,0BAA0B;IACxC,QAAQ,EAAE,2BAA2B;IAErC,oBAAoB;IACpB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,OAAO;IACnB,eAAe,EAAE,aAAa;IAC9B,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,UAAU;IACzB,eAAe,EAAE,YAAY;IAC7B,YAAY,EAAE,UAAU;IACxB,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,0BAA0B;IACvC,WAAW,EAAE,2BAA2B;IAExC,yBAAyB;IACzB,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,4CAA4C;IAC1D,eAAe,EAAE,gFAAgF;IACjG,cAAc,EAAE,4BAA4B;IAC5C,WAAW,EAAE,2DAA2D;IACxE,WAAW,EAAE,+DAA+D;IAC5E,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,uEAAuE;IACpF,SAAS,EAAE,YAAY;IACvB,6FAA6F;IAC7F,eAAe,EAAE,yBAAyB;IAC1C,iBAAiB,EAAE,8BAA8B;IACjD,OAAO,EAAE,kBAAkB;IAC3B,aAAa,EAAE,wBAAwB;IACvC,cAAc,EAAE,4BAA4B;IAC5C,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,WAAW,EAAE,kCAAkC;IAE/C,UAAU;IACV,UAAU,EAAE,iDAAiD;IAC7D,YAAY,EAAE,iCAAiC;IAC/C,SAAS,EAAE,kFAAkF;IAC7F,SAAS,EAAE,4BAA4B;IACvC,MAAM,EAAE,mCAAmC;CACnC,CAAC;AAcX,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAkD,CAAC;AAEvK,MAAM,CAAC,MAAM,qBAAqB,GAA6B;IAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IACvE,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAC1E,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC7E,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAiB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;CAC7J,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAA6B;IACpE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IACvE,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;CAC3E,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,YAAY,EAAE,2CAA2C;IACzD,aAAa,EAAE,uDAAuD;IACtE,cAAc,EAAE,6DAA6D;IAC7E,cAAc,EAAE,8DAA8D;IAC9E,kBAAkB,EAAE,8CAA8C;IAClE,oBAAoB,EAAE,2DAA2D;IACjF,aAAa,EAAE,8BAA8B;IAC7C,aAAa,EAAE,oDAAoD;IACnE,aAAa,EAAE,oDAAoD;IACnE,cAAc,EAAE,qDAAqD;IACrE,aAAa,EAAE,gDAAgD;IAC/D,aAAa,EAAE,gDAAgD;IAC/D,cAAc,EAAE,uDAAuD;IACvE,gBAAgB,EAAE,mDAAmD;CACtE,CAAC;AAEF,wHAAwH;AACxH,MAAM,CAAC,MAAM,iCAAiC,GAAqC;IACjF,YAAY,EAAE,kEAAkE;IAChF,aAAa,EAAE,qEAAqE;CACrF,CAAC;AAEF,qHAAqH;AACrH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAE7C,sHAAsH;AACtH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAW,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The MCP Apps bridge: JSON-RPC 2.0 over `postMessage`, the host context, the
3
+ * height-only size report, and the two ways an app talks to the agent.
4
+ *
5
+ * Rules kept, each proven against Codex desktop (see
6
+ * docs/analysis/codex-plugin-screens-2026-09-30.md):
7
+ * - it reports its height and never its width, because hosts treat a reported
8
+ * width as a floor and a frame that grew could not shrink back to its pane;
9
+ * - in fullscreen it reports nothing (the host owns the size);
10
+ * - a message to the agent names what happened and carries no command: the
11
+ * host wraps app messages as untrusted input, so the agent confirms with the
12
+ * model-visible data tool instead.
13
+ *
14
+ * Fragment of the view's script; written with String.raw so escapes reach the
15
+ * browser unchanged. It must contain no backtick and no dollar-brace.
16
+ */
17
+ export declare const SLATE_UI_BRIDGE: string;
18
+ //# sourceMappingURL=mcp-slate-ui-script-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-ui-script-bridge.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-script-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,QAuH3B,CAAC"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * The MCP Apps bridge: JSON-RPC 2.0 over `postMessage`, the host context, the
3
+ * height-only size report, and the two ways an app talks to the agent.
4
+ *
5
+ * Rules kept, each proven against Codex desktop (see
6
+ * docs/analysis/codex-plugin-screens-2026-09-30.md):
7
+ * - it reports its height and never its width, because hosts treat a reported
8
+ * width as a floor and a frame that grew could not shrink back to its pane;
9
+ * - in fullscreen it reports nothing (the host owns the size);
10
+ * - a message to the agent names what happened and carries no command: the
11
+ * host wraps app messages as untrusted input, so the agent confirms with the
12
+ * model-visible data tool instead.
13
+ *
14
+ * Fragment of the view's script; written with String.raw so escapes reach the
15
+ * browser unchanged. It must contain no backtick and no dollar-brace.
16
+ */
17
+ export const SLATE_UI_BRIDGE = String.raw `
18
+ var PROTOCOL = "2026-01-26";
19
+ var TARGET = __TARGET__;
20
+ var TOOLS = __TOOLS__;
21
+ var COPY = __COPY__;
22
+ var CONVERT = __CONVERT__;
23
+ var $ = function (id) { return document.getElementById(id); };
24
+
25
+ // ---- JSON-RPC over postMessage ----
26
+ var pending = new Map();
27
+ var nextId = 1;
28
+ var inflight = 0;
29
+ function post(msg) { window.parent.postMessage(msg, "*"); }
30
+ function request(method, params) {
31
+ return new Promise(function (resolve, reject) {
32
+ var id = nextId++;
33
+ pending.set(id, { resolve: resolve, reject: reject });
34
+ post({ jsonrpc: "2.0", id: id, method: method, params: params });
35
+ });
36
+ }
37
+ function notify(method, params) { post({ jsonrpc: "2.0", method: method, params: params }); }
38
+ // Fill {name} slots of a copy string.
39
+ function tpl(text, values) {
40
+ return text.replace(/\{(\w+)\}/g, function (whole, key) { return values && values[key] !== undefined ? String(values[key]) : whole; });
41
+ }
42
+
43
+ // A tool call resolves to its structured content, or rejects with the tool's own code and sentence.
44
+ function callTool(name, args) {
45
+ inflight++;
46
+ return request("tools/call", { name: name, arguments: args }).then(function (result) {
47
+ inflight--;
48
+ if (result && result.isError) {
49
+ var sc = result.structuredContent || {};
50
+ var text = result.content && result.content[0] && result.content[0].text;
51
+ var err = new Error(sc.message || text || "The tool failed.");
52
+ err.code = sc.code || "error";
53
+ err.retryable = !!sc.retryable;
54
+ if (sc.retryAfterSeconds !== undefined) err.retryAfterSeconds = sc.retryAfterSeconds;
55
+ throw err;
56
+ }
57
+ return result;
58
+ }, function (err) { inflight--; throw err; });
59
+ }
60
+
61
+ window.addEventListener("message", function (event) {
62
+ if (event.source !== window.parent) return;
63
+ var m = event.data;
64
+ if (!m || m.jsonrpc !== "2.0") return;
65
+ if (m.method === undefined) {
66
+ var p = pending.get(m.id);
67
+ if (!p) return;
68
+ pending.delete(m.id);
69
+ if (m.error) p.reject(new Error(m.error.message || "request failed"));
70
+ else p.resolve(m.result);
71
+ return;
72
+ }
73
+ if (m.id !== undefined) {
74
+ // Host request (ui/resource-teardown, ping): acknowledge.
75
+ post({ jsonrpc: "2.0", id: m.id, result: {} });
76
+ return;
77
+ }
78
+ if (m.method === "ui/notifications/tool-result") onToolResult(m.params);
79
+ else if (m.method === "ui/notifications/host-context-changed") applyHost(m.params || {});
80
+ else if (m.method === "ui/notifications/tool-cancelled") fatal("The tool call was cancelled: " + ((m.params && m.params.reason) || "no reason given"));
81
+ });
82
+
83
+ // ---- host context: theme, CSS variables, display mode (feature-detected, all optional) ----
84
+ function applyHost(ctx) {
85
+ var before = state.host.displayMode;
86
+ state.host = Object.assign(state.host, ctx);
87
+ if (ctx.theme === "light" || ctx.theme === "dark") {
88
+ document.documentElement.dataset.theme = ctx.theme;
89
+ document.documentElement.style.colorScheme = ctx.theme;
90
+ }
91
+ var vars = ctx.styles && ctx.styles.variables;
92
+ if (vars) Object.keys(vars).forEach(function (k) { if (vars[k]) document.documentElement.style.setProperty(k, vars[k]); });
93
+ if (ctx.displayMode !== undefined && ctx.displayMode !== before) lastHeight = -1;
94
+ if (state.view) renderAll();
95
+ reportSize();
96
+ }
97
+ function modes() { return state.host.availableDisplayModes || []; }
98
+ function isFullscreen() { return state.host.displayMode === "fullscreen"; }
99
+ function canFullscreen() { return modes().indexOf("fullscreen") >= 0; }
100
+ function canInline() { return modes().indexOf("inline") >= 0; }
101
+ function requestMode(mode) { return request("ui/request-display-mode", { mode: mode }).catch(function () {}); }
102
+
103
+ // Height only. Width is the host's to decide; the layout is fluid, so it fills exactly what it is given.
104
+ var lastHeight = -1;
105
+ function reportSize() {
106
+ if (isFullscreen()) return;
107
+ var height = Math.ceil(document.documentElement.getBoundingClientRect().height);
108
+ if (height === lastHeight) return;
109
+ lastHeight = height;
110
+ notify("ui/notifications/size-changed", { height: height });
111
+ }
112
+ new ResizeObserver(reportSize).observe(document.body);
113
+
114
+ function fatal(text) {
115
+ $("app").classList.add("hidden");
116
+ $("stage").classList.add("hidden");
117
+ $("fatal").textContent = text;
118
+ $("fatal").classList.remove("hidden");
119
+ }
120
+
121
+ // ---- the agent: a message the agent verifies, and context it may read (best effort) ----
122
+ function messageAgent(text) {
123
+ // _meta["openai/message"] is an OpenAI extension; hosts that do not know it ignore it.
124
+ return request("ui/message", {
125
+ role: "user",
126
+ content: [{ type: "text", text: text }],
127
+ _meta: { "openai/message": { target: "active", send: true } }
128
+ });
129
+ }
130
+ function updateModelContext(text) {
131
+ // Correctness never depends on this: a host without a composer may refuse it, and the failure is swallowed.
132
+ request("ui/update-model-context", {
133
+ content: [{ type: "text", text: text, annotations: { audience: ["assistant"] } }]
134
+ }).catch(function () {});
135
+ }
136
+ `;
137
+ //# sourceMappingURL=mcp-slate-ui-script-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-ui-script-bridge.js","sourceRoot":"","sources":["../src/mcp-slate-ui-script-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuHxC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * What only the browser target does (TARGET is "browser"): the words it records for the agent.
3
+ *
4
+ * The screen in a browser page has no agent on the other end of its host: the shim in the page (slate-browser-host.ts)
5
+ * keeps what the screen would have sent with `ui/message` and hands it to the command that opened the page, which
6
+ * prints it in its result beside the decision itself. So these say what happened and nothing else: the agent
7
+ * reads the decision, the pick and the request from that result, not from the sentence.
8
+ *
9
+ * Fragment of the view's script; String.raw, no backtick, no dollar-brace.
10
+ */
11
+ export declare const SLATE_UI_BROWSER: string;
12
+ //# sourceMappingURL=mcp-slate-ui-script-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-ui-script-browser.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-script-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,QAO5B,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * What only the browser target does (TARGET is "browser"): the words it records for the agent.
3
+ *
4
+ * The screen in a browser page has no agent on the other end of its host: the shim in the page (slate-browser-host.ts)
5
+ * keeps what the screen would have sent with `ui/message` and hands it to the command that opened the page, which
6
+ * prints it in its result beside the decision itself. So these say what happened and nothing else: the agent
7
+ * reads the decision, the pick and the request from that result, not from the sentence.
8
+ *
9
+ * Fragment of the view's script; String.raw, no backtick, no dollar-brace.
10
+ */
11
+ export const SLATE_UI_BROWSER = String.raw `
12
+ function browserSelectMessage(label) {
13
+ return "I selected " + label + " in the Design workspace.";
14
+ }
15
+ function browserHandoffMessage(kind, label, handoffId) {
16
+ return "I asked to " + (kind === "branch" ? "build from" : "convert") + " " + label + " in the Design workspace (request " + handoffId + ").";
17
+ }
18
+ `;
19
+ //# sourceMappingURL=mcp-slate-ui-script-browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-ui-script-browser.js","sourceRoot":"","sources":["../src/mcp-slate-ui-script-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;CAOzC,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The three dialogs of the workspace: Edit (a drawing over the image, an
3
+ * optional instruction, or both), Branch (an optional description of what to
4
+ * build) and Convert (which format, with only the options that format has).
5
+ * Each is opened by its button, confirmed by one verb (Apply, Send, Send) and
6
+ * closed by Cancel or Escape; Select has no dialog, and Generate more is a
7
+ * panel, not a dialog (mcp-slate-ui-script-more.ts).
8
+ *
9
+ * Common rules: a title, fields, one line that says what will happen, an error
10
+ * line (role alert, empty by default), then Cancel and the primary. The
11
+ * primary keeps its label and disables while a call is in flight; on success
12
+ * the dialog closes at once. One id is minted when the dialog opens (the op id
13
+ * of Edit, the hand-off id of Branch and Convert), so a double click sends one
14
+ * request.
15
+ *
16
+ * Edit starts work through the run tool, which returns as soon as the work is
17
+ * committed; Branch and Convert hand off to the agent through sendHandoff.
18
+ * Nothing here shows or asks for money.
19
+ */
20
+ export declare const SLATE_UI_DIALOG: string;
21
+ //# sourceMappingURL=mcp-slate-ui-script-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-slate-ui-script-dialog.d.ts","sourceRoot":"","sources":["../src/mcp-slate-ui-script-dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,QA4S3B,CAAC"}