@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
@@ -1 +1 @@
1
- {"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/commands/open.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * `synap playbook run <name|id>` — start a governed process in one step
3
+ * (Hub `POST /api/hub/playbooks/:id/run`, the door MCP `synap_run_playbook`
4
+ * shares via `runPlaybookDoor`).
5
+ *
6
+ * synap playbook run "Design to implementation" --subject <entityId> --param goal="..."
7
+ *
8
+ * Name → id resolves through `GET /playbooks` (the user floor); an ambiguous
9
+ * name is refused with its candidates, never a silent pick. Params are typed
10
+ * against the playbook's DECLARED params. The door itself never refuses a
11
+ * missing required param (headless door: it files an OWED slot for the person),
12
+ * so this command says so up front instead of inventing a stricter rule.
13
+ * `proposed` is SUCCESS (an agent's run is usually a proposal): the review link
14
+ * is printed and the exit is 0. 401/403 and every other non-2xx go through
15
+ * `renderHubError` (the key-state hint pattern) and exit non-zero.
16
+ */
17
+ import { hubGet } from "../lib/hub-client.js";
18
+ import { type BaseOpts } from "./data.js";
19
+ type Json = Record<string, unknown>;
20
+ interface DeclaredParam {
21
+ name: string;
22
+ type?: string;
23
+ options?: unknown[];
24
+ required?: boolean;
25
+ }
26
+ interface PlaybookRow {
27
+ id: string;
28
+ name: string;
29
+ workspaceId?: string | null;
30
+ params?: unknown;
31
+ }
32
+ /** Resolve a name or id to one playbook row. Unknown or ambiguous = refuse. */
33
+ export declare function resolvePlaybook(ref: string, cfg: Parameters<typeof hubGet>[2]): Promise<PlaybookRow>;
34
+ /** `key=value` pairs → params, typed by the playbook's declared params. */
35
+ export declare function typeParams(pairs: string[], decl: DeclaredParam[], playbookName: string): Json;
36
+ export declare function runPlaybook(ref: string, opts: BaseOpts & {
37
+ subject?: string;
38
+ param?: string[];
39
+ reason?: string;
40
+ workspace?: string;
41
+ }): Promise<void>;
42
+ export {};
@@ -0,0 +1,162 @@
1
+ /**
2
+ * `synap playbook run <name|id>` — start a governed process in one step
3
+ * (Hub `POST /api/hub/playbooks/:id/run`, the door MCP `synap_run_playbook`
4
+ * shares via `runPlaybookDoor`).
5
+ *
6
+ * synap playbook run "Design to implementation" --subject <entityId> --param goal="..."
7
+ *
8
+ * Name → id resolves through `GET /playbooks` (the user floor); an ambiguous
9
+ * name is refused with its candidates, never a silent pick. Params are typed
10
+ * against the playbook's DECLARED params. The door itself never refuses a
11
+ * missing required param (headless door: it files an OWED slot for the person),
12
+ * so this command says so up front instead of inventing a stricter rule.
13
+ * `proposed` is SUCCESS (an agent's run is usually a proposal): the review link
14
+ * is printed and the exit is 0. 401/403 and every other non-2xx go through
15
+ * `renderHubError` (the key-state hint pattern) and exit non-zero.
16
+ */
17
+ import chalk from "chalk";
18
+ import { log } from "../utils/logger.js";
19
+ import { resolveHubConfig, hubGet, hubPost, renderHubError, } from "../lib/hub-client.js";
20
+ const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
21
+ /** A refusal: the command's own precondition failed, nothing was sent. */
22
+ class Refusal extends Error {
23
+ }
24
+ function declaredParams(row) {
25
+ return Array.isArray(row.params)
26
+ ? row.params.filter((p) => typeof p === "object" && p !== null && typeof p.name === "string")
27
+ : [];
28
+ }
29
+ function describeParams(decl) {
30
+ return decl
31
+ .map((d) => `${d.name} (${d.type ?? "text"}${d.required ? ", required" : ""})`)
32
+ .join(", ");
33
+ }
34
+ /** Resolve a name or id to one playbook row. Unknown or ambiguous = refuse. */
35
+ export async function resolvePlaybook(ref, cfg) {
36
+ if (UUID_RE.test(ref)) {
37
+ // A 404 is a HubError — renderHubError prints it with the server's message.
38
+ return (await hubGet(`/playbooks/${encodeURIComponent(ref)}`, {}, cfg));
39
+ }
40
+ const wanted = ref.trim().toLowerCase();
41
+ const matches = [];
42
+ let cursor;
43
+ do {
44
+ const page = (await hubGet("/playbooks", { status: "active", limit: 100, cursor }, cfg));
45
+ for (const p of page.playbooks ?? []) {
46
+ if (p.name.trim().toLowerCase() === wanted)
47
+ matches.push(p);
48
+ }
49
+ cursor = page.nextCursor ?? undefined;
50
+ } while (cursor);
51
+ if (matches.length === 0) {
52
+ throw new Refusal(`No active playbook named "${ref}" among the playbooks this key can see. List them with: synap pod`);
53
+ }
54
+ if (matches.length > 1) {
55
+ throw new Refusal(`"${ref}" matches ${matches.length} playbooks — pass the id of one:\n` +
56
+ matches.map((m) => ` ${m.id} ${m.name}${m.workspaceId ? ` (workspace ${m.workspaceId})` : " (pod-wide)"}`).join("\n"));
57
+ }
58
+ return matches[0];
59
+ }
60
+ /** `key=value` pairs → params, typed by the playbook's declared params. */
61
+ export function typeParams(pairs, decl, playbookName) {
62
+ const out = {};
63
+ for (const pair of pairs) {
64
+ const eq = pair.indexOf("=");
65
+ if (eq <= 0)
66
+ throw new Refusal(`Param "${pair}" is not key=value.`);
67
+ const key = pair.slice(0, eq).trim();
68
+ const raw = pair.slice(eq + 1);
69
+ const d = decl.find((x) => x.name === key);
70
+ if (!d) {
71
+ throw new Refusal(decl.length
72
+ ? `"${playbookName}" declares no param "${key}". Declared: ${describeParams(decl)}`
73
+ : `"${playbookName}" declares no params, so --param ${key}=… has nowhere to go.`);
74
+ }
75
+ const type = d.type ?? "text";
76
+ if (type === "number") {
77
+ const n = Number(raw);
78
+ if (raw.trim() === "" || !Number.isFinite(n))
79
+ throw new Refusal(`Param ${key} is a number — got "${raw}".`);
80
+ out[key] = n;
81
+ }
82
+ else if (type === "boolean") {
83
+ if (raw !== "true" && raw !== "false")
84
+ throw new Refusal(`Param ${key} is a boolean — use true or false, got "${raw}".`);
85
+ out[key] = raw === "true";
86
+ }
87
+ else if (type === "entity") {
88
+ if (!UUID_RE.test(raw))
89
+ throw new Refusal(`Param ${key} is an entity — pass its id (uuid), got "${raw}".`);
90
+ out[key] = raw;
91
+ }
92
+ else if (type === "choice") {
93
+ const opts = (d.options ?? []).map((o) => (typeof o === "string" ? o : String(o?.value ?? o?.key ?? o)));
94
+ if (opts.length && !opts.includes(raw))
95
+ throw new Refusal(`Param ${key} must be one of: ${opts.join(", ")} — got "${raw}".`);
96
+ out[key] = raw;
97
+ }
98
+ else {
99
+ out[key] = raw;
100
+ }
101
+ }
102
+ return out;
103
+ }
104
+ export async function runPlaybook(ref, opts) {
105
+ try {
106
+ if (opts.subject && !UUID_RE.test(opts.subject)) {
107
+ throw new Refusal(`--subject must be an entity id (uuid), got "${opts.subject}".`);
108
+ }
109
+ const cfg = await resolveHubConfig(opts);
110
+ const pb = await resolvePlaybook(ref, cfg);
111
+ const decl = declaredParams(pb);
112
+ const params = typeParams(opts.param ?? [], decl, pb.name);
113
+ const missing = decl.filter((d) => d.required && !(d.name in params));
114
+ if (missing.length && !opts.json) {
115
+ log.warn(`Required param(s) not given: ${missing.map((m) => m.name).join(", ")} — the run will ask you for them.`);
116
+ }
117
+ const body = {};
118
+ if (opts.subject)
119
+ body.subjectId = opts.subject;
120
+ if (Object.keys(params).length)
121
+ body.params = params;
122
+ if (opts.reason)
123
+ body.reasoning = opts.reason;
124
+ if (opts.workspace)
125
+ body.workspaceId = opts.workspace;
126
+ const r = (await hubPost(`/playbooks/${encodeURIComponent(pb.id)}/run`, body, cfg));
127
+ if (opts.json)
128
+ console.log(JSON.stringify(r, null, 2));
129
+ if (r.status === "proposed" && typeof r.proposalId === "string") {
130
+ if (!opts.json) {
131
+ log.warn(`Running "${pb.name}" is queued for your review — not started yet.`);
132
+ if (typeof r.reviewUrl === "string")
133
+ log.hint(`Review: ${r.reviewUrl}`);
134
+ log.hint(`Or: synap open proposal ${r.proposalId}`);
135
+ }
136
+ return;
137
+ }
138
+ if (r.status === "blocked" || r.status === "skipped") {
139
+ if (!opts.json) {
140
+ log.error(typeof r.message === "string" ? r.message : `Nothing ran (${String(r.status)}).`);
141
+ }
142
+ process.exit(1);
143
+ return;
144
+ }
145
+ if (!opts.json) {
146
+ const session = r.session;
147
+ log.success(`Started: ${chalk.bold(pb.name)}`);
148
+ if (session?.id)
149
+ log.dim(`Session ${session.id} — follow it: synap session get ${session.id}`);
150
+ }
151
+ }
152
+ catch (e) {
153
+ if (e instanceof Refusal) {
154
+ log.error(e.message);
155
+ }
156
+ else {
157
+ renderHubError(e);
158
+ }
159
+ process.exit(1);
160
+ }
161
+ }
162
+ //# sourceMappingURL=playbook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playbook.js","sourceRoot":"","sources":["../../src/commands/playbook.ts"],"names":[],"mappings":"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"}
@@ -326,7 +326,7 @@ export async function podAdopt(workspaceNameOrId, opts) {
326
326
  }
327
327
  log.info(`Adopting into ${opts.template} — proposed (under review, not live yet).`);
328
328
  if (proposalId)
329
- log.hint(`Approve: synap proposals approve ${proposalId}`);
329
+ log.hint(`Review and approve: synap open proposal ${proposalId}`);
330
330
  return;
331
331
  }
332
332
  const result = res;
@@ -1 +1 @@
1
- {"version":3,"file":"pod.js","sourceRoot":"","sources":["../../src/commands/pod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pod.js","sourceRoot":"","sources":["../../src/commands/pod.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,11 @@
8
8
  */
9
9
  import { type SurfaceName } from "../lib/pod.js";
10
10
  export declare function podsList(): Promise<void>;
11
+ /**
12
+ * `synap login` with no pod saved. Signing in to the Synap account finds the
13
+ * person's pods; adding one by URL stays as the manual way.
14
+ */
15
+ export declare function podsFirstLogin(): Promise<void>;
11
16
  export declare function podsAdd(name?: string, podUrlArg?: string): Promise<void>;
12
17
  export type { SurfaceName };
13
18
  export declare function podsUse(name: string, opts?: {
@@ -14,8 +14,10 @@ import path from "node:path";
14
14
  import os from "node:os";
15
15
  import { log } from "../utils/logger.js";
16
16
  import { checkPodHealth, addPodProfile, setActivePod, setSurfacePod, removePodProfile, listPodProfiles, podNotFoundMessage, SURFACE_NAMES, } from "../lib/pod.js";
17
- import { TARGETS, writeMcpServerEntry, writeClaudeCodeEnv, provisionAgentKey, configureAgentContext, } from "../lib/targets.js";
18
- import { runBrowserAuth } from "../lib/browser-auth.js";
17
+ // Origin comparison — the SAME helper the lens uses to decide whether a stored
18
+ // pod matches the one being addressed. One normalizer, not two.
19
+ import { samePodOrigin } from "../lib/project-ref.js";
20
+ import { TARGETS, writeMcpServerEntry, writeClaudeCodeEnv, } from "../lib/targets.js";
19
21
  import { renderNextSteps, FLOW } from "../lib/next-steps.js";
20
22
  // ─── list ─────────────────────────────────────────────────────────────────────
21
23
  export async function podsList() {
@@ -35,11 +37,69 @@ export async function podsList() {
35
37
  const label = p.config.label ? chalk.dim(` (${p.config.label})`) : "";
36
38
  console.log(` ${chalk.bold(p.name.padEnd(14))}${active} ${health} ${chalk.dim(p.config.podUrl)}${label}`);
37
39
  }
40
+ // ── EFFECTIVE ≠ ACTIVE ────────────────────────────────────────────────────
41
+ // `● active` above is the CONFIGURED profile (`~/.synap/config.json`). It is
42
+ // NOT necessarily the pod commands actually talk to: `resolveHubConfig`'s
43
+ // precedence ladder puts the ambient `SYNAP_POD_URL` / `SYNAP_HUB_API_KEY`
44
+ // ABOVE the active profile, so an inherited env var silently redirects every
45
+ // command while this list still shows the profile as active.
46
+ //
47
+ // That divergence produced a real, expensive confusion: `pods list` said
48
+ // `perso`, every write went to the TEAM pod, and the symptom surfaced far
49
+ // downstream as `403 Access denied to workspace` on a workspace that plainly
50
+ // exists — because it exists on the OTHER pod. Same shape as `gh`, whose docs
51
+ // note `GH_TOKEN` "takes precedence over previously stored credentials".
52
+ //
53
+ // Reporting configured state as though it were effective state is the defect;
54
+ // naming it costs three lines.
55
+ const envPod = process.env.SYNAP_POD_URL?.trim();
56
+ const activeProfile = checks.find((p) => p.active);
57
+ if (envPod && activeProfile && !samePodOrigin(envPod, activeProfile.config.podUrl)) {
58
+ log.blank();
59
+ log.warn(`SYNAP_POD_URL overrides the active profile — commands are talking to ${envPod}, not ${activeProfile.config.podUrl}.`);
60
+ log.dim(" The env var wins over `● active`. Unset it, or run `synap whoami` to see the pod actually in use.");
61
+ }
38
62
  log.blank();
39
63
  log.dim("synap pods use <name> — switch active pod");
40
64
  log.dim("synap pods add [name] — connect another pod");
41
65
  log.dim("synap pods update <name> <url> — change a pod's URL (e.g. after a domain move)");
42
66
  }
67
+ // ─── first login ──────────────────────────────────────────────────────────────
68
+ /**
69
+ * `synap login` with no pod saved. Signing in to the Synap account finds the
70
+ * person's pods; adding one by URL stays as the manual way.
71
+ */
72
+ export async function podsFirstLogin() {
73
+ log.info("No pod saved yet.");
74
+ const { how } = await prompts({
75
+ type: "select",
76
+ name: "how",
77
+ message: "Connect your pod:",
78
+ choices: [
79
+ { title: "Sign in to Synap (recommended)", description: "Finds your pods for you", value: "signin" },
80
+ { title: "Add a pod by URL instead", description: "Self-hosted, or not on your account", value: "url" },
81
+ ],
82
+ });
83
+ if (!how)
84
+ return;
85
+ if (how === "signin") {
86
+ const { signInAndSavePod } = await import("./init.js");
87
+ const podUrl = await signInAndSavePod();
88
+ if (podUrl) {
89
+ log.success(`Pod saved: ${podUrl}`);
90
+ return;
91
+ }
92
+ const { byUrl } = await prompts({
93
+ type: "confirm",
94
+ name: "byUrl",
95
+ message: "Add a pod by URL instead?",
96
+ initial: true,
97
+ });
98
+ if (!byUrl)
99
+ return;
100
+ }
101
+ await podsAdd();
102
+ }
43
103
  // ─── add ──────────────────────────────────────────────────────────────────────
44
104
  export async function podsAdd(name, podUrlArg) {
45
105
  // Resolve profile name
@@ -86,82 +146,42 @@ export async function podsAdd(name, podUrlArg) {
86
146
  name: "method",
87
147
  message: "Authentication:",
88
148
  choices: [
89
- { title: "Open browser to approve (recommended)", value: "browser" },
149
+ { title: "Connect this computer (recommended)", description: "A link and a code to approve from any device", value: "device" },
90
150
  { title: "Paste existing API key", value: "paste" },
91
- { title: "Generate via PROVISIONING_TOKEN (self-hosted admin)", value: "provisioning" },
92
151
  ],
93
152
  });
94
153
  if (!method)
95
154
  return;
96
155
  let apiKey;
97
- let workspaceId;
98
- let agentUserId;
99
156
  const podUrl = url;
100
- if (method === "browser") {
101
- const browserSpinner = ora("Opening browser to approve...").start();
102
- try {
103
- const result = await runBrowserAuth({
104
- podUrl,
105
- integration: "cli",
106
- onUrlReady: (authUrl) => {
107
- browserSpinner.stop();
108
- log.info(`Opening ${chalk.cyan(authUrl)}`);
109
- log.dim("Sign in and click Generate & connect.");
110
- },
111
- });
112
- apiKey = result.apiKey;
113
- workspaceId = result.workspaceId;
114
- }
115
- catch (err) {
116
- browserSpinner.stop();
117
- log.error(err instanceof Error ? err.message : "Browser flow failed");
157
+ if (method === "device") {
158
+ // The pod's device flow: this computer's own key, saved under this profile,
159
+ // and each approved agent's key written into its config.
160
+ const { connectThisComputer } = await import("../lib/device-connect.js");
161
+ const saved = await connectThisComputer(podUrl, { name: profileName });
162
+ if (!saved)
118
163
  return;
119
- }
164
+ if (label)
165
+ addPodProfile(profileName, { ...saved, label: label });
166
+ log.blank();
167
+ log.success(`Pod '${profileName}' saved.`);
168
+ log.dim(`Run: synap pods use ${profileName} — to make it active`);
169
+ return;
120
170
  }
121
171
  else if (method === "paste") {
122
172
  const { key } = await prompts({ type: "password", name: "key", message: "Hub Protocol API key:" });
123
173
  apiKey = key;
124
174
  }
125
- else if (method === "provisioning") {
126
- const { token } = await prompts({ type: "password", name: "token", message: "PROVISIONING_TOKEN:" });
127
- if (!token)
128
- return;
129
- const genSpinner = ora("Creating agent credentials...").start();
130
- try {
131
- // Agents are pod-wide singletons now — no per-agent workspaceId comes back
132
- // from setup (the old setupAgent() never passed one either, so this was
133
- // already always null/"" in practice). Provision via the shared wrapper.
134
- // No enrollAgentIfNeeded here: a PROVISIONING_TOKEN isn't a Hub Protocol
135
- // API key, so it can't authorize /workspaces/enroll-agent (hub-protocol.write
136
- // scope) — same as before this consolidation.
137
- const result = await provisionAgentKey(podUrl, token, "cli");
138
- apiKey = result.hubApiKey;
139
- agentUserId = result.agentUserId;
140
- genSpinner.succeed("Credentials created");
141
- }
142
- catch (err) {
143
- genSpinner.fail(err instanceof Error ? err.message : "Failed");
144
- return;
145
- }
146
- }
147
175
  if (!apiKey)
148
176
  return;
149
177
  addPodProfile(profileName, {
150
178
  podUrl,
151
- workspaceId: workspaceId ?? "",
152
- agentUserId: agentUserId ?? "",
179
+ workspaceId: "",
180
+ agentUserId: "",
153
181
  hubApiKey: apiKey,
154
182
  label: label || undefined,
155
183
  savedAt: new Date().toISOString(),
156
184
  });
157
- if (agentUserId) {
158
- try {
159
- await configureAgentContext(podUrl, apiKey, "cli", agentUserId);
160
- }
161
- catch (err) {
162
- log.warn(`Agent context wizard failed: ${err instanceof Error ? err.message : String(err)}`);
163
- }
164
- }
165
185
  log.blank();
166
186
  log.success(`Pod '${profileName}' saved.`);
167
187
  log.dim(`Run: synap pods use ${profileName} — to make it active`);
@@ -443,41 +463,16 @@ export async function podsReconnect(name) {
443
463
  return;
444
464
  }
445
465
  spinner.succeed("Pod is reachable");
446
- let apiKey;
447
- let workspaceId;
448
- const browserSpinner = ora("Opening browser to approve new credentials...").start();
449
- try {
450
- const result = await runBrowserAuth({
451
- podUrl,
452
- integration: "cli",
453
- onUrlReady: (authUrl) => {
454
- browserSpinner.stop();
455
- log.info(`Opening ${chalk.cyan(authUrl)}`);
456
- log.dim("Sign in and click Generate & connect.");
457
- },
458
- });
459
- apiKey = result.apiKey;
460
- workspaceId = result.workspaceId;
461
- }
462
- catch (err) {
463
- browserSpinner.stop();
464
- log.error(err instanceof Error ? err.message : "Browser flow failed");
465
- return;
466
- }
467
- if (!apiKey) {
468
- log.error("No API key received. Reconnect cancelled.");
466
+ // The pod's device flow. A reconnect from the same computer is offered the
467
+ // existing computer on the approval page (its agents, history and rules kept);
468
+ // the approved agents' configs are rewritten with their new keys.
469
+ const { connectThisComputer } = await import("../lib/device-connect.js");
470
+ const saved = await connectThisComputer(podUrl, { name: targetName });
471
+ if (!saved) {
472
+ log.error("Reconnect cancelled. The saved profile is unchanged.");
469
473
  return;
470
474
  }
471
- // Update the saved profile in place — preserve everything except credentials
472
- addPodProfile(targetName, {
473
- ...profile.config,
474
- hubApiKey: apiKey,
475
- ...(workspaceId ? { workspaceId } : {}),
476
- savedAt: new Date().toISOString(),
477
- });
478
475
  log.success(`Pod '${targetName}' credentials refreshed.`);
479
- // Propagate the new key to connected surfaces (same as podsUse)
480
- await podsUse(targetName);
481
476
  }
482
477
  // ─── update (change URL in place) ─────────────────────────────────────────────
483
478
  /**
@@ -560,10 +555,9 @@ export async function podsUpdate(name, newUrlArg, opts = {}) {
560
555
  }
561
556
  spinner.succeed(`Pod healthy at ${newUrl}${health.version ? ` (v${health.version})` : ""}`);
562
557
  // 2) Does the EXISTING key still authenticate against the (possibly new) host?
563
- let apiKey = profile.config.hubApiKey;
564
- let workspaceId;
558
+ let config = profile.config;
565
559
  const keySpinner = ora("Verifying existing API key…").start();
566
- const verdict = await verifyKeyAgainstPod(newUrl, apiKey);
560
+ const verdict = await verifyKeyAgainstPod(newUrl, config.hubApiKey);
567
561
  if (verdict === "valid") {
568
562
  keySpinner.succeed("Existing key still valid — no recreate needed.");
569
563
  }
@@ -582,42 +576,29 @@ export async function podsUpdate(name, newUrlArg, opts = {}) {
582
576
  const { recreate } = await prompts({
583
577
  type: "confirm",
584
578
  name: "recreate",
585
- message: "Recreate the key now via browser sign-in?",
579
+ message: "Connect this computer to the pod again now?",
586
580
  initial: true,
587
581
  });
588
582
  if (!recreate) {
589
583
  log.warn(`URL not updated (old profile kept). Re-run when ready, or: synap pods reconnect ${name}`);
590
584
  return;
591
585
  }
592
- const browserSpinner = ora("Opening browser to approve new credentials…").start();
593
- try {
594
- const result = await runBrowserAuth({
595
- podUrl: newUrl,
596
- integration: "cli",
597
- onUrlReady: (authUrl) => {
598
- browserSpinner.stop();
599
- log.info(`Opening ${chalk.cyan(authUrl)}`);
600
- log.dim("Sign in and click Generate & connect.");
601
- },
602
- });
603
- apiKey = result.apiKey;
604
- workspaceId = result.workspaceId;
605
- log.success("New key issued.");
606
- }
607
- catch (err) {
608
- browserSpinner.stop();
609
- log.error(err instanceof Error ? err.message : "Browser flow failed");
586
+ // The pod's device flow — the same door as `synap pods reconnect`. It saves
587
+ // the computer's new key under this profile (at the new URL) itself.
588
+ const { connectThisComputer } = await import("../lib/device-connect.js");
589
+ const saved = await connectThisComputer(newUrl, { name });
590
+ if (!saved) {
610
591
  log.warn("URL not updated (old profile kept). Re-run when ready.");
611
592
  return;
612
593
  }
594
+ config = saved;
595
+ log.success("New key issued.");
613
596
  }
614
- // 3) Persist in place — preserve everything except the URL (and key/workspace
615
- // if it was recreated).
597
+ // 3) Persist in place — preserve everything except the URL (and the
598
+ // credential, when it was recreated).
616
599
  addPodProfile(name, {
617
- ...profile.config,
600
+ ...config,
618
601
  podUrl: newUrl,
619
- hubApiKey: apiKey,
620
- ...(workspaceId ? { workspaceId } : {}),
621
602
  savedAt: new Date().toISOString(),
622
603
  });
623
604
  log.success(`Pod '${name}' updated → ${newUrl}`);