makersclaw 0.8.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 (401) hide show
  1. package/README.md +9 -3
  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 +3 -3
  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 +2 -2
  26. package/r/chat-pane.json +84 -0
  27. package/r/chat.json +2 -2
  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 +13 -7
  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 +2 -2
  46. package/r/flow-editor.json +79 -0
  47. package/r/footer.json +2 -2
  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 +3 -3
  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 +3 -3
  60. package/r/pace-bar.json +69 -0
  61. package/r/page-builder.json +2 -2
  62. package/r/payment-methods.json +2 -2
  63. package/r/pdf-document.json +2 -2
  64. package/r/pdf-viewer.json +2 -2
  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 +4086 -1512
  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 +2 -2
  82. package/r/signature-pad.json +2 -2
  83. package/r/sketch-canvas.json +2 -2
  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 +3 -3
  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/approval/README.md +145 -0
  159. package/registry/blocks/approval/approval.jsx +163 -0
  160. package/registry/blocks/approval/block.json +31 -0
  161. package/registry/blocks/approval/demo.jsx +121 -0
  162. package/registry/blocks/approval/index.js +3 -0
  163. package/registry/blocks/ask-bar/README.md +105 -0
  164. package/registry/blocks/ask-bar/ask-bar.jsx +166 -0
  165. package/registry/blocks/ask-bar/block.json +26 -0
  166. package/registry/blocks/ask-bar/demo.jsx +78 -0
  167. package/registry/blocks/ask-bar/index.js +3 -0
  168. package/registry/blocks/automation-editor/README.md +291 -0
  169. package/registry/blocks/automation-editor/automation-editor.jsx +656 -0
  170. package/registry/blocks/automation-editor/block.json +39 -0
  171. package/registry/blocks/automation-editor/demo.jsx +284 -0
  172. package/registry/blocks/automation-editor/index.js +4 -0
  173. package/registry/blocks/automation-editor/run-inputs.jsx +82 -0
  174. package/registry/blocks/automation-list/README.md +129 -0
  175. package/registry/blocks/automation-list/automation-list.jsx +476 -0
  176. package/registry/blocks/automation-list/block.json +35 -0
  177. package/registry/blocks/automation-list/demo.jsx +67 -0
  178. package/registry/blocks/automation-list/index.js +3 -0
  179. package/registry/blocks/automation-model/README.md +109 -0
  180. package/registry/blocks/automation-model/block.json +135 -0
  181. package/registry/blocks/automation-model/catalog.js +256 -0
  182. package/registry/blocks/automation-model/check.js +161 -0
  183. package/registry/blocks/automation-model/demo.jsx +42 -0
  184. package/registry/blocks/automation-model/edit.js +262 -0
  185. package/registry/blocks/automation-model/fixes.js +287 -0
  186. package/registry/blocks/automation-model/glyph.jsx +13 -0
  187. package/registry/blocks/automation-model/graph.js +410 -0
  188. package/registry/blocks/automation-model/index.js +33 -0
  189. package/registry/blocks/automation-model/overlay.js +175 -0
  190. package/registry/blocks/automation-model/parts.jsx +94 -0
  191. package/registry/blocks/automation-model/schedule.js +53 -0
  192. package/registry/blocks/automation-model/templates.js +128 -0
  193. package/registry/blocks/automation-model/values.js +29 -0
  194. package/registry/blocks/automation-model/words.js +439 -0
  195. package/registry/blocks/automations-screen/README.md +207 -0
  196. package/registry/blocks/automations-screen/automations-screen.jsx +452 -0
  197. package/registry/blocks/automations-screen/block.json +47 -0
  198. package/registry/blocks/automations-screen/demo.jsx +364 -0
  199. package/registry/blocks/automations-screen/index.js +4 -0
  200. package/registry/blocks/automations-screen/screen-model.js +129 -0
  201. package/registry/blocks/chat-pane/README.md +143 -0
  202. package/registry/blocks/chat-pane/block.json +48 -0
  203. package/registry/blocks/chat-pane/chat-attach.js +166 -0
  204. package/registry/blocks/chat-pane/chat-composer.jsx +195 -0
  205. package/registry/blocks/chat-pane/chat-context.js +17 -0
  206. package/registry/blocks/chat-pane/chat-model.js +43 -0
  207. package/registry/blocks/chat-pane/chat-pane.jsx +398 -0
  208. package/registry/blocks/chat-pane/chats-list.jsx +52 -0
  209. package/registry/blocks/chat-pane/demo.jsx +103 -0
  210. package/registry/blocks/chat-pane/index.js +9 -0
  211. package/registry/blocks/connect-card/README.md +99 -0
  212. package/registry/blocks/connect-card/block.json +10 -0
  213. package/registry/blocks/connect-card/connect-card.jsx +103 -0
  214. package/registry/blocks/connect-card/demo.jsx +49 -0
  215. package/registry/blocks/connect-card/index.js +3 -0
  216. package/registry/blocks/cost/README.md +115 -0
  217. package/registry/blocks/cost/block.json +10 -0
  218. package/registry/blocks/cost/cost.jsx +176 -0
  219. package/registry/blocks/cost/demo.jsx +66 -0
  220. package/registry/blocks/cost/index.js +3 -0
  221. package/registry/blocks/data-picker/README.md +81 -0
  222. package/registry/blocks/data-picker/block.json +38 -0
  223. package/registry/blocks/data-picker/data-picker.jsx +210 -0
  224. package/registry/blocks/data-picker/demo.jsx +34 -0
  225. package/registry/blocks/data-picker/fields.js +89 -0
  226. package/registry/blocks/data-picker/index.js +4 -0
  227. package/registry/blocks/data-table/demo.jsx +1 -1
  228. package/registry/blocks/first-run/README.md +118 -0
  229. package/registry/blocks/first-run/block.json +11 -0
  230. package/registry/blocks/first-run/demo.jsx +88 -0
  231. package/registry/blocks/first-run/first-run-model.js +51 -0
  232. package/registry/blocks/first-run/first-run.jsx +156 -0
  233. package/registry/blocks/first-run/index.js +5 -0
  234. package/registry/blocks/first-run/probe-rules.js +26 -0
  235. package/registry/blocks/fix-note/README.md +79 -0
  236. package/registry/blocks/fix-note/block.json +35 -0
  237. package/registry/blocks/fix-note/demo.jsx +30 -0
  238. package/registry/blocks/fix-note/fix-note.jsx +235 -0
  239. package/registry/blocks/fix-note/index.js +3 -0
  240. package/registry/blocks/flow-editor/README.md +108 -0
  241. package/registry/blocks/flow-editor/block.json +44 -0
  242. package/registry/blocks/flow-editor/demo.jsx +115 -0
  243. package/registry/blocks/flow-editor/flow-canvas.jsx +568 -0
  244. package/registry/blocks/flow-editor/flow-editor.jsx +154 -0
  245. package/registry/blocks/flow-editor/index.js +6 -0
  246. package/registry/blocks/flow-editor/minimap.jsx +78 -0
  247. package/registry/blocks/flow-editor/outline.jsx +134 -0
  248. package/registry/blocks/library-shelf/README.md +117 -0
  249. package/registry/blocks/library-shelf/block.json +28 -0
  250. package/registry/blocks/library-shelf/demo.jsx +68 -0
  251. package/registry/blocks/library-shelf/index.js +3 -0
  252. package/registry/blocks/library-shelf/library-shelf.jsx +211 -0
  253. package/registry/blocks/library-shelf/probe-rules.js +15 -0
  254. package/registry/blocks/margin-notes/README.md +222 -0
  255. package/registry/blocks/margin-notes/block.json +10 -0
  256. package/registry/blocks/margin-notes/demo.jsx +144 -0
  257. package/registry/blocks/margin-notes/index.js +20 -0
  258. package/registry/blocks/margin-notes/margin-model.js +224 -0
  259. package/registry/blocks/margin-notes/margin-notes.jsx +465 -0
  260. package/registry/blocks/needs-you/README.md +177 -0
  261. package/registry/blocks/needs-you/block.json +34 -0
  262. package/registry/blocks/needs-you/demo.jsx +143 -0
  263. package/registry/blocks/needs-you/index.js +3 -0
  264. package/registry/blocks/needs-you/needs-you.jsx +441 -0
  265. package/registry/blocks/pace-bar/README.md +230 -0
  266. package/registry/blocks/pace-bar/block.json +10 -0
  267. package/registry/blocks/pace-bar/demo.jsx +255 -0
  268. package/registry/blocks/pace-bar/index.js +22 -0
  269. package/registry/blocks/pace-bar/pace-bar.jsx +461 -0
  270. package/registry/blocks/pace-bar/pace-model.js +288 -0
  271. package/registry/blocks/record-grid/README.md +100 -0
  272. package/registry/blocks/record-grid/block.json +28 -0
  273. package/registry/blocks/record-grid/demo.jsx +43 -0
  274. package/registry/blocks/record-grid/index.js +3 -0
  275. package/registry/blocks/record-grid/record-grid.jsx +251 -0
  276. package/registry/blocks/run-history/README.md +138 -0
  277. package/registry/blocks/run-history/block.json +10 -0
  278. package/registry/blocks/run-history/demo.jsx +74 -0
  279. package/registry/blocks/run-history/index.js +3 -0
  280. package/registry/blocks/run-history/run-history.jsx +218 -0
  281. package/registry/blocks/run-view/README.md +174 -0
  282. package/registry/blocks/run-view/block.json +50 -0
  283. package/registry/blocks/run-view/demo.jsx +286 -0
  284. package/registry/blocks/run-view/index.js +5 -0
  285. package/registry/blocks/run-view/run-controls.jsx +266 -0
  286. package/registry/blocks/run-view/run-view.jsx +236 -0
  287. package/registry/blocks/run-view/runs-list.jsx +99 -0
  288. package/registry/blocks/schedule-card/README.md +121 -0
  289. package/registry/blocks/schedule-card/block.json +10 -0
  290. package/registry/blocks/schedule-card/demo.jsx +82 -0
  291. package/registry/blocks/schedule-card/index.js +3 -0
  292. package/registry/blocks/schedule-card/schedule-card.jsx +136 -0
  293. package/registry/blocks/schedule-engine/README.md +137 -0
  294. package/registry/blocks/schedule-engine/block.json +10 -0
  295. package/registry/blocks/schedule-engine/demo.jsx +82 -0
  296. package/registry/blocks/schedule-engine/engine.js +769 -0
  297. package/registry/blocks/schedule-engine/index.js +9 -0
  298. package/registry/blocks/schedule-engine/ops.js +71 -0
  299. package/registry/blocks/schedule-engine/place.js +294 -0
  300. package/registry/blocks/schedule-engine/tree.js +79 -0
  301. package/registry/blocks/schedule-engine/waits.js +80 -0
  302. package/registry/blocks/schedule-gantt/README.md +159 -0
  303. package/registry/blocks/schedule-gantt/block.json +10 -0
  304. package/registry/blocks/schedule-gantt/demo.jsx +223 -0
  305. package/registry/blocks/schedule-gantt/gantt-model.js +219 -0
  306. package/registry/blocks/schedule-gantt/geometry.js +176 -0
  307. package/registry/blocks/schedule-gantt/index.js +26 -0
  308. package/registry/blocks/schedule-gantt/schedule-gantt.jsx +882 -0
  309. package/registry/blocks/schedule-gantt/sheet.jsx +372 -0
  310. package/registry/blocks/schedule-gantt/track.jsx +190 -0
  311. package/registry/blocks/schedule-ruler/README.md +148 -0
  312. package/registry/blocks/schedule-ruler/block.json +10 -0
  313. package/registry/blocks/schedule-ruler/demo.jsx +181 -0
  314. package/registry/blocks/schedule-ruler/index.js +21 -0
  315. package/registry/blocks/schedule-ruler/ruler-model.js +239 -0
  316. package/registry/blocks/schedule-ruler/schedule-ruler.jsx +548 -0
  317. package/registry/blocks/source-receipt/README.md +97 -0
  318. package/registry/blocks/source-receipt/block.json +30 -0
  319. package/registry/blocks/source-receipt/demo.jsx +71 -0
  320. package/registry/blocks/source-receipt/index.js +3 -0
  321. package/registry/blocks/source-receipt/source-receipt.jsx +107 -0
  322. package/registry/blocks/spreadsheet/spreadsheet.jsx +15 -1
  323. package/registry/blocks/step-picker/README.md +78 -0
  324. package/registry/blocks/step-picker/block.json +31 -0
  325. package/registry/blocks/step-picker/demo.jsx +23 -0
  326. package/registry/blocks/step-picker/index.js +3 -0
  327. package/registry/blocks/step-picker/step-picker.jsx +144 -0
  328. package/registry/blocks/step-settings/README.md +100 -0
  329. package/registry/blocks/step-settings/block.json +44 -0
  330. package/registry/blocks/step-settings/demo.jsx +93 -0
  331. package/registry/blocks/step-settings/fields.jsx +58 -0
  332. package/registry/blocks/step-settings/flow-settings.jsx +115 -0
  333. package/registry/blocks/step-settings/index.js +5 -0
  334. package/registry/blocks/step-settings/step-settings.jsx +290 -0
  335. package/registry/blocks/suggestion/README.md +171 -0
  336. package/registry/blocks/suggestion/block.json +40 -0
  337. package/registry/blocks/suggestion/demo.jsx +91 -0
  338. package/registry/blocks/suggestion/index.js +3 -0
  339. package/registry/blocks/suggestion/suggestion.jsx +436 -0
  340. package/registry/blocks/sum-bar/README.md +122 -0
  341. package/registry/blocks/sum-bar/block.json +10 -0
  342. package/registry/blocks/sum-bar/demo.jsx +110 -0
  343. package/registry/blocks/sum-bar/index.js +5 -0
  344. package/registry/blocks/sum-bar/sum-bar.jsx +209 -0
  345. package/registry/blocks/sum-bar/sum-model.js +126 -0
  346. package/registry/blocks/tier-map/README.md +217 -0
  347. package/registry/blocks/tier-map/block.json +10 -0
  348. package/registry/blocks/tier-map/demo.jsx +222 -0
  349. package/registry/blocks/tier-map/index.js +24 -0
  350. package/registry/blocks/tier-map/tier-map.jsx +574 -0
  351. package/registry/blocks/tier-map/tier-model.js +318 -0
  352. package/registry/blocks/time-grid/README.md +305 -0
  353. package/registry/blocks/time-grid/block.json +10 -0
  354. package/registry/blocks/time-grid/demo.jsx +279 -0
  355. package/registry/blocks/time-grid/grid-model.js +322 -0
  356. package/registry/blocks/time-grid/index.js +25 -0
  357. package/registry/blocks/time-grid/time-grid.jsx +1325 -0
  358. package/registry/blocks/time-strip/README.md +141 -0
  359. package/registry/blocks/time-strip/block.json +10 -0
  360. package/registry/blocks/time-strip/demo.jsx +129 -0
  361. package/registry/blocks/time-strip/index.js +19 -0
  362. package/registry/blocks/time-strip/strip-model.js +178 -0
  363. package/registry/blocks/time-strip/time-strip.jsx +260 -0
  364. package/registry/blocks/top-bar/README.md +149 -0
  365. package/registry/blocks/top-bar/block.json +35 -0
  366. package/registry/blocks/top-bar/demo.jsx +78 -0
  367. package/registry/blocks/top-bar/index.js +5 -0
  368. package/registry/blocks/top-bar/probe-rules.js +74 -0
  369. package/registry/blocks/top-bar/top-bar-model.js +152 -0
  370. package/registry/blocks/top-bar/top-bar.jsx +244 -0
  371. package/registry/blocks/trigger-picker/README.md +98 -0
  372. package/registry/blocks/trigger-picker/block.json +38 -0
  373. package/registry/blocks/trigger-picker/demo.jsx +59 -0
  374. package/registry/blocks/trigger-picker/index.js +3 -0
  375. package/registry/blocks/trigger-picker/trigger-picker.jsx +374 -0
  376. package/registry/blocks/workflow-view/README.md +123 -0
  377. package/registry/blocks/workflow-view/block.json +10 -0
  378. package/registry/blocks/workflow-view/demo.jsx +90 -0
  379. package/registry/blocks/workflow-view/index.js +3 -0
  380. package/registry/blocks/workflow-view/workflow-view.jsx +203 -0
  381. package/src/install.mjs +77 -16
  382. package/src/registry.mjs +3 -0
  383. package/templates/next/browser/lib/data.js +6 -1
  384. package/templates/next/files/README.md +627 -24
  385. package/templates/next/files/check/automation-format.ts +2103 -0
  386. package/templates/next/files/check/automation-package.ts +142 -0
  387. package/templates/next/files/check/run.mjs +968 -9
  388. package/templates/next/files/components/ui/field.jsx +17 -4
  389. package/templates/next/files/components/ui/icon.jsx +13 -0
  390. package/templates/next/files/components/ui/index.js +2 -1
  391. package/templates/next/files/components/ui/layout.jsx +77 -2
  392. package/templates/next/files/components/ui/notice.jsx +70 -0
  393. package/templates/next/files/components/ui/page.jsx +124 -0
  394. package/templates/next/files/components/ui/stat.jsx +22 -7
  395. package/templates/next/files/components/ui/toast.jsx +6 -3
  396. package/templates/next/files/lib/automations.js +660 -0
  397. package/templates/next/files/lib/claw.js +241 -5
  398. package/templates/next/files/lib/door.js +92 -0
  399. package/templates/next/files/lib/hooks.js +1627 -8
  400. package/templates/next/files/lib/platform.js +529 -21
  401. package/templates/next/template.json +13 -3
@@ -0,0 +1,171 @@
1
+ # Suggestion
2
+
3
+ A value the agent proposes, drawn in pencil: **dashed** while it is a
4
+ proposal, **solid** once kept. Its source is always shown, and a person
5
+ keeps or drops it. A proposal differs from a fact in shape, never colour
6
+ alone.
7
+
8
+ Five shapes, one idea:
9
+
10
+ - **FieldSuggestion** — under a field: what it holds now ("empty now"),
11
+ the proposed value, where it came from, Keep and Drop.
12
+ - **InlineSuggestion** — found in place: a small dashed chip inside the
13
+ cell or field it would fill, its source, a tick and a cross (CRM v2).
14
+ - **TextSuggestion** — a span of text: the old words struck, the new
15
+ beside them, the reason, the source (Writing Review's proof marks).
16
+ - **Pencil** — the dashed frame for a whole proposed record: a drafted
17
+ email, a deal, a week's plan ("pencil to ink", Weekly Planner).
18
+ - **SuggestionGroup** — the head over several: "Keep all 6", "Drop all".
19
+
20
+ And **Looking**: "✦ Looking…" where a value is still being found.
21
+
22
+ Grown in the CRM (0.7.0) as `field-suggestion`; every export kept its
23
+ props. One change: a FieldSuggestion that was dropped now goes, as an
24
+ InlineSuggestion always did.
25
+
26
+ ```jsx
27
+ import { FieldSuggestion, InlineSuggestion, TextSuggestion, Pencil, SuggestionGroup, Looking } from "../components/blocks/suggestion"; // a Makersclaw app ("./blocks/suggestion" from components/)
28
+ import { FieldSuggestion } from "@/components/makersclaw/blocks/suggestion"; // a shadcn project
29
+ ```
30
+
31
+ Client components; `suggestionSource` is a plain function.
32
+
33
+ ## Which hook feeds it
34
+
35
+ None of its own. The proposals are app data the agent wrote (a
36
+ `suggestions` table, a column of proposed values). **A keep runs the
37
+ app's own declared action** (`runAction`, lib/actions), so a keep is the
38
+ same write the agent would make, and the door's rules hold for it.
39
+
40
+ ## The verbs are props
41
+
42
+ Each app says it its way: Keep/Drop (CRM), Apply/Dismiss (Data Tables),
43
+ Accept/Decline (Writing Review). Every shape takes `keepLabel` and
44
+ `dropLabel`; FieldSuggestion and TextSuggestion also take `keptLabel`
45
+ ("Applied").
46
+
47
+ ## Props
48
+
49
+ ### FieldSuggestion
50
+
51
+ - `label` — the field's name ("Job title"). It also names the group for a
52
+ reader ("Suggested job title") and the buttons ("Keep job title").
53
+ - `current` — what the field holds now; empty → "empty now".
54
+ - `value` — the proposed value (text or a node).
55
+ - `source` — `{ from, at }` ("her email signature", "2026-09-12") or a
56
+ string.
57
+ - `onKeep()` · `onDrop()` — async, answer `{ ok: true }` or `{ ok: false,
58
+ error }` (a throw counts as failed). The frame spins while it runs,
59
+ turns solid when kept, goes when dropped, and says why when it fails.
60
+ - `compact` — icon buttons at the row's end, the label inside the frame:
61
+ for a list of several.
62
+ - `showLabel` — `false` when you draw the field's label above it.
63
+ - `keepLabel` · `dropLabel` · `keptLabel` — default "Keep", "Drop", "Kept".
64
+ - `formatDate(date)` — how `source.at` is worded (default "Sat 12 Sep").
65
+
66
+ Under 22rem of its own width the buttons go below the value.
67
+
68
+ ### InlineSuggestion
69
+
70
+ - `value`, `source`, `label` (names the buttons for a reader),
71
+ `onKeep()` · `onDrop()`, `keepLabel` · `dropLabel`, `formatDate`.
72
+
73
+ A dashed chip in the agent's tone (`border-info`); kept, solid with a
74
+ tick; dropped, gone. For a table cell or a record's field list.
75
+
76
+ ### TextSuggestion
77
+
78
+ - `before` — the words now, struck. Empty for an insertion.
79
+ - `after` — the words proposed. Empty for a cut.
80
+ - `lead` · `tail` — a few words around the span, muted, so it reads in
81
+ place ("…sorry about ", " order").
82
+ - `reason` — why, one line.
83
+ - `source` — `{ from, at }` or a string: what it leans on (the style
84
+ guide, a page).
85
+ - `onKeep()` · `onDrop()` — async `{ ok }`.
86
+ - `keepLabel` · `dropLabel` · `keptLabel`.
87
+
88
+ A reader hears "Remove: … Add: …" for the struck and new words.
89
+
90
+ ### Pencil
91
+
92
+ - `kicker` — the small line above ("A NEW DEAL").
93
+ - `title` — what it is ("Crumb & Co: 22 shops").
94
+ - `reason` — why the agent proposes it.
95
+ - `children` — your content between the title and the reason.
96
+ - `actions` — your buttons, with your verbs ("Make the deal", "Drop").
97
+ - `state` — `pencil` (default) · `kept` (solid) · `failed` (with
98
+ `error`).
99
+ - `label` — the region's name for a reader.
100
+
101
+ ### SuggestionGroup
102
+
103
+ - `title` — "3 details found for Sofia: job title, LinkedIn and city".
104
+ - `description` — where they came from; that nothing changes until kept.
105
+ - `count` — for "Keep all 3" (or `keepAllLabel`). `dropAllLabel` —
106
+ default "Drop all".
107
+ - `onKeepAll()` · `onDropAll()` — async `{ ok }`; a failure shows under
108
+ the title.
109
+ - `children` — the suggestions under it.
110
+
111
+ ### Looking
112
+
113
+ `children` replaces "Looking…". Pulses, and stays still under reduced
114
+ motion.
115
+
116
+ ### suggestionSource({ from, at }, format?)
117
+
118
+ "her email signature, Sat 12 Sep".
119
+
120
+ ## Who may do what
121
+
122
+ The block shows the buttons it is given. Give `onKeep`/`onDrop` only to a
123
+ member who may make that write; the declared action's door refuses anyone
124
+ else anyway.
125
+
126
+ ## Never
127
+
128
+ - Never write the value yourself on render: nothing changes until a
129
+ person keeps it.
130
+ - Never draw a proposal solid, or a kept value dashed.
131
+ - Never hide the source.
132
+
133
+ ## Example
134
+
135
+ A contact's found details, kept through the app's declared actions.
136
+
137
+ ```jsx
138
+ "use client";
139
+ import { runAction } from "../lib/actions";
140
+ import { FieldSuggestion, SuggestionGroup } from "../components/blocks/suggestion";
141
+
142
+ export function FoundDetails({ person, suggestions, reload }) {
143
+ const done = (r) => {
144
+ if (r.ok) reload();
145
+ return r;
146
+ };
147
+ return (
148
+ <SuggestionGroup
149
+ title={`${suggestions.length} details found for ${person.first_name}`}
150
+ description="From her email signature and a web search. Nothing changes until you keep them."
151
+ count={suggestions.length}
152
+ onKeepAll={async () => done(await runAction({ name: "keep_details", args: { person: person.id } }))}
153
+ onDropAll={async () => done(await runAction({ name: "drop_details", args: { person: person.id } }))}
154
+ >
155
+ {suggestions.map((s) => (
156
+ <FieldSuggestion
157
+ key={s.id}
158
+ label={s.label}
159
+ current={person[s.column]}
160
+ value={s.value}
161
+ source={{ from: s.from, at: s.at }}
162
+ onKeep={async () => done(await runAction({ name: "keep_detail", args: { id: s.id } }))}
163
+ onDrop={async () => done(await runAction({ name: "drop_detail", args: { id: s.id } }))}
164
+ />
165
+ ))}
166
+ </SuggestionGroup>
167
+ );
168
+ }
169
+ ```
170
+
171
+ In a server-mode app the same calls are `loadRows` in a server surface and the Server Actions of `lib/actions`.
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "suggestion",
3
+ "title": "Suggestion",
4
+ "description": "A value the agent proposes, drawn in pencil — dashed while it is a proposal, solid once kept — with its source always shown and a keep or a drop. Five shapes: FieldSuggestion under a field (\"empty now\", the proposed value, where it came from, Keep and Drop); InlineSuggestion found in place, a small dashed chip inside the cell it would fill with a tick and a cross; TextSuggestion, a span of text struck with its replacement beside it, the reason and the source; Pencil, the dashed frame for a whole proposed record (\"pencil to ink\"); SuggestionGroup, the head over several (\"Keep all 6\", \"Drop all\"); and Looking while a value is still being found. The verbs are props (Keep/Drop, Apply/Dismiss, Accept/Decline). Keeps and drops go out through async callbacks that answer { ok }; a failure says why in place.",
5
+ "useWhen": "The agent proposes values or changes a person keeps or drops: a CRM filling in a contact, a cleaner value in a table cell, a priority on an issue, a proofread sentence, a drafted plan for the week, a batch of moves on a board. For a whole column of answers across many records use agent-column; for one ask's finished changes with an undo use agent-changes.",
6
+ "tags": [
7
+ "suggestion",
8
+ "proposal",
9
+ "keep",
10
+ "drop",
11
+ "accept",
12
+ "decline",
13
+ "apply",
14
+ "dismiss",
15
+ "pencil",
16
+ "field",
17
+ "inline",
18
+ "found in place",
19
+ "proofread",
20
+ "redline",
21
+ "diff",
22
+ "enrichment",
23
+ "source",
24
+ "review"
25
+ ],
26
+ "exports": [
27
+ "FieldSuggestion",
28
+ "InlineSuggestion",
29
+ "TextSuggestion",
30
+ "Pencil",
31
+ "SuggestionGroup",
32
+ "Looking",
33
+ "suggestionSource"
34
+ ],
35
+ "files": [
36
+ "index.js",
37
+ "suggestion.jsx"
38
+ ],
39
+ "requires": []
40
+ }
@@ -0,0 +1,91 @@
1
+ "use client";
2
+
3
+ // Every shape of a suggestion, kept, dropped, saving and failing — the
4
+ // gallery's and the smoke test's surface. Not installed into apps.
5
+ import { Button, Card } from "../components/ui";
6
+ import { FieldSuggestion, InlineSuggestion, TextSuggestion, Pencil, SuggestionGroup, Looking } from "../components/blocks/suggestion";
7
+
8
+ const ok = () => new Promise((r) => setTimeout(() => r({ ok: true }), 600));
9
+ const no = () => new Promise((r) => setTimeout(() => r({ ok: false, error: "The table didn't answer. Try again." }), 600));
10
+ const slow = () => new Promise(() => undefined);
11
+
12
+ export default function SuggestionDemo() {
13
+ return (
14
+ <div className="grid gap-6 p-6 [grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))]">
15
+ <div className="grid content-start gap-4">
16
+ <SuggestionGroup
17
+ title="3 details found for Sofia: job title, LinkedIn and city"
18
+ description="From her email signature of Sat 12 Sep and a web search. Nothing changes until you keep them."
19
+ count={3}
20
+ onKeepAll={ok}
21
+ onDropAll={ok}
22
+ />
23
+ <FieldSuggestion label="Job title" value="Head of Retail Operations" source={{ from: "her email signature", at: "2026-09-12" }} onKeep={ok} onDrop={ok} />
24
+ <FieldSuggestion label="LinkedIn" current="linkedin.com/in/sofia" value="linkedin.com/in/sofia-lindqvist" source="a web search" onKeep={no} onDrop={ok} />
25
+ <FieldSuggestion compact label="City" value="Minneapolis, MN · Central time" source="her email signature" onKeep={ok} onDrop={ok} />
26
+ <FieldSuggestion label="Priority" value="Urgent" source="three customers wrote in today" keepLabel="Apply" dropLabel="Dismiss" keptLabel="Applied" onKeep={slow} onDrop={ok} />
27
+ </div>
28
+
29
+ <div className="grid content-start gap-4">
30
+ <Card title="Found in place">
31
+ <table className="w-full table-fixed text-sm">
32
+ <tbody>
33
+ <tr className="border-b border-border">
34
+ <td className="w-[7.5rem] py-2 pr-3 text-muted-foreground">Phone</td>
35
+ <td className="py-2">
36
+ <InlineSuggestion label="Phone" value="+1 612 555 0142" source={{ from: "her email signature", at: "2026-09-12" }} onKeep={ok} onDrop={ok} />
37
+ </td>
38
+ </tr>
39
+ <tr className="border-b border-border">
40
+ <td className="py-2 pr-3 text-muted-foreground">Company size</td>
41
+ <td className="py-2">
42
+ <InlineSuggestion label="Company size" value="51–200" source="LinkedIn" onKeep={no} onDrop={ok} />
43
+ </td>
44
+ </tr>
45
+ <tr>
46
+ <td className="py-2 pr-3 text-muted-foreground">Website</td>
47
+ <td className="py-2">
48
+ <Looking />
49
+ </td>
50
+ </tr>
51
+ </tbody>
52
+ </table>
53
+ </Card>
54
+
55
+ <TextSuggestion
56
+ lead="We're sorry about "
57
+ before="you're"
58
+ after="your"
59
+ tail=" order arriving late."
60
+ reason="“Your” is the owner's; “you're” is “you are”."
61
+ source="Kestrel's style guide"
62
+ keepLabel="Accept"
63
+ dropLabel="Decline"
64
+ keptLabel="Accepted"
65
+ onKeep={ok}
66
+ onDrop={ok}
67
+ />
68
+ <TextSuggestion before="we are working to resolve it" reason="Says nothing the next sentence doesn't." onKeep={ok} onDrop={ok} />
69
+ <TextSuggestion lead="Ships in " after="two to three" tail=" days." reason="The order page says two to three." onKeep={no} onDrop={ok} />
70
+
71
+ <Pencil
72
+ kicker="A new deal"
73
+ title="Crumb & Co: 22 shops"
74
+ reason="Sofia: “we're looking at scheduling for all 22 shops”"
75
+ actions={
76
+ <>
77
+ <Button size="sm" variant="primary">
78
+ Make the deal
79
+ </Button>
80
+ <Button size="sm" variant="quiet">
81
+ Drop
82
+ </Button>
83
+ </>
84
+ }
85
+ />
86
+ <Pencil kicker="Monday" title="Pencilled: deep work 9–11, the board review at 2" state="kept" />
87
+ <Pencil kicker="A move" title="Harbor Seed to Proposal" state="failed" error="Proposal needs an amount first." />
88
+ </div>
89
+ </div>
90
+ );
91
+ }
@@ -0,0 +1,3 @@
1
+ // The Suggestion block — `makersclaw add suggestion`. Fixed: compose it
2
+ // through its props (README.md beside this file).
3
+ export { FieldSuggestion, InlineSuggestion, TextSuggestion, Pencil, SuggestionGroup, Looking, suggestionSource } from "./suggestion";