@synap-core/cli 1.10.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 (461) 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 +297 -176
  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 +3 -14
  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 +9 -2
  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 +198 -25
  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 +307 -24
  50. package/dist/commands/data.js.map +1 -1
  51. package/dist/commands/diagnose.d.ts +66 -4
  52. package/dist/commands/diagnose.js +329 -29
  53. package/dist/commands/diagnose.js.map +1 -1
  54. package/dist/commands/digest.js +2 -1
  55. package/dist/commands/digest.js.map +1 -1
  56. package/dist/commands/doc.d.ts +25 -4
  57. package/dist/commands/doc.js +100 -18
  58. package/dist/commands/doc.js.map +1 -1
  59. package/dist/commands/doctor.d.ts +130 -0
  60. package/dist/commands/doctor.js +814 -0
  61. package/dist/commands/doctor.js.map +1 -0
  62. package/dist/commands/events.js +3 -1
  63. package/dist/commands/events.js.map +1 -1
  64. package/dist/commands/explain.js +5 -5
  65. package/dist/commands/explain.js.map +1 -1
  66. package/dist/commands/graph.js +5 -3
  67. package/dist/commands/graph.js.map +1 -1
  68. package/dist/commands/import.d.ts +368 -13
  69. package/dist/commands/import.js +1096 -55
  70. package/dist/commands/import.js.map +1 -1
  71. package/dist/commands/init.d.ts +20 -9
  72. package/dist/commands/init.js +433 -973
  73. package/dist/commands/init.js.map +1 -1
  74. package/dist/commands/keys.d.ts +1 -0
  75. package/dist/commands/keys.js +15 -2
  76. package/dist/commands/keys.js.map +1 -1
  77. package/dist/commands/knowledge.d.ts +28 -6
  78. package/dist/commands/knowledge.js +358 -73
  79. package/dist/commands/knowledge.js.map +1 -1
  80. package/dist/commands/launch.js +2 -2
  81. package/dist/commands/launch.js.map +1 -1
  82. package/dist/commands/lens.d.ts +37 -1
  83. package/dist/commands/lens.js +193 -72
  84. package/dist/commands/lens.js.map +1 -1
  85. package/dist/commands/market-authoring.d.ts +72 -0
  86. package/dist/commands/market-authoring.js +566 -0
  87. package/dist/commands/market-authoring.js.map +1 -0
  88. package/dist/commands/market-official.d.ts +58 -0
  89. package/dist/commands/market-official.js +84 -0
  90. package/dist/commands/market-official.js.map +1 -0
  91. package/dist/commands/market.d.ts +419 -20
  92. package/dist/commands/market.js +2124 -193
  93. package/dist/commands/market.js.map +1 -1
  94. package/dist/commands/mcp.d.ts +70 -13
  95. package/dist/commands/mcp.js +308 -40
  96. package/dist/commands/mcp.js.map +1 -1
  97. package/dist/commands/open.d.ts +39 -9
  98. package/dist/commands/open.js +80 -25
  99. package/dist/commands/open.js.map +1 -1
  100. package/dist/commands/playbook.d.ts +42 -0
  101. package/dist/commands/playbook.js +162 -0
  102. package/dist/commands/playbook.js.map +1 -0
  103. package/dist/commands/pod.js +1 -1
  104. package/dist/commands/pod.js.map +1 -1
  105. package/dist/commands/pods.d.ts +19 -0
  106. package/dist/commands/pods.js +220 -85
  107. package/dist/commands/pods.js.map +1 -1
  108. package/dist/commands/proposals-actions.d.ts +62 -0
  109. package/dist/commands/proposals-actions.js +146 -8
  110. package/dist/commands/proposals-actions.js.map +1 -1
  111. package/dist/commands/proposals-await.d.ts +68 -0
  112. package/dist/commands/proposals-await.js +248 -0
  113. package/dist/commands/proposals-await.js.map +1 -0
  114. package/dist/commands/proton-setup.d.ts +73 -0
  115. package/dist/commands/proton-setup.js +577 -0
  116. package/dist/commands/proton-setup.js.map +1 -0
  117. package/dist/commands/providers.d.ts +23 -0
  118. package/dist/commands/providers.js +126 -1
  119. package/dist/commands/providers.js.map +1 -1
  120. package/dist/commands/raycast.js +6 -2
  121. package/dist/commands/raycast.js.map +1 -1
  122. package/dist/commands/rule.d.ts +150 -0
  123. package/dist/commands/rule.js +447 -0
  124. package/dist/commands/rule.js.map +1 -0
  125. package/dist/commands/session-wait.d.ts +111 -0
  126. package/dist/commands/session-wait.js +209 -0
  127. package/dist/commands/session-wait.js.map +1 -0
  128. package/dist/commands/sessions.d.ts +52 -0
  129. package/dist/commands/sessions.js +479 -58
  130. package/dist/commands/sessions.js.map +1 -1
  131. package/dist/commands/skill-manage.d.ts +21 -0
  132. package/dist/commands/skill-manage.js +136 -19
  133. package/dist/commands/skill-manage.js.map +1 -1
  134. package/dist/commands/skills.js +19 -1
  135. package/dist/commands/skills.js.map +1 -1
  136. package/dist/commands/status.d.ts +1 -4
  137. package/dist/commands/status.js +5 -34
  138. package/dist/commands/status.js.map +1 -1
  139. package/dist/commands/statusline.backoff.test.d.ts +13 -0
  140. package/dist/commands/statusline.backoff.test.js +100 -0
  141. package/dist/commands/statusline.backoff.test.js.map +1 -0
  142. package/dist/commands/statusline.js +16 -9
  143. package/dist/commands/statusline.js.map +1 -1
  144. package/dist/commands/sync-status.d.ts +12 -0
  145. package/dist/commands/sync-status.js +125 -0
  146. package/dist/commands/sync-status.js.map +1 -0
  147. package/dist/commands/templates-retire.d.ts +34 -0
  148. package/dist/commands/templates-retire.js +192 -0
  149. package/dist/commands/templates-retire.js.map +1 -0
  150. package/dist/commands/tools.js +6 -21
  151. package/dist/commands/tools.js.map +1 -1
  152. package/dist/commands/tracks.d.ts +51 -0
  153. package/dist/commands/tracks.js +291 -0
  154. package/dist/commands/tracks.js.map +1 -0
  155. package/dist/commands/update.d.ts +3 -11
  156. package/dist/commands/update.js +5 -134
  157. package/dist/commands/update.js.map +1 -1
  158. package/dist/commands/upload.d.ts +68 -0
  159. package/dist/commands/upload.js +257 -0
  160. package/dist/commands/upload.js.map +1 -0
  161. package/dist/commands/vendor.d.ts +28 -0
  162. package/dist/commands/vendor.js +110 -0
  163. package/dist/commands/vendor.js.map +1 -0
  164. package/dist/commands/versions.js +6 -0
  165. package/dist/commands/versions.js.map +1 -1
  166. package/dist/commands/view.js +10 -5
  167. package/dist/commands/view.js.map +1 -1
  168. package/dist/commands/whoami.d.ts +23 -3
  169. package/dist/commands/whoami.js +169 -23
  170. package/dist/commands/whoami.js.map +1 -1
  171. package/dist/commands/worker.d.ts +122 -0
  172. package/dist/commands/worker.js +435 -0
  173. package/dist/commands/worker.js.map +1 -0
  174. package/dist/commands/worker.test.d.ts +1 -0
  175. package/dist/commands/worker.test.js +116 -0
  176. package/dist/commands/worker.test.js.map +1 -0
  177. package/dist/commands/workspace-ops.d.ts +35 -0
  178. package/dist/commands/workspace-ops.js +153 -0
  179. package/dist/commands/workspace-ops.js.map +1 -0
  180. package/dist/index.d.ts +6 -6
  181. package/dist/index.js +1009 -171
  182. package/dist/index.js.map +1 -1
  183. package/dist/lib/agent-connections.d.ts +31 -0
  184. package/dist/lib/agent-connections.js +33 -0
  185. package/dist/lib/agent-connections.js.map +1 -0
  186. package/dist/lib/agent-detect.d.ts +27 -0
  187. package/dist/lib/agent-detect.js +71 -0
  188. package/dist/lib/agent-detect.js.map +1 -0
  189. package/dist/lib/agent-door.d.ts +138 -0
  190. package/dist/lib/agent-door.js +426 -0
  191. package/dist/lib/agent-door.js.map +1 -0
  192. package/dist/lib/agents-config.d.ts +2 -0
  193. package/dist/lib/agents-config.js +4 -9
  194. package/dist/lib/agents-config.js.map +1 -1
  195. package/dist/lib/approval-poll.d.ts +31 -2
  196. package/dist/lib/approval-poll.js +20 -7
  197. package/dist/lib/approval-poll.js.map +1 -1
  198. package/dist/lib/atomic-file.d.ts +48 -0
  199. package/dist/lib/atomic-file.js +129 -0
  200. package/dist/lib/atomic-file.js.map +1 -0
  201. package/dist/lib/auth.d.ts +14 -9
  202. package/dist/lib/auth.js +44 -61
  203. package/dist/lib/auth.js.map +1 -1
  204. package/dist/lib/batch-approval.d.ts +85 -0
  205. package/dist/lib/batch-approval.js +170 -0
  206. package/dist/lib/batch-approval.js.map +1 -0
  207. package/dist/lib/capture-lane.d.ts +6 -5
  208. package/dist/lib/capture-lane.js +11 -8
  209. package/dist/lib/capture-lane.js.map +1 -1
  210. package/dist/lib/capture-structure.d.ts +342 -0
  211. package/dist/lib/capture-structure.js +295 -0
  212. package/dist/lib/capture-structure.js.map +1 -0
  213. package/dist/lib/catalog-templates.d.ts +59 -0
  214. package/dist/lib/catalog-templates.js +126 -0
  215. package/dist/lib/catalog-templates.js.map +1 -0
  216. package/dist/lib/cli-build.d.ts +19 -0
  217. package/dist/lib/cli-build.js +37 -0
  218. package/dist/lib/cli-build.js.map +1 -0
  219. package/dist/lib/conversation-headers.d.ts +18 -0
  220. package/dist/lib/conversation-headers.js +32 -0
  221. package/dist/lib/conversation-headers.js.map +1 -0
  222. package/dist/lib/cp-packages.d.ts +216 -4
  223. package/dist/lib/cp-packages.js +414 -11
  224. package/dist/lib/cp-packages.js.map +1 -1
  225. package/dist/lib/credential-class.d.ts +117 -0
  226. package/dist/lib/credential-class.js +116 -0
  227. package/dist/lib/credential-class.js.map +1 -0
  228. package/dist/lib/describe-lens.d.ts +35 -0
  229. package/dist/lib/describe-lens.js +40 -0
  230. package/dist/lib/describe-lens.js.map +1 -1
  231. package/dist/lib/device-connect.d.ts +125 -0
  232. package/dist/lib/device-connect.js +256 -0
  233. package/dist/lib/device-connect.js.map +1 -0
  234. package/dist/lib/directory-lens.d.ts +99 -0
  235. package/dist/lib/directory-lens.js +187 -0
  236. package/dist/lib/directory-lens.js.map +1 -0
  237. package/dist/lib/exporter-coverage.d.ts +71 -0
  238. package/dist/lib/exporter-coverage.js +97 -0
  239. package/dist/lib/exporter-coverage.js.map +1 -0
  240. package/dist/lib/hub-client.d.ts +43 -9
  241. package/dist/lib/hub-client.js +429 -65
  242. package/dist/lib/hub-client.js.map +1 -1
  243. package/dist/lib/id.d.ts +23 -0
  244. package/dist/lib/id.js +35 -0
  245. package/dist/lib/id.js.map +1 -0
  246. package/dist/lib/init-connect.d.ts +41 -0
  247. package/dist/lib/init-connect.js +75 -0
  248. package/dist/lib/init-connect.js.map +1 -0
  249. package/dist/lib/init-exit.d.ts +24 -0
  250. package/dist/lib/init-exit.js +41 -0
  251. package/dist/lib/init-exit.js.map +1 -0
  252. package/dist/lib/init-flow.d.ts +25 -0
  253. package/dist/lib/init-flow.js +40 -0
  254. package/dist/lib/init-flow.js.map +1 -0
  255. package/dist/lib/init-handoff.d.ts +16 -0
  256. package/dist/lib/init-handoff.js +19 -0
  257. package/dist/lib/init-handoff.js.map +1 -0
  258. package/dist/lib/init-output.d.ts +18 -0
  259. package/dist/lib/init-output.js +43 -0
  260. package/dist/lib/init-output.js.map +1 -0
  261. package/dist/lib/init-pod.d.ts +45 -0
  262. package/dist/lib/init-pod.js +36 -0
  263. package/dist/lib/init-pod.js.map +1 -0
  264. package/dist/lib/installed.d.ts +210 -11
  265. package/dist/lib/installed.js +234 -36
  266. package/dist/lib/installed.js.map +1 -1
  267. package/dist/lib/key-approval.d.ts +57 -0
  268. package/dist/lib/key-approval.js +117 -0
  269. package/dist/lib/key-approval.js.map +1 -0
  270. package/dist/lib/key-diagnosis.d.ts +56 -0
  271. package/dist/lib/key-diagnosis.js +227 -0
  272. package/dist/lib/key-diagnosis.js.map +1 -0
  273. package/dist/lib/key-doctor.d.ts +136 -0
  274. package/dist/lib/key-doctor.js +286 -0
  275. package/dist/lib/key-doctor.js.map +1 -0
  276. package/dist/lib/key-locations.d.ts +120 -0
  277. package/dist/lib/key-locations.js +326 -0
  278. package/dist/lib/key-locations.js.map +1 -0
  279. package/dist/lib/key-source.d.ts +66 -0
  280. package/dist/lib/key-source.js +106 -0
  281. package/dist/lib/key-source.js.map +1 -0
  282. package/dist/lib/key-state.d.ts +70 -0
  283. package/dist/lib/key-state.js +115 -0
  284. package/dist/lib/key-state.js.map +1 -0
  285. package/dist/lib/kind-package.d.ts +181 -0
  286. package/dist/lib/kind-package.js +679 -0
  287. package/dist/lib/kind-package.js.map +1 -0
  288. package/dist/lib/knowledge-title.d.ts +24 -0
  289. package/dist/lib/knowledge-title.js +46 -0
  290. package/dist/lib/knowledge-title.js.map +1 -0
  291. package/dist/lib/knowledge-title.test.d.ts +1 -0
  292. package/dist/lib/knowledge-title.test.js +34 -0
  293. package/dist/lib/knowledge-title.test.js.map +1 -0
  294. package/dist/lib/machine-instance.d.ts +64 -0
  295. package/dist/lib/machine-instance.js +142 -0
  296. package/dist/lib/machine-instance.js.map +1 -0
  297. package/dist/lib/mcp-bridge.d.ts +42 -0
  298. package/dist/lib/mcp-bridge.js +147 -0
  299. package/dist/lib/mcp-bridge.js.map +1 -0
  300. package/dist/lib/mcp-bridge.test.d.ts +1 -0
  301. package/dist/lib/mcp-bridge.test.js +90 -0
  302. package/dist/lib/mcp-bridge.test.js.map +1 -0
  303. package/dist/lib/mcp-call.d.ts +30 -0
  304. package/dist/lib/mcp-call.js +107 -0
  305. package/dist/lib/mcp-call.js.map +1 -0
  306. package/dist/lib/mcp-snippets.d.ts +53 -0
  307. package/dist/lib/mcp-snippets.js +82 -0
  308. package/dist/lib/mcp-snippets.js.map +1 -0
  309. package/dist/lib/next-steps.d.ts +8 -0
  310. package/dist/lib/next-steps.js +31 -1
  311. package/dist/lib/next-steps.js.map +1 -1
  312. package/dist/lib/package-wire.d.ts +179 -0
  313. package/dist/lib/package-wire.js +68 -0
  314. package/dist/lib/package-wire.js.map +1 -0
  315. package/dist/lib/pair-link.d.ts +38 -0
  316. package/dist/lib/pair-link.js +68 -0
  317. package/dist/lib/pair-link.js.map +1 -0
  318. package/dist/lib/pod-wide.d.ts +40 -0
  319. package/dist/lib/pod-wide.js +46 -0
  320. package/dist/lib/pod-wide.js.map +1 -0
  321. package/dist/lib/pod.d.ts +119 -115
  322. package/dist/lib/pod.js +206 -412
  323. package/dist/lib/pod.js.map +1 -1
  324. package/dist/lib/project-ref.d.ts +9 -3
  325. package/dist/lib/project-ref.js +10 -4
  326. package/dist/lib/project-ref.js.map +1 -1
  327. package/dist/lib/review-credential.d.ts +119 -0
  328. package/dist/lib/review-credential.js +147 -0
  329. package/dist/lib/review-credential.js.map +1 -0
  330. package/dist/lib/safe-open.d.ts +49 -0
  331. package/dist/lib/safe-open.js +119 -0
  332. package/dist/lib/safe-open.js.map +1 -0
  333. package/dist/lib/session-lens.d.ts +40 -1
  334. package/dist/lib/session-lens.js +54 -4
  335. package/dist/lib/session-lens.js.map +1 -1
  336. package/dist/lib/superwhisper-import.d.ts +8 -0
  337. package/dist/lib/superwhisper-import.js +14 -7
  338. package/dist/lib/superwhisper-import.js.map +1 -1
  339. package/dist/lib/superwhisper-title.test.d.ts +1 -0
  340. package/dist/lib/superwhisper-title.test.js +18 -0
  341. package/dist/lib/superwhisper-title.test.js.map +1 -0
  342. package/dist/lib/targets.d.ts +134 -10
  343. package/dist/lib/targets.js +962 -258
  344. package/dist/lib/targets.js.map +1 -1
  345. package/dist/lib/template-file.d.ts +78 -0
  346. package/dist/lib/template-file.js +140 -0
  347. package/dist/lib/template-file.js.map +1 -0
  348. package/dist/lib/template-lifecycle.d.ts +217 -0
  349. package/dist/lib/template-lifecycle.js +433 -0
  350. package/dist/lib/template-lifecycle.js.map +1 -0
  351. package/dist/lib/template-steps.d.ts +88 -0
  352. package/dist/lib/template-steps.js +118 -0
  353. package/dist/lib/template-steps.js.map +1 -0
  354. package/dist/lib/time-ago.d.ts +2 -0
  355. package/dist/lib/time-ago.js +15 -0
  356. package/dist/lib/time-ago.js.map +1 -0
  357. package/dist/utils/logger.js +5 -2
  358. package/dist/utils/logger.js.map +1 -1
  359. package/package.json +25 -18
  360. package/skills/README.md +12 -10
  361. package/skills/agent-os/SKILL.md +220 -99
  362. package/skills/manifest.json +2 -2
  363. package/skills/onboard/SKILL.md +61 -25
  364. package/skills/synap/README.md +5 -8
  365. package/skills/synap/SKILL.md +1185 -301
  366. package/skills/synap/_order.txt +7 -0
  367. package/skills/synap/_skill.yaml +1 -1
  368. package/skills/synap/automations.md +15 -0
  369. package/skills/synap/capture.md +54 -151
  370. package/skills/synap/cli-operations.md +24 -18
  371. package/skills/synap/common-mistakes.md +1 -0
  372. package/skills/synap/concepts.md +28 -0
  373. package/skills/synap/content-os.md +92 -0
  374. package/skills/synap/creative-loop.md +15 -10
  375. package/skills/synap/crm.md +21 -52
  376. package/skills/synap/digesting-a-channel.md +25 -0
  377. package/skills/synap/document-embeds.md +141 -47
  378. package/skills/synap/escalation-ladder.md +20 -10
  379. package/skills/synap/focus-sessions.md +47 -21
  380. package/skills/synap/from-intent.md +142 -0
  381. package/skills/synap/governance-rules.md +4 -4
  382. package/skills/synap/governance.md +10 -7
  383. package/skills/synap/hand-off.md +33 -0
  384. package/skills/synap/inline-patterns.md +15 -7
  385. package/skills/synap/lenses.md +33 -15
  386. package/skills/synap/linking.md +41 -40
  387. package/skills/synap/mcp-remote-servers.md +64 -0
  388. package/skills/synap/mental-model.md +24 -22
  389. package/skills/synap/multi-entity-capture.md +6 -4
  390. package/skills/synap/operating-mode-rules.md +1 -1
  391. package/skills/synap/processes.md +118 -0
  392. package/skills/synap/quick-reference.md +5 -1
  393. package/skills/synap/reading.md +3 -1
  394. package/skills/synap/reflexes.md +12 -42
  395. package/skills/synap/viewframe-cells.md +38 -5
  396. package/skills/synap/work-flow.md +1 -1
  397. package/skills/synap/work-model.md +96 -0
  398. package/skills/synap/worked-examples.md +21 -1
  399. package/skills/synap/workspace-design.md +14 -10
  400. package/skills/synap/writes.md +165 -35
  401. package/skills/synap/writing-titles.md +63 -0
  402. package/skills/synap-app/SKILL.md +319 -0
  403. package/skills/synap-app/_order.txt +5 -0
  404. package/skills/synap-app/_skill.yaml +20 -0
  405. package/skills/synap-app/creating-the-base-app.md +64 -0
  406. package/skills/synap-app/governance.md +42 -0
  407. package/skills/synap-app/install-commands.md +55 -0
  408. package/skills/synap-app/overview.md +50 -0
  409. package/skills/synap-app/using-the-sdk.md +73 -0
  410. package/skills/synap-design/SKILL.md +474 -0
  411. package/skills/synap-design/_order.txt +4 -0
  412. package/skills/synap-design/_skill.yaml +21 -0
  413. package/skills/synap-design/loop.md +134 -0
  414. package/skills/synap-design/overview.md +44 -0
  415. package/skills/synap-design/principles.md +130 -0
  416. package/skills/synap-design/system.md +133 -0
  417. package/skills/synap-market/SKILL.md +625 -0
  418. package/skills/synap-market/_order.txt +5 -0
  419. package/skills/synap-market/_skill.yaml +24 -0
  420. package/skills/synap-market/author-and-publish.md +212 -0
  421. package/skills/synap-market/discover-and-fetch.md +59 -0
  422. package/skills/synap-market/governance-and-catalog.md +63 -0
  423. package/skills/synap-market/install.md +133 -0
  424. package/skills/synap-market/overview.md +119 -0
  425. package/skills/synap-schema/SKILL.md +172 -10
  426. package/skills/synap-schema/_order.txt +2 -0
  427. package/skills/synap-schema/_skill.yaml +4 -2
  428. package/skills/synap-schema/common-mistakes.md +4 -2
  429. package/skills/synap-schema/discover-profiles.md +1 -1
  430. package/skills/synap-schema/entity-scope.md +15 -3
  431. package/skills/synap-schema/extend-first.md +29 -0
  432. package/skills/synap-schema/extend-vs-create.md +1 -1
  433. package/skills/synap-schema/intent-vocabulary-ssot.md +111 -0
  434. package/skills/synap-schema/property-types.md +1 -1
  435. package/skills/synap-schema/relations.md +1 -1
  436. package/skills/synap-ui/SKILL.md +19 -12
  437. package/skills/synap-ui/_skill.yaml +1 -1
  438. package/skills/synap-ui/ai-companion.md +1 -1
  439. package/skills/synap-ui/arranging-bento.md +2 -0
  440. package/skills/synap-ui/bento-layouts.md +10 -10
  441. package/skills/synap-ui/bento-recipes.md +313 -543
  442. package/skills/synap-ui/four-builds.md +5 -0
  443. package/skills/synap-ui/view-types.md +2 -2
  444. package/skills/synap-ui/widget-catalog.md +22 -278
  445. package/templates/automations/bookmark-enrichment.automation.json +290 -13
  446. package/templates/automations/url-bookmark-capture.automation.json +73 -11
  447. package/templates/skills/authoring-playbooks/SKILL.md +6 -3
  448. package/templates/skills/authoring-playbooks/reference/stages-contract.md +15 -0
  449. package/templates/skills/authoring-playbooks/reference/worked-example.md +3 -0
  450. package/dist/commands/infra.d.ts +0 -21
  451. package/dist/commands/infra.js +0 -262
  452. package/dist/commands/infra.js.map +0 -1
  453. package/dist/lib/browser-auth.d.ts +0 -35
  454. package/dist/lib/browser-auth.js +0 -170
  455. package/dist/lib/browser-auth.js.map +0 -1
  456. package/dist/lib/openclaw.d.ts +0 -32
  457. package/dist/lib/openclaw.js +0 -164
  458. package/dist/lib/openclaw.js.map +0 -1
  459. package/dist/lib/seed.d.ts +0 -13
  460. package/dist/lib/seed.js +0 -135
  461. package/dist/lib/seed.js.map +0 -1
package/dist/lib/pod.d.ts CHANGED
@@ -9,17 +9,28 @@ export interface LocalPodConfig {
9
9
  hubApiKey: string;
10
10
  label?: string;
11
11
  savedAt: string;
12
+ /**
13
+ * "computer" = `hubApiKey` is THIS machine's own key on the pod, from the
14
+ * device flow (`device-connect.ts`); `agentUserId` is then the computer's id.
15
+ * Absent = a pasted key or an older operator key.
16
+ */
17
+ credential?: "computer";
18
+ /** When `hubApiKey` stops working (ISO), if the pod said. `synap login`/`init` renew it 7 days before. */
19
+ keyExpiresAt?: string;
20
+ /** The computer's name on the pod ("devbox"). */
21
+ computerName?: string;
12
22
  }
13
23
  /** SSOT for every connect/surface agent identity. The type is derived from this
14
24
  * array so the two can't drift. */
15
- export declare const SURFACE_NAMES: readonly ["raycast", "claude-code", "claude-desktop", "cursor", "codex", "opencode", "aider", "windsurf", "goose", "zed", "vscode", "discord"];
25
+ export declare const SURFACE_NAMES: readonly ["raycast", "claude-code", "claude-desktop", "cursor", "codex", "chatgpt", "chatgpt-oauth", "opencode", "aider", "windsurf", "goose", "zed", "vscode", "grok", "discord", "proton", "generic"];
16
26
  export type SurfaceName = (typeof SURFACE_NAMES)[number];
17
27
  /**
18
- * agentTypes already owned by OTHER doors — `POST /setup/agent` treats agentType
19
- * as a POD-WIDE SINGLETON, so `agents create` deriving a slug that collides with
20
- * one of these would silently hijack that door's agent + key. Superset of the
21
- * surfaces above plus the non-surface provisioning types (generic/openwebui MCP
22
- * mappings; openclaw/cli/memory). Single source of truth for the collision guard.
28
+ * agentTypes already owned by OTHER doors — provisioning is singleton per
29
+ * (createdByUserId, agentType), so `agents create` deriving a slug that collides
30
+ * with one of these would reuse that surface's agent for this user. Superset of
31
+ * the surfaces above plus the non-surface provisioning types (generic/openwebui
32
+ * MCP mappings; cli/memory, and the retired "openclaw", which pods may still
33
+ * hold an agent of). Single source of truth for the collision guard.
23
34
  */
24
35
  export declare const RESERVED_AGENT_TYPES: ReadonlySet<string>;
25
36
  export interface SurfaceAgentKey {
@@ -44,6 +55,18 @@ export interface ActiveProjectBinding {
44
55
  projectId: string;
45
56
  podName: string;
46
57
  }
58
+ /**
59
+ * The active workspace pinned together with the pod profile it belongs to.
60
+ *
61
+ * A workspace exists on exactly ONE pod, but `activeWorkspaceId` is a single
62
+ * pod-agnostic global. Recording the pod it was set against lets resolution
63
+ * refuse to send a workspace to a pod it doesn't belong to (the cross-pod 403).
64
+ * Peer of {@link ActiveProjectBinding}.
65
+ */
66
+ export interface ActiveWorkspaceBinding {
67
+ workspaceId: string;
68
+ podName: string;
69
+ }
47
70
  export interface MultiPodConfig {
48
71
  activePod: string;
49
72
  /** Per-surface pod overrides. When set, takes priority over activePod for that surface. */
@@ -51,12 +74,27 @@ export interface MultiPodConfig {
51
74
  pods: Record<string, LocalPodConfig>;
52
75
  /** Active workspace override — set by `synap use <workspaceId>`. Takes priority over the pod's default workspaceId. */
53
76
  activeWorkspaceId?: string;
77
+ /** Pod-aware binding of the active workspace — records which pod `activeWorkspaceId` was set against, so cross-pod resolution can ignore it for other pods. */
78
+ activeWorkspace?: ActiveWorkspaceBinding;
54
79
  /** Active project override — set by `synap project use <projectId>`. Peer of activeWorkspaceId; independent (composable). */
55
80
  activeProjectId?: string;
56
81
  /** Pod-aware binding of the active project — set by cross-pod `synap project use <ref>` so later drift (active pod changed under the pin) can warn. */
57
82
  activeProject?: ActiveProjectBinding;
58
83
  /** Per-surface dedicated agent keys (provisioned with named agentType). Separate from pod profile keys. */
59
84
  agentKeys?: Partial<Record<SurfaceName, SurfaceAgentKey>>;
85
+ /**
86
+ * Multi-pod surface keys: surface → normalized podUrl → key.
87
+ * `agentKeys[surface]` remains the last-written default for backward compat;
88
+ * this map is the source of truth when a consumer knows which pod it is talking to.
89
+ */
90
+ agentKeysByPod?: Partial<Record<SurfaceName, Record<string, SurfaceAgentKey>>>;
91
+ /**
92
+ * Keys minted but NOT yet approved: surface → normalized podUrl → key. Never
93
+ * read for authentication. Kept so the next `connect` / `doctor --fix`
94
+ * resumes the SAME request instead of minting another (one approval, one key),
95
+ * and moved into `agentKeysByPod` only once the pod says it is live.
96
+ */
97
+ pendingAgentKeys?: Record<string, Record<string, PendingAgentKey>>;
60
98
  /** Workspace routing set by `synap connect` wizard — drives capture/recall defaults. */
61
99
  agentWorkspaceRouting?: AgentWorkspaceRouting;
62
100
  }
@@ -92,20 +130,61 @@ export declare function setPodOverrideByName(name: string): LocalPodConfig;
92
130
  * Consume a position-independent `--pod <name>` (or `--pod=<name>`) from argv and
93
131
  * register it as the per-invocation override. Mutates `argv` in place so commander
94
132
  * never sees the flag (it isn't registered per-command). No-op when the argv
95
- * targets a command that owns `--pod` itself (agents, bridge-setup). Throws with a
133
+ * targets a command that owns `--pod` itself (bridge-setup). Throws with a
96
134
  * helpful message when the named profile is unknown.
97
135
  */
98
136
  export declare function bootstrapPodOverride(argv: string[]): void;
99
137
  export declare function addPodProfile(name: string, podConfig: LocalPodConfig): void;
100
138
  export declare function setActivePod(name: string): LocalPodConfig;
101
- /** Get the active workspace ID: explicit override first, then the pod default. */
139
+ /** The active pod's profile NAME (not its config), or undefined if none is set. */
140
+ export declare function getActivePodName(): string | undefined;
141
+ /** Find a saved pod profile NAME by its URL (trailing slashes ignored). */
142
+ export declare function findPodNameByUrl(url: string): string | undefined;
143
+ /**
144
+ * Resolve the workspace to use for a specific pod — PURE (no disk, no network),
145
+ * so the cross-pod rule is unit-testable.
146
+ *
147
+ * A workspace lives on exactly one pod, but `activeWorkspaceId` is a single
148
+ * pod-agnostic global. Sending it to the wrong pod is the "Access denied to
149
+ * workspace" 403. The rule: only honor the global override for the pod it
150
+ * actually belongs to; otherwise fall back to THAT pod's own default workspace.
151
+ *
152
+ * 1. No override set → the target pod's own default.
153
+ * 2. Override has a pod binding → honor it only for its bound pod; for any
154
+ * other pod, use that pod's default.
155
+ * 3. Legacy override (no binding) that equals ANOTHER saved pod's default →
156
+ * it clearly belongs to that pod → use the target's default.
157
+ * 4. Otherwise no evidence it's foreign → assume it's the target pod's (the
158
+ * legacy `synap use <custom-ws-on-this-pod>` case) → honor it.
159
+ */
160
+ export declare function resolveWorkspaceForPod(config: MultiPodConfig, podName: string | undefined): string | undefined;
161
+ /**
162
+ * Get the active workspace ID for a pod (by profile NAME). Applies the cross-pod
163
+ * rule in {@link resolveWorkspaceForPod}. Omit `podName` for the active pod.
164
+ */
165
+ export declare function getActiveWorkspaceIdForPod(podName?: string): string | undefined;
166
+ /**
167
+ * Get the active workspace ID for the ACTIVE pod: explicit override first (only
168
+ * if it belongs to this pod), then the pod default. Cross-pod-safe: a global
169
+ * override left over from another pod is ignored rather than sent (avoids the
170
+ * "Access denied to workspace" 403).
171
+ */
102
172
  export declare function getActiveWorkspaceId(): string | undefined;
103
- /** Persist a workspace as the active context for all subsequent commands. */
104
- export declare function setActiveWorkspaceId(workspaceId: string): void;
173
+ /**
174
+ * Persist a workspace as the active context for all subsequent commands.
175
+ * Records the pod the workspace belongs to (defaults to the active pod) so
176
+ * later cross-pod resolution can tell whether the override applies.
177
+ */
178
+ export declare function setActiveWorkspaceId(workspaceId: string, podName?: string): void;
105
179
  /** Get the active project ID: durable override set by `synap project use`. */
106
180
  export declare function getActiveProjectId(): string | undefined;
107
- /** Persist a project as the active context for all subsequent commands. */
108
- export declare function setActiveProjectId(projectId: string): void;
181
+ /**
182
+ * Persist a project as the active context for all subsequent commands.
183
+ * Records the pod it was set against (defaults to the active pod) so
184
+ * {@link resolveHubConfig} can refuse to send it to a foreign pod.
185
+ * Peer of {@link setActiveWorkspaceId}.
186
+ */
187
+ export declare function setActiveProjectId(projectId: string, podName?: string): void;
109
188
  /**
110
189
  * Pin project AND the pod it lives on together — the cross-pod `project use`
111
190
  * door. Stores the binding so later drift (active pod switched away from the
@@ -116,17 +195,40 @@ export declare function setActiveProjectBinding(binding: ActiveProjectBinding):
116
195
  export declare function getActiveProjectBinding(): ActiveProjectBinding | undefined;
117
196
  /** Remove the active project override — subsequent commands see all projects. */
118
197
  export declare function clearActiveProjectId(): void;
119
- /** Store a dedicated agent key for a specific surface (e.g. "raycast", "claude-code"). */
198
+ /**
199
+ * Store a dedicated agent key for a specific surface (e.g. "raycast", "claude-code").
200
+ * Always writes `agentKeys[surface]` (last-write, backward compat). When `key.podUrl`
201
+ * is set, also stores under `agentKeysByPod[surface][normalizedPodUrl]` so multi-pod
202
+ * surfaces can look up the key for the pod they are actually talking to.
203
+ */
120
204
  export declare function setSurfaceAgentKey(surface: SurfaceName, key: SurfaceAgentKey): void;
121
- /** Read back the stored agent key for a surface. Returns null if not provisioned. */
122
- export declare function getSurfaceAgentKey(surface: SurfaceName): SurfaceAgentKey | null;
205
+ /**
206
+ * Read back the stored agent key for a surface.
207
+ * When `podUrl` is provided, prefer `agentKeysByPod` for that pod; if only a legacy
208
+ * `agentKeys[surface]` entry exists, return it only when its podUrl matches (or is
209
+ * unset). Never return a key known to belong to a different pod.
210
+ */
211
+ export declare function getSurfaceAgentKey(surface: SurfaceName, podUrl?: string): SurfaceAgentKey | null;
212
+ /** A minted agent key waiting for its owner's approval (see `pendingAgentKeys`). */
213
+ export interface PendingAgentKey {
214
+ hubApiKey: string;
215
+ agentUserId: string;
216
+ podUrl: string;
217
+ /** The key's id on the pod (the approval page names it). */
218
+ keyId: string;
219
+ approvalUrl: string;
220
+ /** This computer's instance label the key was minted with. */
221
+ instanceId?: string;
222
+ createdAt: string;
223
+ }
224
+ export declare function getPendingAgentKey(surface: string, podUrl: string): PendingAgentKey | null;
225
+ export declare function setPendingAgentKey(surface: string, key: PendingAgentKey): void;
226
+ export declare function clearPendingAgentKey(surface: string, podUrl: string): void;
123
227
  export declare function setAgentWorkspaceRouting(routing: AgentWorkspaceRouting): void;
124
228
  export declare function getAgentWorkspaceRouting(): AgentWorkspaceRouting | undefined;
125
229
  /** Remove the active workspace override — subsequent commands see all workspaces. */
126
230
  export declare function clearActiveWorkspaceId(): void;
127
231
  export declare function removePodProfile(name: string): void;
128
- /** @deprecated Use addPodProfile("default", config) */
129
- export declare function saveLocalPodConfig(podConfig: LocalPodConfig): void;
130
232
  export interface PodStatus {
131
233
  url: string;
132
234
  healthy: boolean;
@@ -142,101 +244,3 @@ export declare function checkPodHealth(podUrl: string): Promise<PodStatus>;
142
244
  * Install Docker and start a self-hosted Synap pod.
143
245
  */
144
246
  export declare function startSelfHostedPod(): void;
145
- /**
146
- * Install the synap skill into OpenClaw.
147
- */
148
- /**
149
- * Open a Pod session for the CP-authenticated user.
150
- * Calls the issuer for a short-lived generic assertion, then exchanges that
151
- * assertion directly with the Pod. The issuer never receives a Pod session.
152
- *
153
- * Returns the Kratos session token the Pod mints after its own membership check.
154
- * That token authenticates subsequent pod tRPC calls (e.g.
155
- * `apiKeys.connectIntegration`) as the pod user, via the X-Session-Token header.
156
- * `sessionToken` is null only if the pod handshake returned no token (e.g. 409).
157
- */
158
- export declare function provisionUserOnPod(podUrl: string, cpToken: string): Promise<{
159
- sessionToken: string | null;
160
- }>;
161
- /**
162
- * Issue a scoped Hub Protocol API key on the pod for an authenticated user.
163
- *
164
- * Canonical path: the pod's `apiKeys.connectIntegration` tRPC procedure — the
165
- * same one the pod-admin `/connect` page and the browser's LocalCliRow use.
166
- * Auth is the Kratos session token minted by {@link provisionUserOnPod},
167
- * forwarded as the `X-Session-Token` header. (Replaces the removed CP relay
168
- * `POST /pods/setup-agent`, which now returns 410.)
169
- *
170
- * Backend tRPC uses the superjson transformer, so the input rides in a
171
- * `{ json: ... }` envelope and the output is unwrapped from `result.data.json`.
172
- */
173
- export declare function setupAgentViaPod(podUrl: string, sessionToken: string, integration?: "cli" | "openclaw" | "raycast" | "custom"): Promise<{
174
- hubApiKey: string;
175
- agentUserId: string;
176
- workspaceId: string;
177
- }>;
178
- /**
179
- * Enable OpenClaw as a free addon on a SELF-HOSTED pod.
180
- * Uses the PROVISIONING_TOKEN directly against the pod.
181
- *
182
- * Routes through the shared `provisionAgentKey()` wrapper (dynamic import to
183
- * avoid a circular pod.ts <-> targets.ts static import). `workspaceId` is no
184
- * longer part of the response — agents are pod-wide singletons now; scope is
185
- * granted separately via `enrollAgentIfNeeded()`, not returned from setup.
186
- */
187
- export declare function enableOpenClawAddon(podUrl: string, provisioningToken: string): Promise<{
188
- hubApiKey: string;
189
- agentUserId: string;
190
- workspaceId: string;
191
- }>;
192
- /**
193
- * Enable OpenClaw as an addon on a MANAGED pod via the Control Plane.
194
- * Calls POST /openclaw/provision on the CP (requires CP session token).
195
- * Returns the podId so the caller can poll status if needed.
196
- */
197
- export declare function enableOpenClawAddonManaged(cpToken: string, podUrl: string): Promise<{
198
- podId: string;
199
- }>;
200
- /**
201
- * Check server resources (RAM, disk).
202
- */
203
- export declare function checkServerResources(): {
204
- ramTotal: number;
205
- ramFree: number;
206
- diskFree: string;
207
- };
208
- /**
209
- * Start OpenClaw as a Docker addon on the local server.
210
- * Writes env vars to the pod's .env file and runs docker compose --profile openclaw.
211
- * Only works when the CLI is running ON the pod server.
212
- */
213
- /**
214
- * Find the Synap deploy directory — where the .env and docker-compose files live.
215
- *
216
- * Strategy (most reliable first):
217
- * 1. Docker label — inspect any running synap container for
218
- * com.docker.compose.project.working_dir (always accurate, zero guessing)
219
- * 2. Walk up from cwd — works when running from inside the repo
220
- * 3. Common install paths as a last resort
221
- */
222
- export declare function findSynapDeployDir(): string | null;
223
- /**
224
- * Write OpenClaw env vars into the deploy dir .env and start the container.
225
- * Does NOT wait for health — OpenClaw can take several minutes to initialize
226
- * (first run pulls ~1GB image + runs setup). Caller should tell user to run
227
- * `synap finish` once it's up.
228
- *
229
- * Returns the deploy dir used.
230
- */
231
- export declare function startOpenClawOnServer(hubApiKey: string, agentUserId: string, workspaceId: string, podUrl: string, projectId?: string): string;
232
- /**
233
- * Install the synap skill into OpenClaw.
234
- * Automatically chooses the right execution path:
235
- * - Local install: runs `openclaw skills install synap` directly
236
- * - Docker container: runs `docker exec <container> openclaw skills install synap`
237
- */
238
- export declare function installSynapSkill(containerName?: string): void;
239
- /**
240
- * Check whether the synap skill is installed inside a Docker container.
241
- */
242
- export declare function isSynapSkillInstalledInDocker(containerName: string): boolean;