@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":"centrality.js","sourceRoot":"","sources":["../../src/commands/centrality.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"centrality.js","sourceRoot":"","sources":["../../src/commands/centrality.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,55 @@
1
1
  /**
2
- * synap connect
2
+ * synap connect [thing]
3
3
  *
4
- * Wire an AI surface to a configured Synap pod. Credentials come from stored
5
- * pod profiles (synap pods add) — no re-authentication needed.
4
+ * The umbrella for "plug something into my pod". It owns no logic of its own:
5
+ * an agent goes through `synap agents add` (lib/agent-door.ts), a tool or
6
+ * account through `synap cap connect`.
6
7
  *
7
8
  * Usage:
8
- * synap connect (interactive: pick surface + pod)
9
- * synap connect --target=claude-code
10
- * synap connect --target=claude-desktop
11
- * synap connect --target=cursor
12
- * synap connect --target=raycast
13
- * synap connect --target=openclaw
14
- * synap connect --target=claude-code --name=team (use specific pod profile)
9
+ * synap connect (interactive: an AI agent, or a tool/account?)
10
+ * synap connect cursor (a client → synap agents add cursor)
11
+ * synap connect gmail (anything else → synap cap connect gmail)
12
+ * synap connect gmail --tool (force the tool reading when a name is both)
13
+ * synap connect claude-code --project <id> (scope; default pod-wide)
14
+ * synap connect --target=raycast --with-mcp (legacy flag, still accepted)
15
15
  *
16
16
  * Escape hatch for scripting:
17
- * synap connect --pod-url <url> --api-key <key> (bypass stored profiles)
17
+ * synap connect cursor --pod-url <url> --api-key <key>
18
18
  */
19
+ import { type TargetName } from "../lib/targets.js";
19
20
  interface ConnectOptions {
20
21
  podUrl?: string;
21
22
  apiKey?: string;
23
+ /** Legacy spelling of the positional. */
22
24
  target?: string;
23
25
  list?: boolean;
26
+ /** Pod profile to use. */
24
27
  name?: string;
25
- manualKey?: boolean;
28
+ /** Force the tool reading of a name that is also an agent client. */
29
+ tool?: boolean;
30
+ workspace?: string;
31
+ project?: string;
32
+ /** Legacy spellings of --workspace / --project. */
26
33
  pinWorkspace?: string;
27
34
  pinProject?: string;
35
+ /** Raycast only: also install the full mcp-remote MCP server. */
36
+ withMcp?: boolean;
28
37
  }
29
- export declare function connect(opts: ConnectOptions): Promise<void>;
38
+ export type ConnectRoute = {
39
+ kind: "agent";
40
+ target: TargetName;
41
+ } | {
42
+ kind: "tool";
43
+ name?: string;
44
+ } | {
45
+ kind: "pick";
46
+ };
47
+ /**
48
+ * A known agent client wins a name; everything else is a tool. `--tool`
49
+ * forces the tool reading (and, with no name, opens the tool picker).
50
+ */
51
+ export declare function routeConnect(thing: string | undefined, opts?: {
52
+ tool?: boolean;
53
+ }): ConnectRoute;
54
+ export declare function connect(thing: string | undefined, opts?: ConnectOptions): Promise<void>;
30
55
  export {};
@@ -1,189 +1,90 @@
1
1
  /**
2
- * synap connect
2
+ * synap connect [thing]
3
3
  *
4
- * Wire an AI surface to a configured Synap pod. Credentials come from stored
5
- * pod profiles (synap pods add) — no re-authentication needed.
4
+ * The umbrella for "plug something into my pod". It owns no logic of its own:
5
+ * an agent goes through `synap agents add` (lib/agent-door.ts), a tool or
6
+ * account through `synap cap connect`.
6
7
  *
7
8
  * Usage:
8
- * synap connect (interactive: pick surface + pod)
9
- * synap connect --target=claude-code
10
- * synap connect --target=claude-desktop
11
- * synap connect --target=cursor
12
- * synap connect --target=raycast
13
- * synap connect --target=openclaw
14
- * synap connect --target=claude-code --name=team (use specific pod profile)
9
+ * synap connect (interactive: an AI agent, or a tool/account?)
10
+ * synap connect cursor (a client → synap agents add cursor)
11
+ * synap connect gmail (anything else → synap cap connect gmail)
12
+ * synap connect gmail --tool (force the tool reading when a name is both)
13
+ * synap connect claude-code --project <id> (scope; default pod-wide)
14
+ * synap connect --target=raycast --with-mcp (legacy flag, still accepted)
15
15
  *
16
16
  * Escape hatch for scripting:
17
- * synap connect --pod-url <url> --api-key <key> (bypass stored profiles)
17
+ * synap connect cursor --pod-url <url> --api-key <key>
18
18
  */
19
19
  import prompts from "prompts";
20
- import ora from "ora";
21
- import chalk from "chalk";
22
20
  import { log, banner } from "../utils/logger.js";
23
- import { checkPodHealth, listPodProfiles, podNotFoundMessage } from "../lib/pod.js";
24
- import { installForTarget, isTargetName, listTargets, TARGETS, } from "../lib/targets.js";
25
- import { podsAdd } from "./pods.js";
26
- export async function connect(opts) {
21
+ import { isTargetName, listTargets } from "../lib/targets.js";
22
+ import { connectKnownAgent, resolveAgentPod } from "../lib/agent-door.js";
23
+ /**
24
+ * A known agent client wins a name; everything else is a tool. `--tool`
25
+ * forces the tool reading (and, with no name, opens the tool picker).
26
+ */
27
+ export function routeConnect(thing, opts = {}) {
28
+ const t = thing?.trim() || undefined;
29
+ if (opts.tool)
30
+ return { kind: "tool", name: t };
31
+ if (!t)
32
+ return { kind: "pick" };
33
+ if (isTargetName(t))
34
+ return { kind: "agent", target: t };
35
+ return { kind: "tool", name: t };
36
+ }
37
+ export async function connect(thing, opts = {}) {
27
38
  banner();
28
39
  if (opts.list) {
40
+ log.heading("Agents");
29
41
  listTargets();
42
+ log.dim("Any other agent: synap agents add --name <name> (prints a URL + key to paste)");
43
+ log.heading("Tools & accounts");
44
+ log.dim("synap connect --tool lists the services this pod can connect");
30
45
  return;
31
46
  }
32
- // ── Step 1: Pod (data source) ───────────────────────────────────────────
33
- // Resolve pod first — the surface config depends on which pod to point at.
34
- let podUrl = opts.podUrl;
35
- let apiKey = opts.apiKey;
36
- let workspaceId;
37
- let agentUserId;
38
- if (!podUrl || !apiKey) {
39
- const resolved = await resolvePodFromProfiles(opts.name);
40
- if (!resolved)
47
+ const scope = {
48
+ workspaceId: opts.workspace ?? opts.pinWorkspace,
49
+ projectId: opts.project ?? opts.pinProject,
50
+ };
51
+ let route = routeConnect(thing ?? opts.target, { tool: opts.tool });
52
+ if (route.kind === "pick") {
53
+ if (!process.stdin.isTTY) {
54
+ log.error("Say what to connect: synap connect <client|tool> (synap connect --list)");
55
+ process.exitCode = 1;
41
56
  return;
42
- podUrl = resolved.podUrl;
43
- apiKey = resolved.hubApiKey;
44
- workspaceId = resolved.workspaceId || undefined;
45
- agentUserId = resolved.agentUserId || undefined;
46
- }
47
- // ── Step 2: Health check ────────────────────────────────────────────────
48
- const spinner = ora("Checking pod health...").start();
49
- const health = await checkPodHealth(podUrl);
50
- if (!health.healthy) {
51
- spinner.fail(`Pod not reachable at ${podUrl}`);
52
- return;
53
- }
54
- spinner.succeed(`Pod healthy at ${podUrl}`);
55
- // ── Step 3: Target (AI surface) ─────────────────────────────────────────
56
- const target = await resolveTarget(opts.target);
57
- if (!target)
58
- return;
59
- // ── Step 4: Install ─────────────────────────────────────────────────────
60
- log.heading(`Connecting ${TARGETS[target].label} → ${podUrl}`);
61
- // Default pod-wide: a workspace is a lens, not a container — don't weld the
62
- // profile's workspace into the connection. Pin only when explicitly asked
63
- // (`--pin-workspace` / `--pin-project`, composable). With no pin, the agent
64
- // is enrolled across ALL the user's workspaces and scopes consciously per call.
65
- void workspaceId; // profile default no longer scopes the connection
66
- const ok = await installForTarget(target, {
67
- podUrl,
68
- apiKey,
69
- workspaceId: opts.pinWorkspace,
70
- projectId: opts.pinProject,
71
- agentUserId,
72
- });
73
- log.blank();
74
- if (ok) {
75
- log.success(`${TARGETS[target].label} connected to ${podUrl}`);
76
- // For MCP targets, surface the provider pull option — lets users get real
77
- // AI provider credentials from the pod vault into their local tool config.
78
- if (TARGETS[target].supports.mcp) {
79
- log.blank();
80
- log.dim("To also configure an AI provider (opencode, aider, etc.) from the pod:");
81
- log.dim(" synap providers pull");
82
57
  }
83
- log.dim("Run 'synap connections' to see all surface connections.");
84
- }
85
- else {
86
- log.warn(`${TARGETS[target].label} install did not complete — see above.`);
87
- }
88
- }
89
- // ─── Helpers ─────────────────────────────────────────────────────────────────
90
- async function resolvePodFromProfiles(preferredName) {
91
- let profiles = listPodProfiles();
92
- // No pods yet — offer to add one inline instead of dead-ending
93
- if (profiles.length === 0) {
94
- log.blank();
95
- log.info("No pods configured yet.");
96
- const { shouldAdd } = await prompts({
97
- type: "confirm",
98
- name: "shouldAdd",
99
- message: "Add a pod now?",
100
- initial: true,
58
+ const { what } = await prompts({
59
+ type: "select",
60
+ name: "what",
61
+ message: "What are you connecting?",
62
+ choices: [
63
+ { title: "An AI agent", description: "Claude Code, Cursor, Codex, … or your own", value: "agent" },
64
+ { title: "A tool or account", description: "Gmail, GitHub, Notion, …", value: "tool" },
65
+ ],
101
66
  });
102
- if (!shouldAdd)
103
- return null;
104
- log.blank();
105
- await podsAdd();
106
- profiles = listPodProfiles();
107
- if (profiles.length === 0)
108
- return null; // user bailed out of add flow
109
- }
110
- // --name flag: use that profile directly
111
- if (preferredName) {
112
- const match = profiles.find((p) => p.name === preferredName);
113
- if (!match) {
114
- log.error(podNotFoundMessage(preferredName));
115
- return null;
116
- }
117
- log.info(`Using pod: ${chalk.bold(match.name)} ${chalk.dim(match.config.podUrl)}`);
118
- return match.config;
119
- }
120
- // Single profile: show it so the user knows what they're connecting to
121
- if (profiles.length === 1) {
122
- const p = profiles[0];
123
- log.info(`Pod: ${chalk.bold(p.name)} ${chalk.dim(p.config.podUrl)}`);
124
- return p.config;
125
- }
126
- // Multiple profiles: let user pick
127
- const active = profiles.find((p) => p.active);
128
- const { profileName } = await prompts({
129
- type: "select",
130
- name: "profileName",
131
- message: "Which pod?",
132
- choices: [
133
- ...profiles.map((p) => ({
134
- title: `${chalk.bold(p.name)}${p.active ? chalk.green(" ← active") : ""} ${chalk.dim(p.config.podUrl)}`,
135
- value: p.name,
136
- })),
137
- { title: chalk.dim("Add a new pod…"), value: "__add__" },
138
- ],
139
- initial: active ? profiles.indexOf(active) : 0,
140
- });
141
- if (!profileName)
142
- return null;
143
- if (profileName === "__add__") {
144
- log.blank();
145
- await podsAdd();
146
- const updated = listPodProfiles();
147
- // Return the most recently added profile (last in list)
148
- const newest = updated.filter((p) => !profiles.some((o) => o.name === p.name));
149
- if (newest.length > 0) {
150
- log.info(`Using pod: ${chalk.bold(newest[0].name)} ${chalk.dim(newest[0].config.podUrl)}`);
151
- return newest[0].config;
67
+ if (!what)
68
+ return;
69
+ if (what === "agent") {
70
+ const { agentsAdd } = await import("./agents.js");
71
+ await agentsAdd(undefined, { workspace: scope.workspaceId, project: scope.projectId });
72
+ return;
152
73
  }
153
- return null;
74
+ route = { kind: "tool" };
154
75
  }
155
- return profiles.find((p) => p.name === profileName).config;
156
- }
157
- async function resolveTarget(raw) {
158
- if (raw) {
159
- if (!isTargetName(raw)) {
160
- log.error(`Unknown target: ${raw}`);
161
- log.dim("Run `synap connect --list` to see supported targets.");
162
- return null;
163
- }
164
- return raw;
76
+ if (route.kind === "tool") {
77
+ if (scope.projectId)
78
+ log.warn("--project doesn't apply to a tool connection; ignored.");
79
+ const { capabilityConnect } = await import("./capability.js");
80
+ await capabilityConnect(route.name, { workspace: scope.workspaceId });
81
+ return;
165
82
  }
166
- const { target } = await prompts({
167
- type: "select",
168
- name: "target",
169
- message: "Which AI surface are you connecting?",
170
- choices: Object.values(TARGETS).map((t) => ({
171
- title: `${t.label}${describeCaps(t.supports)}`,
172
- value: t.name,
173
- })),
174
- });
175
- if (!target || !isTargetName(target))
176
- return null;
177
- return target;
178
- }
179
- function describeCaps(supports) {
180
- const parts = [];
181
- if (supports.skills)
182
- parts.push("skills");
183
- if (supports.mcp)
184
- parts.push("MCP");
185
- return parts.length ? ` ${chalk.dim(`(${parts.join(" + ")})`)}` : "";
83
+ const pod = await resolveAgentPod({ podUrl: opts.podUrl, apiKey: opts.apiKey, profileName: opts.name });
84
+ if (!pod)
85
+ return;
86
+ const ok = await connectKnownAgent(route.target, pod, scope, { withMcp: opts.withMcp });
87
+ if (!ok)
88
+ process.exitCode = 1;
186
89
  }
187
- // (detectAndSaveAgentWorkspaceRouting removed — agents are pod-wide now; there
188
- // is no "memory workspace" to auto-detect and pin. Memory is automatic.)
189
90
  //# sourceMappingURL=connect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAmB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AA0B1E;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAAyB,EAAE,OAA2B,EAAE;IACnF,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IACrC,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAChD,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAChC,IAAI,YAAY,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACzD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAyB,EAAE,OAAuB,EAAE;IAChF,MAAM,EAAE,CAAC;IAET,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtB,WAAW,EAAE,CAAC;QACd,GAAG,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAC1F,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAChC,GAAG,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,WAAW,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY;QAChD,SAAS,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU;KAC3C,CAAC;IACF,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAEpE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YACtF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC;YAC7B,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,2CAA2C,EAAE,KAAK,EAAE,OAAO,EAAE;gBAClG,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE;aACvF;SACF,CAAC,CAAC;QACH,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QACD,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACxF,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC9D,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACxG,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AAChC,CAAC"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * synap connections
3
3
  *
4
- * Show which Synap pod each agent surface is currently pointing at,
5
- * and which stored profile it matches.
4
+ * Everything plugged into your pods, in two sections:
5
+ * Agents — which pod each agent client points at, and which profile it matches.
6
+ * Tools — which services (Gmail, GitHub, …) the active pod has connected.
6
7
  *
7
8
  * synap connections
8
9
  */
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * synap connections
3
3
  *
4
- * Show which Synap pod each agent surface is currently pointing at,
5
- * and which stored profile it matches.
4
+ * Everything plugged into your pods, in two sections:
5
+ * Agents — which pod each agent client points at, and which profile it matches.
6
+ * Tools — which services (Gmail, GitHub, …) the active pod has connected.
6
7
  *
7
8
  * synap connections
8
9
  */
@@ -13,6 +14,7 @@ import os from "node:os";
13
14
  import { log } from "../utils/logger.js";
14
15
  import { listPodProfiles } from "../lib/pod.js";
15
16
  import { TARGETS } from "../lib/targets.js";
17
+ import { hubGet, resolveHubConfig } from "../lib/hub-client.js";
16
18
  export async function connections() {
17
19
  const profiles = listPodProfiles();
18
20
  // URL → profile name lookup (normalise trailing slash)
@@ -25,37 +27,71 @@ export async function connections() {
25
27
  detectClaudeDesktop(urlToProfile),
26
28
  detectCursor(urlToProfile),
27
29
  detectRaycast(urlToProfile),
30
+ detectGrok(urlToProfile),
28
31
  ];
29
32
  const configured = surfaces.filter((s) => s.configured);
30
33
  const unconfigured = surfaces.filter((s) => !s.configured);
31
- log.heading("Agent surface connections");
32
- if (configured.length === 0 && unconfigured.length === surfaces.length) {
33
- log.dim("No surfaces connected yet.");
34
- log.blank();
35
- log.info("Connect a surface: synap connect");
36
- return;
34
+ log.heading("Agents");
35
+ if (configured.length === 0) {
36
+ log.dim(" No agent connected yet.");
37
37
  }
38
- // Widths for alignment
39
- const labelW = Math.max(...surfaces.map((s) => s.label.length)) + 2;
40
- const profileW = Math.max(10, ...configured.map((s) => (s.profile ?? "(unknown)").length)) + 2;
41
- for (const s of configured) {
42
- const icon = s.profile ? chalk.green("●") : chalk.yellow("●");
43
- const label = s.label.padEnd(labelW);
44
- const profileStr = s.profile
45
- ? chalk.bold(s.profile.padEnd(profileW))
46
- : chalk.yellow("(unknown pod)".padEnd(profileW));
47
- const url = chalk.dim(s.podUrl ?? "");
48
- console.log(` ${icon} ${label} ${profileStr} ${url}`);
49
- }
50
- for (const s of unconfigured) {
51
- console.log(` ${chalk.dim("○")} ${chalk.dim(s.label.padEnd(labelW))} ${chalk.dim("not configured")}`);
38
+ else {
39
+ // Widths for alignment
40
+ const labelW = Math.max(...surfaces.map((s) => s.label.length)) + 2;
41
+ const profileW = Math.max(10, ...configured.map((s) => (s.profile ?? "(unknown)").length)) + 2;
42
+ for (const s of configured) {
43
+ const icon = s.profile ? chalk.green("●") : chalk.yellow("●");
44
+ const label = s.label.padEnd(labelW);
45
+ const profileStr = s.profile
46
+ ? chalk.bold(s.profile.padEnd(profileW))
47
+ : chalk.yellow("(unknown pod)".padEnd(profileW));
48
+ const url = chalk.dim(s.podUrl ?? "");
49
+ console.log(` ${icon} ${label} ${profileStr} ${url}`);
50
+ }
51
+ for (const s of unconfigured) {
52
+ console.log(` ${chalk.dim("○")} ${chalk.dim(s.label.padEnd(labelW))} ${chalk.dim("not configured")}`);
53
+ }
52
54
  }
55
+ if (profiles.length > 0)
56
+ await printTools();
53
57
  log.blank();
54
58
  if (profiles.length > 1) {
55
- log.dim("synap pods use <name> — switch ALL surfaces to a pod");
59
+ log.dim("synap pods use <name> — switch ALL agents to a pod");
60
+ }
61
+ log.dim("synap connect — connect an agent or a tool");
62
+ log.dim("synap agents list — every agent on the pod, not only this machine's");
63
+ }
64
+ /**
65
+ * The active pod's connected services. A failed read says so — it must never
66
+ * render as "none connected".
67
+ */
68
+ async function printTools() {
69
+ log.heading("Tools & accounts");
70
+ let res;
71
+ try {
72
+ const cfg = await resolveHubConfig();
73
+ res = (await hubGet("/connectors/providers", {}, cfg));
74
+ }
75
+ catch (err) {
76
+ log.warn(` Couldn't check tools: ${err instanceof Error ? err.message : String(err)}`);
77
+ return;
78
+ }
79
+ if (res.nangoStatus === "error") {
80
+ log.warn(` Couldn't check tools (${res.nangoError?.reason ?? "unknown"}) — state unknown.`);
81
+ return;
82
+ }
83
+ const providers = res.providers ?? [];
84
+ const connected = providers.filter((p) => p.connected);
85
+ if (connected.length === 0) {
86
+ log.dim(" None connected yet.");
87
+ }
88
+ else {
89
+ for (const p of connected)
90
+ console.log(` ${chalk.green("●")} ${p.displayName ?? p.provider}`);
56
91
  }
57
- log.dim("synap connect — wire a surface to a specific pod");
58
- log.dim("synap pods list — show configured pods");
92
+ const available = providers.length - connected.length;
93
+ if (available > 0)
94
+ log.dim(` ${available} more available — synap connect --tool`);
59
95
  }
60
96
  // ─── Surface detectors ────────────────────────────────────────────────────────
61
97
  function detectClaudeCode(urlToProfile) {
@@ -117,6 +153,40 @@ function detectCursor(urlToProfile) {
117
153
  return { label: "Cursor", configured: false, configPath };
118
154
  }
119
155
  }
156
+ /** Detect Grok Build MCP: any [mcp_servers.synap*] with a /mcp URL in ~/.grok/config.toml */
157
+ function detectGrok(urlToProfile) {
158
+ const configPath = path.join(os.homedir(), ".grok", "config.toml");
159
+ try {
160
+ if (!fs.existsSync(configPath)) {
161
+ return { label: "Grok", configured: false, configPath };
162
+ }
163
+ const text = fs.readFileSync(configPath, "utf-8");
164
+ // Match [mcp_servers.synap...] blocks and their url =
165
+ const blockRe = /\[mcp_servers\.(synap[^\]]*)\][\s\S]*?url\s*=\s*"([^"]+)"/g;
166
+ let match;
167
+ const urls = [];
168
+ while ((match = blockRe.exec(text)) !== null) {
169
+ urls.push(match[2].replace(/\/mcp\/?$/, ""));
170
+ }
171
+ if (urls.length === 0) {
172
+ return { label: "Grok", configured: false, configPath };
173
+ }
174
+ // Prefer first; multi-pod shows primary + count in label
175
+ const podUrl = urls[0];
176
+ const profile = urlToProfile[podUrl.replace(/\/$/, "")];
177
+ const label = urls.length > 1 ? `Grok (${urls.length} pods)` : "Grok";
178
+ return {
179
+ label,
180
+ configured: true,
181
+ podUrl,
182
+ profile,
183
+ configPath,
184
+ };
185
+ }
186
+ catch {
187
+ return { label: "Grok", configured: false, configPath };
188
+ }
189
+ }
120
190
  // Raycast reads ~/.synap/config.json directly. It can have a per-surface pod
121
191
  // override (surfaces.raycast); falls back to activePod if not set.
122
192
  function detectRaycast(urlToProfile) {
@@ -1 +1 @@
1
- {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/commands/connections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/commands/connections.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ import { log } from "../utils/logger.js";
16
16
  import { resolveHubConfig, hubGet } from "../lib/hub-client.js";
17
17
  import { unwrapList } from "../lib/unwrapList.js";
18
18
  import { getAgentWorkspaceRouting } from "../lib/pod.js";
19
+ import { sessionKindLabel, resolveSessionTitle } from "./sessions.js";
19
20
  async function fetchEntities(cfg, params, workspaceId) {
20
21
  try {
21
22
  if (workspaceId)
@@ -135,9 +136,14 @@ export async function contextSummary(opts) {
135
136
  else {
136
137
  for (const s of sessions) {
137
138
  const progress = typeof s.progress === "number" ? ` ${chalk.dim(`[${s.progress}%]`)}` : "";
139
+ // `kind` is projected on every row by the Hub REST list door — before
140
+ // this, a run or receipt printed here indistinguishable from a
141
+ // person's own work (same audit finding as `synap session list`).
142
+ const kindLabel = typeof s.kind === "string" ? sessionKindLabel(s.kind) : null;
143
+ const kindCol = kindLabel ? ` ${chalk.dim(`[${kindLabel}]`)}` : "";
138
144
  // Full id — feeds straight into `synap session update/attach <id>`.
139
145
  const id = String(s.id ?? "");
140
- console.log(`- ${chalk.cyan(id)}${progress} ${String(s.goal ?? "")}`);
146
+ console.log(`- ${chalk.cyan(id)}${kindCol}${progress} ${resolveSessionTitle(s)}`);
141
147
  }
142
148
  }
143
149
  console.log("");