@synap-core/cli 1.11.0 → 1.12.2

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 (452) hide show
  1. package/README.md +23 -198
  2. package/dist/build-info.json +6 -0
  3. package/dist/commands/agent-run.js +3 -2
  4. package/dist/commands/agent-run.js.map +1 -1
  5. package/dist/commands/agents.d.ts +33 -17
  6. package/dist/commands/agents.js +203 -237
  7. package/dist/commands/agents.js.map +1 -1
  8. package/dist/commands/app.d.ts +143 -0
  9. package/dist/commands/app.js +523 -0
  10. package/dist/commands/app.js.map +1 -0
  11. package/dist/commands/automate.d.ts +21 -0
  12. package/dist/commands/automate.js +42 -0
  13. package/dist/commands/automate.js.map +1 -0
  14. package/dist/commands/automation-schema.test.d.ts +16 -0
  15. package/dist/commands/automation-schema.test.js +77 -0
  16. package/dist/commands/automation-schema.test.js.map +1 -0
  17. package/dist/commands/automation.d.ts +12 -0
  18. package/dist/commands/automation.js +80 -35
  19. package/dist/commands/automation.js.map +1 -1
  20. package/dist/commands/bridge-setup.d.ts +14 -1
  21. package/dist/commands/bridge-setup.js +392 -128
  22. package/dist/commands/bridge-setup.js.map +1 -1
  23. package/dist/commands/cap-connections.d.ts +4 -4
  24. package/dist/commands/cap-connections.js +14 -14
  25. package/dist/commands/cap-connections.js.map +1 -1
  26. package/dist/commands/capability.d.ts +2 -0
  27. package/dist/commands/capability.js +218 -168
  28. package/dist/commands/capability.js.map +1 -1
  29. package/dist/commands/catalog.d.ts +275 -0
  30. package/dist/commands/catalog.js +481 -0
  31. package/dist/commands/catalog.js.map +1 -0
  32. package/dist/commands/cell.d.ts +155 -8
  33. package/dist/commands/cell.js +416 -40
  34. package/dist/commands/cell.js.map +1 -1
  35. package/dist/commands/centrality.js +1 -13
  36. package/dist/commands/centrality.js.map +1 -1
  37. package/dist/commands/connect.d.ts +38 -13
  38. package/dist/commands/connect.js +68 -167
  39. package/dist/commands/connect.js.map +1 -1
  40. package/dist/commands/connections.d.ts +3 -2
  41. package/dist/commands/connections.js +95 -25
  42. package/dist/commands/connections.js.map +1 -1
  43. package/dist/commands/context.js +7 -1
  44. package/dist/commands/context.js.map +1 -1
  45. package/dist/commands/data-extra.d.ts +34 -0
  46. package/dist/commands/data-extra.js +193 -23
  47. package/dist/commands/data-extra.js.map +1 -1
  48. package/dist/commands/data.d.ts +120 -2
  49. package/dist/commands/data.js +293 -20
  50. package/dist/commands/data.js.map +1 -1
  51. package/dist/commands/diagnose.d.ts +66 -4
  52. package/dist/commands/diagnose.js +285 -28
  53. package/dist/commands/diagnose.js.map +1 -1
  54. package/dist/commands/doc.d.ts +11 -4
  55. package/dist/commands/doc.js +39 -14
  56. package/dist/commands/doc.js.map +1 -1
  57. package/dist/commands/doctor.d.ts +112 -3
  58. package/dist/commands/doctor.js +657 -32
  59. package/dist/commands/doctor.js.map +1 -1
  60. package/dist/commands/explain.js +5 -5
  61. package/dist/commands/explain.js.map +1 -1
  62. package/dist/commands/import.d.ts +368 -13
  63. package/dist/commands/import.js +1064 -54
  64. package/dist/commands/import.js.map +1 -1
  65. package/dist/commands/init.d.ts +20 -9
  66. package/dist/commands/init.js +433 -973
  67. package/dist/commands/init.js.map +1 -1
  68. package/dist/commands/keys.d.ts +1 -0
  69. package/dist/commands/keys.js +15 -2
  70. package/dist/commands/keys.js.map +1 -1
  71. package/dist/commands/knowledge.d.ts +22 -6
  72. package/dist/commands/knowledge.js +117 -55
  73. package/dist/commands/knowledge.js.map +1 -1
  74. package/dist/commands/lens.d.ts +37 -1
  75. package/dist/commands/lens.js +192 -71
  76. package/dist/commands/lens.js.map +1 -1
  77. package/dist/commands/market-authoring.d.ts +29 -2
  78. package/dist/commands/market-authoring.js +348 -7
  79. package/dist/commands/market-authoring.js.map +1 -1
  80. package/dist/commands/market-official.d.ts +58 -0
  81. package/dist/commands/market-official.js +84 -0
  82. package/dist/commands/market-official.js.map +1 -0
  83. package/dist/commands/market.d.ts +400 -16
  84. package/dist/commands/market.js +1802 -146
  85. package/dist/commands/market.js.map +1 -1
  86. package/dist/commands/mcp.d.ts +60 -25
  87. package/dist/commands/mcp.js +251 -64
  88. package/dist/commands/mcp.js.map +1 -1
  89. package/dist/commands/open.d.ts +39 -9
  90. package/dist/commands/open.js +80 -25
  91. package/dist/commands/open.js.map +1 -1
  92. package/dist/commands/playbook.d.ts +42 -0
  93. package/dist/commands/playbook.js +162 -0
  94. package/dist/commands/playbook.js.map +1 -0
  95. package/dist/commands/pod.js +1 -1
  96. package/dist/commands/pod.js.map +1 -1
  97. package/dist/commands/pods.d.ts +5 -0
  98. package/dist/commands/pods.js +97 -116
  99. package/dist/commands/pods.js.map +1 -1
  100. package/dist/commands/proposals-actions.d.ts +62 -0
  101. package/dist/commands/proposals-actions.js +143 -8
  102. package/dist/commands/proposals-actions.js.map +1 -1
  103. package/dist/commands/proposals-await.d.ts +68 -0
  104. package/dist/commands/proposals-await.js +248 -0
  105. package/dist/commands/proposals-await.js.map +1 -0
  106. package/dist/commands/proton-setup.d.ts +73 -0
  107. package/dist/commands/proton-setup.js +577 -0
  108. package/dist/commands/proton-setup.js.map +1 -0
  109. package/dist/commands/providers.d.ts +23 -0
  110. package/dist/commands/providers.js +126 -1
  111. package/dist/commands/providers.js.map +1 -1
  112. package/dist/commands/raycast.js +6 -2
  113. package/dist/commands/raycast.js.map +1 -1
  114. package/dist/commands/rule.d.ts +150 -0
  115. package/dist/commands/rule.js +447 -0
  116. package/dist/commands/rule.js.map +1 -0
  117. package/dist/commands/session-wait.d.ts +111 -0
  118. package/dist/commands/session-wait.js +209 -0
  119. package/dist/commands/session-wait.js.map +1 -0
  120. package/dist/commands/sessions.d.ts +52 -0
  121. package/dist/commands/sessions.js +478 -58
  122. package/dist/commands/sessions.js.map +1 -1
  123. package/dist/commands/skill-manage.d.ts +21 -0
  124. package/dist/commands/skill-manage.js +136 -19
  125. package/dist/commands/skill-manage.js.map +1 -1
  126. package/dist/commands/skills.js +16 -0
  127. package/dist/commands/skills.js.map +1 -1
  128. package/dist/commands/status.d.ts +1 -4
  129. package/dist/commands/status.js +5 -34
  130. package/dist/commands/status.js.map +1 -1
  131. package/dist/commands/statusline.backoff.test.d.ts +13 -0
  132. package/dist/commands/statusline.backoff.test.js +100 -0
  133. package/dist/commands/statusline.backoff.test.js.map +1 -0
  134. package/dist/commands/statusline.js +16 -9
  135. package/dist/commands/statusline.js.map +1 -1
  136. package/dist/commands/sync-status.d.ts +12 -0
  137. package/dist/commands/sync-status.js +125 -0
  138. package/dist/commands/sync-status.js.map +1 -0
  139. package/dist/commands/templates-retire.d.ts +34 -0
  140. package/dist/commands/templates-retire.js +192 -0
  141. package/dist/commands/templates-retire.js.map +1 -0
  142. package/dist/commands/tools.js +6 -21
  143. package/dist/commands/tools.js.map +1 -1
  144. package/dist/commands/tracks.d.ts +51 -0
  145. package/dist/commands/tracks.js +291 -0
  146. package/dist/commands/tracks.js.map +1 -0
  147. package/dist/commands/update.d.ts +3 -11
  148. package/dist/commands/update.js +5 -134
  149. package/dist/commands/update.js.map +1 -1
  150. package/dist/commands/upload.d.ts +41 -3
  151. package/dist/commands/upload.js +120 -18
  152. package/dist/commands/upload.js.map +1 -1
  153. package/dist/commands/vendor.d.ts +28 -0
  154. package/dist/commands/vendor.js +110 -0
  155. package/dist/commands/vendor.js.map +1 -0
  156. package/dist/commands/versions.js +6 -0
  157. package/dist/commands/versions.js.map +1 -1
  158. package/dist/commands/view.js +10 -5
  159. package/dist/commands/view.js.map +1 -1
  160. package/dist/commands/whoami.d.ts +23 -3
  161. package/dist/commands/whoami.js +169 -23
  162. package/dist/commands/whoami.js.map +1 -1
  163. package/dist/commands/worker.d.ts +122 -0
  164. package/dist/commands/worker.js +435 -0
  165. package/dist/commands/worker.js.map +1 -0
  166. package/dist/commands/worker.test.d.ts +1 -0
  167. package/dist/commands/worker.test.js +116 -0
  168. package/dist/commands/worker.test.js.map +1 -0
  169. package/dist/commands/workspace-ops.d.ts +35 -0
  170. package/dist/commands/workspace-ops.js +153 -0
  171. package/dist/commands/workspace-ops.js.map +1 -0
  172. package/dist/index.d.ts +6 -6
  173. package/dist/index.js +900 -180
  174. package/dist/index.js.map +1 -1
  175. package/dist/lib/agent-connections.d.ts +31 -0
  176. package/dist/lib/agent-connections.js +33 -0
  177. package/dist/lib/agent-connections.js.map +1 -0
  178. package/dist/lib/agent-detect.d.ts +27 -0
  179. package/dist/lib/agent-detect.js +71 -0
  180. package/dist/lib/agent-detect.js.map +1 -0
  181. package/dist/lib/agent-door.d.ts +138 -0
  182. package/dist/lib/agent-door.js +426 -0
  183. package/dist/lib/agent-door.js.map +1 -0
  184. package/dist/lib/agents-config.d.ts +2 -0
  185. package/dist/lib/agents-config.js +4 -9
  186. package/dist/lib/agents-config.js.map +1 -1
  187. package/dist/lib/approval-poll.d.ts +31 -2
  188. package/dist/lib/approval-poll.js +20 -7
  189. package/dist/lib/approval-poll.js.map +1 -1
  190. package/dist/lib/atomic-file.d.ts +48 -0
  191. package/dist/lib/atomic-file.js +129 -0
  192. package/dist/lib/atomic-file.js.map +1 -0
  193. package/dist/lib/auth.d.ts +14 -9
  194. package/dist/lib/auth.js +44 -61
  195. package/dist/lib/auth.js.map +1 -1
  196. package/dist/lib/batch-approval.d.ts +85 -0
  197. package/dist/lib/batch-approval.js +170 -0
  198. package/dist/lib/batch-approval.js.map +1 -0
  199. package/dist/lib/capture-lane.d.ts +6 -5
  200. package/dist/lib/capture-lane.js +6 -5
  201. package/dist/lib/capture-lane.js.map +1 -1
  202. package/dist/lib/capture-structure.d.ts +230 -11
  203. package/dist/lib/capture-structure.js +251 -13
  204. package/dist/lib/capture-structure.js.map +1 -1
  205. package/dist/lib/catalog-templates.d.ts +59 -0
  206. package/dist/lib/catalog-templates.js +126 -0
  207. package/dist/lib/catalog-templates.js.map +1 -0
  208. package/dist/lib/cli-build.d.ts +19 -0
  209. package/dist/lib/cli-build.js +37 -0
  210. package/dist/lib/cli-build.js.map +1 -0
  211. package/dist/lib/conversation-headers.d.ts +18 -0
  212. package/dist/lib/conversation-headers.js +32 -0
  213. package/dist/lib/conversation-headers.js.map +1 -0
  214. package/dist/lib/cp-packages.d.ts +167 -11
  215. package/dist/lib/cp-packages.js +253 -21
  216. package/dist/lib/cp-packages.js.map +1 -1
  217. package/dist/lib/credential-class.d.ts +117 -0
  218. package/dist/lib/credential-class.js +116 -0
  219. package/dist/lib/credential-class.js.map +1 -0
  220. package/dist/lib/describe-lens.d.ts +35 -0
  221. package/dist/lib/describe-lens.js +40 -0
  222. package/dist/lib/describe-lens.js.map +1 -1
  223. package/dist/lib/device-connect.d.ts +125 -0
  224. package/dist/lib/device-connect.js +256 -0
  225. package/dist/lib/device-connect.js.map +1 -0
  226. package/dist/lib/directory-lens.d.ts +99 -0
  227. package/dist/lib/directory-lens.js +187 -0
  228. package/dist/lib/directory-lens.js.map +1 -0
  229. package/dist/lib/exporter-coverage.d.ts +71 -0
  230. package/dist/lib/exporter-coverage.js +97 -0
  231. package/dist/lib/exporter-coverage.js.map +1 -0
  232. package/dist/lib/hub-client.d.ts +29 -8
  233. package/dist/lib/hub-client.js +328 -55
  234. package/dist/lib/hub-client.js.map +1 -1
  235. package/dist/lib/init-connect.d.ts +41 -0
  236. package/dist/lib/init-connect.js +75 -0
  237. package/dist/lib/init-connect.js.map +1 -0
  238. package/dist/lib/init-exit.d.ts +24 -0
  239. package/dist/lib/init-exit.js +41 -0
  240. package/dist/lib/init-exit.js.map +1 -0
  241. package/dist/lib/init-flow.d.ts +25 -0
  242. package/dist/lib/init-flow.js +40 -0
  243. package/dist/lib/init-flow.js.map +1 -0
  244. package/dist/lib/init-handoff.d.ts +16 -0
  245. package/dist/lib/init-handoff.js +19 -0
  246. package/dist/lib/init-handoff.js.map +1 -0
  247. package/dist/lib/init-output.d.ts +18 -0
  248. package/dist/lib/init-output.js +43 -0
  249. package/dist/lib/init-output.js.map +1 -0
  250. package/dist/lib/init-pod.d.ts +45 -0
  251. package/dist/lib/init-pod.js +36 -0
  252. package/dist/lib/init-pod.js.map +1 -0
  253. package/dist/lib/installed.d.ts +210 -11
  254. package/dist/lib/installed.js +234 -36
  255. package/dist/lib/installed.js.map +1 -1
  256. package/dist/lib/key-approval.d.ts +57 -0
  257. package/dist/lib/key-approval.js +117 -0
  258. package/dist/lib/key-approval.js.map +1 -0
  259. package/dist/lib/key-diagnosis.d.ts +56 -0
  260. package/dist/lib/key-diagnosis.js +227 -0
  261. package/dist/lib/key-diagnosis.js.map +1 -0
  262. package/dist/lib/key-doctor.d.ts +136 -0
  263. package/dist/lib/key-doctor.js +286 -0
  264. package/dist/lib/key-doctor.js.map +1 -0
  265. package/dist/lib/key-locations.d.ts +120 -0
  266. package/dist/lib/key-locations.js +326 -0
  267. package/dist/lib/key-locations.js.map +1 -0
  268. package/dist/lib/key-source.d.ts +66 -0
  269. package/dist/lib/key-source.js +106 -0
  270. package/dist/lib/key-source.js.map +1 -0
  271. package/dist/lib/key-state.d.ts +70 -0
  272. package/dist/lib/key-state.js +115 -0
  273. package/dist/lib/key-state.js.map +1 -0
  274. package/dist/lib/kind-package.d.ts +181 -0
  275. package/dist/lib/kind-package.js +679 -0
  276. package/dist/lib/kind-package.js.map +1 -0
  277. package/dist/lib/knowledge-title.d.ts +24 -0
  278. package/dist/lib/knowledge-title.js +46 -0
  279. package/dist/lib/knowledge-title.js.map +1 -0
  280. package/dist/lib/knowledge-title.test.d.ts +1 -0
  281. package/dist/lib/knowledge-title.test.js +34 -0
  282. package/dist/lib/knowledge-title.test.js.map +1 -0
  283. package/dist/lib/machine-instance.d.ts +64 -0
  284. package/dist/lib/machine-instance.js +142 -0
  285. package/dist/lib/machine-instance.js.map +1 -0
  286. package/dist/lib/mcp-bridge.d.ts +42 -0
  287. package/dist/lib/mcp-bridge.js +147 -0
  288. package/dist/lib/mcp-bridge.js.map +1 -0
  289. package/dist/lib/mcp-bridge.test.d.ts +1 -0
  290. package/dist/lib/mcp-bridge.test.js +90 -0
  291. package/dist/lib/mcp-bridge.test.js.map +1 -0
  292. package/dist/lib/mcp-call.d.ts +30 -0
  293. package/dist/lib/mcp-call.js +107 -0
  294. package/dist/lib/mcp-call.js.map +1 -0
  295. package/dist/lib/mcp-snippets.d.ts +53 -0
  296. package/dist/lib/mcp-snippets.js +82 -0
  297. package/dist/lib/mcp-snippets.js.map +1 -0
  298. package/dist/lib/next-steps.d.ts +8 -0
  299. package/dist/lib/next-steps.js +31 -1
  300. package/dist/lib/next-steps.js.map +1 -1
  301. package/dist/lib/package-wire.d.ts +179 -0
  302. package/dist/lib/package-wire.js +68 -0
  303. package/dist/lib/package-wire.js.map +1 -0
  304. package/dist/lib/pair-link.d.ts +38 -0
  305. package/dist/lib/pair-link.js +68 -0
  306. package/dist/lib/pair-link.js.map +1 -0
  307. package/dist/lib/pod-wide.d.ts +40 -0
  308. package/dist/lib/pod-wide.js +46 -0
  309. package/dist/lib/pod-wide.js.map +1 -0
  310. package/dist/lib/pod.d.ts +66 -112
  311. package/dist/lib/pod.js +134 -412
  312. package/dist/lib/pod.js.map +1 -1
  313. package/dist/lib/project-ref.d.ts +9 -3
  314. package/dist/lib/project-ref.js +10 -4
  315. package/dist/lib/project-ref.js.map +1 -1
  316. package/dist/lib/review-credential.d.ts +119 -0
  317. package/dist/lib/review-credential.js +147 -0
  318. package/dist/lib/review-credential.js.map +1 -0
  319. package/dist/lib/safe-open.d.ts +49 -0
  320. package/dist/lib/safe-open.js +119 -0
  321. package/dist/lib/safe-open.js.map +1 -0
  322. package/dist/lib/session-lens.d.ts +40 -1
  323. package/dist/lib/session-lens.js +54 -4
  324. package/dist/lib/session-lens.js.map +1 -1
  325. package/dist/lib/superwhisper-import.d.ts +8 -0
  326. package/dist/lib/superwhisper-import.js +14 -7
  327. package/dist/lib/superwhisper-import.js.map +1 -1
  328. package/dist/lib/superwhisper-title.test.d.ts +1 -0
  329. package/dist/lib/superwhisper-title.test.js +18 -0
  330. package/dist/lib/superwhisper-title.test.js.map +1 -0
  331. package/dist/lib/targets.d.ts +134 -10
  332. package/dist/lib/targets.js +962 -258
  333. package/dist/lib/targets.js.map +1 -1
  334. package/dist/lib/template-file.d.ts +4 -0
  335. package/dist/lib/template-file.js.map +1 -1
  336. package/dist/lib/template-lifecycle.d.ts +217 -0
  337. package/dist/lib/template-lifecycle.js +433 -0
  338. package/dist/lib/template-lifecycle.js.map +1 -0
  339. package/dist/lib/template-steps.d.ts +88 -0
  340. package/dist/lib/template-steps.js +118 -0
  341. package/dist/lib/template-steps.js.map +1 -0
  342. package/dist/lib/time-ago.d.ts +2 -0
  343. package/dist/lib/time-ago.js +15 -0
  344. package/dist/lib/time-ago.js.map +1 -0
  345. package/dist/utils/logger.js +5 -2
  346. package/dist/utils/logger.js.map +1 -1
  347. package/package.json +23 -17
  348. package/skills/README.md +12 -10
  349. package/skills/agent-os/SKILL.md +214 -99
  350. package/skills/manifest.json +1 -1
  351. package/skills/onboard/SKILL.md +55 -26
  352. package/skills/synap/README.md +5 -8
  353. package/skills/synap/SKILL.md +1086 -283
  354. package/skills/synap/_order.txt +7 -0
  355. package/skills/synap/_skill.yaml +1 -1
  356. package/skills/synap/automations.md +15 -0
  357. package/skills/synap/capture.md +5 -0
  358. package/skills/synap/cli-operations.md +24 -18
  359. package/skills/synap/concepts.md +28 -0
  360. package/skills/synap/content-os.md +10 -1
  361. package/skills/synap/creative-loop.md +15 -10
  362. package/skills/synap/crm.md +21 -52
  363. package/skills/synap/document-embeds.md +141 -47
  364. package/skills/synap/escalation-ladder.md +20 -10
  365. package/skills/synap/focus-sessions.md +47 -21
  366. package/skills/synap/from-intent.md +142 -0
  367. package/skills/synap/governance-rules.md +4 -4
  368. package/skills/synap/governance.md +10 -7
  369. package/skills/synap/hand-off.md +33 -0
  370. package/skills/synap/inline-patterns.md +15 -7
  371. package/skills/synap/lenses.md +33 -15
  372. package/skills/synap/linking.md +41 -40
  373. package/skills/synap/mcp-remote-servers.md +64 -0
  374. package/skills/synap/mental-model.md +17 -15
  375. package/skills/synap/operating-mode-rules.md +1 -1
  376. package/skills/synap/processes.md +118 -0
  377. package/skills/synap/quick-reference.md +5 -1
  378. package/skills/synap/reading.md +3 -1
  379. package/skills/synap/reflexes.md +12 -42
  380. package/skills/synap/viewframe-cells.md +38 -5
  381. package/skills/synap/work-flow.md +1 -1
  382. package/skills/synap/work-model.md +96 -0
  383. package/skills/synap/worked-examples.md +4 -5
  384. package/skills/synap/workspace-design.md +14 -10
  385. package/skills/synap/writes.md +97 -24
  386. package/skills/synap/writing-titles.md +63 -0
  387. package/skills/synap-app/SKILL.md +2 -2
  388. package/skills/synap-app/_skill.yaml +1 -1
  389. package/skills/synap-app/install-commands.md +1 -1
  390. package/skills/synap-design/SKILL.md +474 -0
  391. package/skills/synap-design/_order.txt +4 -0
  392. package/skills/synap-design/_skill.yaml +21 -0
  393. package/skills/synap-design/loop.md +134 -0
  394. package/skills/synap-design/overview.md +44 -0
  395. package/skills/synap-design/principles.md +130 -0
  396. package/skills/synap-design/system.md +133 -0
  397. package/skills/synap-market/SKILL.md +306 -16
  398. package/skills/synap-market/_skill.yaml +1 -1
  399. package/skills/synap-market/author-and-publish.md +145 -8
  400. package/skills/synap-market/governance-and-catalog.md +7 -0
  401. package/skills/synap-market/install.md +79 -1
  402. package/skills/synap-market/overview.md +74 -6
  403. package/skills/synap-schema/SKILL.md +172 -10
  404. package/skills/synap-schema/_order.txt +2 -0
  405. package/skills/synap-schema/_skill.yaml +4 -2
  406. package/skills/synap-schema/common-mistakes.md +4 -2
  407. package/skills/synap-schema/discover-profiles.md +1 -1
  408. package/skills/synap-schema/entity-scope.md +15 -3
  409. package/skills/synap-schema/extend-first.md +29 -0
  410. package/skills/synap-schema/extend-vs-create.md +1 -1
  411. package/skills/synap-schema/intent-vocabulary-ssot.md +111 -0
  412. package/skills/synap-schema/property-types.md +1 -1
  413. package/skills/synap-schema/relations.md +1 -1
  414. package/skills/synap-ui/SKILL.md +19 -12
  415. package/skills/synap-ui/_skill.yaml +1 -1
  416. package/skills/synap-ui/ai-companion.md +1 -1
  417. package/skills/synap-ui/arranging-bento.md +2 -0
  418. package/skills/synap-ui/bento-layouts.md +10 -10
  419. package/skills/synap-ui/bento-recipes.md +313 -543
  420. package/skills/synap-ui/four-builds.md +5 -0
  421. package/skills/synap-ui/view-types.md +2 -2
  422. package/skills/synap-ui/widget-catalog.md +22 -278
  423. package/templates/automations/bookmark-enrichment.automation.json +290 -13
  424. package/templates/automations/url-bookmark-capture.automation.json +73 -11
  425. package/templates/skills/authoring-playbooks/SKILL.md +6 -3
  426. package/templates/skills/authoring-playbooks/reference/stages-contract.md +15 -0
  427. package/templates/skills/authoring-playbooks/reference/worked-example.md +3 -0
  428. package/dist/commands/infra.d.ts +0 -21
  429. package/dist/commands/infra.js +0 -262
  430. package/dist/commands/infra.js.map +0 -1
  431. package/dist/commands/template.d.ts +0 -42
  432. package/dist/commands/template.js +0 -191
  433. package/dist/commands/template.js.map +0 -1
  434. package/dist/lib/browser-auth.d.ts +0 -35
  435. package/dist/lib/browser-auth.js +0 -170
  436. package/dist/lib/browser-auth.js.map +0 -1
  437. package/dist/lib/openclaw.d.ts +0 -32
  438. package/dist/lib/openclaw.js +0 -164
  439. package/dist/lib/openclaw.js.map +0 -1
  440. package/dist/lib/seed.d.ts +0 -13
  441. package/dist/lib/seed.js +0 -135
  442. package/dist/lib/seed.js.map +0 -1
  443. package/node_modules/@synap/hub-rest-client/dist/index.cjs +0 -1261
  444. package/node_modules/@synap/hub-rest-client/dist/index.d.cts +0 -1647
  445. package/node_modules/@synap/hub-rest-client/dist/index.d.ts +0 -1647
  446. package/node_modules/@synap/hub-rest-client/dist/index.js +0 -1231
  447. package/node_modules/@synap/hub-rest-client/package.json +0 -45
  448. package/node_modules/@synap/hub-rest-client/src/client.ts +0 -1631
  449. package/node_modules/@synap/hub-rest-client/src/errors.ts +0 -30
  450. package/node_modules/@synap/hub-rest-client/src/index.ts +0 -153
  451. package/node_modules/@synap/hub-rest-client/src/setup.ts +0 -133
  452. package/node_modules/@synap/hub-rest-client/src/types.ts +0 -1299
@@ -6,15 +6,17 @@
6
6
  * `market.ts`): the create→publish path an author walks.
7
7
  *
8
8
  * synap market scaffold <slug> — write a minimal valid <slug>.template.yaml
9
+ * synap market scaffold <slug> --kind cell|view|workflow|capability — a standalone package file
9
10
  * synap market validate <file> — run the ONE shared validator, fast feedback
10
11
  * synap market publish <file> — validate, then upsert to the CP (private by default)
11
12
  * synap market publish --from-workspace <id> — serialize a LIVE workspace, then publish
13
+ * synap market publish --from-project <id> — serialize a LIVE project's used workspaces into a suite, then publish
12
14
  * synap market unpublish <slug> — flip a published package back to private
13
15
  *
14
16
  * REUSE: validation is the shared `validateTemplate` (via `lib/template-file`);
15
17
  * CP transport is `lib/cp-packages` (`publishPackage`/`unpublishPackage`); the
16
- * pod `to-template` serializer is reached through the standard hub client. No
17
- * fetch is hand-rolled here.
18
+ * pod `to-template` / `to-suite-template` serializers are reached through the
19
+ * standard hub client. No fetch is hand-rolled here.
18
20
  */
19
21
  import { type PackageDefinitionLike } from "../lib/template-file.js";
20
22
  export declare function marketValidate(file: string, opts: {
@@ -22,6 +24,7 @@ export declare function marketValidate(file: string, opts: {
22
24
  }): Promise<void>;
23
25
  export declare function marketScaffold(slug: string, opts: {
24
26
  json?: boolean;
27
+ kind?: string;
25
28
  }): Promise<void>;
26
29
  /**
27
30
  * POST `/api/hub/workspaces/:id/to-template` — the pod-native serializer that
@@ -32,13 +35,37 @@ export declare function fetchWorkspaceAsTemplate(workspaceId: string, opts: {
32
35
  podUrl?: string;
33
36
  apiKey?: string;
34
37
  }): Promise<PackageDefinitionLike>;
38
+ /**
39
+ * POST `/api/hub/projects/:id/to-suite-template` — walk a project's uses→workspace
40
+ * edges: full constituent workspace packages + thin suite (`suite` tag, `require`
41
+ * deps, harvested playbooks). The one door for `--from-project`.
42
+ */
43
+ export declare function fetchProjectAsSuiteTemplate(projectId: string, opts: {
44
+ podUrl?: string;
45
+ apiKey?: string;
46
+ }): Promise<{
47
+ definition: PackageDefinitionLike;
48
+ constituents: PackageDefinitionLike[];
49
+ requiredSlugs: string[];
50
+ }>;
51
+ /**
52
+ * Parse `--price <usd>` into CP columns. Dollars → cents. Settlement/Stripe is
53
+ * NOT this wave — we only stamp `pricingModel: one_time` + `priceUsd`.
54
+ */
55
+ export declare function parsePriceUsdFlag(raw: string): {
56
+ pricingModel: "one_time";
57
+ priceUsd: number;
58
+ };
35
59
  export declare function marketPublish(file: string | undefined, opts: {
36
60
  public?: boolean;
37
61
  private?: boolean;
38
62
  fromWorkspace?: string;
63
+ fromProject?: string;
64
+ price?: string;
39
65
  json?: boolean;
40
66
  podUrl?: string;
41
67
  apiKey?: string;
68
+ bundleDeps?: boolean;
42
69
  }): Promise<void>;
43
70
  export declare function marketUnpublish(slug: string, opts: {
44
71
  json?: boolean;
@@ -6,23 +6,27 @@
6
6
  * `market.ts`): the create→publish path an author walks.
7
7
  *
8
8
  * synap market scaffold <slug> — write a minimal valid <slug>.template.yaml
9
+ * synap market scaffold <slug> --kind cell|view|workflow|capability — a standalone package file
9
10
  * synap market validate <file> — run the ONE shared validator, fast feedback
10
11
  * synap market publish <file> — validate, then upsert to the CP (private by default)
11
12
  * synap market publish --from-workspace <id> — serialize a LIVE workspace, then publish
13
+ * synap market publish --from-project <id> — serialize a LIVE project's used workspaces into a suite, then publish
12
14
  * synap market unpublish <slug> — flip a published package back to private
13
15
  *
14
16
  * REUSE: validation is the shared `validateTemplate` (via `lib/template-file`);
15
17
  * CP transport is `lib/cp-packages` (`publishPackage`/`unpublishPackage`); the
16
- * pod `to-template` serializer is reached through the standard hub client. No
17
- * fetch is hand-rolled here.
18
+ * pod `to-template` / `to-suite-template` serializers are reached through the
19
+ * standard hub client. No fetch is hand-rolled here.
18
20
  */
19
21
  import { existsSync, writeFileSync } from "node:fs";
20
- import { resolve as resolvePath } from "node:path";
22
+ import { dirname, resolve as resolvePath } from "node:path";
21
23
  import chalk from "chalk";
22
24
  import { log } from "../utils/logger.js";
23
25
  import { parseTemplateFile, validateTemplateYaml, templateToPackageDefinition, packageDefinitionToYaml, scaffoldTemplateYaml, } from "../lib/template-file.js";
24
- import { publishPackage, unpublishPackage, CpWriteError, } from "../lib/cp-packages.js";
26
+ import { publishPackage, unpublishPackage, OFFICIAL_USE_CATALOG_HINT, CpWriteError, } from "../lib/cp-packages.js";
25
27
  import { resolveHubConfig, hubPost, renderHubError } from "../lib/hub-client.js";
28
+ import { exporterDropWarnings } from "../lib/exporter-coverage.js";
29
+ import { isStandalonePackageFile, parseStandalonePackageFile, validateStandalonePackage, scaffoldStandalonePackageJson, resolveCellCodeFiles, SCAFFOLDABLE_KINDS, } from "../lib/kind-package.js";
26
30
  /** Print a validator failure list human-readably: `rule` · `path` — `message`. */
27
31
  function printValidationErrors(errors) {
28
32
  for (const e of errors) {
@@ -31,6 +35,45 @@ function printValidationErrors(errors) {
31
35
  }
32
36
  // ─── validate ────────────────────────────────────────────────────────────────
33
37
  export async function marketValidate(file, opts) {
38
+ // A standalone view/cell/skill/workflow file branches off IMMEDIATELY — the
39
+ // SAME discriminator `marketPublish` uses. Without this, `validate` ran the
40
+ // WORKSPACE validator over a standalone file and rejected it with three
41
+ // envelope errors (missing `meta`, `workspace`, `profiles`) — including files
42
+ // `market scaffold --kind cell` had JUST WRITTEN. Step 02 of the documented
43
+ // four-command loop rejected step 01's own output, for every non-workspace
44
+ // kind. Found by walking the loop on 2026-09-05.
45
+ let peeked;
46
+ try {
47
+ peeked = parseTemplateFile(file);
48
+ }
49
+ catch {
50
+ peeked = undefined;
51
+ }
52
+ if (isStandalonePackageFile(peeked)) {
53
+ const parsed = parseStandalonePackageFile(file);
54
+ // `validateStandalonePackage` returns plain message strings, not the
55
+ // `ValidationError` records the workspace validator emits — so it prints
56
+ // directly rather than through `printValidationErrors`. `baseDir` lets it
57
+ // check a cell's `codeFile` actually exists — the same resolution root
58
+ // `resolveCellCodeFiles` uses at publish time.
59
+ const errors = validateStandalonePackage(parsed, {
60
+ baseDir: dirname(resolvePath(process.cwd(), file)),
61
+ });
62
+ if (opts.json) {
63
+ console.log(JSON.stringify({ ok: errors.length === 0, errors }, null, 2));
64
+ if (errors.length > 0)
65
+ process.exit(1);
66
+ return;
67
+ }
68
+ if (errors.length === 0) {
69
+ log.success(`${file} is valid.`);
70
+ return;
71
+ }
72
+ log.error(`${file} has ${errors.length} validation error${errors.length === 1 ? "" : "s"}:`);
73
+ for (const message of errors)
74
+ log.hint(`✗ ${message}`);
75
+ process.exit(1);
76
+ }
34
77
  let tpl;
35
78
  try {
36
79
  tpl = parseTemplateFile(file);
@@ -61,6 +104,47 @@ export async function marketValidate(file, opts) {
61
104
  }
62
105
  // ─── scaffold ──────────────────────────────────────────────────────────────
63
106
  export async function marketScaffold(slug, opts) {
107
+ // `--kind cell|view|workflow|capability|skill` scaffolds a STANDALONE package
108
+ // file instead of a workspace template — see `lib/kind-package.ts`.
109
+ // (`skill` used to be refused here, on the grounds that the CP had no slot to
110
+ // publish one into; that slot now exists, so the special case is gone.)
111
+ //
112
+ // The accepted list is `SCAFFOLDABLE_KINDS` — the same constant `src/index.ts`
113
+ // builds the `--kind` help string from, so the help can never again advertise
114
+ // a kind this branch refuses (it advertised `skill`) or hide one it accepts
115
+ // (it hid `workflow`, which `validateStandalonePackage` has always handled).
116
+ if (opts.kind && opts.kind !== "workspace") {
117
+ if (!SCAFFOLDABLE_KINDS.includes(opts.kind)) {
118
+ log.error(`Unknown --kind "${opts.kind}" — expected one of: ${SCAFFOLDABLE_KINDS.join(", ")}.`);
119
+ process.exit(1);
120
+ }
121
+ const kind = opts.kind;
122
+ const fileName = `${slug}.${kind}.json`;
123
+ const target = resolvePath(process.cwd(), fileName);
124
+ if (existsSync(target)) {
125
+ if (opts.json) {
126
+ console.log(JSON.stringify({ ok: false, error: "exists", path: target }, null, 2));
127
+ }
128
+ else {
129
+ log.error(`${fileName} already exists — refusing to overwrite.`);
130
+ log.hint("Edit it in place, or choose a different slug.");
131
+ }
132
+ process.exit(1);
133
+ }
134
+ writeFileSync(target, scaffoldStandalonePackageJson(kind, slug), "utf-8");
135
+ if (opts.json) {
136
+ console.log(JSON.stringify({ ok: true, path: target, slug, kind }, null, 2));
137
+ return;
138
+ }
139
+ log.success(`Wrote ${fileName}`);
140
+ log.dim("Edit it in place, then:");
141
+ if (kind === "cell") {
142
+ log.dim(` tip: replace "code" with "codeFile": "./path/to/your-entry.tsx" to publish from a real source file — \`market publish\` bundles it (esbuild) and inlines the result, no hand-pasted bundle needed.`);
143
+ }
144
+ log.dim(` synap market validate ${fileName}`);
145
+ log.dim(` synap market publish ${fileName}`);
146
+ return;
147
+ }
64
148
  const fileName = `${slug}.template.yaml`;
65
149
  const target = resolvePath(process.cwd(), fileName);
66
150
  // Create-then-configure: refuse to clobber, never overwrite an author's work.
@@ -98,6 +182,38 @@ export async function fetchWorkspaceAsTemplate(workspaceId, opts) {
98
182
  }
99
183
  return res.definition;
100
184
  }
185
+ /**
186
+ * POST `/api/hub/projects/:id/to-suite-template` — walk a project's uses→workspace
187
+ * edges: full constituent workspace packages + thin suite (`suite` tag, `require`
188
+ * deps, harvested playbooks). The one door for `--from-project`.
189
+ */
190
+ export async function fetchProjectAsSuiteTemplate(projectId, opts) {
191
+ const cfg = await resolveHubConfig(opts);
192
+ const res = (await hubPost(`/projects/${encodeURIComponent(projectId)}/to-suite-template`, {}, cfg, 120_000));
193
+ if (!res?.definition) {
194
+ throw new Error(`Project ${projectId} produced no suite definition.`);
195
+ }
196
+ return {
197
+ definition: res.definition,
198
+ constituents: Array.isArray(res.constituents) ? res.constituents : [],
199
+ requiredSlugs: Array.isArray(res.requiredSlugs) ? res.requiredSlugs : [],
200
+ };
201
+ }
202
+ /**
203
+ * Parse `--price <usd>` into CP columns. Dollars → cents. Settlement/Stripe is
204
+ * NOT this wave — we only stamp `pricingModel: one_time` + `priceUsd`.
205
+ */
206
+ export function parsePriceUsdFlag(raw) {
207
+ const dollars = Number(raw);
208
+ if (!Number.isFinite(dollars) || dollars <= 0) {
209
+ throw new Error(`--price must be a positive dollar amount (got "${raw}")`);
210
+ }
211
+ const cents = Math.round(dollars * 100);
212
+ if (cents <= 0) {
213
+ throw new Error(`--price must be at least $0.01 (got "${raw}")`);
214
+ }
215
+ return { pricingModel: "one_time", priceUsd: cents };
216
+ }
101
217
  /** Surface a publish outcome (created/updated/no-op) uniformly. */
102
218
  function reportPublish(r) {
103
219
  const vis = r.isPublic ? chalk.green("public") : chalk.dim("private");
@@ -112,6 +228,17 @@ function reportPublish(r) {
112
228
  log.info(`${chalk.bold(r.slug)} is already up to date at ${chalk.dim(r.version)} (${vis}) — nothing to publish.`);
113
229
  break;
114
230
  }
231
+ // Attribution is WRITE-TIME ONLY at the CP: `if (body.vendorId) {…}` with no
232
+ // else, and no back-fill. Silence here is how every CLI-published package
233
+ // ended up orphaned from its author — the publish looked like a full success
234
+ // because, apart from the author page, it was.
235
+ if (r.officialVendorWithheld) {
236
+ log.hint(OFFICIAL_USE_CATALOG_HINT);
237
+ }
238
+ else if (!r.vendorAttached) {
239
+ log.warn("Published without a publisher profile — attributed to nobody.");
240
+ log.hint(`Create one (synap vendor create <slug>), then publish again.`);
241
+ }
115
242
  }
116
243
  /** Turn a CP write failure into a clear, honest message — never swallow the server `detail`; special-case the reserved-slug 403. */
117
244
  function reportCpWriteError(err, slug) {
@@ -120,16 +247,150 @@ function reportCpWriteError(err, slug) {
120
247
  log.hint("Reserved: foundation, crm, operations, content-os, enterprise-os, research-base.");
121
248
  return;
122
249
  }
250
+ // A 401 here is almost always "no CP session", not a broken package — publish
251
+ // authenticates as the HUMAN account (the pod agent key does not carry CP
252
+ // credentials, by design). Naming the door beats restating the wall: a bare
253
+ // "Unauthorized" sends the author back to re-check a file that was fine.
254
+ if (err.status === 401) {
255
+ log.error("Publish failed (HTTP 401): not signed in to the Synap account.");
256
+ log.hint("Run `synap login`, then publish again. Your package file is unchanged.");
257
+ log.hint("Publishing authenticates as YOU, not as the pod's agent key — that separation is deliberate: approval and publication stay human.");
258
+ return;
259
+ }
123
260
  log.error(`Publish failed${err.status ? ` (HTTP ${err.status})` : ""}: ${err.serverMessage}`);
124
261
  }
262
+ /**
263
+ * Publish a STANDALONE (non-workspace) package file — a view/cell/skill,
264
+ * discriminated by a top-level `category` key the workspace-template envelope
265
+ * never carries (see `lib/kind-package.ts`). Reuses the SAME `publishPackage`
266
+ * CP transport as the workspace path — no second fetch, just a different
267
+ * identity (`opts.slug`/`opts.displayName`/`opts.category` instead of
268
+ * `_meta.slug`/`workspaceName`).
269
+ */
270
+ async function marketPublishStandalone(file, opts) {
271
+ const isPublic = opts.public === true;
272
+ let pkg;
273
+ try {
274
+ pkg = parseStandalonePackageFile(file);
275
+ }
276
+ catch (e) {
277
+ log.error(e.message);
278
+ process.exit(1);
279
+ }
280
+ const baseDir = dirname(resolvePath(process.cwd(), file));
281
+ const structuralErrors = validateStandalonePackage(pkg, { baseDir });
282
+ if (structuralErrors.length) {
283
+ if (opts.json) {
284
+ console.log(JSON.stringify({ ok: false, stage: "validate", errors: structuralErrors }, null, 2));
285
+ }
286
+ else {
287
+ log.error(`${file} failed validation — not published:`);
288
+ for (const e of structuralErrors)
289
+ log.hint(e);
290
+ }
291
+ process.exit(1);
292
+ }
293
+ // Inline any `codeFile` cell entries into `code` — the field the CP schema
294
+ // actually validates; `codeFile` never reaches the wire (see
295
+ // `lib/kind-package.ts`). Bundling defaults to `--bundle-deps` HERE, on the
296
+ // publish path only: a published cell is exactly the case Chrome MV3's
297
+ // "reviewers must be able to see the code that runs" rationale targets —
298
+ // our `deps` map otherwise resolves through esm.sh at runtime, so the
299
+ // published artifact is not what actually executes. `synap cell build`
300
+ // invoked directly keeps its own default (external deps via esm.sh)
301
+ // unchanged; `--no-bundle-deps` opts a publish back out of this default.
302
+ let definition = pkg.definition;
303
+ if (pkg.category === "cell") {
304
+ const { definition: resolvedDefinition, errors: codeFileErrors } = await resolveCellCodeFiles(pkg, baseDir, {
305
+ bundleDeps: opts.bundleDeps !== false,
306
+ });
307
+ if (codeFileErrors.length) {
308
+ if (opts.json) {
309
+ console.log(JSON.stringify({ ok: false, stage: "build", errors: codeFileErrors }, null, 2));
310
+ }
311
+ else {
312
+ log.error(`${file} failed to build — not published:`);
313
+ for (const e of codeFileErrors)
314
+ log.hint(e);
315
+ }
316
+ process.exit(1);
317
+ }
318
+ definition = resolvedDefinition;
319
+ }
320
+ try {
321
+ const r = await publishPackage({ ...definition, description: pkg.description }, {
322
+ isPublic,
323
+ category: pkg.category,
324
+ slug: pkg.slug,
325
+ displayName: pkg.displayName,
326
+ });
327
+ if (opts.json) {
328
+ console.log(JSON.stringify({ ok: true, ...r }, null, 2));
329
+ return;
330
+ }
331
+ reportPublish(r);
332
+ }
333
+ catch (e) {
334
+ if (e instanceof CpWriteError) {
335
+ if (opts.json) {
336
+ console.log(JSON.stringify({ ok: false, stage: "publish", status: e.status, error: e.serverMessage, slug: pkg.slug }, null, 2));
337
+ }
338
+ else {
339
+ reportCpWriteError(e, pkg.slug);
340
+ }
341
+ process.exit(1);
342
+ }
343
+ log.error(`Publish failed: ${e.message}`);
344
+ process.exit(1);
345
+ }
346
+ }
125
347
  export async function marketPublish(file, opts) {
348
+ // A standalone view/cell/skill file branches off IMMEDIATELY — it has no
349
+ // `meta`/`workspace` envelope, so the WorkspaceYaml parser below would
350
+ // reject it. `--from-workspace` / `--from-project` never produce this shape,
351
+ // so only the `file` path is checked. `isStandalonePackageFile` peeks the
352
+ // SAME parse `parseStandalonePackageFile` will redo — cheap, and keeps the
353
+ // discriminator logic in ONE place (`kind-package.ts`).
354
+ if (file && !opts.fromWorkspace && !opts.fromProject) {
355
+ let peeked;
356
+ try {
357
+ peeked = parseTemplateFile(file);
358
+ }
359
+ catch {
360
+ peeked = undefined;
361
+ }
362
+ if (isStandalonePackageFile(peeked)) {
363
+ await marketPublishStandalone(file, opts);
364
+ return;
365
+ }
366
+ }
367
+ if (opts.fromWorkspace && opts.fromProject) {
368
+ log.error("Pass only one of --from-workspace or --from-project.");
369
+ process.exit(1);
370
+ }
126
371
  // Default PRIVATE; `--public` flips it. `--private` is accepted as the explicit
127
372
  // default so a script can state intent.
128
373
  const isPublic = opts.public === true;
374
+ let pricing;
375
+ if (opts.price !== undefined) {
376
+ try {
377
+ pricing = parsePriceUsdFlag(opts.price);
378
+ }
379
+ catch (e) {
380
+ log.error(e.message);
381
+ process.exit(1);
382
+ }
383
+ }
129
384
  // 1. Obtain the definition + a WorkspaceYaml view to validate.
130
385
  let def;
131
386
  let yamlForValidate;
132
387
  let sourceLabel;
388
+ // Keys the pod's workspace serialiser has NO projection for. Unconditional
389
+ // for `--from-workspace` / `--from-project` (both walk that door) and EMPTY
390
+ // for a hand-written file, because the file path is not a projection — what
391
+ // the author wrote is what gets published. See `lib/exporter-coverage.ts`.
392
+ let dropWarnings = [];
393
+ let lossyLabel = "workspace";
133
394
  if (opts.fromWorkspace) {
134
395
  try {
135
396
  def = await fetchWorkspaceAsTemplate(opts.fromWorkspace, opts);
@@ -138,12 +399,63 @@ export async function marketPublish(file, opts) {
138
399
  renderHubError(e);
139
400
  process.exit(1);
140
401
  }
402
+ dropWarnings = exporterDropWarnings();
141
403
  yamlForValidate = packageDefinitionToYaml(def);
142
404
  sourceLabel = `workspace ${opts.fromWorkspace}`;
143
405
  }
406
+ else if (opts.fromProject) {
407
+ let suiteConstituents = [];
408
+ try {
409
+ const suite = await fetchProjectAsSuiteTemplate(opts.fromProject, opts);
410
+ def = suite.definition;
411
+ suiteConstituents = suite.constituents;
412
+ }
413
+ catch (e) {
414
+ renderHubError(e);
415
+ process.exit(1);
416
+ }
417
+ dropWarnings = exporterDropWarnings();
418
+ lossyLabel = "project suite";
419
+ yamlForValidate = packageDefinitionToYaml(def);
420
+ sourceLabel = `project ${opts.fromProject}`;
421
+ // Publish FULL constituent workspace packages FIRST so suite `require`
422
+ // deps resolve on install (otherwise hollow required-absent).
423
+ if (suiteConstituents.length > 0 && !opts.json) {
424
+ log.info(`Publishing ${suiteConstituents.length} constituent workspace package(s) before the suite…`);
425
+ }
426
+ for (const constituent of suiteConstituents) {
427
+ const cSlug = constituent._meta?.slug;
428
+ if (!cSlug) {
429
+ log.warn("Skipping constituent without _meta.slug");
430
+ continue;
431
+ }
432
+ const cYaml = packageDefinitionToYaml(constituent);
433
+ const cVal = validateTemplateYaml(cYaml);
434
+ if (!cVal.ok) {
435
+ log.error(`Constituent ${cSlug} failed validation — not published:`);
436
+ printValidationErrors(cVal.errors);
437
+ process.exit(1);
438
+ }
439
+ try {
440
+ const r = await publishPackage(constituent, {
441
+ isPublic,
442
+ ...(pricing ?? {}),
443
+ });
444
+ if (!opts.json)
445
+ reportPublish(r);
446
+ }
447
+ catch (e) {
448
+ if (e instanceof CpWriteError) {
449
+ reportCpWriteError(e, cSlug);
450
+ process.exit(1);
451
+ }
452
+ throw e;
453
+ }
454
+ }
455
+ }
144
456
  else {
145
457
  if (!file) {
146
- log.error("Provide a template file, or --from-workspace <id>.");
458
+ log.error("Provide a template file, --from-workspace <id>, or --from-project <id>.");
147
459
  process.exit(1);
148
460
  }
149
461
  try {
@@ -169,12 +481,41 @@ export async function marketPublish(file, opts) {
169
481
  }
170
482
  process.exit(1);
171
483
  }
484
+ // 2b. Say what this door does NOT carry — BEFORE the publish, not after, so
485
+ // the author can still stop. Printed as a warning, never as an error: the
486
+ // export is not wrong, it is incomplete, and the package still installs.
487
+ if (dropWarnings.length > 0 && !opts.json) {
488
+ log.warn(`Serialising a live ${lossyLabel} is a LOSSY projection — these are NOT in the package:`);
489
+ for (const w of dropWarnings)
490
+ log.hint(`• ${w}`);
491
+ log.hint("See TEMPLATE-DEV-GUIDE.md — `template ≡ installed` holds publish→install, not workspace→publish.");
492
+ if (opts.fromProject) {
493
+ log.hint("Constituent workspace packages were published first (when present); the suite only requires them by slug.");
494
+ }
495
+ }
496
+ if (pricing && !opts.json) {
497
+ log.info(`Pricing stamped: one_time @ $${(pricing.priceUsd / 100).toFixed(2)} (settlement/Stripe is not this wave).`);
498
+ }
172
499
  // 3. Publish.
173
500
  const slug = def._meta?.slug;
174
501
  try {
175
- const r = await publishPackage(def, { isPublic });
502
+ const r = await publishPackage(def, {
503
+ isPublic,
504
+ ...(pricing ?? {}),
505
+ });
176
506
  if (opts.json) {
177
- console.log(JSON.stringify({ ok: true, ...r }, null, 2));
507
+ console.log(JSON.stringify({
508
+ ok: true,
509
+ warnings: dropWarnings,
510
+ ...(pricing
511
+ ? {
512
+ pricingModel: pricing.pricingModel,
513
+ priceUsd: pricing.priceUsd,
514
+ settlement: "not-this-wave",
515
+ }
516
+ : {}),
517
+ ...r,
518
+ }, null, 2));
178
519
  return;
179
520
  }
180
521
  reportPublish(r);
@@ -1 +1 @@
1
- {"version":3,"file":"market-authoring.js","sourceRoot":"","sources":["../../src/commands/market-authoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"market-authoring.js","sourceRoot":"","sources":["../../src/commands/market-authoring.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * `synap market publish --official [slug...]` — the founder's command for
3
+ * publishing the official Synap template catalog.
4
+ * ==========================================================================
5
+ *
6
+ * An ALIAS, not an implementation: it is exactly
7
+ * `synap catalog publish --official --kind workspace [slug...]` — the ONE code
8
+ * path in `catalog.ts` (`runCatalog`), which dynamic-imports the ONE catalog lib
9
+ * (`scripts/catalog-lib.mjs`) from the monorepo checkout. All the safety lives
10
+ * there: validate → diff preview → confirm (`--dry-run` previews only, `--yes`
11
+ * skips the question, non-interactive without `--yes` refuses), founder-only
12
+ * `synap-official` preflight in the lib, `synap login` CP session as the
13
+ * credential.
14
+ *
15
+ * What stays here is only what is specific to the `market publish` spelling:
16
+ * the flags `market publish` carries for its NON-official mode (a file,
17
+ * `--from-workspace`, visibility, price) are usage errors next to `--official`.
18
+ */
19
+ import { findCatalogDir, looksLikeFile, type CatalogDeps } from "./catalog.js";
20
+ export { looksLikeFile };
21
+ export interface OfficialPublishOpts {
22
+ official?: boolean;
23
+ templatesDir?: string;
24
+ dryRun?: boolean;
25
+ yes?: boolean;
26
+ json?: boolean;
27
+ public?: boolean;
28
+ private?: boolean;
29
+ price?: string;
30
+ fromWorkspace?: string;
31
+ fromProject?: string;
32
+ }
33
+ /** Seams for tests — the catalog command's own seams (one implementation). */
34
+ export type OfficialPublishDeps = CatalogDeps;
35
+ /** Kept for callers of the old name: the catalog package dir of the checkout. */
36
+ export declare const findTemplatesDir: typeof findCatalogDir;
37
+ /**
38
+ * `--official` publishes the checkout's corpus, so every flag that names some
39
+ * OTHER source or overrides what the template itself declares is a usage error —
40
+ * silently ignoring it would publish something other than what was typed.
41
+ * Returns the message, or null when the combination is valid.
42
+ */
43
+ export declare function officialUsageError(file: string | undefined, opts: OfficialPublishOpts): string | null;
44
+ /**
45
+ * Returns the process exit code (0 ok · 1 refused/failed · 2 usage). The alias:
46
+ * `market`-only usage checks, then `runCatalog("publish", …, kind workspace)`.
47
+ */
48
+ export declare function marketPublishOfficial(slugs: string[], opts: OfficialPublishOpts, deps?: OfficialPublishDeps): Promise<number>;
49
+ /**
50
+ * The flags that only mean something WITH `--official`, and the one-file rule
51
+ * of a regular publish. Without this a stray `--dry-run` on a regular publish
52
+ * would be silently ignored and the package published for real.
53
+ */
54
+ export declare function nonOfficialUsageError(targets: string[], opts: {
55
+ dryRun?: boolean;
56
+ yes?: boolean;
57
+ templatesDir?: string;
58
+ }): string | null;