@synap-core/cli 1.7.0 → 1.10.0

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 (371) hide show
  1. package/dist/commands/agent-chat.d.ts +47 -0
  2. package/dist/commands/agent-chat.js +250 -0
  3. package/dist/commands/agent-chat.js.map +1 -0
  4. package/dist/commands/agent-run.d.ts +47 -0
  5. package/dist/commands/agent-run.js +301 -0
  6. package/dist/commands/agent-run.js.map +1 -0
  7. package/dist/commands/agents.js +85 -46
  8. package/dist/commands/agents.js.map +1 -1
  9. package/dist/commands/artifact.d.ts +26 -0
  10. package/dist/commands/artifact.js +76 -0
  11. package/dist/commands/artifact.js.map +1 -0
  12. package/dist/commands/automation.d.ts +47 -0
  13. package/dist/commands/automation.js +601 -0
  14. package/dist/commands/automation.js.map +1 -0
  15. package/dist/commands/bridge-setup.d.ts +66 -0
  16. package/dist/commands/bridge-setup.js +1112 -0
  17. package/dist/commands/bridge-setup.js.map +1 -0
  18. package/dist/commands/cap-connections.d.ts +28 -0
  19. package/dist/commands/cap-connections.js +224 -0
  20. package/dist/commands/cap-connections.js.map +1 -0
  21. package/dist/commands/capability.d.ts +89 -0
  22. package/dist/commands/capability.js +1523 -0
  23. package/dist/commands/capability.js.map +1 -0
  24. package/dist/commands/cell.d.ts +55 -0
  25. package/dist/commands/cell.js +277 -0
  26. package/dist/commands/cell.js.map +1 -0
  27. package/dist/commands/centrality.d.ts +20 -0
  28. package/dist/commands/centrality.js +94 -0
  29. package/dist/commands/centrality.js.map +1 -0
  30. package/dist/commands/connect.d.ts +2 -0
  31. package/dist/commands/connect.js +25 -10
  32. package/dist/commands/connect.js.map +1 -1
  33. package/dist/commands/connections.js +0 -16
  34. package/dist/commands/connections.js.map +1 -1
  35. package/dist/commands/context.d.ts +22 -0
  36. package/dist/commands/context.js +149 -0
  37. package/dist/commands/context.js.map +1 -0
  38. package/dist/commands/data-extra.d.ts +14 -0
  39. package/dist/commands/data-extra.js +185 -0
  40. package/dist/commands/data-extra.js.map +1 -0
  41. package/dist/commands/data.d.ts +14 -10
  42. package/dist/commands/data.js +353 -192
  43. package/dist/commands/data.js.map +1 -1
  44. package/dist/commands/diagnose.d.ts +20 -0
  45. package/dist/commands/diagnose.js +143 -0
  46. package/dist/commands/diagnose.js.map +1 -0
  47. package/dist/commands/digest.d.ts +17 -0
  48. package/dist/commands/digest.js +121 -0
  49. package/dist/commands/digest.js.map +1 -0
  50. package/dist/commands/discover.d.ts +2 -0
  51. package/dist/commands/discover.js +25 -8
  52. package/dist/commands/discover.js.map +1 -1
  53. package/dist/commands/doc.d.ts +39 -0
  54. package/dist/commands/doc.js +130 -0
  55. package/dist/commands/doc.js.map +1 -0
  56. package/dist/commands/events.d.ts +26 -0
  57. package/dist/commands/events.js +69 -0
  58. package/dist/commands/events.js.map +1 -0
  59. package/dist/commands/explain.d.ts +21 -0
  60. package/dist/commands/explain.js +251 -0
  61. package/dist/commands/explain.js.map +1 -0
  62. package/dist/commands/facet.d.ts +29 -0
  63. package/dist/commands/facet.js +113 -0
  64. package/dist/commands/facet.js.map +1 -0
  65. package/dist/commands/graph.d.ts +18 -0
  66. package/dist/commands/graph.js +74 -0
  67. package/dist/commands/graph.js.map +1 -0
  68. package/dist/commands/home.d.ts +12 -0
  69. package/dist/commands/home.js +54 -0
  70. package/dist/commands/home.js.map +1 -0
  71. package/dist/commands/import.d.ts +38 -0
  72. package/dist/commands/import.js +440 -0
  73. package/dist/commands/import.js.map +1 -0
  74. package/dist/commands/init.d.ts +0 -2
  75. package/dist/commands/init.js +97 -118
  76. package/dist/commands/init.js.map +1 -1
  77. package/dist/commands/keys.d.ts +9 -0
  78. package/dist/commands/keys.js +78 -0
  79. package/dist/commands/keys.js.map +1 -0
  80. package/dist/commands/knowledge.d.ts +34 -18
  81. package/dist/commands/knowledge.js +355 -57
  82. package/dist/commands/knowledge.js.map +1 -1
  83. package/dist/commands/launch.d.ts +50 -0
  84. package/dist/commands/launch.js +790 -0
  85. package/dist/commands/launch.js.map +1 -0
  86. package/dist/commands/lens.d.ts +45 -0
  87. package/dist/commands/lens.js +386 -0
  88. package/dist/commands/lens.js.map +1 -0
  89. package/dist/commands/market.d.ts +209 -0
  90. package/dist/commands/market.js +1368 -0
  91. package/dist/commands/market.js.map +1 -0
  92. package/dist/commands/mcp.d.ts +42 -0
  93. package/dist/commands/mcp.js +184 -0
  94. package/dist/commands/mcp.js.map +1 -0
  95. package/dist/commands/observe.d.ts +9 -0
  96. package/dist/commands/observe.js +93 -0
  97. package/dist/commands/observe.js.map +1 -0
  98. package/dist/commands/open.d.ts +32 -0
  99. package/dist/commands/open.js +85 -0
  100. package/dist/commands/open.js.map +1 -0
  101. package/dist/commands/pod.d.ts +100 -0
  102. package/dist/commands/pod.js +359 -0
  103. package/dist/commands/pod.js.map +1 -0
  104. package/dist/commands/pods.d.ts +6 -0
  105. package/dist/commands/pods.js +160 -50
  106. package/dist/commands/pods.js.map +1 -1
  107. package/dist/commands/proposals-actions.d.ts +7 -0
  108. package/dist/commands/proposals-actions.js +77 -0
  109. package/dist/commands/proposals-actions.js.map +1 -0
  110. package/dist/commands/providers.d.ts +38 -0
  111. package/dist/commands/providers.js +170 -0
  112. package/dist/commands/providers.js.map +1 -0
  113. package/dist/commands/purge.d.ts +23 -0
  114. package/dist/commands/purge.js +148 -0
  115. package/dist/commands/purge.js.map +1 -0
  116. package/dist/commands/raycast.d.ts +15 -0
  117. package/dist/commands/raycast.js +153 -0
  118. package/dist/commands/raycast.js.map +1 -0
  119. package/dist/commands/sessions.d.ts +31 -0
  120. package/dist/commands/sessions.js +248 -0
  121. package/dist/commands/sessions.js.map +1 -0
  122. package/dist/commands/skill-manage.d.ts +21 -0
  123. package/dist/commands/skill-manage.js +195 -0
  124. package/dist/commands/skill-manage.js.map +1 -0
  125. package/dist/commands/skills-commands.d.ts +26 -0
  126. package/dist/commands/skills-commands.js +187 -0
  127. package/dist/commands/skills-commands.js.map +1 -0
  128. package/dist/commands/skills.d.ts +26 -0
  129. package/dist/commands/skills.js +196 -0
  130. package/dist/commands/skills.js.map +1 -0
  131. package/dist/commands/status.d.ts +3 -1
  132. package/dist/commands/status.js +231 -41
  133. package/dist/commands/status.js.map +1 -1
  134. package/dist/commands/statusline.d.ts +24 -0
  135. package/dist/commands/statusline.js +450 -0
  136. package/dist/commands/statusline.js.map +1 -0
  137. package/dist/commands/subscribe.d.ts +19 -0
  138. package/dist/commands/subscribe.js +91 -0
  139. package/dist/commands/subscribe.js.map +1 -0
  140. package/dist/commands/tools.d.ts +30 -0
  141. package/dist/commands/tools.js +315 -0
  142. package/dist/commands/tools.js.map +1 -0
  143. package/dist/commands/versions.d.ts +27 -0
  144. package/dist/commands/versions.js +277 -0
  145. package/dist/commands/versions.js.map +1 -0
  146. package/dist/commands/view.d.ts +57 -0
  147. package/dist/commands/view.js +195 -0
  148. package/dist/commands/view.js.map +1 -0
  149. package/dist/commands/whoami.d.ts +21 -0
  150. package/dist/commands/whoami.js +129 -0
  151. package/dist/commands/whoami.js.map +1 -0
  152. package/dist/index.d.ts +3 -4
  153. package/dist/index.js +1524 -202
  154. package/dist/index.js.map +1 -1
  155. package/dist/lib/agent-templates.d.ts +25 -0
  156. package/dist/lib/agent-templates.js +148 -0
  157. package/dist/lib/agent-templates.js.map +1 -0
  158. package/dist/lib/agents-config.d.ts +4 -1
  159. package/dist/lib/agents-config.js +19 -2
  160. package/dist/lib/agents-config.js.map +1 -1
  161. package/dist/lib/approval-poll.d.ts +42 -0
  162. package/dist/lib/approval-poll.js +52 -0
  163. package/dist/lib/approval-poll.js.map +1 -0
  164. package/dist/lib/auth.d.ts +29 -6
  165. package/dist/lib/auth.js +105 -94
  166. package/dist/lib/auth.js.map +1 -1
  167. package/dist/lib/bundle-version.d.ts +11 -0
  168. package/dist/lib/bundle-version.js +33 -0
  169. package/dist/lib/bundle-version.js.map +1 -0
  170. package/dist/lib/capture-lane.d.ts +67 -0
  171. package/dist/lib/capture-lane.js +136 -0
  172. package/dist/lib/capture-lane.js.map +1 -0
  173. package/dist/lib/cp-packages.d.ts +121 -0
  174. package/dist/lib/cp-packages.js +218 -0
  175. package/dist/lib/cp-packages.js.map +1 -0
  176. package/dist/lib/describe-lens.d.ts +46 -0
  177. package/dist/lib/describe-lens.js +33 -0
  178. package/dist/lib/describe-lens.js.map +1 -0
  179. package/dist/lib/hub-client.d.ts +84 -1
  180. package/dist/lib/hub-client.js +502 -22
  181. package/dist/lib/hub-client.js.map +1 -1
  182. package/dist/lib/installed.d.ts +51 -0
  183. package/dist/lib/installed.js +70 -0
  184. package/dist/lib/installed.js.map +1 -0
  185. package/dist/lib/next-steps.d.ts +61 -0
  186. package/dist/lib/next-steps.js +146 -0
  187. package/dist/lib/next-steps.js.map +1 -0
  188. package/dist/lib/pod.d.ts +104 -19
  189. package/dist/lib/pod.js +245 -57
  190. package/dist/lib/pod.js.map +1 -1
  191. package/dist/lib/project-ref.d.ts +95 -0
  192. package/dist/lib/project-ref.js +144 -0
  193. package/dist/lib/project-ref.js.map +1 -0
  194. package/dist/lib/project.d.ts +35 -0
  195. package/dist/lib/project.js +39 -0
  196. package/dist/lib/project.js.map +1 -0
  197. package/dist/lib/session-lens.d.ts +33 -0
  198. package/dist/lib/session-lens.js +76 -0
  199. package/dist/lib/session-lens.js.map +1 -0
  200. package/dist/lib/skill-import.d.ts +40 -0
  201. package/dist/lib/skill-import.js +203 -0
  202. package/dist/lib/skill-import.js.map +1 -0
  203. package/dist/lib/skills-installer.d.ts +16 -5
  204. package/dist/lib/skills-installer.js +132 -18
  205. package/dist/lib/skills-installer.js.map +1 -1
  206. package/dist/lib/suite.d.ts +28 -0
  207. package/dist/lib/suite.js +29 -0
  208. package/dist/lib/suite.js.map +1 -0
  209. package/dist/lib/superwhisper-import.d.ts +40 -0
  210. package/dist/lib/superwhisper-import.js +389 -0
  211. package/dist/lib/superwhisper-import.js.map +1 -0
  212. package/dist/lib/targets.d.ts +66 -2
  213. package/dist/lib/targets.js +914 -132
  214. package/dist/lib/targets.js.map +1 -1
  215. package/dist/lib/unwrapList.d.ts +1 -0
  216. package/dist/lib/unwrapList.js +20 -0
  217. package/dist/lib/unwrapList.js.map +1 -0
  218. package/dist/utils/logger.d.ts +2 -0
  219. package/dist/utils/logger.js +10 -2
  220. package/dist/utils/logger.js.map +1 -1
  221. package/package.json +10 -4
  222. package/skills/agent-os/SKILL.md +212 -0
  223. package/skills/manifest.json +5 -0
  224. package/skills/onboard/SKILL.md +186 -0
  225. package/skills/synap/SKILL.md +1524 -104
  226. package/skills/synap/_order.txt +37 -0
  227. package/skills/synap/_skill.yaml +24 -0
  228. package/skills/synap/authentication.md +10 -0
  229. package/skills/synap/automations.md +264 -0
  230. package/skills/synap/capabilities.md +107 -0
  231. package/skills/synap/capture.md +10 -0
  232. package/skills/synap/cli-operations.md +107 -0
  233. package/skills/synap/common-mistakes.md +12 -0
  234. package/skills/synap/creative-loop.md +43 -0
  235. package/skills/synap/crm.md +117 -0
  236. package/skills/synap/diagnostics.md +35 -0
  237. package/skills/synap/digesting-a-channel.md +38 -0
  238. package/skills/synap/document-embeds.md +123 -0
  239. package/skills/synap/escalation-ladder.md +71 -0
  240. package/skills/synap/focus-sessions.md +47 -0
  241. package/skills/synap/governance-rules.md +64 -0
  242. package/skills/synap/governance.md +6 -6
  243. package/skills/synap/graph-gardening.md +21 -0
  244. package/skills/synap/inline-patterns.md +38 -0
  245. package/skills/synap/lenses.md +38 -0
  246. package/skills/synap/linking-principle.md +39 -0
  247. package/skills/synap/linking.md +1 -0
  248. package/skills/synap/mental-model.md +45 -0
  249. package/skills/synap/more.md +7 -0
  250. package/skills/synap/multi-entity-capture.md +10 -0
  251. package/skills/synap/next-action.md +37 -0
  252. package/skills/synap/north-star.md +17 -0
  253. package/skills/synap/operating-mode-rules.md +45 -0
  254. package/skills/synap/operating-mode.md +9 -0
  255. package/skills/synap/quick-reference.md +67 -0
  256. package/skills/synap/reading.md +43 -0
  257. package/skills/synap/recap.md +21 -0
  258. package/skills/synap/reflexes.md +46 -0
  259. package/skills/synap/response-style.md +21 -0
  260. package/skills/synap/scope.md +13 -0
  261. package/skills/synap/showing.md +17 -0
  262. package/skills/synap/user-model.md +25 -0
  263. package/skills/synap/viewframe-cells.md +290 -0
  264. package/skills/synap/work-flow.md +113 -0
  265. package/skills/synap/worked-examples.md +53 -0
  266. package/skills/synap/workspace-design.md +45 -0
  267. package/skills/synap/workspace-edges.md +49 -0
  268. package/skills/synap/writes.md +156 -0
  269. package/skills/synap-schema/SKILL.md +97 -6
  270. package/skills/synap-schema/_order.txt +13 -0
  271. package/skills/synap-schema/_skill.yaml +22 -0
  272. package/skills/synap-schema/before-you-touch.md +14 -0
  273. package/skills/synap-schema/common-mistakes.md +9 -0
  274. package/skills/synap-schema/creating-profiles.md +17 -0
  275. package/skills/synap-schema/discover-profiles.md +24 -0
  276. package/skills/synap-schema/entity-scope.md +8 -0
  277. package/skills/synap-schema/extend-vs-create.md +31 -0
  278. package/skills/synap-schema/more.md +6 -0
  279. package/skills/synap-schema/overlay-properties.md +22 -0
  280. package/skills/synap-schema/profiles.md +3 -0
  281. package/skills/synap-schema/property-defs.md +29 -0
  282. package/skills/synap-schema/read-before-write.md +50 -0
  283. package/skills/synap-schema/relations.md +18 -0
  284. package/skills/synap-schema/worked-example.md +30 -0
  285. package/skills/synap-ui/SKILL.md +38 -11
  286. package/skills/synap-ui/_order.txt +13 -0
  287. package/skills/synap-ui/_skill.yaml +23 -0
  288. package/skills/synap-ui/ai-companion.md +27 -0
  289. package/skills/synap-ui/arranging-bento.md +8 -0
  290. package/skills/synap-ui/before-you-build.md +20 -0
  291. package/skills/synap-ui/bento-layouts.md +35 -0
  292. package/skills/synap-ui/common-mistakes.md +10 -0
  293. package/skills/synap-ui/creating-views.md +26 -0
  294. package/skills/synap-ui/four-builds.md +24 -0
  295. package/skills/synap-ui/more.md +7 -0
  296. package/skills/synap-ui/proposing-vs-extending.md +11 -0
  297. package/skills/synap-ui/view-list.md +24 -0
  298. package/skills/synap-ui/views.md +3 -0
  299. package/skills/synap-ui/worked-example.md +18 -0
  300. package/skills/synap-ui/workspaces.md +47 -0
  301. package/templates/automations/bookmark-enrichment.automation.json +44 -0
  302. package/templates/automations/mail-feed.automation.json +86 -0
  303. package/templates/automations/url-bookmark-capture.automation.json +70 -0
  304. package/templates/skills/README.md +21 -0
  305. package/templates/skills/authoring-automations/SKILL.md +95 -0
  306. package/templates/skills/authoring-automations/reference/node-matrix.md +49 -0
  307. package/templates/skills/authoring-capabilities/SKILL.md +93 -0
  308. package/templates/skills/authoring-capabilities/reference/template-anatomy.md +70 -0
  309. package/templates/skills/authoring-playbooks/SKILL.md +102 -0
  310. package/templates/skills/authoring-playbooks/reference/stages-contract.md +35 -0
  311. package/templates/skills/authoring-playbooks/reference/worked-example.md +64 -0
  312. package/templates/skills/bookmark-enrichment/SKILL.md +40 -0
  313. package/templates/skills/coordinating-agents/SKILL.md +32 -0
  314. package/templates/skills/coordinating-branches/SKILL.md +27 -0
  315. package/templates/skills/mapping-the-server/SKILL.md +54 -0
  316. package/templates/skills/reading-client-progress/SKILL.md +65 -0
  317. package/templates/skills/routing-to-channels/SKILL.md +54 -0
  318. package/templates/skills/stellar-scf-grants-advisor/ASSOCIATE-CHEATSHEET.md +133 -0
  319. package/templates/skills/stellar-scf-grants-advisor/ASSOCIATE-ONBOARDING-GUIDE.md +761 -0
  320. package/templates/skills/stellar-scf-grants-advisor/CLIENT-FAQ.md +181 -0
  321. package/templates/skills/stellar-scf-grants-advisor/PARTNER-HANDOVER.md +130 -0
  322. package/templates/skills/stellar-scf-grants-advisor/SKILL.md +102 -0
  323. package/templates/skills/stellar-scf-grants-advisor/examples/README.md +43 -0
  324. package/templates/skills/stellar-scf-grants-advisor/examples/chat-summary-templates.md +158 -0
  325. package/templates/skills/stellar-scf-grants-advisor/examples/corpus-comparable-rows.md +136 -0
  326. package/templates/skills/stellar-scf-grants-advisor/examples/q10-team-rewrites.md +109 -0
  327. package/templates/skills/stellar-scf-grants-advisor/examples/q2-description-rewrites.md +88 -0
  328. package/templates/skills/stellar-scf-grants-advisor/examples/q6-integration-rewrites.md +107 -0
  329. package/templates/skills/stellar-scf-grants-advisor/examples/tranche-structures.md +176 -0
  330. package/templates/skills/stellar-scf-grants-advisor/reference/01-methodology.md +96 -0
  331. package/templates/skills/stellar-scf-grants-advisor/reference/02-scoring-framework.md +199 -0
  332. package/templates/skills/stellar-scf-grants-advisor/reference/03-rejection-patterns.md +241 -0
  333. package/templates/skills/stellar-scf-grants-advisor/reference/04-winner-patterns.md +120 -0
  334. package/templates/skills/stellar-scf-grants-advisor/reference/05-comeback-patterns.md +92 -0
  335. package/templates/skills/stellar-scf-grants-advisor/reference/06-budget-benchmarks.md +125 -0
  336. package/templates/skills/stellar-scf-grants-advisor/reference/07-integration-list.md +147 -0
  337. package/templates/skills/stellar-scf-grants-advisor/reference/08-abstract-fields.md +258 -0
  338. package/templates/skills/stellar-scf-grants-advisor/reference/09-build-fields.md +259 -0
  339. package/templates/skills/stellar-scf-grants-advisor/reference/10-corpus-winners.md +135 -0
  340. package/templates/skills/stellar-scf-grants-advisor/reference/11-corpus-rejects.md +267 -0
  341. package/templates/skills/stellar-scf-grants-advisor/reference/12-client-communication.md +131 -0
  342. package/templates/skills/stellar-scf-grants-advisor/reference/13-excel-output-spec.md +199 -0
  343. package/templates/skills/stellar-scf-grants-advisor/reference/14-worked-examples.md +160 -0
  344. package/templates/skills/stellar-scf-grants-advisor/templates/abstract-review-builder.py +253 -0
  345. package/templates/skills/stellar-scf-grants-advisor/templates/build-review-builder.py +213 -0
  346. package/dist/commands/finish.d.ts +0 -25
  347. package/dist/commands/finish.js +0 -274
  348. package/dist/commands/finish.js.map +0 -1
  349. package/dist/commands/openclaw.d.ts +0 -40
  350. package/dist/commands/openclaw.js +0 -1148
  351. package/dist/commands/openclaw.js.map +0 -1
  352. package/dist/commands/security-audit.d.ts +0 -12
  353. package/dist/commands/security-audit.js +0 -100
  354. package/dist/commands/security-audit.js.map +0 -1
  355. package/dist/lib/hardening.d.ts +0 -18
  356. package/dist/lib/hardening.js +0 -214
  357. package/dist/lib/hardening.js.map +0 -1
  358. package/dist/lib/templates.d.ts +0 -11
  359. package/dist/lib/templates.js +0 -13
  360. package/dist/lib/templates.js.map +0 -1
  361. package/dist/templates/agent-os.json +0 -3090
  362. package/node_modules/@synap/hub-rest-client/dist/index.cjs +0 -881
  363. package/node_modules/@synap/hub-rest-client/dist/index.d.cts +0 -907
  364. package/node_modules/@synap/hub-rest-client/dist/index.d.ts +0 -907
  365. package/node_modules/@synap/hub-rest-client/dist/index.js +0 -851
  366. package/node_modules/@synap/hub-rest-client/package.json +0 -45
  367. package/node_modules/@synap/hub-rest-client/src/client.ts +0 -1143
  368. package/node_modules/@synap/hub-rest-client/src/errors.ts +0 -30
  369. package/node_modules/@synap/hub-rest-client/src/index.ts +0 -111
  370. package/node_modules/@synap/hub-rest-client/src/setup.ts +0 -77
  371. package/node_modules/@synap/hub-rest-client/src/types.ts +0 -639
@@ -21,8 +21,9 @@ import { readFileSync } from "fs";
21
21
  import { fileURLToPath } from "url";
22
22
  import { dirname, join } from "path";
23
23
  import { log, banner } from "../utils/logger.js";
24
- import { checkPodHealth, getActivePodConfig, listPodProfiles } from "../lib/pod.js";
25
- import { isLoggedIn, getStoredToken, isTokenLocallyExpired, getOpenClawRemoteStatus, } from "../lib/auth.js";
24
+ import { checkPodHealth, getActivePodConfig, listPodProfiles, getAgentWorkspaceRouting } from "../lib/pod.js";
25
+ import { resolveHubConfig, hubGet, HubError, renderHubError } from "../lib/hub-client.js";
26
+ import { isLoggedIn, getStoredToken, isTokenLocallyExpired, } from "../lib/auth.js";
26
27
  const __filename = fileURLToPath(import.meta.url);
27
28
  const __dirname = dirname(__filename);
28
29
  function getCliVersion() {
@@ -34,6 +35,24 @@ function getCliVersion() {
34
35
  return "0.1.0";
35
36
  }
36
37
  }
38
+ /**
39
+ * Fetch the pod's deploy-verification detail (version + migration + schema
40
+ * coherence). Degrades to null on any error — an older pod without the route,
41
+ * or an unreachable pod, simply omits the extra detail from `synap status`.
42
+ */
43
+ async function fetchReleaseStatus(podUrl) {
44
+ try {
45
+ const res = await fetch(`${podUrl}/status/release`, {
46
+ signal: AbortSignal.timeout(5000),
47
+ });
48
+ if (!res.ok)
49
+ return null;
50
+ return (await res.json());
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ }
37
56
  function timeAgo(isoDate) {
38
57
  const diff = Date.now() - new Date(isoDate).getTime();
39
58
  const minutes = Math.floor(diff / 60_000);
@@ -47,7 +66,18 @@ function timeAgo(isoDate) {
47
66
  const days = Math.floor(hours / 24);
48
67
  return `${days} day${days === 1 ? "" : "s"} ago`;
49
68
  }
50
- export async function status() {
69
+ export async function status(opts = {}) {
70
+ // ── JSON mode: raw dump, no banner/pretty output ─────────────────────────
71
+ // Focused on the "is the latest actually deployed?" question — pod health +
72
+ // release/migration/coherence detail as one machine-readable object.
73
+ if (opts.json) {
74
+ const cfg = getActivePodConfig();
75
+ const url = cfg?.podUrl ?? process.env.SYNAP_POD_URL ?? null;
76
+ const health = url ? await checkPodHealth(url) : null;
77
+ const release = url ? await fetchReleaseStatus(url) : null;
78
+ process.stdout.write(JSON.stringify({ podUrl: url, health, release }, null, 2) + "\n");
79
+ return;
80
+ }
51
81
  banner();
52
82
  // CLI version + update hint
53
83
  const cliVersion = getCliVersion();
@@ -55,16 +85,21 @@ export async function status() {
55
85
  log.dim("Remote / API-only view. For local docker health, run ./synap health on the pod host.");
56
86
  const creds = getStoredToken();
57
87
  // ── Account ────────────────────────────────────────────────────────────
88
+ // This is the synap.live CONTROL-PLANE account (~/.synap/credentials.json) —
89
+ // a different identity axis from the pod API key (~/.synap/config.json). A
90
+ // self-hosted pod added via `synap pods add` never has one, and works fine
91
+ // without it. Never render the two axes as one, and never gate Next Steps on
92
+ // this one — that's what made a healthy pod report "Not logged in".
58
93
  log.heading("Account");
59
- let loggedIn = false;
94
+ let cpLinked = false;
60
95
  if (creds) {
61
- log.success(`Logged in as ${chalk.bold(creds.email)}`);
96
+ log.success(`Logged in as ${chalk.bold(creds.email)} ${chalk.dim("(synap.live)")}`);
62
97
  log.dim(`User ID: ${creds.userId}`);
63
98
  if (isTokenLocallyExpired(creds)) {
64
99
  // Local expiry passed — confirm with CP before declaring dead.
65
100
  const authStatus = await isLoggedIn();
66
101
  if (authStatus.valid) {
67
- loggedIn = true;
102
+ cpLinked = true;
68
103
  log.dim(`Token refreshed (valid until ${new Date(creds.expiresAt).toLocaleDateString()})`);
69
104
  }
70
105
  else {
@@ -74,7 +109,7 @@ export async function status() {
74
109
  }
75
110
  else {
76
111
  // Token is locally fresh — validate in background but don't block on failure.
77
- loggedIn = true;
112
+ cpLinked = true;
78
113
  const authStatus = await isLoggedIn().catch(() => ({ valid: false }));
79
114
  if (authStatus.valid) {
80
115
  log.dim(`Token valid until ${new Date(creds.expiresAt).toLocaleDateString()}`);
@@ -85,7 +120,8 @@ export async function status() {
85
120
  }
86
121
  }
87
122
  else {
88
- log.dim("Not logged in. Run: synap login");
123
+ log.dim("Account (synap.live): not linked — optional for self-hosted pods.");
124
+ log.dim("Needed only for managed pods, provisioning and the marketplace. Link with: synap login");
89
125
  }
90
126
  // ── Pod ────────────────────────────────────────────────────────────────
91
127
  const localConfig = getActivePodConfig();
@@ -109,6 +145,48 @@ export async function status() {
109
145
  log.info(`Version: ${pod.version}`);
110
146
  if (localConfig?.workspaceId)
111
147
  log.dim(`Workspace: ${localConfig.workspaceId}`);
148
+ // ── Release / deploy verification ──────────────────────────────────────
149
+ // Answers "is the latest actually deployed, and did the migration apply?"
150
+ // from the pod's own runtime state. Older pods without the route just skip.
151
+ if (pod.healthy) {
152
+ const release = await fetchReleaseStatus(podUrl);
153
+ if (release) {
154
+ if (release.version) {
155
+ log.info(`API build: ${chalk.bold(release.version)} ${chalk.dim("(@synap/api)")}`);
156
+ }
157
+ if (release.buildStamp) {
158
+ log.dim(`Build stamp: ${release.buildStamp}`);
159
+ }
160
+ const mig = release.migrations;
161
+ if (mig?.note) {
162
+ log.dim(`Migrations: ${mig.note}`);
163
+ }
164
+ else if (mig) {
165
+ const when = mig.lastAppliedAt ? ` ${chalk.dim(`(${timeAgo(mig.lastAppliedAt)})`)}` : "";
166
+ log.info(`Last migration: ${chalk.bold(mig.lastApplied ?? "none")} ${chalk.dim(`[${mig.count} applied]`)}${when}`);
167
+ }
168
+ const sc = release.schemaCoherence;
169
+ if (sc?.note) {
170
+ log.dim(`Schema: ${sc.note}`);
171
+ }
172
+ else if (sc) {
173
+ if (sc.ok === true) {
174
+ log.info(`Schema: ${chalk.green("OK")}${sc.checked ? chalk.dim(` (${sc.checked} columns checked)`) : ""}`);
175
+ }
176
+ else if (sc.ok === false) {
177
+ log.warn(`Schema: ${chalk.red(`DRIFT — ${sc.drift.length} missing column${sc.drift.length === 1 ? "" : "s"}`)}`);
178
+ for (const d of sc.drift.slice(0, 10)) {
179
+ log.dim(` • ${d.table}.${d.column} ← ${d.addedBy}`);
180
+ }
181
+ if (sc.drift.length > 10)
182
+ log.dim(` … and ${sc.drift.length - 10} more`);
183
+ }
184
+ else {
185
+ log.dim("Schema: unknown");
186
+ }
187
+ }
188
+ }
189
+ }
112
190
  }
113
191
  // ── Workspace Config ───────────────────────────────────────────────────
114
192
  log.heading("Workspace Config");
@@ -120,37 +198,45 @@ export async function status() {
120
198
  else {
121
199
  log.dim("No local config — run: synap init");
122
200
  }
123
- // ── OpenClaw (remote state via CP, not local Docker) ───────────────────
124
- log.heading("OpenClaw (remote)");
125
- if (!localConfig?.podId) { // localConfig is the active pod config
126
- log.dim("No pod ID on file — cannot query managed-pod OpenClaw state.");
127
- log.dim("If self-hosted: run `./synap services status openclaw` on the pod host.");
201
+ // ── API Key ────────────────────────────────────────────────────────────
202
+ // Probe the Hub API to verify the stored key is still valid. A 401 here
203
+ // means the key was rotated or revoked — surface the exact reconnect command
204
+ // so the user doesn't have to diagnose it themselves.
205
+ log.heading("API Key");
206
+ // null = not checked (no pod / unreachable), true/false = probe result.
207
+ // This is the axis Next Steps cares about — not the synap.live account.
208
+ let keyValid = null;
209
+ if (!localConfig) {
210
+ log.dim("No pod configured.");
128
211
  }
129
- else if (!creds) {
130
- log.dim("Not logged in — cannot query CP for OpenClaw state.");
131
- log.dim("Run: synap login");
212
+ else if (!podHealthy) {
213
+ log.dim("Pod unreachable — cannot verify key.");
132
214
  }
133
215
  else {
134
- const remote = await getOpenClawRemoteStatus(creds.token, localConfig.podId).catch(() => null);
135
- if (remote === null) {
136
- log.dim("CP unreachable — cannot check remote OpenClaw state");
137
- log.dim("If self-hosted: run `./synap services status openclaw` on the pod host.");
138
- }
139
- else if (remote.status === "not_provisioned") {
140
- log.dim("Not provisioned on pod server. Run: synap init");
141
- }
142
- else if (remote.status === "provisioning") {
143
- log.info(`Pod server: ${chalk.yellow("provisioning")} — still starting up`);
144
- log.dim("Check progress again in a minute.");
145
- }
146
- else if (remote.status === "running") {
147
- log.success(`Pod server: ${chalk.green("running")}`);
148
- if (remote.url)
149
- log.dim(`URL: ${remote.url}`);
216
+ try {
217
+ const cfg = await resolveHubConfig();
218
+ await hubGet("/users/me", {}, cfg);
219
+ keyValid = true;
220
+ log.success("Valid");
221
+ log.dim(`Key saved: ${timeAgo(localConfig.savedAt)}`);
150
222
  }
151
- else if (remote.status === "error") {
152
- log.warn(`Pod server: ${chalk.red("error")} — provisioning failed`);
153
- log.dim("Re-run: synap init");
223
+ catch (err) {
224
+ const msg = err instanceof Error ? err.message : String(err);
225
+ // A non-HubError (transport, DNS) can still be an auth failure worded by
226
+ // another layer — keep the text check as the fallback arm.
227
+ const is401 = err instanceof HubError
228
+ ? err.status === 401
229
+ : msg.toLowerCase().includes("unauthorized");
230
+ if (is401) {
231
+ keyValid = false;
232
+ const activeName = allProfiles.find((p) => p.active)?.name ?? "default";
233
+ log.warn(chalk.red("Invalid or expired — credentials must be refreshed."));
234
+ log.info(`Run: ${chalk.cyan(`synap login --reconnect ${activeName}`)}`);
235
+ }
236
+ else {
237
+ // Verification itself failed — key state stays unknown, not invalid.
238
+ renderHubError(err);
239
+ }
154
240
  }
155
241
  }
156
242
  // ── Intelligence Service (via pod's own endpoint) ──────────────────────
@@ -169,13 +255,15 @@ export async function status() {
169
255
  if (isRes?.ok) {
170
256
  const isData = (await isRes.json());
171
257
  const svc = isData?.intelligenceService;
258
+ // Gate on `status`, not on the object: an older pod still ships a
259
+ // status-less `{}` here, and that is "not provisioned", not a status.
172
260
  if (svc?.status === "active") {
173
261
  log.success(`Active${svc.url ? ` (${svc.url})` : ""}`);
174
262
  if (isData.credentialsValid === false) {
175
263
  log.warn("Credentials invalid — reprovision from Browser Settings");
176
264
  }
177
265
  }
178
- else if (svc) {
266
+ else if (svc?.status) {
179
267
  log.warn(`Status: ${svc.status}`);
180
268
  }
181
269
  else {
@@ -187,6 +275,13 @@ export async function status() {
187
275
  log.dim("Sign in with 'synap login' then run 'synap init' to provision");
188
276
  }
189
277
  }
278
+ // The pod already computed a next action for each issue — show it.
279
+ if (isData.connectionState && isData.connectionState !== "connected") {
280
+ log.dim(`Connection state: ${isData.connectionState}`);
281
+ }
282
+ for (const issue of isData.connectionIssueDetails ?? []) {
283
+ log.warn(`${issue.code}: ${issue.hint}`);
284
+ }
190
285
  }
191
286
  else {
192
287
  log.dim("Could not check (pod may not support this endpoint)");
@@ -196,19 +291,114 @@ export async function status() {
196
291
  log.dim("Could not check IS status");
197
292
  }
198
293
  }
294
+ // ── Connectors ─────────────────────────────────────────────────────────
295
+ // Without this, `synap status` says "All set" on a pod where every OAuth
296
+ // connect is doomed because no provider is configured server-side.
297
+ log.heading("Connectors");
298
+ if (!localConfig) {
299
+ log.dim("No pod configured.");
300
+ }
301
+ else if (!podHealthy) {
302
+ log.dim("Pod unreachable — cannot check connectors.");
303
+ }
304
+ else {
305
+ try {
306
+ const cfg = await resolveHubConfig();
307
+ const params = {};
308
+ if (localConfig.workspaceId)
309
+ params.workspaceId = localConfig.workspaceId;
310
+ const res = (await hubGet("/connectors/providers", params, cfg));
311
+ const providers = (res.providers ?? []);
312
+ const nangoError = res.nangoError;
313
+ // An empty list is only "nothing is declared" when Nango ANSWERED. On a
314
+ // lookup failure the list is ALSO empty — asserting "none configured"
315
+ // there is a false diagnosis, and false diagnoses are the whole bug.
316
+ if (res.nangoStatus === "error") {
317
+ log.warn(`Could not check connectors (${nangoError?.reason ?? "unknown"}) — connection state is unknown.`);
318
+ if (nangoError?.message)
319
+ log.dim(nangoError.message);
320
+ }
321
+ else if (providers.length === 0) {
322
+ log.warn("No providers available — connecting a service will not work.");
323
+ log.dim("This pod's Nango declares no integrations. They're declared in the Nango dashboard.");
324
+ }
325
+ else {
326
+ const connectedProviders = providers.filter((p) => p.connected);
327
+ log.info(`${providers.length} provider${providers.length === 1 ? "" : "s"} available ${chalk.dim(`[${connectedProviders.length} connected]`)}`);
328
+ // Name the connected ones — a bare count doesn't tell the user WHAT is wired up.
329
+ for (const p of connectedProviders) {
330
+ log.dim(` ${chalk.green("✓")} ${p.displayName ?? p.provider ?? p.id}`);
331
+ }
332
+ }
333
+ }
334
+ catch (err) {
335
+ log.warn(`Could not check connectors: ${err instanceof Error ? err.message : String(err)}`);
336
+ }
337
+ }
338
+ // ── Data Context ───────────────────────────────────────────────────────
339
+ // Show who the agent is, what workspace is active, and pending proposals.
340
+ log.heading("Data Context");
341
+ if (localConfig?.podUrl ?? podUrl) {
342
+ const routing = getAgentWorkspaceRouting();
343
+ const memWs = routing?.memoryWorkspaceId;
344
+ if (localConfig?.workspaceId) {
345
+ log.info(`Active ws : ${localConfig.workspaceId}`);
346
+ }
347
+ if (localConfig?.agentUserId) {
348
+ log.info(`Agent user : ${localConfig.agentUserId}`);
349
+ }
350
+ if (memWs) {
351
+ log.info(`Memory ws : ${memWs}`);
352
+ }
353
+ if (podHealthy) {
354
+ try {
355
+ const cfg = await resolveHubConfig();
356
+ const proposalsRes = await hubGet("/proposals", { status: "pending", limit: 1 }, cfg)
357
+ .catch(() => null);
358
+ if (proposalsRes) {
359
+ const total = Number(proposalsRes.total ??
360
+ (proposalsRes.proposals?.length ?? 0));
361
+ if (total > 0) {
362
+ log.warn(`${total} pending proposal${total !== 1 ? "s" : ""} — run: synap proposals`);
363
+ }
364
+ else {
365
+ log.dim("No pending proposals.");
366
+ }
367
+ }
368
+ }
369
+ catch {
370
+ log.dim("Could not check proposals.");
371
+ }
372
+ }
373
+ }
374
+ else {
375
+ log.dim("No pod connected — run: synap init");
376
+ }
199
377
  // ── Next Steps ─────────────────────────────────────────────────────────
200
378
  log.heading("Next Steps");
201
- if (!loggedIn) {
202
- log.info("Login: synap login");
203
- }
204
- else if (!localConfig) {
379
+ // Ordered by the POD axis — reachability, then config, then key validity.
380
+ // The synap.live account is deliberately NOT a gate here: a self-hosted pod
381
+ // is fully usable without one, and telling that user to `synap login` is the
382
+ // misleading advice this section used to lead with.
383
+ if (!podUrl) {
205
384
  log.info("Connect to a pod: synap init");
385
+ log.dim("Already have a self-hosted pod? Add it with: synap pods add");
206
386
  }
207
387
  else if (!podHealthy) {
208
388
  log.info("Pod unreachable — check it with: ./synap health on the pod host");
209
389
  }
390
+ else if (!localConfig) {
391
+ log.info("Pod reachable but no local config — run: synap init");
392
+ }
393
+ else if (keyValid === false) {
394
+ const activeName = allProfiles.find((p) => p.active)?.name ?? "default";
395
+ log.info(`Refresh pod credentials: ${chalk.cyan(`synap login --reconnect ${activeName}`)}`);
396
+ }
210
397
  else {
211
- log.dim("All set. To install/update the OpenClaw skill on your laptop: synap update");
398
+ log.dim("All set. Run: synap context to load workspace context for an agent session.");
399
+ if (!cpLinked) {
400
+ log.dim("Optional: link a synap.live account with 'synap login' for managed pods + marketplace.");
401
+ }
212
402
  }
213
403
  log.blank();
214
404
  }
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * synap statusline — full 3-line ANSI status for the Claude Code statusLine.
3
+ *
4
+ * Two modes, both via `synap statusline`:
5
+ *
6
+ * RENDER (default) Parse the Claude Code JSON from stdin, read the pod
7
+ * cache file (NO network), compose 3 ANSI lines, print,
8
+ * exit. Always instant. If the cache is stale it spawns a
9
+ * detached refresh (fire-and-forget) so the NEXT render is
10
+ * fresh — this render never blocks on the network.
11
+ *
12
+ * REFRESH (--refresh) Fetch pod data in a single parallel burst and write the
13
+ * cache. Lock-guarded so only one refresh runs at a time.
14
+ * On error/429, the last good cache is preserved (the dot
15
+ * goes stale, not blank).
16
+ *
17
+ * Why: Claude Code calls the statusline on every render (debounced ~300ms +
18
+ * periodic refresh). Fetching live pod data synchronously per render hammers
19
+ * the pod's 100-req/min budget → 429 → red dot. Decoupling render from fetch
20
+ * caps pod traffic at ~1 burst / REFRESH_TTL regardless of render frequency.
21
+ */
22
+ export declare function statusline(opts?: {
23
+ refresh?: boolean;
24
+ }): Promise<void>;