makersclaw 0.7.0 → 0.8.1

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 (419) hide show
  1. package/README.md +17 -4
  2. package/package.json +1 -1
  3. package/r/activity-log.json +52 -0
  4. package/r/agent-changes.json +51 -0
  5. package/r/agent-chat.json +53 -0
  6. package/r/agent-column.json +85 -0
  7. package/r/agent-dock.json +57 -0
  8. package/r/agent-kit.json +49 -0
  9. package/r/agent-marks.json +49 -0
  10. package/r/agent-pane.json +93 -0
  11. package/r/ai-action.json +56 -0
  12. package/r/annotate.json +4 -4
  13. package/r/approval-request.json +2 -2
  14. package/r/approval.json +54 -0
  15. package/r/ask-bar.json +50 -0
  16. package/r/audio-player.json +2 -2
  17. package/r/auth-form.json +2 -2
  18. package/r/automation-editor.json +66 -0
  19. package/r/automation-list.json +57 -0
  20. package/r/automation-model.json +118 -0
  21. package/r/automations-screen.json +71 -0
  22. package/r/board.json +2 -2
  23. package/r/calendar-view.json +3 -3
  24. package/r/cart.json +2 -2
  25. package/r/chart.json +5 -5
  26. package/r/chat-pane.json +84 -0
  27. package/r/chat.json +3 -3
  28. package/r/code-editor.json +2 -2
  29. package/r/comment-box.json +3 -3
  30. package/r/connect-card.json +51 -0
  31. package/r/contact-section.json +2 -2
  32. package/r/core.json +18 -6
  33. package/r/cost.json +51 -0
  34. package/r/csv-import.json +3 -3
  35. package/r/data-picker.json +60 -0
  36. package/r/data-table.json +2 -2
  37. package/r/diagram.json +2 -2
  38. package/r/doc-editor.json +2 -2
  39. package/r/doc-page.json +3 -3
  40. package/r/email-render.json +2 -2
  41. package/r/faq.json +2 -2
  42. package/r/file-upload.json +2 -2
  43. package/r/first-run.json +63 -0
  44. package/r/fix-note.json +57 -0
  45. package/r/flow-canvas.json +3 -3
  46. package/r/flow-editor.json +79 -0
  47. package/r/footer.json +3 -3
  48. package/r/gantt.json +3 -3
  49. package/r/job-panel.json +2 -2
  50. package/r/json-editor.json +3 -3
  51. package/r/library-shelf.json +56 -0
  52. package/r/map.json +2 -2
  53. package/r/margin-notes.json +67 -0
  54. package/r/menubar.json +2 -2
  55. package/r/mind-map.json +4 -4
  56. package/r/navigation-menu.json +2 -2
  57. package/r/needs-you.json +55 -0
  58. package/r/order-detail.json +2 -2
  59. package/r/org-chart.json +4 -4
  60. package/r/pace-bar.json +69 -0
  61. package/r/page-builder.json +3 -3
  62. package/r/payment-methods.json +2 -2
  63. package/r/pdf-document.json +2 -2
  64. package/r/pdf-viewer.json +3 -3
  65. package/r/product-detail.json +2 -2
  66. package/r/product-grid.json +3 -3
  67. package/r/record-form.json +2 -2
  68. package/r/record-grid.json +52 -0
  69. package/r/record-notes.json +4 -4
  70. package/r/registry.json +4089 -1510
  71. package/r/run-history.json +52 -0
  72. package/r/run-view.json +80 -0
  73. package/r/schedule-card.json +54 -0
  74. package/r/schedule-engine.json +79 -0
  75. package/r/schedule-gantt.json +83 -0
  76. package/r/schedule-ruler.json +64 -0
  77. package/r/search-dialog.json +2 -2
  78. package/r/settings-list.json +2 -2
  79. package/r/setup-checklist.json +2 -2
  80. package/r/share-dialog.json +2 -2
  81. package/r/sidebar.json +3 -3
  82. package/r/signature-pad.json +2 -2
  83. package/r/sketch-canvas.json +3 -3
  84. package/r/source-receipt.json +52 -0
  85. package/r/spreadsheet.json +3 -3
  86. package/r/stat-cards.json +3 -3
  87. package/r/step-picker.json +53 -0
  88. package/r/step-settings.json +72 -0
  89. package/r/suggestion.json +58 -0
  90. package/r/sum-bar.json +64 -0
  91. package/r/task-list.json +3 -3
  92. package/r/task-model.json +2 -2
  93. package/r/testimonials.json +2 -2
  94. package/r/tier-map.json +67 -0
  95. package/r/time-grid.json +73 -0
  96. package/r/time-strip.json +64 -0
  97. package/r/top-bar.json +66 -0
  98. package/r/transaction-list.json +2 -2
  99. package/r/trigger-picker.json +61 -0
  100. package/r/whiteboard.json +4 -4
  101. package/r/workflow-view.json +55 -0
  102. package/registry/blocks/activity-log/README.md +112 -0
  103. package/registry/blocks/activity-log/activity-log.jsx +351 -0
  104. package/registry/blocks/activity-log/block.json +33 -0
  105. package/registry/blocks/activity-log/demo.jsx +48 -0
  106. package/registry/blocks/activity-log/index.js +4 -0
  107. package/registry/blocks/agent-changes/README.md +94 -0
  108. package/registry/blocks/agent-changes/agent-changes.jsx +118 -0
  109. package/registry/blocks/agent-changes/block.json +28 -0
  110. package/registry/blocks/agent-changes/demo.jsx +39 -0
  111. package/registry/blocks/agent-changes/index.js +3 -0
  112. package/registry/blocks/agent-chat/README.md +145 -0
  113. package/registry/blocks/agent-chat/agent-chat.jsx +415 -0
  114. package/registry/blocks/agent-chat/block.json +30 -0
  115. package/registry/blocks/agent-chat/demo.jsx +165 -0
  116. package/registry/blocks/agent-chat/index.js +3 -0
  117. package/registry/blocks/agent-column/README.md +197 -0
  118. package/registry/blocks/agent-column/agent-column.jsx +492 -0
  119. package/registry/blocks/agent-column/block.json +67 -0
  120. package/registry/blocks/agent-column/column-picker.jsx +163 -0
  121. package/registry/blocks/agent-column/demo.jsx +50 -0
  122. package/registry/blocks/agent-column/index.js +7 -0
  123. package/registry/blocks/agent-column/model.js +164 -0
  124. package/registry/blocks/agent-column/receipt.jsx +483 -0
  125. package/registry/blocks/agent-column/spreadsheet-type.jsx +24 -0
  126. package/registry/blocks/agent-dock/README.md +210 -0
  127. package/registry/blocks/agent-dock/agent-dock.jsx +356 -0
  128. package/registry/blocks/agent-dock/block.json +47 -0
  129. package/registry/blocks/agent-dock/demo.jsx +153 -0
  130. package/registry/blocks/agent-dock/dock-model.js +118 -0
  131. package/registry/blocks/agent-dock/index.js +5 -0
  132. package/registry/blocks/agent-kit/README.md +73 -0
  133. package/registry/blocks/agent-kit/agent-kit.jsx +86 -0
  134. package/registry/blocks/agent-kit/block.json +10 -0
  135. package/registry/blocks/agent-kit/demo.jsx +35 -0
  136. package/registry/blocks/agent-kit/index.js +3 -0
  137. package/registry/blocks/agent-marks/README.md +80 -0
  138. package/registry/blocks/agent-marks/agent-marks.jsx +133 -0
  139. package/registry/blocks/agent-marks/block.json +27 -0
  140. package/registry/blocks/agent-marks/demo.jsx +49 -0
  141. package/registry/blocks/agent-marks/index.js +3 -0
  142. package/registry/blocks/agent-pane/README.md +225 -0
  143. package/registry/blocks/agent-pane/agent-pane.jsx +244 -0
  144. package/registry/blocks/agent-pane/block.json +41 -0
  145. package/registry/blocks/agent-pane/composer.jsx +6 -0
  146. package/registry/blocks/agent-pane/demo.jsx +233 -0
  147. package/registry/blocks/agent-pane/dock-context.js +10 -0
  148. package/registry/blocks/agent-pane/index.js +4 -0
  149. package/registry/blocks/agent-pane/prose.jsx +84 -0
  150. package/registry/blocks/agent-pane/questions.jsx +134 -0
  151. package/registry/blocks/agent-pane/transcript.jsx +268 -0
  152. package/registry/blocks/agent-pane/work.jsx +368 -0
  153. package/registry/blocks/ai-action/README.md +94 -0
  154. package/registry/blocks/ai-action/ai-action.jsx +188 -0
  155. package/registry/blocks/ai-action/block.json +34 -0
  156. package/registry/blocks/ai-action/demo.jsx +93 -0
  157. package/registry/blocks/ai-action/index.js +3 -0
  158. package/registry/blocks/annotate/README.md +14 -11
  159. package/registry/blocks/approval/README.md +145 -0
  160. package/registry/blocks/approval/approval.jsx +163 -0
  161. package/registry/blocks/approval/block.json +31 -0
  162. package/registry/blocks/approval/demo.jsx +121 -0
  163. package/registry/blocks/approval/index.js +3 -0
  164. package/registry/blocks/ask-bar/README.md +105 -0
  165. package/registry/blocks/ask-bar/ask-bar.jsx +166 -0
  166. package/registry/blocks/ask-bar/block.json +26 -0
  167. package/registry/blocks/ask-bar/demo.jsx +78 -0
  168. package/registry/blocks/ask-bar/index.js +3 -0
  169. package/registry/blocks/automation-editor/README.md +291 -0
  170. package/registry/blocks/automation-editor/automation-editor.jsx +656 -0
  171. package/registry/blocks/automation-editor/block.json +39 -0
  172. package/registry/blocks/automation-editor/demo.jsx +284 -0
  173. package/registry/blocks/automation-editor/index.js +4 -0
  174. package/registry/blocks/automation-editor/run-inputs.jsx +82 -0
  175. package/registry/blocks/automation-list/README.md +129 -0
  176. package/registry/blocks/automation-list/automation-list.jsx +476 -0
  177. package/registry/blocks/automation-list/block.json +35 -0
  178. package/registry/blocks/automation-list/demo.jsx +67 -0
  179. package/registry/blocks/automation-list/index.js +3 -0
  180. package/registry/blocks/automation-model/README.md +109 -0
  181. package/registry/blocks/automation-model/block.json +135 -0
  182. package/registry/blocks/automation-model/catalog.js +256 -0
  183. package/registry/blocks/automation-model/check.js +161 -0
  184. package/registry/blocks/automation-model/demo.jsx +42 -0
  185. package/registry/blocks/automation-model/edit.js +262 -0
  186. package/registry/blocks/automation-model/fixes.js +287 -0
  187. package/registry/blocks/automation-model/glyph.jsx +13 -0
  188. package/registry/blocks/automation-model/graph.js +410 -0
  189. package/registry/blocks/automation-model/index.js +33 -0
  190. package/registry/blocks/automation-model/overlay.js +175 -0
  191. package/registry/blocks/automation-model/parts.jsx +94 -0
  192. package/registry/blocks/automation-model/schedule.js +53 -0
  193. package/registry/blocks/automation-model/templates.js +128 -0
  194. package/registry/blocks/automation-model/values.js +29 -0
  195. package/registry/blocks/automation-model/words.js +439 -0
  196. package/registry/blocks/automations-screen/README.md +207 -0
  197. package/registry/blocks/automations-screen/automations-screen.jsx +452 -0
  198. package/registry/blocks/automations-screen/block.json +47 -0
  199. package/registry/blocks/automations-screen/demo.jsx +364 -0
  200. package/registry/blocks/automations-screen/index.js +4 -0
  201. package/registry/blocks/automations-screen/screen-model.js +129 -0
  202. package/registry/blocks/chart/cartesian.jsx +1 -1
  203. package/registry/blocks/chart/core.jsx +33 -23
  204. package/registry/blocks/chart/pie.jsx +1 -1
  205. package/registry/blocks/chat/README.md +4 -1
  206. package/registry/blocks/chat/demo.jsx +2 -2
  207. package/registry/blocks/chat-pane/README.md +143 -0
  208. package/registry/blocks/chat-pane/block.json +48 -0
  209. package/registry/blocks/chat-pane/chat-attach.js +166 -0
  210. package/registry/blocks/chat-pane/chat-composer.jsx +195 -0
  211. package/registry/blocks/chat-pane/chat-context.js +17 -0
  212. package/registry/blocks/chat-pane/chat-model.js +43 -0
  213. package/registry/blocks/chat-pane/chat-pane.jsx +398 -0
  214. package/registry/blocks/chat-pane/chats-list.jsx +52 -0
  215. package/registry/blocks/chat-pane/demo.jsx +103 -0
  216. package/registry/blocks/chat-pane/index.js +9 -0
  217. package/registry/blocks/connect-card/README.md +99 -0
  218. package/registry/blocks/connect-card/block.json +10 -0
  219. package/registry/blocks/connect-card/connect-card.jsx +103 -0
  220. package/registry/blocks/connect-card/demo.jsx +49 -0
  221. package/registry/blocks/connect-card/index.js +3 -0
  222. package/registry/blocks/cost/README.md +115 -0
  223. package/registry/blocks/cost/block.json +10 -0
  224. package/registry/blocks/cost/cost.jsx +176 -0
  225. package/registry/blocks/cost/demo.jsx +66 -0
  226. package/registry/blocks/cost/index.js +3 -0
  227. package/registry/blocks/data-picker/README.md +81 -0
  228. package/registry/blocks/data-picker/block.json +38 -0
  229. package/registry/blocks/data-picker/data-picker.jsx +210 -0
  230. package/registry/blocks/data-picker/demo.jsx +34 -0
  231. package/registry/blocks/data-picker/fields.js +89 -0
  232. package/registry/blocks/data-picker/index.js +4 -0
  233. package/registry/blocks/data-table/demo.jsx +1 -1
  234. package/registry/blocks/first-run/README.md +118 -0
  235. package/registry/blocks/first-run/block.json +11 -0
  236. package/registry/blocks/first-run/demo.jsx +88 -0
  237. package/registry/blocks/first-run/first-run-model.js +51 -0
  238. package/registry/blocks/first-run/first-run.jsx +156 -0
  239. package/registry/blocks/first-run/index.js +5 -0
  240. package/registry/blocks/first-run/probe-rules.js +26 -0
  241. package/registry/blocks/fix-note/README.md +79 -0
  242. package/registry/blocks/fix-note/block.json +35 -0
  243. package/registry/blocks/fix-note/demo.jsx +30 -0
  244. package/registry/blocks/fix-note/fix-note.jsx +235 -0
  245. package/registry/blocks/fix-note/index.js +3 -0
  246. package/registry/blocks/flow-canvas/README.md +15 -8
  247. package/registry/blocks/flow-editor/README.md +108 -0
  248. package/registry/blocks/flow-editor/block.json +44 -0
  249. package/registry/blocks/flow-editor/demo.jsx +115 -0
  250. package/registry/blocks/flow-editor/flow-canvas.jsx +568 -0
  251. package/registry/blocks/flow-editor/flow-editor.jsx +154 -0
  252. package/registry/blocks/flow-editor/index.js +6 -0
  253. package/registry/blocks/flow-editor/minimap.jsx +78 -0
  254. package/registry/blocks/flow-editor/outline.jsx +134 -0
  255. package/registry/blocks/footer/README.md +3 -2
  256. package/registry/blocks/library-shelf/README.md +117 -0
  257. package/registry/blocks/library-shelf/block.json +28 -0
  258. package/registry/blocks/library-shelf/demo.jsx +68 -0
  259. package/registry/blocks/library-shelf/index.js +3 -0
  260. package/registry/blocks/library-shelf/library-shelf.jsx +211 -0
  261. package/registry/blocks/library-shelf/probe-rules.js +15 -0
  262. package/registry/blocks/margin-notes/README.md +222 -0
  263. package/registry/blocks/margin-notes/block.json +10 -0
  264. package/registry/blocks/margin-notes/demo.jsx +144 -0
  265. package/registry/blocks/margin-notes/index.js +20 -0
  266. package/registry/blocks/margin-notes/margin-model.js +224 -0
  267. package/registry/blocks/margin-notes/margin-notes.jsx +465 -0
  268. package/registry/blocks/mind-map/README.md +4 -2
  269. package/registry/blocks/needs-you/README.md +177 -0
  270. package/registry/blocks/needs-you/block.json +34 -0
  271. package/registry/blocks/needs-you/demo.jsx +143 -0
  272. package/registry/blocks/needs-you/index.js +3 -0
  273. package/registry/blocks/needs-you/needs-you.jsx +441 -0
  274. package/registry/blocks/org-chart/README.md +4 -2
  275. package/registry/blocks/pace-bar/README.md +230 -0
  276. package/registry/blocks/pace-bar/block.json +10 -0
  277. package/registry/blocks/pace-bar/demo.jsx +255 -0
  278. package/registry/blocks/pace-bar/index.js +22 -0
  279. package/registry/blocks/pace-bar/pace-bar.jsx +461 -0
  280. package/registry/blocks/pace-bar/pace-model.js +288 -0
  281. package/registry/blocks/page-builder/README.md +1 -1
  282. package/registry/blocks/page-builder/demo.jsx +3 -3
  283. package/registry/blocks/pdf-viewer/README.md +4 -1
  284. package/registry/blocks/record-grid/README.md +100 -0
  285. package/registry/blocks/record-grid/block.json +28 -0
  286. package/registry/blocks/record-grid/demo.jsx +43 -0
  287. package/registry/blocks/record-grid/index.js +3 -0
  288. package/registry/blocks/record-grid/record-grid.jsx +251 -0
  289. package/registry/blocks/run-history/README.md +138 -0
  290. package/registry/blocks/run-history/block.json +10 -0
  291. package/registry/blocks/run-history/demo.jsx +74 -0
  292. package/registry/blocks/run-history/index.js +3 -0
  293. package/registry/blocks/run-history/run-history.jsx +218 -0
  294. package/registry/blocks/run-view/README.md +174 -0
  295. package/registry/blocks/run-view/block.json +50 -0
  296. package/registry/blocks/run-view/demo.jsx +286 -0
  297. package/registry/blocks/run-view/index.js +5 -0
  298. package/registry/blocks/run-view/run-controls.jsx +266 -0
  299. package/registry/blocks/run-view/run-view.jsx +236 -0
  300. package/registry/blocks/run-view/runs-list.jsx +99 -0
  301. package/registry/blocks/schedule-card/README.md +121 -0
  302. package/registry/blocks/schedule-card/block.json +10 -0
  303. package/registry/blocks/schedule-card/demo.jsx +82 -0
  304. package/registry/blocks/schedule-card/index.js +3 -0
  305. package/registry/blocks/schedule-card/schedule-card.jsx +136 -0
  306. package/registry/blocks/schedule-engine/README.md +137 -0
  307. package/registry/blocks/schedule-engine/block.json +10 -0
  308. package/registry/blocks/schedule-engine/demo.jsx +82 -0
  309. package/registry/blocks/schedule-engine/engine.js +769 -0
  310. package/registry/blocks/schedule-engine/index.js +9 -0
  311. package/registry/blocks/schedule-engine/ops.js +71 -0
  312. package/registry/blocks/schedule-engine/place.js +294 -0
  313. package/registry/blocks/schedule-engine/tree.js +79 -0
  314. package/registry/blocks/schedule-engine/waits.js +80 -0
  315. package/registry/blocks/schedule-gantt/README.md +159 -0
  316. package/registry/blocks/schedule-gantt/block.json +10 -0
  317. package/registry/blocks/schedule-gantt/demo.jsx +223 -0
  318. package/registry/blocks/schedule-gantt/gantt-model.js +219 -0
  319. package/registry/blocks/schedule-gantt/geometry.js +176 -0
  320. package/registry/blocks/schedule-gantt/index.js +26 -0
  321. package/registry/blocks/schedule-gantt/schedule-gantt.jsx +882 -0
  322. package/registry/blocks/schedule-gantt/sheet.jsx +372 -0
  323. package/registry/blocks/schedule-gantt/track.jsx +190 -0
  324. package/registry/blocks/schedule-ruler/README.md +148 -0
  325. package/registry/blocks/schedule-ruler/block.json +10 -0
  326. package/registry/blocks/schedule-ruler/demo.jsx +181 -0
  327. package/registry/blocks/schedule-ruler/index.js +21 -0
  328. package/registry/blocks/schedule-ruler/ruler-model.js +239 -0
  329. package/registry/blocks/schedule-ruler/schedule-ruler.jsx +548 -0
  330. package/registry/blocks/sidebar/README.md +23 -13
  331. package/registry/blocks/sketch-canvas/README.md +15 -9
  332. package/registry/blocks/source-receipt/README.md +97 -0
  333. package/registry/blocks/source-receipt/block.json +30 -0
  334. package/registry/blocks/source-receipt/demo.jsx +71 -0
  335. package/registry/blocks/source-receipt/index.js +3 -0
  336. package/registry/blocks/source-receipt/source-receipt.jsx +107 -0
  337. package/registry/blocks/spreadsheet/spreadsheet.jsx +15 -1
  338. package/registry/blocks/step-picker/README.md +78 -0
  339. package/registry/blocks/step-picker/block.json +31 -0
  340. package/registry/blocks/step-picker/demo.jsx +23 -0
  341. package/registry/blocks/step-picker/index.js +3 -0
  342. package/registry/blocks/step-picker/step-picker.jsx +144 -0
  343. package/registry/blocks/step-settings/README.md +100 -0
  344. package/registry/blocks/step-settings/block.json +44 -0
  345. package/registry/blocks/step-settings/demo.jsx +93 -0
  346. package/registry/blocks/step-settings/fields.jsx +58 -0
  347. package/registry/blocks/step-settings/flow-settings.jsx +115 -0
  348. package/registry/blocks/step-settings/index.js +5 -0
  349. package/registry/blocks/step-settings/step-settings.jsx +290 -0
  350. package/registry/blocks/suggestion/README.md +171 -0
  351. package/registry/blocks/suggestion/block.json +40 -0
  352. package/registry/blocks/suggestion/demo.jsx +91 -0
  353. package/registry/blocks/suggestion/index.js +3 -0
  354. package/registry/blocks/suggestion/suggestion.jsx +436 -0
  355. package/registry/blocks/sum-bar/README.md +122 -0
  356. package/registry/blocks/sum-bar/block.json +10 -0
  357. package/registry/blocks/sum-bar/demo.jsx +110 -0
  358. package/registry/blocks/sum-bar/index.js +5 -0
  359. package/registry/blocks/sum-bar/sum-bar.jsx +209 -0
  360. package/registry/blocks/sum-bar/sum-model.js +126 -0
  361. package/registry/blocks/tier-map/README.md +217 -0
  362. package/registry/blocks/tier-map/block.json +10 -0
  363. package/registry/blocks/tier-map/demo.jsx +222 -0
  364. package/registry/blocks/tier-map/index.js +24 -0
  365. package/registry/blocks/tier-map/tier-map.jsx +574 -0
  366. package/registry/blocks/tier-map/tier-model.js +318 -0
  367. package/registry/blocks/time-grid/README.md +305 -0
  368. package/registry/blocks/time-grid/block.json +10 -0
  369. package/registry/blocks/time-grid/demo.jsx +279 -0
  370. package/registry/blocks/time-grid/grid-model.js +322 -0
  371. package/registry/blocks/time-grid/index.js +25 -0
  372. package/registry/blocks/time-grid/time-grid.jsx +1325 -0
  373. package/registry/blocks/time-strip/README.md +141 -0
  374. package/registry/blocks/time-strip/block.json +10 -0
  375. package/registry/blocks/time-strip/demo.jsx +129 -0
  376. package/registry/blocks/time-strip/index.js +19 -0
  377. package/registry/blocks/time-strip/strip-model.js +178 -0
  378. package/registry/blocks/time-strip/time-strip.jsx +260 -0
  379. package/registry/blocks/top-bar/README.md +149 -0
  380. package/registry/blocks/top-bar/block.json +35 -0
  381. package/registry/blocks/top-bar/demo.jsx +78 -0
  382. package/registry/blocks/top-bar/index.js +5 -0
  383. package/registry/blocks/top-bar/probe-rules.js +74 -0
  384. package/registry/blocks/top-bar/top-bar-model.js +152 -0
  385. package/registry/blocks/top-bar/top-bar.jsx +244 -0
  386. package/registry/blocks/trigger-picker/README.md +98 -0
  387. package/registry/blocks/trigger-picker/block.json +38 -0
  388. package/registry/blocks/trigger-picker/demo.jsx +59 -0
  389. package/registry/blocks/trigger-picker/index.js +3 -0
  390. package/registry/blocks/trigger-picker/trigger-picker.jsx +374 -0
  391. package/registry/blocks/whiteboard/README.md +20 -14
  392. package/registry/blocks/workflow-view/README.md +123 -0
  393. package/registry/blocks/workflow-view/block.json +10 -0
  394. package/registry/blocks/workflow-view/demo.jsx +90 -0
  395. package/registry/blocks/workflow-view/index.js +3 -0
  396. package/registry/blocks/workflow-view/workflow-view.jsx +203 -0
  397. package/src/cli.mjs +2 -2
  398. package/src/install.mjs +100 -22
  399. package/src/registry.mjs +37 -3
  400. package/templates/next/browser/lib/data.js +6 -1
  401. package/templates/next/files/README.md +909 -26
  402. package/templates/next/files/app/shell.jsx +54 -37
  403. package/templates/next/files/check/automation-format.ts +2103 -0
  404. package/templates/next/files/check/automation-package.ts +142 -0
  405. package/templates/next/files/check/run.mjs +1043 -12
  406. package/templates/next/files/components/ui/field.jsx +17 -4
  407. package/templates/next/files/components/ui/icon.jsx +13 -0
  408. package/templates/next/files/components/ui/index.js +3 -1
  409. package/templates/next/files/components/ui/layout.jsx +382 -0
  410. package/templates/next/files/components/ui/notice.jsx +70 -0
  411. package/templates/next/files/components/ui/page.jsx +124 -0
  412. package/templates/next/files/components/ui/stat.jsx +22 -7
  413. package/templates/next/files/components/ui/toast.jsx +6 -3
  414. package/templates/next/files/lib/automations.js +660 -0
  415. package/templates/next/files/lib/claw.js +244 -5
  416. package/templates/next/files/lib/door.js +92 -0
  417. package/templates/next/files/lib/hooks.js +1694 -6
  418. package/templates/next/files/lib/platform.js +611 -14
  419. package/templates/next/template.json +22 -3
@@ -0,0 +1,100 @@
1
+ # StepSettings
2
+
3
+ The panel for one step of an automation, made for its kind, and the panel
4
+ for the automation as a whole. In a run the same panel is read-only and
5
+ adds how the step went.
6
+
7
+ **StepSettings** — a name; then what the kind needs, in a person's words:
8
+
9
+ - **App action** — picked from the app's declared actions (`actions`),
10
+ with what to give it; in a team automation, which app.
11
+ - **Connected tool** — the kind of account (mail, calendar, chat — never a
12
+ product), the tool, which account when there are several, what to give it.
13
+ - **Condition** — "Go the Yes way when …"; anything else goes No.
14
+ - **For each** — the list, at most how many, what to collect.
15
+ - **Ask the model** — what to ask, Quick or Careful, standing instructions.
16
+ - **Agent** — what it should do, and the most it may spend.
17
+ - **Buy paid data** (a Zero step) — the paid service, its address, how it is
18
+ called (Ask, Send, Replace, Change), what to give it, and the most one call
19
+ may cost in dollars. Plain code: no model, and the same call is never paid
20
+ for twice.
21
+ - **Set, Wait, Stop, Tell someone, Search, Another automation, Company
22
+ brain** — their own few fields.
23
+
24
+ Every text field takes data from earlier steps (`data-picker`). For every
25
+ step: **If it fails** (stop or carry on without it; how many tries) and a
26
+ plain **To fix** list of what is wrong with it. In a run (`readOnly` and a
27
+ `summary`): how it went, how many times, what it cost, what went in and
28
+ what came out (for those who may read it), and the agent's fix (`fix-note`).
29
+
30
+ **FlowSettings** — name; what it does; if it is still running when the next
31
+ is due (skip, queue, run both); only when something changed; what happens
32
+ when a step fails (retry, then the agent; the agent first; stop); the most
33
+ one run may spend; what a manual run asks for first; its versions.
34
+
35
+ ```jsx
36
+ import { StepSettings, FlowSettings } from "../components/blocks/step-settings"; // a Makersclaw app
37
+ import { StepSettings, FlowSettings } from "@/components/makersclaw/blocks/step-settings"; // a shadcn project
38
+ ```
39
+
40
+ `makersclaw add step-settings` lays `data-picker`, `fix-note` and
41
+ `automation-model` with it. Client components. Each is a panel (a head, a
42
+ scrolling body, a foot): place it beside or over the canvas.
43
+
44
+ ## Props
45
+
46
+ ### StepSettings
47
+
48
+ - `step` — the step shown.
49
+ - `available` — `availableBefore(def, step.id, stepTitle)`, plus
50
+ `inputs: [{ name, label }]` for a manual run's questions. `samples` —
51
+ `{ [stepId]: a real output }`, or null.
52
+ - `apps` — `[{ id, name }]`; `ownedByApp` — an app's own automation needs
53
+ no app on an action. `actions` — `[{ name, description }]`.
54
+ - `problems` — lines about this step (`issuesFor(issues, step.id)`).
55
+ - `readOnly`, `summary` (a run's `summarizeSteps(rows).get(step.id)`),
56
+ `dataVisible` (the member may read what went in and out), `onKeepFix()`,
57
+ `runActions` (a node drawn under how the step went: run-view puts its
58
+ "Retry from this step" there).
59
+ - `onChange(patch)` — fields to change, for `updateStep(def, id, patch)`.
60
+ `onRemove()` (asks first when the step holds others), `onDuplicate()`,
61
+ `onClose()`.
62
+
63
+ ### FlowSettings
64
+
65
+ - `def`, `readOnly`, `versions` (`[{ version, kind, note, created_at }]`),
66
+ `liveVersion`, `onChange(def)`, `onClose`, `onReset` ("Reset to the app's
67
+ version", when it was edited from a shipped one).
68
+
69
+ ### The rows
70
+
71
+ `TextField`, `NumberField`, `SelectField` and `SwitchField`: a labelled
72
+ control each, on the kit's parts.
73
+
74
+ ## Never
75
+
76
+ - Never show the definition's own keys: a step's words are a person's.
77
+ (The step id is shown small, because a run's rows and an app update
78
+ match steps by it.)
79
+ - Never let the panel save: it only says what changed. The screen saves.
80
+
81
+ ## Example
82
+
83
+ ```jsx
84
+ "use client";
85
+ import { useState } from "react";
86
+ import { availableBefore, stepTitle, updateStep } from "../components/blocks/automation-model";
87
+ import { StepSettings } from "../components/blocks/step-settings";
88
+
89
+ const START = { format: 1, key: "t", name: "T", trigger: { type: "manual" }, inputs: {}, settings: {}, steps: [{ id: "tell", kind: "notify", message: "Hello" }] };
90
+
91
+ export default function Panel() {
92
+ const [def, setDef] = useState(START);
93
+ const step = def.steps[0];
94
+ return (
95
+ <div className="h-[520px] max-w-sm overflow-hidden rounded-lg border border-border">
96
+ <StepSettings step={step} available={availableBefore(def, step.id, stepTitle)} onChange={(patch) => setDef(updateStep(def, step.id, patch))} onClose={() => {}} />
97
+ </div>
98
+ );
99
+ }
100
+ ```
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "step-settings",
3
+ "title": "StepSettings",
4
+ "description": "The panel for one step of an automation, made for its kind: a name; an app action picked from the app's declared actions with what to give it; a connected tool by kind of account; a condition; a for-each's list and limit; a model call's question and tier; an agent step's instructions and credit limit; a paid-data step's service, address and price ceiling; a wait; a stop; a note for the owner; and, for every step, what happens if it fails (stop or carry on, how many tries) and a plain list of what is wrong with it. Every text field takes data from earlier steps (data-picker). In a run the same panel is read-only and shows how the step went, what went in and what came out, and what the agent changed (fix-note). FlowSettings is the panel for the automation as a whole: name, what it does, overlap, what happens when a step fails, the most a run may spend, what a manual run asks first, and its versions.",
5
+ "useWhen": "A step or an automation is edited or read in your own screen. automation-editor and run-view place these for you.",
6
+ "tags": [
7
+ "automation",
8
+ "workflow",
9
+ "step",
10
+ "settings",
11
+ "form",
12
+ "panel",
13
+ "inspector",
14
+ "action",
15
+ "condition",
16
+ "loop",
17
+ "llm",
18
+ "agent",
19
+ "retry",
20
+ "failure",
21
+ "versions",
22
+ "n8n",
23
+ "make"
24
+ ],
25
+ "exports": [
26
+ "FlowSettings",
27
+ "NumberField",
28
+ "SelectField",
29
+ "StepSettings",
30
+ "SwitchField",
31
+ "TextField"
32
+ ],
33
+ "files": [
34
+ "index.js",
35
+ "step-settings.jsx",
36
+ "flow-settings.jsx",
37
+ "fields.jsx"
38
+ ],
39
+ "requires": [
40
+ "automation-model",
41
+ "data-picker",
42
+ "fix-note"
43
+ ]
44
+ }
@@ -0,0 +1,93 @@
1
+ "use client";
2
+
3
+ // StepSettings and FlowSettings — the gallery's and the smoke test's
4
+ // surface. Not installed into apps. A step of each kind to look at, the
5
+ // whole-automation panel, and a failed step in a run with the agent's fix.
6
+ import { useState } from "react";
7
+ import { Button, ButtonGroup } from "../components/ui";
8
+ import { StepSettings, FlowSettings } from "../components/blocks/step-settings";
9
+ import { availableBefore, blankAutomation, stepTitle, summarizeSteps, updateStep } from "../components/blocks/automation-model";
10
+
11
+ const DEF = {
12
+ ...blankAutomation("Morning read", "morning-read", { type: "schedule", cron: "0 7 * * 1-5", tz: "team" }),
13
+ does: "Reads your mail and drafts the follow-ups that are owed.",
14
+ steps: [
15
+ { id: "mail", kind: "tool", label: "Read the mail", needs: { category: "mail" }, tool: "list_messages", input: { since: "{{ trigger.at }}", limit: 200 } },
16
+ { id: "touches", kind: "action", action: "record_touches", input: { touches: "{{ steps.mail.output.messages }}" } },
17
+ { id: "check", kind: "condition", if: "{{ steps.touches.output.saved > 0 }}", then: [{ id: "tell", kind: "notify", message: "Saved some." }], else: [] },
18
+ { id: "ask", kind: "llm", prompt: "Write one line about {{ steps.touches.output.saved }} people.", tier: "fast" },
19
+ { id: "agent", kind: "agent", instructions: "Look at the list and say what looks wrong.", cap_credits: 40 },
20
+ ],
21
+ };
22
+ const ACTIONS = [
23
+ { name: "record_touches", description: "Save who wrote and who was met" },
24
+ { name: "suggest", description: "Save a draft for a person" },
25
+ ];
26
+ const OUTPUTS = { mail: { count: 12, messages: [{ from: "ana@x.com" }] } };
27
+ const FAILED = summarizeSteps([
28
+ {
29
+ path: "touches",
30
+ step_id: "touches",
31
+ attempt: 2,
32
+ status: "done",
33
+ started_at: "2026-10-12T07:00:01Z",
34
+ ended_at: "2026-10-12T07:00:04Z",
35
+ credits: 0.4,
36
+ error: null,
37
+ input: { touches: ["Ana@x.com "] },
38
+ output: { saved: 1 },
39
+ fix: { by: "agent", kind: "format", before: "Ana@x.com ", after: "ana@x.com", why: "The mail tool refuses spaces." },
40
+ },
41
+ ]).get("touches");
42
+
43
+ export default function StepSettingsDemo() {
44
+ const [def, setDef] = useState(DEF);
45
+ const [id, setId] = useState("touches");
46
+ const [which, setWhich] = useState("step");
47
+ const step = def.steps.find((s) => s.id === id) ?? def.steps[0];
48
+ return (
49
+ <div className="grid gap-4 p-4">
50
+ <div className="flex flex-wrap gap-2">
51
+ <ButtonGroup aria-label="Which panel">
52
+ {["step", "run", "flow"].map((w) => (
53
+ <Button key={w} size="sm" variant={which === w ? "primary" : "secondary"} onClick={() => setWhich(w)}>
54
+ {w === "step" ? "A step" : w === "run" ? "A step in a run" : "The automation"}
55
+ </Button>
56
+ ))}
57
+ </ButtonGroup>
58
+ {which !== "flow" ? (
59
+ <ButtonGroup aria-label="Which step">
60
+ {def.steps.map((s) => (
61
+ <Button key={s.id} size="sm" variant={s.id === step.id ? "primary" : "secondary"} onClick={() => setId(s.id)}>
62
+ {s.kind}
63
+ </Button>
64
+ ))}
65
+ </ButtonGroup>
66
+ ) : null}
67
+ </div>
68
+ <div className="h-[640px] w-full max-w-sm overflow-hidden rounded-lg border border-border">
69
+ {which === "flow" ? (
70
+ <FlowSettings def={def} versions={[{ version: 2, kind: "member", created_at: "2026-10-11T12:00:00Z", note: "Added the check" }, { version: 1, kind: "shipped", created_at: "2026-10-09T12:00:00Z" }]} liveVersion={2} onChange={setDef} onClose={() => {}} onReset={() => {}} />
71
+ ) : (
72
+ <StepSettings
73
+ key={`${which}:${step.id}`}
74
+ step={step}
75
+ available={{ ...availableBefore(def, step.id, stepTitle), inputs: [] }}
76
+ samples={OUTPUTS}
77
+ actions={ACTIONS}
78
+ ownedByApp
79
+ problems={step.kind === "agent" ? ["Tell the agent what to do."] : []}
80
+ readOnly={which === "run"}
81
+ summary={which === "run" && step.id === "touches" ? FAILED : null}
82
+ dataVisible
83
+ onChange={(patch) => setDef(updateStep(def, step.id, patch))}
84
+ onRemove={() => setDef({ ...def, steps: def.steps.filter((s) => s.id !== step.id) })}
85
+ onDuplicate={() => {}}
86
+ onKeepFix={async () => ({ ok: true })}
87
+ onClose={() => {}}
88
+ />
89
+ )}
90
+ </div>
91
+ </div>
92
+ );
93
+ }
@@ -0,0 +1,58 @@
1
+ "use client";
2
+
3
+ // The plain form rows the settings panels share, on the kit's parts: a
4
+ // labelled text, number, select or switch. Each is a real label over a
5
+ // real control, so it works by keyboard and with a screen reader.
6
+
7
+ import { useId } from "react";
8
+ import { Field, Input, Select, Switch, Textarea } from "../../ui";
9
+
10
+ export function TextField({ label, value, onChange, help, placeholder, mono = false, multiline = false, rows = 3, disabled = false }) {
11
+ const id = useId();
12
+ const common = { id, value, disabled, placeholder, className: mono ? "font-mono text-[13px]" : undefined, onChange: (e) => onChange(e.target.value) };
13
+ return (
14
+ <Field id={id} label={label} hint={help}>
15
+ {multiline ? <Textarea {...common} rows={rows} /> : <Input {...common} type="text" />}
16
+ </Field>
17
+ );
18
+ }
19
+
20
+ export function NumberField({ label, value, onChange, min, max, step, help, placeholder, disabled = false }) {
21
+ const id = useId();
22
+ return (
23
+ <Field id={id} label={label} hint={help}>
24
+ <Input
25
+ id={id}
26
+ type="number"
27
+ inputMode={step !== undefined && step < 1 ? "decimal" : "numeric"}
28
+ className="font-mono text-[13px]"
29
+ min={min}
30
+ max={max}
31
+ step={step}
32
+ value={value ?? ""}
33
+ placeholder={placeholder}
34
+ disabled={disabled}
35
+ onChange={(e) => onChange(e.target.value === "" ? undefined : Number(e.target.value))}
36
+ />
37
+ </Field>
38
+ );
39
+ }
40
+
41
+ export function SelectField({ label, value, onChange, options, help, disabled = false }) {
42
+ const id = useId();
43
+ return (
44
+ <Field id={id} label={label} hint={help}>
45
+ <Select id={id} value={value} disabled={disabled} options={options} onChange={(e) => onChange(e.target.value)} />
46
+ </Field>
47
+ );
48
+ }
49
+
50
+ export function SwitchField({ label, checked, onChange, help, disabled = false }) {
51
+ const id = useId();
52
+ return (
53
+ <div className="grid gap-0.5">
54
+ <Switch id={id} checked={checked} disabled={disabled} label={label} onChange={(e) => onChange(e.target.checked)} />
55
+ {help ? <p className="m-0 text-xs text-muted-foreground">{help}</p> : null}
56
+ </div>
57
+ );
58
+ }
@@ -0,0 +1,115 @@
1
+ "use client";
2
+
3
+ // The panel for the automation as a whole: its name, what it does, what
4
+ // happens when a step fails, what one run may spend, what a manual run
5
+ // asks for first, and its versions. Props in; every change is
6
+ // `onChange(nextDefinition)`.
7
+
8
+ import { Button, Select, Input, cx } from "../../ui";
9
+ import { Chip, Glyph, PanelSection, SidePanel, agoWords } from "../automation-model";
10
+ import { NumberField, SelectField, SwitchField, TextField } from "./fields";
11
+
12
+ const OVERLAP = [
13
+ { value: "skip", label: "Skip the new run" },
14
+ { value: "queue", label: "Queue it behind" },
15
+ { value: "allow", label: "Run both at once" },
16
+ ];
17
+ const FAILURE = [
18
+ { value: "retry_then_agent", label: "Retry, then ask the agent to fix it" },
19
+ { value: "agent_first", label: "Ask the agent to fix it straight away" },
20
+ { value: "stop", label: "Stop the run" },
21
+ ];
22
+ const INPUT_TYPES = [
23
+ { value: "string", label: "Text" },
24
+ { value: "number", label: "Number" },
25
+ { value: "boolean", label: "Yes or no" },
26
+ { value: "date", label: "Date" },
27
+ ];
28
+
29
+ /**
30
+ * def the automation: { name, does, settings, inputs, … }
31
+ * readOnly shown, not editable
32
+ * versions [{ version, kind: shipped|member|agent, note, created_at }]
33
+ * liveVersion the version that runs
34
+ * onChange(def)
35
+ * onClose draws the close button
36
+ * onReset draws "Reset to the app's version" when the automation
37
+ * was edited from a shipped one
38
+ */
39
+ export function FlowSettings({ def, readOnly = false, versions = [], liveVersion = null, onChange, onClose, onReset }) {
40
+ const set = (patch) => onChange({ ...def, ...patch });
41
+ const setSettings = (patch) => onChange({ ...def, settings: { ...def.settings, ...patch } });
42
+ const inputs = Object.entries(def.inputs ?? {});
43
+ const setInputs = (next) => onChange({ ...def, inputs: Object.fromEntries(next) });
44
+
45
+ return (
46
+ <SidePanel glyph={<Glyph name="automation" size={20} />} title="This automation" subtitle="How it behaves as a whole" label="Flow settings" onClose={onClose}>
47
+ <TextField label="Name" value={def.name} disabled={readOnly} onChange={(v) => set({ name: v })} />
48
+ <TextField label="What it does" value={def.does ?? ""} multiline rows={3} disabled={readOnly} onChange={(v) => set({ does: v || undefined })} help="One sentence, for the list." />
49
+
50
+ <PanelSection title="When it runs">
51
+ <SelectField label="If it is still running when the next one is due" value={def.settings.overlap} options={OVERLAP} disabled={readOnly} onChange={(v) => setSettings({ overlap: v })} />
52
+ <SwitchField label="Only when something changed" checked={Boolean(def.settings.only_if_changed)} disabled={readOnly} onChange={(v) => setSettings({ only_if_changed: v })} help="Skip a scheduled run when nothing it reads has changed since the last one." />
53
+ </PanelSection>
54
+
55
+ <PanelSection title="When a step fails">
56
+ <SelectField label="What happens" value={def.settings.on_failure} options={FAILURE} disabled={readOnly} onChange={(v) => setSettings({ on_failure: v })} help="The agent changes only this run: a date format, a missing field. Never who gets what." />
57
+ <NumberField label="Most one run may spend" value={def.settings.run_cap_credits} min={1} disabled={readOnly} placeholder="No limit" onChange={(v) => setSettings({ run_cap_credits: v })} help="In credits. A run that reaches it stops." />
58
+ </PanelSection>
59
+
60
+ <PanelSection title="What a manual run asks for">
61
+ {inputs.length === 0 ? <p className="m-0 text-xs text-muted-foreground">Nothing. Add a question if a run needs an answer first.</p> : null}
62
+ {inputs.map(([name, spec], i) => (
63
+ <div key={i} className="flex min-w-0 items-center gap-1.5">
64
+ <Input
65
+ className="min-w-0 flex-1 font-mono text-[13px]"
66
+ aria-label={`Question name ${i + 1}`}
67
+ value={name}
68
+ disabled={readOnly}
69
+ onChange={(e) => setInputs(inputs.map((x, j) => (j === i ? [e.target.value.toLowerCase().replace(/[^a-z0-9_]/g, "_"), x[1]] : x)))}
70
+ />
71
+ <span className="w-28 shrink-0">
72
+ <Select aria-label={`Question type ${i + 1}`} value={spec.type} disabled={readOnly} options={INPUT_TYPES} onChange={(e) => setInputs(inputs.map((x, j) => (j === i ? [x[0], { ...x[1], type: e.target.value }] : x)))} />
73
+ </span>
74
+ {!readOnly ? (
75
+ <button type="button" aria-label={`Remove ${name}`} onClick={() => setInputs(inputs.filter((_, j) => j !== i))} className="inline-flex size-9 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring">
76
+ ×
77
+ </button>
78
+ ) : null}
79
+ </div>
80
+ ))}
81
+ {!readOnly && inputs.length < 20 ? (
82
+ <Button size="sm" variant="secondary" className="justify-self-start" onClick={() => setInputs([...inputs, [`question_${inputs.length + 1}`, { type: "string", label: "" }]])}>
83
+ + Add a question
84
+ </Button>
85
+ ) : null}
86
+ </PanelSection>
87
+
88
+ {versions.length > 0 ? (
89
+ <PanelSection title="Versions">
90
+ <ol className="m-0 grid list-none gap-1.5 p-0">
91
+ {versions.map((v) => (
92
+ <li key={v.version} className={cx("grid gap-0.5 rounded-lg border px-2.5 py-1.5", v.version === liveVersion ? "border-success/50" : "border-border")}>
93
+ <span className="flex items-center gap-2">
94
+ <b className="text-[13px] font-semibold">Version {v.version}</b>
95
+ {v.version === liveVersion ? <Chip tone="green">Live</Chip> : null}
96
+ </span>
97
+ <span className="text-xs text-muted-foreground">
98
+ {v.kind === "shipped" ? "From the app" : v.kind === "agent" ? "By the agent" : "Edited"}
99
+ {" · "}
100
+ {agoWords(v.created_at) ?? ""}
101
+ </span>
102
+ {v.note ? <p className="m-0 text-xs">{v.note}</p> : null}
103
+ </li>
104
+ ))}
105
+ </ol>
106
+ {onReset && !readOnly ? (
107
+ <Button size="sm" variant="secondary" className="justify-self-start" onClick={onReset}>
108
+ Reset to the app's version
109
+ </Button>
110
+ ) : null}
111
+ </PanelSection>
112
+ ) : null}
113
+ </SidePanel>
114
+ );
115
+ }
@@ -0,0 +1,5 @@
1
+ // The StepSettings block — `makersclaw add step-settings`. Fixed: compose
2
+ // it through its props (README.md beside this file).
3
+ export { FlowSettings } from "./flow-settings";
4
+ export { NumberField, SelectField, SwitchField, TextField } from "./fields";
5
+ export { StepSettings } from "./step-settings";