@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
package/dist/lib/pod.js CHANGED
@@ -10,6 +10,37 @@ const CP_URL = process.env.SYNAP_CP_URL ?? "https://api.synap.live";
10
10
  const CONFIG_DIR = path.join(os.homedir(), ".synap");
11
11
  const CONFIG_FILE = path.join(CONFIG_DIR, "config.json");
12
12
  const LEGACY_CONFIG_FILE = path.join(CONFIG_DIR, "pod-config.json");
13
+ /** SSOT for every connect/surface agent identity. The type is derived from this
14
+ * array so the two can't drift. */
15
+ export const SURFACE_NAMES = [
16
+ "raycast",
17
+ "claude-code",
18
+ "claude-desktop",
19
+ "cursor",
20
+ "codex",
21
+ "opencode",
22
+ "aider",
23
+ "windsurf",
24
+ "goose",
25
+ "zed",
26
+ "vscode",
27
+ "discord",
28
+ ];
29
+ /**
30
+ * agentTypes already owned by OTHER doors — `POST /setup/agent` treats agentType
31
+ * as a POD-WIDE SINGLETON, so `agents create` deriving a slug that collides with
32
+ * one of these would silently hijack that door's agent + key. Superset of the
33
+ * surfaces above plus the non-surface provisioning types (generic/openwebui MCP
34
+ * mappings; openclaw/cli/memory). Single source of truth for the collision guard.
35
+ */
36
+ export const RESERVED_AGENT_TYPES = new Set([
37
+ ...SURFACE_NAMES,
38
+ "generic",
39
+ "openwebui",
40
+ "openclaw",
41
+ "cli",
42
+ "memory",
43
+ ]);
13
44
  function ensureConfigDir() {
14
45
  if (!fs.existsSync(CONFIG_DIR)) {
15
46
  fs.mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 });
@@ -21,7 +52,7 @@ function readMultiConfig() {
21
52
  if (fs.existsSync(CONFIG_FILE)) {
22
53
  const parsed = JSON.parse(fs.readFileSync(CONFIG_FILE, "utf-8"));
23
54
  if (parsed.pods)
24
- return { activePod: parsed.activePod ?? "", pods: parsed.pods, activeWorkspaceId: parsed.activeWorkspaceId, surfaces: parsed.surfaces, agentKeys: parsed.agentKeys };
55
+ return { activePod: parsed.activePod ?? "", pods: parsed.pods, activeWorkspaceId: parsed.activeWorkspaceId, activeProjectId: parsed.activeProjectId, activeProject: parsed.activeProject, surfaces: parsed.surfaces, agentKeys: parsed.agentKeys, agentWorkspaceRouting: parsed.agentWorkspaceRouting };
25
56
  // File exists but has old/unrecognized shape — fall through to migration
26
57
  }
27
58
  }
@@ -42,9 +73,34 @@ function readMultiConfig() {
42
73
  }
43
74
  function writeMultiConfig(config) {
44
75
  ensureConfigDir();
45
- fs.writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), { mode: 0o600 });
76
+ // Merge with existing file so fields managed by other modules (e.g. `agents`)
77
+ // are preserved when pod.ts only updates its own subset.
78
+ let existing = {};
79
+ try {
80
+ if (fs.existsSync(CONFIG_FILE)) {
81
+ existing = JSON.parse(fs.readFileSync(CONFIG_FILE, "utf-8"));
82
+ }
83
+ }
84
+ catch { /* start fresh */ }
85
+ fs.writeFileSync(CONFIG_FILE, JSON.stringify({ ...existing, ...config }, null, 2), { mode: 0o600 });
46
86
  }
47
87
  // ─── Public API ───────────────────────────────────────────────────────────────
88
+ /**
89
+ * The ONE "pod profile not found" message.
90
+ *
91
+ * Names the profile that missed, the pods that DO exist, and the command that
92
+ * adds one. Every site that fails to resolve a profile name renders through
93
+ * this — a bare `not found` leaves the user with no next move, and the known-pods
94
+ * list is usually the whole answer (a typo).
95
+ */
96
+ export function podNotFoundMessage(name) {
97
+ const known = Object.keys(readMultiConfig().pods).join(", ") || "(none configured)";
98
+ return `Pod profile '${name}' not found. Known pods: ${known}. Add one with: synap pods add`;
99
+ }
100
+ /** Throwing form of {@link podNotFoundMessage}. */
101
+ export function podNotFoundError(name) {
102
+ return new Error(podNotFoundMessage(name));
103
+ }
48
104
  /** Get the pod config for a specific surface, falling back to the global activePod. */
49
105
  export function getSurfacePod(surface) {
50
106
  const config = readMultiConfig();
@@ -62,7 +118,7 @@ export function getSurfacePodName(surface) {
62
118
  export function setSurfacePod(surface, podName) {
63
119
  const config = readMultiConfig();
64
120
  if (!config.pods[podName])
65
- throw new Error(`Pod profile '${podName}' not found`);
121
+ throw podNotFoundError(podName);
66
122
  config.surfaces = config.surfaces ?? {};
67
123
  config.surfaces[surface] = podName;
68
124
  writeMultiConfig(config);
@@ -88,6 +144,57 @@ export function listPodProfiles() {
88
144
  active: name === config.activePod,
89
145
  }));
90
146
  }
147
+ // ─── Per-invocation pod override (the global `--pod <name>` flag) ──────────────
148
+ // Lets a SINGLE command target another saved pod without mutating any config
149
+ // file or affecting other agents/shells. Highest precedence in resolveHubConfig,
150
+ // so it beats even the env vars that pin an agent session to its default pod.
151
+ let _podOverride = null;
152
+ export function getPodOverride() {
153
+ return _podOverride;
154
+ }
155
+ /** Resolve a saved pod profile by name and set it as this invocation's override. */
156
+ export function setPodOverrideByName(name) {
157
+ const config = readMultiConfig();
158
+ const pod = config.pods[name];
159
+ if (!pod)
160
+ throw podNotFoundError(name);
161
+ _podOverride = pod;
162
+ return pod;
163
+ }
164
+ /** Top-level commands that declare their OWN `--pod <name>` — their native handling must win. */
165
+ const NATIVE_POD_FLAG_COMMANDS = new Set(["agents", "bridge-setup"]);
166
+ /**
167
+ * Consume a position-independent `--pod <name>` (or `--pod=<name>`) from argv and
168
+ * register it as the per-invocation override. Mutates `argv` in place so commander
169
+ * never sees the flag (it isn't registered per-command). No-op when the argv
170
+ * targets a command that owns `--pod` itself (agents, bridge-setup). Throws with a
171
+ * helpful message when the named profile is unknown.
172
+ */
173
+ export function bootstrapPodOverride(argv) {
174
+ for (const c of NATIVE_POD_FLAG_COMMANDS) {
175
+ if (argv.includes(c))
176
+ return;
177
+ }
178
+ let name;
179
+ for (let i = 2; i < argv.length; i++) {
180
+ const a = argv[i];
181
+ if (a === "--")
182
+ break; // end-of-options marker
183
+ if (a === "--pod") {
184
+ name = argv[i + 1];
185
+ if (name)
186
+ argv.splice(i, 2);
187
+ break;
188
+ }
189
+ if (a.startsWith("--pod=")) {
190
+ name = a.slice("--pod=".length);
191
+ argv.splice(i, 1);
192
+ break;
193
+ }
194
+ }
195
+ if (name)
196
+ setPodOverrideByName(name);
197
+ }
91
198
  export function addPodProfile(name, podConfig) {
92
199
  const config = readMultiConfig();
93
200
  config.pods[name] = podConfig;
@@ -98,7 +205,7 @@ export function addPodProfile(name, podConfig) {
98
205
  export function setActivePod(name) {
99
206
  const config = readMultiConfig();
100
207
  if (!config.pods[name])
101
- throw new Error(`Pod profile '${name}' not found`);
208
+ throw podNotFoundError(name);
102
209
  config.activePod = name;
103
210
  writeMultiConfig(config);
104
211
  return config.pods[name];
@@ -117,6 +224,38 @@ export function setActiveWorkspaceId(workspaceId) {
117
224
  config.activeWorkspaceId = workspaceId;
118
225
  writeMultiConfig(config);
119
226
  }
227
+ /** Get the active project ID: durable override set by `synap project use`. */
228
+ export function getActiveProjectId() {
229
+ const config = readMultiConfig();
230
+ return config.activeProjectId || undefined;
231
+ }
232
+ /** Persist a project as the active context for all subsequent commands. */
233
+ export function setActiveProjectId(projectId) {
234
+ const config = readMultiConfig();
235
+ config.activeProjectId = projectId;
236
+ writeMultiConfig(config);
237
+ }
238
+ /**
239
+ * Pin project AND the pod it lives on together — the cross-pod `project use`
240
+ * door. Stores the binding so later drift (active pod switched away from the
241
+ * pinned project's pod) can warn.
242
+ */
243
+ export function setActiveProjectBinding(binding) {
244
+ const config = readMultiConfig();
245
+ config.activeProjectId = binding.projectId;
246
+ config.activeProject = binding;
247
+ writeMultiConfig(config);
248
+ }
249
+ /** The pod-aware active-project binding, when set by cross-pod `project use`. */
250
+ export function getActiveProjectBinding() {
251
+ return readMultiConfig().activeProject;
252
+ }
253
+ /** Remove the active project override — subsequent commands see all projects. */
254
+ export function clearActiveProjectId() {
255
+ const config = readMultiConfig();
256
+ delete config.activeProjectId;
257
+ writeMultiConfig(config);
258
+ }
120
259
  // ─── Surface agent keys ───────────────────────────────────────────────────────
121
260
  /** Store a dedicated agent key for a specific surface (e.g. "raycast", "claude-code"). */
122
261
  export function setSurfaceAgentKey(surface, key) {
@@ -125,6 +264,19 @@ export function setSurfaceAgentKey(surface, key) {
125
264
  config.agentKeys[surface] = key;
126
265
  writeMultiConfig(config);
127
266
  }
267
+ /** Read back the stored agent key for a surface. Returns null if not provisioned. */
268
+ export function getSurfaceAgentKey(surface) {
269
+ const config = readMultiConfig();
270
+ return config.agentKeys?.[surface] ?? null;
271
+ }
272
+ export function setAgentWorkspaceRouting(routing) {
273
+ const config = readMultiConfig();
274
+ config.agentWorkspaceRouting = routing;
275
+ writeMultiConfig(config);
276
+ }
277
+ export function getAgentWorkspaceRouting() {
278
+ return readMultiConfig().agentWorkspaceRouting;
279
+ }
128
280
  /** Remove the active workspace override — subsequent commands see all workspaces. */
129
281
  export function clearActiveWorkspaceId() {
130
282
  const config = readMultiConfig();
@@ -134,7 +286,7 @@ export function clearActiveWorkspaceId() {
134
286
  export function removePodProfile(name) {
135
287
  const config = readMultiConfig();
136
288
  if (!config.pods[name])
137
- throw new Error(`Pod profile '${name}' not found`);
289
+ throw podNotFoundError(name);
138
290
  delete config.pods[name];
139
291
  if (config.activePod === name) {
140
292
  const remaining = Object.keys(config.pods);
@@ -171,25 +323,6 @@ export async function checkPodHealth(podUrl) {
171
323
  }
172
324
  return status;
173
325
  }
174
- /**
175
- * Create an agent user and API key on the pod.
176
- * Uses the PROVISIONING_TOKEN for auth.
177
- */
178
- export async function setupAgent(podUrl, provisioningToken, agentType = "openclaw") {
179
- const res = await fetch(`${podUrl}/api/hub/setup/agent`, {
180
- method: "POST",
181
- headers: {
182
- "Content-Type": "application/json",
183
- Authorization: `Bearer ${provisioningToken}`,
184
- },
185
- body: JSON.stringify({ agentType }),
186
- });
187
- if (!res.ok) {
188
- const body = await res.text();
189
- throw new Error(`Setup failed (HTTP ${res.status}): ${body}`);
190
- }
191
- return (await res.json());
192
- }
193
326
  /**
194
327
  * Install Docker and start a self-hosted Synap pod.
195
328
  */
@@ -200,14 +333,18 @@ export function startSelfHostedPod() {
200
333
  * Install the synap skill into OpenClaw.
201
334
  */
202
335
  /**
203
- * Provision the CP-authenticated user on their pod.
204
- * Calls the CP to get a handshake JWT, then calls /api/handshake on the pod.
205
- * This ensures the user exists in the pod's users table before setup/agent runs.
206
- * Safe to call multiple times — idempotent (Kratos upserts by email).
336
+ * Open a Pod session for the CP-authenticated user.
337
+ * Calls the issuer for a short-lived generic assertion, then exchanges that
338
+ * assertion directly with the Pod. The issuer never receives a Pod session.
339
+ *
340
+ * Returns the Kratos session token the Pod mints after its own membership check.
341
+ * That token authenticates subsequent pod tRPC calls (e.g.
342
+ * `apiKeys.connectIntegration`) as the pod user, via the X-Session-Token header.
343
+ * `sessionToken` is null only if the pod handshake returned no token (e.g. 409).
207
344
  */
208
345
  export async function provisionUserOnPod(podUrl, cpToken) {
209
- // Step 1: Get handshake JWT from CP
210
- const jwtRes = await fetch(`${CP_URL}/pods/handshake-jwt`, {
346
+ // Step 1: get an issuer assertion for this Pod.
347
+ const assertionRes = await fetch(`${CP_URL}/pods/federation/assertion`, {
211
348
  method: "POST",
212
349
  headers: {
213
350
  "Content-Type": "application/json",
@@ -216,51 +353,95 @@ export async function provisionUserOnPod(podUrl, cpToken) {
216
353
  body: JSON.stringify({ podUrl }),
217
354
  signal: AbortSignal.timeout(10000),
218
355
  });
219
- if (!jwtRes.ok) {
220
- const body = await jwtRes.text().catch(() => "");
221
- throw new Error(`Could not get handshake JWT (HTTP ${jwtRes.status}): ${body.slice(0, 200)}`);
356
+ if (!assertionRes.ok) {
357
+ const body = await assertionRes.text().catch(() => "");
358
+ throw new Error(`Could not get Pod issuer assertion (HTTP ${assertionRes.status}): ${body.slice(0, 200)}`);
222
359
  }
223
- const { token } = (await jwtRes.json());
224
- // Step 2: Call /api/handshake on the pod
225
- const handshakeRes = await fetch(`${podUrl}/api/handshake`, {
360
+ const { assertion } = (await assertionRes.json());
361
+ if (!assertion) {
362
+ throw new Error("Control Plane did not return a Pod issuer assertion");
363
+ }
364
+ // Step 2: exchange only with the Pod. It derives the issuer from `iss` and
365
+ // verifies its own trusted-issuer registry and local membership.
366
+ const exchangeRes = await fetch(`${podUrl}/api/federation/exchange`, {
226
367
  method: "POST",
227
368
  headers: { "Content-Type": "application/json" },
228
- body: JSON.stringify({ token }),
369
+ body: JSON.stringify({ assertion }),
229
370
  signal: AbortSignal.timeout(15000),
230
371
  });
231
- // 200 = created/logged in, 409 = already exists (both are fine)
232
- if (!handshakeRes.ok && handshakeRes.status !== 409) {
233
- const body = await handshakeRes.text().catch(() => "");
234
- throw new Error(`Pod handshake failed (HTTP ${handshakeRes.status}): ${body.slice(0, 200)}`);
372
+ if (!exchangeRes.ok) {
373
+ const body = await exchangeRes.text().catch(() => "");
374
+ throw new Error(`Pod issuer assertion exchange failed (HTTP ${exchangeRes.status}): ${body.slice(0, 200)}`);
235
375
  }
376
+ // The pod returns the Kratos session token in the handshake body (the same
377
+ // value the browser receives as the ory_kratos_session cookie).
378
+ let sessionToken = null;
379
+ try {
380
+ const data = (await exchangeRes.json());
381
+ sessionToken = data.session_token ?? null;
382
+ }
383
+ catch {
384
+ // 409 or an empty body — no token to capture.
385
+ }
386
+ return { sessionToken };
236
387
  }
237
388
  /**
238
- * Generate an API key via the Control Plane (for authenticated users).
239
- * The CP relays the request to the pod using its own authority.
389
+ * Issue a scoped Hub Protocol API key on the pod for an authenticated user.
390
+ *
391
+ * Canonical path: the pod's `apiKeys.connectIntegration` tRPC procedure — the
392
+ * same one the pod-admin `/connect` page and the browser's LocalCliRow use.
393
+ * Auth is the Kratos session token minted by {@link provisionUserOnPod},
394
+ * forwarded as the `X-Session-Token` header. (Replaces the removed CP relay
395
+ * `POST /pods/setup-agent`, which now returns 410.)
396
+ *
397
+ * Backend tRPC uses the superjson transformer, so the input rides in a
398
+ * `{ json: ... }` envelope and the output is unwrapped from `result.data.json`.
240
399
  */
241
- export async function setupAgentViaCp(podUrl, cpToken, agentType = "openclaw") {
242
- // Call the CP which will relay to the pod
243
- // The CP knows the pod's PROVISIONING_TOKEN (it provisioned the pod)
244
- const res = await fetch(`${CP_URL}/pods/setup-agent`, {
400
+ export async function setupAgentViaPod(podUrl, sessionToken, integration = "openclaw") {
401
+ const res = await fetch(`${podUrl}/trpc/apiKeys.connectIntegration`, {
245
402
  method: "POST",
246
403
  headers: {
247
404
  "Content-Type": "application/json",
248
- Authorization: `Bearer ${cpToken}`,
405
+ "X-Session-Token": sessionToken,
249
406
  },
250
- body: JSON.stringify({ podUrl, agentType }),
407
+ // strategy: "replace_existing" makes re-running `synap init` idempotent —
408
+ // it revokes any prior key for this integration and mints a fresh one.
409
+ body: JSON.stringify({
410
+ json: { integration, strategy: "replace_existing" },
411
+ }),
412
+ signal: AbortSignal.timeout(15000),
251
413
  });
252
- if (!res.ok) {
253
- const body = await res.text();
254
- throw new Error(`CP relay failed (HTTP ${res.status}): ${body}`);
414
+ const body = (await res.json().catch(() => null));
415
+ if (!res.ok || !body || body.error) {
416
+ const msg = body?.error?.message ?? `HTTP ${res.status}`;
417
+ throw new Error(`Pod key issuance failed: ${msg}`);
418
+ }
419
+ const data = body.result?.data?.json;
420
+ if (!data?.apiKey) {
421
+ throw new Error("Pod returned no API key from connectIntegration");
255
422
  }
256
- return (await res.json());
423
+ return {
424
+ hubApiKey: data.apiKey,
425
+ // The connectIntegration key is owned by the human pod user directly — there
426
+ // is no separate agent user in this model (same as the browser flow). Left
427
+ // empty; the hub client resolves the acting user via /users/me at runtime.
428
+ agentUserId: "",
429
+ workspaceId: data.workspaceId ?? "",
430
+ };
257
431
  }
258
432
  /**
259
433
  * Enable OpenClaw as a free addon on a SELF-HOSTED pod.
260
434
  * Uses the PROVISIONING_TOKEN directly against the pod.
435
+ *
436
+ * Routes through the shared `provisionAgentKey()` wrapper (dynamic import to
437
+ * avoid a circular pod.ts <-> targets.ts static import). `workspaceId` is no
438
+ * longer part of the response — agents are pod-wide singletons now; scope is
439
+ * granted separately via `enrollAgentIfNeeded()`, not returned from setup.
261
440
  */
262
441
  export async function enableOpenClawAddon(podUrl, provisioningToken) {
263
- return await setupAgent(podUrl, provisioningToken, "openclaw");
442
+ const { provisionAgentKey } = await import("./targets.js");
443
+ const { hubApiKey, agentUserId } = await provisionAgentKey(podUrl, provisioningToken, "openclaw");
444
+ return { hubApiKey, agentUserId, workspaceId: "" };
264
445
  }
265
446
  /**
266
447
  * Enable OpenClaw as an addon on a MANAGED pod via the Control Plane.
@@ -281,8 +462,12 @@ export async function enableOpenClawAddonManaged(cpToken, podUrl) {
281
462
  const url = p.customDomain ? `https://${p.customDomain}` : `https://${p.subdomain}.${appDomain}`;
282
463
  return url === podUrl || podUrl.includes(p.subdomain);
283
464
  });
284
- if (!pod)
285
- throw new Error("Pod not found on your account");
465
+ // Not a local profile miss — this is a lookup against the pods the Control
466
+ // Plane says you own, so podNotFoundError's "synap pods add" is the wrong fix.
467
+ if (!pod) {
468
+ const owned = pods.map((p) => p.customDomain ?? `${p.subdomain}.${appDomain}`).join(", ") || "(none)";
469
+ throw new Error(`No pod matching ${podUrl} on your account. Pods on this account: ${owned}.`);
470
+ }
286
471
  const provRes = await fetch(`${CP_URL}/openclaw/provision`, {
287
472
  method: "POST",
288
473
  headers: {
@@ -424,7 +609,7 @@ function hasSynapCompose(dir) {
424
609
  *
425
610
  * Returns the deploy dir used.
426
611
  */
427
- export function startOpenClawOnServer(hubApiKey, agentUserId, workspaceId, podUrl) {
612
+ export function startOpenClawOnServer(hubApiKey, agentUserId, workspaceId, podUrl, projectId) {
428
613
  const deployDir = findSynapDeployDir();
429
614
  if (!deployDir) {
430
615
  throw new Error("Could not find your Synap deploy directory.\n" +
@@ -438,6 +623,9 @@ export function startOpenClawOnServer(hubApiKey, agentUserId, workspaceId, podUr
438
623
  SYNAP_WORKSPACE_ID: workspaceId,
439
624
  SYNAP_POD_URL: podUrl,
440
625
  };
626
+ // Project is a peer lens to workspace — only injected when one is resolved.
627
+ if (projectId)
628
+ envVars.SYNAP_PROJECT_ID = projectId;
441
629
  let envContent = "";
442
630
  try {
443
631
  envContent = fs.existsSync(envFile) ? fs.readFileSync(envFile, "utf-8") : "";
@@ -1 +1 @@
1
- {"version":3,"file":"pod.js","sourceRoot":"","sources":["../../src/lib/pod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pod.js","sourceRoot":"","sources":["../../src/lib/pod.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Project-ref resolution — the ONE door (P4-lite W3).
3
+ *
4
+ * A project ref can name a project on ANY pod the user can see, resolved via
5
+ * the Control Plane directory (`GET /projects/resolve?ref=`). Every command
6
+ * that accepts a project ref parses + resolves it HERE — no second ref parser
7
+ * anywhere.
8
+ *
9
+ * Ref forms (ratified):
10
+ * - uuid → local: today's behavior, pinned against the active pod
11
+ * - `<pod-subdomain>/<slug>` → canonical cross-pod form (e.g. perso/synap)
12
+ * - bare `<slug>` → resolved when unique across visible pods; 300-ambiguous otherwise
13
+ *
14
+ * The directory is an ACCELERATOR, not a dependency: CP unreachable, not
15
+ * logged in, or 404 all degrade to a graceful message — the uuid path never
16
+ * touches the CP and keeps working.
17
+ */
18
+ export type ParsedProjectRef = {
19
+ kind: "uuid";
20
+ id: string;
21
+ } | {
22
+ kind: "fq";
23
+ pod: string;
24
+ slug: string;
25
+ } | {
26
+ kind: "slug";
27
+ slug: string;
28
+ } | {
29
+ kind: "invalid";
30
+ reason: string;
31
+ };
32
+ export declare function parseProjectRef(raw: string): ParsedProjectRef;
33
+ /** One resolved project, as the CP directory returns it (200). */
34
+ export interface CpProjectResolution {
35
+ projectId: string;
36
+ /** Nullable in the CP mirror (pre-slug rows); render with a fallback. */
37
+ slug: string | null;
38
+ name: string;
39
+ podId: string;
40
+ podUrl: string;
41
+ grant?: unknown;
42
+ }
43
+ /** A 300-ambiguous candidate — same shape, rendered as `pod/slug` hints. */
44
+ export type CpProjectCandidate = Partial<CpProjectResolution>;
45
+ export type ProjectRefResolution =
46
+ /** uuid ref — no CP involved; caller keeps today's active-pod behavior. */
47
+ {
48
+ kind: "local";
49
+ projectId: string;
50
+ } | {
51
+ kind: "resolved";
52
+ project: CpProjectResolution;
53
+ refPod?: string;
54
+ } | {
55
+ kind: "ambiguous";
56
+ candidates: CpProjectCandidate[];
57
+ } | {
58
+ kind: "not-found";
59
+ ref: string;
60
+ } | {
61
+ kind: "not-active";
62
+ ref: string;
63
+ status: string;
64
+ } | {
65
+ kind: "not-logged-in";
66
+ } | {
67
+ kind: "cp-error";
68
+ message: string;
69
+ } | {
70
+ kind: "invalid";
71
+ reason: string;
72
+ };
73
+ /** Injectable seams for tests — production callers pass nothing. */
74
+ export interface ResolveDeps {
75
+ fetchImpl?: typeof fetch;
76
+ getToken?: () => {
77
+ token: string;
78
+ } | null;
79
+ cpUrl?: string;
80
+ }
81
+ /**
82
+ * Resolve a project ref. uuid short-circuits to `local` (today's behavior);
83
+ * everything else goes through the CP directory with the CLI's CP credentials.
84
+ */
85
+ export declare function resolveProjectRef(raw: string, deps?: ResolveDeps): Promise<ProjectRefResolution>;
86
+ /** True when two pod URLs name the same origin (scheme+host+port). */
87
+ export declare function samePodOrigin(a: string | undefined, b: string | undefined): boolean;
88
+ /**
89
+ * Session-lens guard: the per-Claude-session lens has NO pod field, so a
90
+ * `--session` pin can only target a project on the ACTIVE pod. Returns the
91
+ * refusal message for a cross-pod ref, or null when the pin is allowed.
92
+ */
93
+ export declare function sessionScopeRefusal(project: CpProjectResolution, activePodUrl: string | undefined): string | null;
94
+ /** `pod/slug` label for a candidate row, degrading to whatever fields exist. */
95
+ export declare function candidateLabel(c: CpProjectCandidate): string;