@synap-core/cli 1.11.0 → 1.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -198
- package/dist/build-info.json +6 -0
- package/dist/commands/agent-run.js +3 -2
- package/dist/commands/agent-run.js.map +1 -1
- package/dist/commands/agents.d.ts +33 -17
- package/dist/commands/agents.js +203 -237
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/app.d.ts +143 -0
- package/dist/commands/app.js +523 -0
- package/dist/commands/app.js.map +1 -0
- package/dist/commands/automate.d.ts +21 -0
- package/dist/commands/automate.js +42 -0
- package/dist/commands/automate.js.map +1 -0
- package/dist/commands/automation-schema.test.d.ts +16 -0
- package/dist/commands/automation-schema.test.js +77 -0
- package/dist/commands/automation-schema.test.js.map +1 -0
- package/dist/commands/automation.d.ts +12 -0
- package/dist/commands/automation.js +80 -35
- package/dist/commands/automation.js.map +1 -1
- package/dist/commands/bridge-setup.d.ts +14 -1
- package/dist/commands/bridge-setup.js +392 -128
- package/dist/commands/bridge-setup.js.map +1 -1
- package/dist/commands/cap-connections.d.ts +4 -4
- package/dist/commands/cap-connections.js +14 -14
- package/dist/commands/cap-connections.js.map +1 -1
- package/dist/commands/capability.d.ts +2 -0
- package/dist/commands/capability.js +218 -168
- package/dist/commands/capability.js.map +1 -1
- package/dist/commands/catalog.d.ts +275 -0
- package/dist/commands/catalog.js +481 -0
- package/dist/commands/catalog.js.map +1 -0
- package/dist/commands/cell.d.ts +155 -8
- package/dist/commands/cell.js +416 -40
- package/dist/commands/cell.js.map +1 -1
- package/dist/commands/centrality.js +1 -13
- package/dist/commands/centrality.js.map +1 -1
- package/dist/commands/connect.d.ts +38 -13
- package/dist/commands/connect.js +68 -167
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/connections.d.ts +3 -2
- package/dist/commands/connections.js +95 -25
- package/dist/commands/connections.js.map +1 -1
- package/dist/commands/context.js +7 -1
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/data-extra.d.ts +34 -0
- package/dist/commands/data-extra.js +193 -23
- package/dist/commands/data-extra.js.map +1 -1
- package/dist/commands/data.d.ts +120 -2
- package/dist/commands/data.js +293 -20
- package/dist/commands/data.js.map +1 -1
- package/dist/commands/diagnose.d.ts +66 -4
- package/dist/commands/diagnose.js +285 -28
- package/dist/commands/diagnose.js.map +1 -1
- package/dist/commands/doc.d.ts +11 -4
- package/dist/commands/doc.js +39 -14
- package/dist/commands/doc.js.map +1 -1
- package/dist/commands/doctor.d.ts +112 -3
- package/dist/commands/doctor.js +657 -32
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/explain.js +5 -5
- package/dist/commands/explain.js.map +1 -1
- package/dist/commands/import.d.ts +368 -13
- package/dist/commands/import.js +1064 -54
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/init.d.ts +20 -9
- package/dist/commands/init.js +433 -973
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/keys.d.ts +1 -0
- package/dist/commands/keys.js +15 -2
- package/dist/commands/keys.js.map +1 -1
- package/dist/commands/knowledge.d.ts +22 -6
- package/dist/commands/knowledge.js +117 -55
- package/dist/commands/knowledge.js.map +1 -1
- package/dist/commands/lens.d.ts +37 -1
- package/dist/commands/lens.js +192 -71
- package/dist/commands/lens.js.map +1 -1
- package/dist/commands/market-authoring.d.ts +29 -2
- package/dist/commands/market-authoring.js +348 -7
- package/dist/commands/market-authoring.js.map +1 -1
- package/dist/commands/market-official.d.ts +58 -0
- package/dist/commands/market-official.js +84 -0
- package/dist/commands/market-official.js.map +1 -0
- package/dist/commands/market.d.ts +400 -16
- package/dist/commands/market.js +1802 -146
- package/dist/commands/market.js.map +1 -1
- package/dist/commands/mcp.d.ts +60 -25
- package/dist/commands/mcp.js +251 -64
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/open.d.ts +39 -9
- package/dist/commands/open.js +80 -25
- package/dist/commands/open.js.map +1 -1
- package/dist/commands/playbook.d.ts +42 -0
- package/dist/commands/playbook.js +162 -0
- package/dist/commands/playbook.js.map +1 -0
- package/dist/commands/pod.js +1 -1
- package/dist/commands/pod.js.map +1 -1
- package/dist/commands/pods.d.ts +5 -0
- package/dist/commands/pods.js +97 -116
- package/dist/commands/pods.js.map +1 -1
- package/dist/commands/proposals-actions.d.ts +62 -0
- package/dist/commands/proposals-actions.js +143 -8
- package/dist/commands/proposals-actions.js.map +1 -1
- package/dist/commands/proposals-await.d.ts +68 -0
- package/dist/commands/proposals-await.js +248 -0
- package/dist/commands/proposals-await.js.map +1 -0
- package/dist/commands/proton-setup.d.ts +73 -0
- package/dist/commands/proton-setup.js +577 -0
- package/dist/commands/proton-setup.js.map +1 -0
- package/dist/commands/providers.d.ts +23 -0
- package/dist/commands/providers.js +126 -1
- package/dist/commands/providers.js.map +1 -1
- package/dist/commands/raycast.js +6 -2
- package/dist/commands/raycast.js.map +1 -1
- package/dist/commands/rule.d.ts +150 -0
- package/dist/commands/rule.js +447 -0
- package/dist/commands/rule.js.map +1 -0
- package/dist/commands/session-wait.d.ts +111 -0
- package/dist/commands/session-wait.js +209 -0
- package/dist/commands/session-wait.js.map +1 -0
- package/dist/commands/sessions.d.ts +52 -0
- package/dist/commands/sessions.js +478 -58
- package/dist/commands/sessions.js.map +1 -1
- package/dist/commands/skill-manage.d.ts +21 -0
- package/dist/commands/skill-manage.js +136 -19
- package/dist/commands/skill-manage.js.map +1 -1
- package/dist/commands/skills.js +16 -0
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/status.d.ts +1 -4
- package/dist/commands/status.js +5 -34
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/statusline.backoff.test.d.ts +13 -0
- package/dist/commands/statusline.backoff.test.js +100 -0
- package/dist/commands/statusline.backoff.test.js.map +1 -0
- package/dist/commands/statusline.js +16 -9
- package/dist/commands/statusline.js.map +1 -1
- package/dist/commands/sync-status.d.ts +12 -0
- package/dist/commands/sync-status.js +125 -0
- package/dist/commands/sync-status.js.map +1 -0
- package/dist/commands/templates-retire.d.ts +34 -0
- package/dist/commands/templates-retire.js +192 -0
- package/dist/commands/templates-retire.js.map +1 -0
- package/dist/commands/tools.js +6 -21
- package/dist/commands/tools.js.map +1 -1
- package/dist/commands/tracks.d.ts +51 -0
- package/dist/commands/tracks.js +291 -0
- package/dist/commands/tracks.js.map +1 -0
- package/dist/commands/update.d.ts +3 -11
- package/dist/commands/update.js +5 -134
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/upload.d.ts +41 -3
- package/dist/commands/upload.js +120 -18
- package/dist/commands/upload.js.map +1 -1
- package/dist/commands/vendor.d.ts +28 -0
- package/dist/commands/vendor.js +110 -0
- package/dist/commands/vendor.js.map +1 -0
- package/dist/commands/versions.js +6 -0
- package/dist/commands/versions.js.map +1 -1
- package/dist/commands/view.js +10 -5
- package/dist/commands/view.js.map +1 -1
- package/dist/commands/whoami.d.ts +23 -3
- package/dist/commands/whoami.js +169 -23
- package/dist/commands/whoami.js.map +1 -1
- package/dist/commands/worker.d.ts +122 -0
- package/dist/commands/worker.js +435 -0
- package/dist/commands/worker.js.map +1 -0
- package/dist/commands/worker.test.d.ts +1 -0
- package/dist/commands/worker.test.js +116 -0
- package/dist/commands/worker.test.js.map +1 -0
- package/dist/commands/workspace-ops.d.ts +35 -0
- package/dist/commands/workspace-ops.js +153 -0
- package/dist/commands/workspace-ops.js.map +1 -0
- package/dist/index.d.ts +6 -6
- package/dist/index.js +900 -180
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-connections.d.ts +31 -0
- package/dist/lib/agent-connections.js +33 -0
- package/dist/lib/agent-connections.js.map +1 -0
- package/dist/lib/agent-detect.d.ts +27 -0
- package/dist/lib/agent-detect.js +71 -0
- package/dist/lib/agent-detect.js.map +1 -0
- package/dist/lib/agent-door.d.ts +138 -0
- package/dist/lib/agent-door.js +426 -0
- package/dist/lib/agent-door.js.map +1 -0
- package/dist/lib/agents-config.d.ts +2 -0
- package/dist/lib/agents-config.js +4 -9
- package/dist/lib/agents-config.js.map +1 -1
- package/dist/lib/approval-poll.d.ts +31 -2
- package/dist/lib/approval-poll.js +20 -7
- package/dist/lib/approval-poll.js.map +1 -1
- package/dist/lib/atomic-file.d.ts +48 -0
- package/dist/lib/atomic-file.js +129 -0
- package/dist/lib/atomic-file.js.map +1 -0
- package/dist/lib/auth.d.ts +14 -9
- package/dist/lib/auth.js +44 -61
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/batch-approval.d.ts +85 -0
- package/dist/lib/batch-approval.js +170 -0
- package/dist/lib/batch-approval.js.map +1 -0
- package/dist/lib/capture-lane.d.ts +6 -5
- package/dist/lib/capture-lane.js +6 -5
- package/dist/lib/capture-lane.js.map +1 -1
- package/dist/lib/capture-structure.d.ts +230 -11
- package/dist/lib/capture-structure.js +251 -13
- package/dist/lib/capture-structure.js.map +1 -1
- package/dist/lib/catalog-templates.d.ts +59 -0
- package/dist/lib/catalog-templates.js +126 -0
- package/dist/lib/catalog-templates.js.map +1 -0
- package/dist/lib/cli-build.d.ts +19 -0
- package/dist/lib/cli-build.js +37 -0
- package/dist/lib/cli-build.js.map +1 -0
- package/dist/lib/conversation-headers.d.ts +18 -0
- package/dist/lib/conversation-headers.js +32 -0
- package/dist/lib/conversation-headers.js.map +1 -0
- package/dist/lib/cp-packages.d.ts +167 -11
- package/dist/lib/cp-packages.js +253 -21
- package/dist/lib/cp-packages.js.map +1 -1
- package/dist/lib/credential-class.d.ts +117 -0
- package/dist/lib/credential-class.js +116 -0
- package/dist/lib/credential-class.js.map +1 -0
- package/dist/lib/describe-lens.d.ts +35 -0
- package/dist/lib/describe-lens.js +40 -0
- package/dist/lib/describe-lens.js.map +1 -1
- package/dist/lib/device-connect.d.ts +125 -0
- package/dist/lib/device-connect.js +256 -0
- package/dist/lib/device-connect.js.map +1 -0
- package/dist/lib/directory-lens.d.ts +99 -0
- package/dist/lib/directory-lens.js +187 -0
- package/dist/lib/directory-lens.js.map +1 -0
- package/dist/lib/exporter-coverage.d.ts +71 -0
- package/dist/lib/exporter-coverage.js +97 -0
- package/dist/lib/exporter-coverage.js.map +1 -0
- package/dist/lib/hub-client.d.ts +29 -8
- package/dist/lib/hub-client.js +328 -55
- package/dist/lib/hub-client.js.map +1 -1
- package/dist/lib/init-connect.d.ts +41 -0
- package/dist/lib/init-connect.js +75 -0
- package/dist/lib/init-connect.js.map +1 -0
- package/dist/lib/init-exit.d.ts +24 -0
- package/dist/lib/init-exit.js +41 -0
- package/dist/lib/init-exit.js.map +1 -0
- package/dist/lib/init-flow.d.ts +25 -0
- package/dist/lib/init-flow.js +40 -0
- package/dist/lib/init-flow.js.map +1 -0
- package/dist/lib/init-handoff.d.ts +16 -0
- package/dist/lib/init-handoff.js +19 -0
- package/dist/lib/init-handoff.js.map +1 -0
- package/dist/lib/init-output.d.ts +18 -0
- package/dist/lib/init-output.js +43 -0
- package/dist/lib/init-output.js.map +1 -0
- package/dist/lib/init-pod.d.ts +45 -0
- package/dist/lib/init-pod.js +36 -0
- package/dist/lib/init-pod.js.map +1 -0
- package/dist/lib/installed.d.ts +210 -11
- package/dist/lib/installed.js +234 -36
- package/dist/lib/installed.js.map +1 -1
- package/dist/lib/key-approval.d.ts +57 -0
- package/dist/lib/key-approval.js +117 -0
- package/dist/lib/key-approval.js.map +1 -0
- package/dist/lib/key-diagnosis.d.ts +56 -0
- package/dist/lib/key-diagnosis.js +227 -0
- package/dist/lib/key-diagnosis.js.map +1 -0
- package/dist/lib/key-doctor.d.ts +136 -0
- package/dist/lib/key-doctor.js +286 -0
- package/dist/lib/key-doctor.js.map +1 -0
- package/dist/lib/key-locations.d.ts +120 -0
- package/dist/lib/key-locations.js +326 -0
- package/dist/lib/key-locations.js.map +1 -0
- package/dist/lib/key-source.d.ts +66 -0
- package/dist/lib/key-source.js +106 -0
- package/dist/lib/key-source.js.map +1 -0
- package/dist/lib/key-state.d.ts +70 -0
- package/dist/lib/key-state.js +115 -0
- package/dist/lib/key-state.js.map +1 -0
- package/dist/lib/kind-package.d.ts +181 -0
- package/dist/lib/kind-package.js +679 -0
- package/dist/lib/kind-package.js.map +1 -0
- package/dist/lib/knowledge-title.d.ts +24 -0
- package/dist/lib/knowledge-title.js +46 -0
- package/dist/lib/knowledge-title.js.map +1 -0
- package/dist/lib/knowledge-title.test.d.ts +1 -0
- package/dist/lib/knowledge-title.test.js +34 -0
- package/dist/lib/knowledge-title.test.js.map +1 -0
- package/dist/lib/machine-instance.d.ts +64 -0
- package/dist/lib/machine-instance.js +142 -0
- package/dist/lib/machine-instance.js.map +1 -0
- package/dist/lib/mcp-bridge.d.ts +42 -0
- package/dist/lib/mcp-bridge.js +147 -0
- package/dist/lib/mcp-bridge.js.map +1 -0
- package/dist/lib/mcp-bridge.test.d.ts +1 -0
- package/dist/lib/mcp-bridge.test.js +90 -0
- package/dist/lib/mcp-bridge.test.js.map +1 -0
- package/dist/lib/mcp-call.d.ts +30 -0
- package/dist/lib/mcp-call.js +107 -0
- package/dist/lib/mcp-call.js.map +1 -0
- package/dist/lib/mcp-snippets.d.ts +53 -0
- package/dist/lib/mcp-snippets.js +82 -0
- package/dist/lib/mcp-snippets.js.map +1 -0
- package/dist/lib/next-steps.d.ts +8 -0
- package/dist/lib/next-steps.js +31 -1
- package/dist/lib/next-steps.js.map +1 -1
- package/dist/lib/package-wire.d.ts +179 -0
- package/dist/lib/package-wire.js +68 -0
- package/dist/lib/package-wire.js.map +1 -0
- package/dist/lib/pair-link.d.ts +38 -0
- package/dist/lib/pair-link.js +68 -0
- package/dist/lib/pair-link.js.map +1 -0
- package/dist/lib/pod-wide.d.ts +40 -0
- package/dist/lib/pod-wide.js +46 -0
- package/dist/lib/pod-wide.js.map +1 -0
- package/dist/lib/pod.d.ts +66 -112
- package/dist/lib/pod.js +134 -412
- package/dist/lib/pod.js.map +1 -1
- package/dist/lib/project-ref.d.ts +9 -3
- package/dist/lib/project-ref.js +10 -4
- package/dist/lib/project-ref.js.map +1 -1
- package/dist/lib/review-credential.d.ts +119 -0
- package/dist/lib/review-credential.js +147 -0
- package/dist/lib/review-credential.js.map +1 -0
- package/dist/lib/safe-open.d.ts +49 -0
- package/dist/lib/safe-open.js +119 -0
- package/dist/lib/safe-open.js.map +1 -0
- package/dist/lib/session-lens.d.ts +40 -1
- package/dist/lib/session-lens.js +54 -4
- package/dist/lib/session-lens.js.map +1 -1
- package/dist/lib/superwhisper-import.d.ts +8 -0
- package/dist/lib/superwhisper-import.js +14 -7
- package/dist/lib/superwhisper-import.js.map +1 -1
- package/dist/lib/superwhisper-title.test.d.ts +1 -0
- package/dist/lib/superwhisper-title.test.js +18 -0
- package/dist/lib/superwhisper-title.test.js.map +1 -0
- package/dist/lib/targets.d.ts +134 -10
- package/dist/lib/targets.js +962 -258
- package/dist/lib/targets.js.map +1 -1
- package/dist/lib/template-file.d.ts +4 -0
- package/dist/lib/template-file.js.map +1 -1
- package/dist/lib/template-lifecycle.d.ts +217 -0
- package/dist/lib/template-lifecycle.js +433 -0
- package/dist/lib/template-lifecycle.js.map +1 -0
- package/dist/lib/template-steps.d.ts +88 -0
- package/dist/lib/template-steps.js +118 -0
- package/dist/lib/template-steps.js.map +1 -0
- package/dist/lib/time-ago.d.ts +2 -0
- package/dist/lib/time-ago.js +15 -0
- package/dist/lib/time-ago.js.map +1 -0
- package/dist/utils/logger.js +5 -2
- package/dist/utils/logger.js.map +1 -1
- package/package.json +23 -17
- package/skills/README.md +12 -10
- package/skills/agent-os/SKILL.md +214 -99
- package/skills/manifest.json +1 -1
- package/skills/onboard/SKILL.md +55 -26
- package/skills/synap/README.md +5 -8
- package/skills/synap/SKILL.md +1086 -283
- package/skills/synap/_order.txt +7 -0
- package/skills/synap/_skill.yaml +1 -1
- package/skills/synap/automations.md +15 -0
- package/skills/synap/capture.md +5 -0
- package/skills/synap/cli-operations.md +24 -18
- package/skills/synap/concepts.md +28 -0
- package/skills/synap/content-os.md +10 -1
- package/skills/synap/creative-loop.md +15 -10
- package/skills/synap/crm.md +21 -52
- package/skills/synap/document-embeds.md +141 -47
- package/skills/synap/escalation-ladder.md +20 -10
- package/skills/synap/focus-sessions.md +47 -21
- package/skills/synap/from-intent.md +142 -0
- package/skills/synap/governance-rules.md +4 -4
- package/skills/synap/governance.md +10 -7
- package/skills/synap/hand-off.md +33 -0
- package/skills/synap/inline-patterns.md +15 -7
- package/skills/synap/lenses.md +33 -15
- package/skills/synap/linking.md +41 -40
- package/skills/synap/mcp-remote-servers.md +64 -0
- package/skills/synap/mental-model.md +17 -15
- package/skills/synap/operating-mode-rules.md +1 -1
- package/skills/synap/processes.md +118 -0
- package/skills/synap/quick-reference.md +5 -1
- package/skills/synap/reading.md +3 -1
- package/skills/synap/reflexes.md +12 -42
- package/skills/synap/viewframe-cells.md +38 -5
- package/skills/synap/work-flow.md +1 -1
- package/skills/synap/work-model.md +96 -0
- package/skills/synap/worked-examples.md +4 -5
- package/skills/synap/workspace-design.md +14 -10
- package/skills/synap/writes.md +97 -24
- package/skills/synap/writing-titles.md +63 -0
- package/skills/synap-app/SKILL.md +2 -2
- package/skills/synap-app/_skill.yaml +1 -1
- package/skills/synap-app/install-commands.md +1 -1
- package/skills/synap-design/SKILL.md +474 -0
- package/skills/synap-design/_order.txt +4 -0
- package/skills/synap-design/_skill.yaml +21 -0
- package/skills/synap-design/loop.md +134 -0
- package/skills/synap-design/overview.md +44 -0
- package/skills/synap-design/principles.md +130 -0
- package/skills/synap-design/system.md +133 -0
- package/skills/synap-market/SKILL.md +306 -16
- package/skills/synap-market/_skill.yaml +1 -1
- package/skills/synap-market/author-and-publish.md +145 -8
- package/skills/synap-market/governance-and-catalog.md +7 -0
- package/skills/synap-market/install.md +79 -1
- package/skills/synap-market/overview.md +74 -6
- package/skills/synap-schema/SKILL.md +172 -10
- package/skills/synap-schema/_order.txt +2 -0
- package/skills/synap-schema/_skill.yaml +4 -2
- package/skills/synap-schema/common-mistakes.md +4 -2
- package/skills/synap-schema/discover-profiles.md +1 -1
- package/skills/synap-schema/entity-scope.md +15 -3
- package/skills/synap-schema/extend-first.md +29 -0
- package/skills/synap-schema/extend-vs-create.md +1 -1
- package/skills/synap-schema/intent-vocabulary-ssot.md +111 -0
- package/skills/synap-schema/property-types.md +1 -1
- package/skills/synap-schema/relations.md +1 -1
- package/skills/synap-ui/SKILL.md +19 -12
- package/skills/synap-ui/_skill.yaml +1 -1
- package/skills/synap-ui/ai-companion.md +1 -1
- package/skills/synap-ui/arranging-bento.md +2 -0
- package/skills/synap-ui/bento-layouts.md +10 -10
- package/skills/synap-ui/bento-recipes.md +313 -543
- package/skills/synap-ui/four-builds.md +5 -0
- package/skills/synap-ui/view-types.md +2 -2
- package/skills/synap-ui/widget-catalog.md +22 -278
- package/templates/automations/bookmark-enrichment.automation.json +290 -13
- package/templates/automations/url-bookmark-capture.automation.json +73 -11
- package/templates/skills/authoring-playbooks/SKILL.md +6 -3
- package/templates/skills/authoring-playbooks/reference/stages-contract.md +15 -0
- package/templates/skills/authoring-playbooks/reference/worked-example.md +3 -0
- package/dist/commands/infra.d.ts +0 -21
- package/dist/commands/infra.js +0 -262
- package/dist/commands/infra.js.map +0 -1
- package/dist/commands/template.d.ts +0 -42
- package/dist/commands/template.js +0 -191
- package/dist/commands/template.js.map +0 -1
- package/dist/lib/browser-auth.d.ts +0 -35
- package/dist/lib/browser-auth.js +0 -170
- package/dist/lib/browser-auth.js.map +0 -1
- package/dist/lib/openclaw.d.ts +0 -32
- package/dist/lib/openclaw.js +0 -164
- package/dist/lib/openclaw.js.map +0 -1
- package/dist/lib/seed.d.ts +0 -13
- package/dist/lib/seed.js +0 -135
- package/dist/lib/seed.js.map +0 -1
- package/node_modules/@synap/hub-rest-client/dist/index.cjs +0 -1261
- package/node_modules/@synap/hub-rest-client/dist/index.d.cts +0 -1647
- package/node_modules/@synap/hub-rest-client/dist/index.d.ts +0 -1647
- package/node_modules/@synap/hub-rest-client/dist/index.js +0 -1231
- package/node_modules/@synap/hub-rest-client/package.json +0 -45
- package/node_modules/@synap/hub-rest-client/src/client.ts +0 -1631
- package/node_modules/@synap/hub-rest-client/src/errors.ts +0 -30
- package/node_modules/@synap/hub-rest-client/src/index.ts +0 -153
- package/node_modules/@synap/hub-rest-client/src/setup.ts +0 -133
- package/node_modules/@synap/hub-rest-client/src/types.ts +0 -1299
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"centrality.js","sourceRoot":"","sources":["../../src/commands/centrality.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"centrality.js","sourceRoot":"","sources":["../../src/commands/centrality.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,55 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* synap connect
|
|
2
|
+
* synap connect [thing]
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* The umbrella for "plug something into my pod". It owns no logic of its own:
|
|
5
|
+
* an agent goes through `synap agents add` (lib/agent-door.ts), a tool or
|
|
6
|
+
* account through `synap cap connect`.
|
|
6
7
|
*
|
|
7
8
|
* Usage:
|
|
8
|
-
* synap connect
|
|
9
|
-
* synap connect
|
|
10
|
-
* synap connect
|
|
11
|
-
* synap connect --
|
|
12
|
-
* synap connect --
|
|
13
|
-
* synap connect --target=
|
|
14
|
-
* synap connect --target=claude-code --name=team (use specific pod profile)
|
|
9
|
+
* synap connect (interactive: an AI agent, or a tool/account?)
|
|
10
|
+
* synap connect cursor (a client → synap agents add cursor)
|
|
11
|
+
* synap connect gmail (anything else → synap cap connect gmail)
|
|
12
|
+
* synap connect gmail --tool (force the tool reading when a name is both)
|
|
13
|
+
* synap connect claude-code --project <id> (scope; default pod-wide)
|
|
14
|
+
* synap connect --target=raycast --with-mcp (legacy flag, still accepted)
|
|
15
15
|
*
|
|
16
16
|
* Escape hatch for scripting:
|
|
17
|
-
* synap connect --pod-url <url> --api-key <key>
|
|
17
|
+
* synap connect cursor --pod-url <url> --api-key <key>
|
|
18
18
|
*/
|
|
19
|
+
import { type TargetName } from "../lib/targets.js";
|
|
19
20
|
interface ConnectOptions {
|
|
20
21
|
podUrl?: string;
|
|
21
22
|
apiKey?: string;
|
|
23
|
+
/** Legacy spelling of the positional. */
|
|
22
24
|
target?: string;
|
|
23
25
|
list?: boolean;
|
|
26
|
+
/** Pod profile to use. */
|
|
24
27
|
name?: string;
|
|
25
|
-
|
|
28
|
+
/** Force the tool reading of a name that is also an agent client. */
|
|
29
|
+
tool?: boolean;
|
|
30
|
+
workspace?: string;
|
|
31
|
+
project?: string;
|
|
32
|
+
/** Legacy spellings of --workspace / --project. */
|
|
26
33
|
pinWorkspace?: string;
|
|
27
34
|
pinProject?: string;
|
|
35
|
+
/** Raycast only: also install the full mcp-remote MCP server. */
|
|
36
|
+
withMcp?: boolean;
|
|
28
37
|
}
|
|
29
|
-
export
|
|
38
|
+
export type ConnectRoute = {
|
|
39
|
+
kind: "agent";
|
|
40
|
+
target: TargetName;
|
|
41
|
+
} | {
|
|
42
|
+
kind: "tool";
|
|
43
|
+
name?: string;
|
|
44
|
+
} | {
|
|
45
|
+
kind: "pick";
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* A known agent client wins a name; everything else is a tool. `--tool`
|
|
49
|
+
* forces the tool reading (and, with no name, opens the tool picker).
|
|
50
|
+
*/
|
|
51
|
+
export declare function routeConnect(thing: string | undefined, opts?: {
|
|
52
|
+
tool?: boolean;
|
|
53
|
+
}): ConnectRoute;
|
|
54
|
+
export declare function connect(thing: string | undefined, opts?: ConnectOptions): Promise<void>;
|
|
30
55
|
export {};
|
package/dist/commands/connect.js
CHANGED
|
@@ -1,189 +1,90 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* synap connect
|
|
2
|
+
* synap connect [thing]
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* The umbrella for "plug something into my pod". It owns no logic of its own:
|
|
5
|
+
* an agent goes through `synap agents add` (lib/agent-door.ts), a tool or
|
|
6
|
+
* account through `synap cap connect`.
|
|
6
7
|
*
|
|
7
8
|
* Usage:
|
|
8
|
-
* synap connect
|
|
9
|
-
* synap connect
|
|
10
|
-
* synap connect
|
|
11
|
-
* synap connect --
|
|
12
|
-
* synap connect --
|
|
13
|
-
* synap connect --target=
|
|
14
|
-
* synap connect --target=claude-code --name=team (use specific pod profile)
|
|
9
|
+
* synap connect (interactive: an AI agent, or a tool/account?)
|
|
10
|
+
* synap connect cursor (a client → synap agents add cursor)
|
|
11
|
+
* synap connect gmail (anything else → synap cap connect gmail)
|
|
12
|
+
* synap connect gmail --tool (force the tool reading when a name is both)
|
|
13
|
+
* synap connect claude-code --project <id> (scope; default pod-wide)
|
|
14
|
+
* synap connect --target=raycast --with-mcp (legacy flag, still accepted)
|
|
15
15
|
*
|
|
16
16
|
* Escape hatch for scripting:
|
|
17
|
-
* synap connect --pod-url <url> --api-key <key>
|
|
17
|
+
* synap connect cursor --pod-url <url> --api-key <key>
|
|
18
18
|
*/
|
|
19
19
|
import prompts from "prompts";
|
|
20
|
-
import ora from "ora";
|
|
21
|
-
import chalk from "chalk";
|
|
22
20
|
import { log, banner } from "../utils/logger.js";
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
import { isTargetName, listTargets } from "../lib/targets.js";
|
|
22
|
+
import { connectKnownAgent, resolveAgentPod } from "../lib/agent-door.js";
|
|
23
|
+
/**
|
|
24
|
+
* A known agent client wins a name; everything else is a tool. `--tool`
|
|
25
|
+
* forces the tool reading (and, with no name, opens the tool picker).
|
|
26
|
+
*/
|
|
27
|
+
export function routeConnect(thing, opts = {}) {
|
|
28
|
+
const t = thing?.trim() || undefined;
|
|
29
|
+
if (opts.tool)
|
|
30
|
+
return { kind: "tool", name: t };
|
|
31
|
+
if (!t)
|
|
32
|
+
return { kind: "pick" };
|
|
33
|
+
if (isTargetName(t))
|
|
34
|
+
return { kind: "agent", target: t };
|
|
35
|
+
return { kind: "tool", name: t };
|
|
36
|
+
}
|
|
37
|
+
export async function connect(thing, opts = {}) {
|
|
27
38
|
banner();
|
|
28
39
|
if (opts.list) {
|
|
40
|
+
log.heading("Agents");
|
|
29
41
|
listTargets();
|
|
42
|
+
log.dim("Any other agent: synap agents add --name <name> (prints a URL + key to paste)");
|
|
43
|
+
log.heading("Tools & accounts");
|
|
44
|
+
log.dim("synap connect --tool lists the services this pod can connect");
|
|
30
45
|
return;
|
|
31
46
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
let
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
47
|
+
const scope = {
|
|
48
|
+
workspaceId: opts.workspace ?? opts.pinWorkspace,
|
|
49
|
+
projectId: opts.project ?? opts.pinProject,
|
|
50
|
+
};
|
|
51
|
+
let route = routeConnect(thing ?? opts.target, { tool: opts.tool });
|
|
52
|
+
if (route.kind === "pick") {
|
|
53
|
+
if (!process.stdin.isTTY) {
|
|
54
|
+
log.error("Say what to connect: synap connect <client|tool> (synap connect --list)");
|
|
55
|
+
process.exitCode = 1;
|
|
41
56
|
return;
|
|
42
|
-
podUrl = resolved.podUrl;
|
|
43
|
-
apiKey = resolved.hubApiKey;
|
|
44
|
-
workspaceId = resolved.workspaceId || undefined;
|
|
45
|
-
agentUserId = resolved.agentUserId || undefined;
|
|
46
|
-
}
|
|
47
|
-
// ── Step 2: Health check ────────────────────────────────────────────────
|
|
48
|
-
const spinner = ora("Checking pod health...").start();
|
|
49
|
-
const health = await checkPodHealth(podUrl);
|
|
50
|
-
if (!health.healthy) {
|
|
51
|
-
spinner.fail(`Pod not reachable at ${podUrl}`);
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
spinner.succeed(`Pod healthy at ${podUrl}`);
|
|
55
|
-
// ── Step 3: Target (AI surface) ─────────────────────────────────────────
|
|
56
|
-
const target = await resolveTarget(opts.target);
|
|
57
|
-
if (!target)
|
|
58
|
-
return;
|
|
59
|
-
// ── Step 4: Install ─────────────────────────────────────────────────────
|
|
60
|
-
log.heading(`Connecting ${TARGETS[target].label} → ${podUrl}`);
|
|
61
|
-
// Default pod-wide: a workspace is a lens, not a container — don't weld the
|
|
62
|
-
// profile's workspace into the connection. Pin only when explicitly asked
|
|
63
|
-
// (`--pin-workspace` / `--pin-project`, composable). With no pin, the agent
|
|
64
|
-
// is enrolled across ALL the user's workspaces and scopes consciously per call.
|
|
65
|
-
void workspaceId; // profile default no longer scopes the connection
|
|
66
|
-
const ok = await installForTarget(target, {
|
|
67
|
-
podUrl,
|
|
68
|
-
apiKey,
|
|
69
|
-
workspaceId: opts.pinWorkspace,
|
|
70
|
-
projectId: opts.pinProject,
|
|
71
|
-
agentUserId,
|
|
72
|
-
});
|
|
73
|
-
log.blank();
|
|
74
|
-
if (ok) {
|
|
75
|
-
log.success(`${TARGETS[target].label} connected to ${podUrl}`);
|
|
76
|
-
// For MCP targets, surface the provider pull option — lets users get real
|
|
77
|
-
// AI provider credentials from the pod vault into their local tool config.
|
|
78
|
-
if (TARGETS[target].supports.mcp) {
|
|
79
|
-
log.blank();
|
|
80
|
-
log.dim("To also configure an AI provider (opencode, aider, etc.) from the pod:");
|
|
81
|
-
log.dim(" synap providers pull");
|
|
82
57
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
let profiles = listPodProfiles();
|
|
92
|
-
// No pods yet — offer to add one inline instead of dead-ending
|
|
93
|
-
if (profiles.length === 0) {
|
|
94
|
-
log.blank();
|
|
95
|
-
log.info("No pods configured yet.");
|
|
96
|
-
const { shouldAdd } = await prompts({
|
|
97
|
-
type: "confirm",
|
|
98
|
-
name: "shouldAdd",
|
|
99
|
-
message: "Add a pod now?",
|
|
100
|
-
initial: true,
|
|
58
|
+
const { what } = await prompts({
|
|
59
|
+
type: "select",
|
|
60
|
+
name: "what",
|
|
61
|
+
message: "What are you connecting?",
|
|
62
|
+
choices: [
|
|
63
|
+
{ title: "An AI agent", description: "Claude Code, Cursor, Codex, … or your own", value: "agent" },
|
|
64
|
+
{ title: "A tool or account", description: "Gmail, GitHub, Notion, …", value: "tool" },
|
|
65
|
+
],
|
|
101
66
|
});
|
|
102
|
-
if (!
|
|
103
|
-
return
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
return null; // user bailed out of add flow
|
|
109
|
-
}
|
|
110
|
-
// --name flag: use that profile directly
|
|
111
|
-
if (preferredName) {
|
|
112
|
-
const match = profiles.find((p) => p.name === preferredName);
|
|
113
|
-
if (!match) {
|
|
114
|
-
log.error(podNotFoundMessage(preferredName));
|
|
115
|
-
return null;
|
|
116
|
-
}
|
|
117
|
-
log.info(`Using pod: ${chalk.bold(match.name)} ${chalk.dim(match.config.podUrl)}`);
|
|
118
|
-
return match.config;
|
|
119
|
-
}
|
|
120
|
-
// Single profile: show it so the user knows what they're connecting to
|
|
121
|
-
if (profiles.length === 1) {
|
|
122
|
-
const p = profiles[0];
|
|
123
|
-
log.info(`Pod: ${chalk.bold(p.name)} ${chalk.dim(p.config.podUrl)}`);
|
|
124
|
-
return p.config;
|
|
125
|
-
}
|
|
126
|
-
// Multiple profiles: let user pick
|
|
127
|
-
const active = profiles.find((p) => p.active);
|
|
128
|
-
const { profileName } = await prompts({
|
|
129
|
-
type: "select",
|
|
130
|
-
name: "profileName",
|
|
131
|
-
message: "Which pod?",
|
|
132
|
-
choices: [
|
|
133
|
-
...profiles.map((p) => ({
|
|
134
|
-
title: `${chalk.bold(p.name)}${p.active ? chalk.green(" ← active") : ""} ${chalk.dim(p.config.podUrl)}`,
|
|
135
|
-
value: p.name,
|
|
136
|
-
})),
|
|
137
|
-
{ title: chalk.dim("Add a new pod…"), value: "__add__" },
|
|
138
|
-
],
|
|
139
|
-
initial: active ? profiles.indexOf(active) : 0,
|
|
140
|
-
});
|
|
141
|
-
if (!profileName)
|
|
142
|
-
return null;
|
|
143
|
-
if (profileName === "__add__") {
|
|
144
|
-
log.blank();
|
|
145
|
-
await podsAdd();
|
|
146
|
-
const updated = listPodProfiles();
|
|
147
|
-
// Return the most recently added profile (last in list)
|
|
148
|
-
const newest = updated.filter((p) => !profiles.some((o) => o.name === p.name));
|
|
149
|
-
if (newest.length > 0) {
|
|
150
|
-
log.info(`Using pod: ${chalk.bold(newest[0].name)} ${chalk.dim(newest[0].config.podUrl)}`);
|
|
151
|
-
return newest[0].config;
|
|
67
|
+
if (!what)
|
|
68
|
+
return;
|
|
69
|
+
if (what === "agent") {
|
|
70
|
+
const { agentsAdd } = await import("./agents.js");
|
|
71
|
+
await agentsAdd(undefined, { workspace: scope.workspaceId, project: scope.projectId });
|
|
72
|
+
return;
|
|
152
73
|
}
|
|
153
|
-
|
|
74
|
+
route = { kind: "tool" };
|
|
154
75
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
log.dim("Run `synap connect --list` to see supported targets.");
|
|
162
|
-
return null;
|
|
163
|
-
}
|
|
164
|
-
return raw;
|
|
76
|
+
if (route.kind === "tool") {
|
|
77
|
+
if (scope.projectId)
|
|
78
|
+
log.warn("--project doesn't apply to a tool connection; ignored.");
|
|
79
|
+
const { capabilityConnect } = await import("./capability.js");
|
|
80
|
+
await capabilityConnect(route.name, { workspace: scope.workspaceId });
|
|
81
|
+
return;
|
|
165
82
|
}
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
value: t.name,
|
|
173
|
-
})),
|
|
174
|
-
});
|
|
175
|
-
if (!target || !isTargetName(target))
|
|
176
|
-
return null;
|
|
177
|
-
return target;
|
|
178
|
-
}
|
|
179
|
-
function describeCaps(supports) {
|
|
180
|
-
const parts = [];
|
|
181
|
-
if (supports.skills)
|
|
182
|
-
parts.push("skills");
|
|
183
|
-
if (supports.mcp)
|
|
184
|
-
parts.push("MCP");
|
|
185
|
-
return parts.length ? ` ${chalk.dim(`(${parts.join(" + ")})`)}` : "";
|
|
83
|
+
const pod = await resolveAgentPod({ podUrl: opts.podUrl, apiKey: opts.apiKey, profileName: opts.name });
|
|
84
|
+
if (!pod)
|
|
85
|
+
return;
|
|
86
|
+
const ok = await connectKnownAgent(route.target, pod, scope, { withMcp: opts.withMcp });
|
|
87
|
+
if (!ok)
|
|
88
|
+
process.exitCode = 1;
|
|
186
89
|
}
|
|
187
|
-
// (detectAndSaveAgentWorkspaceRouting removed — agents are pod-wide now; there
|
|
188
|
-
// is no "memory workspace" to auto-detect and pin. Memory is automatic.)
|
|
189
90
|
//# sourceMappingURL=connect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAmB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AA0B1E;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAAyB,EAAE,OAA2B,EAAE;IACnF,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IACrC,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAChD,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAChC,IAAI,YAAY,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACzD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAyB,EAAE,OAAuB,EAAE;IAChF,MAAM,EAAE,CAAC;IAET,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtB,WAAW,EAAE,CAAC;QACd,GAAG,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAC1F,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAChC,GAAG,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,WAAW,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY;QAChD,SAAS,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU;KAC3C,CAAC;IACF,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAEpE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YACtF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC;YAC7B,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,2CAA2C,EAAE,KAAK,EAAE,OAAO,EAAE;gBAClG,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE;aACvF;SACF,CAAC,CAAC;QACH,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QACD,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACxF,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC9D,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACxG,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* synap connections
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* and which
|
|
4
|
+
* Everything plugged into your pods, in two sections:
|
|
5
|
+
* Agents — which pod each agent client points at, and which profile it matches.
|
|
6
|
+
* Tools — which services (Gmail, GitHub, …) the active pod has connected.
|
|
6
7
|
*
|
|
7
8
|
* synap connections
|
|
8
9
|
*/
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* synap connections
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* and which
|
|
4
|
+
* Everything plugged into your pods, in two sections:
|
|
5
|
+
* Agents — which pod each agent client points at, and which profile it matches.
|
|
6
|
+
* Tools — which services (Gmail, GitHub, …) the active pod has connected.
|
|
6
7
|
*
|
|
7
8
|
* synap connections
|
|
8
9
|
*/
|
|
@@ -13,6 +14,7 @@ import os from "node:os";
|
|
|
13
14
|
import { log } from "../utils/logger.js";
|
|
14
15
|
import { listPodProfiles } from "../lib/pod.js";
|
|
15
16
|
import { TARGETS } from "../lib/targets.js";
|
|
17
|
+
import { hubGet, resolveHubConfig } from "../lib/hub-client.js";
|
|
16
18
|
export async function connections() {
|
|
17
19
|
const profiles = listPodProfiles();
|
|
18
20
|
// URL → profile name lookup (normalise trailing slash)
|
|
@@ -25,37 +27,71 @@ export async function connections() {
|
|
|
25
27
|
detectClaudeDesktop(urlToProfile),
|
|
26
28
|
detectCursor(urlToProfile),
|
|
27
29
|
detectRaycast(urlToProfile),
|
|
30
|
+
detectGrok(urlToProfile),
|
|
28
31
|
];
|
|
29
32
|
const configured = surfaces.filter((s) => s.configured);
|
|
30
33
|
const unconfigured = surfaces.filter((s) => !s.configured);
|
|
31
|
-
log.heading("
|
|
32
|
-
if (configured.length === 0
|
|
33
|
-
log.dim("No
|
|
34
|
-
log.blank();
|
|
35
|
-
log.info("Connect a surface: synap connect");
|
|
36
|
-
return;
|
|
34
|
+
log.heading("Agents");
|
|
35
|
+
if (configured.length === 0) {
|
|
36
|
+
log.dim(" No agent connected yet.");
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
38
|
+
else {
|
|
39
|
+
// Widths for alignment
|
|
40
|
+
const labelW = Math.max(...surfaces.map((s) => s.label.length)) + 2;
|
|
41
|
+
const profileW = Math.max(10, ...configured.map((s) => (s.profile ?? "(unknown)").length)) + 2;
|
|
42
|
+
for (const s of configured) {
|
|
43
|
+
const icon = s.profile ? chalk.green("●") : chalk.yellow("●");
|
|
44
|
+
const label = s.label.padEnd(labelW);
|
|
45
|
+
const profileStr = s.profile
|
|
46
|
+
? chalk.bold(s.profile.padEnd(profileW))
|
|
47
|
+
: chalk.yellow("(unknown pod)".padEnd(profileW));
|
|
48
|
+
const url = chalk.dim(s.podUrl ?? "");
|
|
49
|
+
console.log(` ${icon} ${label} ${profileStr} ${url}`);
|
|
50
|
+
}
|
|
51
|
+
for (const s of unconfigured) {
|
|
52
|
+
console.log(` ${chalk.dim("○")} ${chalk.dim(s.label.padEnd(labelW))} ${chalk.dim("not configured")}`);
|
|
53
|
+
}
|
|
52
54
|
}
|
|
55
|
+
if (profiles.length > 0)
|
|
56
|
+
await printTools();
|
|
53
57
|
log.blank();
|
|
54
58
|
if (profiles.length > 1) {
|
|
55
|
-
log.dim("synap pods use <name> — switch ALL
|
|
59
|
+
log.dim("synap pods use <name> — switch ALL agents to a pod");
|
|
60
|
+
}
|
|
61
|
+
log.dim("synap connect — connect an agent or a tool");
|
|
62
|
+
log.dim("synap agents list — every agent on the pod, not only this machine's");
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The active pod's connected services. A failed read says so — it must never
|
|
66
|
+
* render as "none connected".
|
|
67
|
+
*/
|
|
68
|
+
async function printTools() {
|
|
69
|
+
log.heading("Tools & accounts");
|
|
70
|
+
let res;
|
|
71
|
+
try {
|
|
72
|
+
const cfg = await resolveHubConfig();
|
|
73
|
+
res = (await hubGet("/connectors/providers", {}, cfg));
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
log.warn(` Couldn't check tools: ${err instanceof Error ? err.message : String(err)}`);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (res.nangoStatus === "error") {
|
|
80
|
+
log.warn(` Couldn't check tools (${res.nangoError?.reason ?? "unknown"}) — state unknown.`);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const providers = res.providers ?? [];
|
|
84
|
+
const connected = providers.filter((p) => p.connected);
|
|
85
|
+
if (connected.length === 0) {
|
|
86
|
+
log.dim(" None connected yet.");
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
for (const p of connected)
|
|
90
|
+
console.log(` ${chalk.green("●")} ${p.displayName ?? p.provider}`);
|
|
56
91
|
}
|
|
57
|
-
|
|
58
|
-
|
|
92
|
+
const available = providers.length - connected.length;
|
|
93
|
+
if (available > 0)
|
|
94
|
+
log.dim(` ${available} more available — synap connect --tool`);
|
|
59
95
|
}
|
|
60
96
|
// ─── Surface detectors ────────────────────────────────────────────────────────
|
|
61
97
|
function detectClaudeCode(urlToProfile) {
|
|
@@ -117,6 +153,40 @@ function detectCursor(urlToProfile) {
|
|
|
117
153
|
return { label: "Cursor", configured: false, configPath };
|
|
118
154
|
}
|
|
119
155
|
}
|
|
156
|
+
/** Detect Grok Build MCP: any [mcp_servers.synap*] with a /mcp URL in ~/.grok/config.toml */
|
|
157
|
+
function detectGrok(urlToProfile) {
|
|
158
|
+
const configPath = path.join(os.homedir(), ".grok", "config.toml");
|
|
159
|
+
try {
|
|
160
|
+
if (!fs.existsSync(configPath)) {
|
|
161
|
+
return { label: "Grok", configured: false, configPath };
|
|
162
|
+
}
|
|
163
|
+
const text = fs.readFileSync(configPath, "utf-8");
|
|
164
|
+
// Match [mcp_servers.synap...] blocks and their url =
|
|
165
|
+
const blockRe = /\[mcp_servers\.(synap[^\]]*)\][\s\S]*?url\s*=\s*"([^"]+)"/g;
|
|
166
|
+
let match;
|
|
167
|
+
const urls = [];
|
|
168
|
+
while ((match = blockRe.exec(text)) !== null) {
|
|
169
|
+
urls.push(match[2].replace(/\/mcp\/?$/, ""));
|
|
170
|
+
}
|
|
171
|
+
if (urls.length === 0) {
|
|
172
|
+
return { label: "Grok", configured: false, configPath };
|
|
173
|
+
}
|
|
174
|
+
// Prefer first; multi-pod shows primary + count in label
|
|
175
|
+
const podUrl = urls[0];
|
|
176
|
+
const profile = urlToProfile[podUrl.replace(/\/$/, "")];
|
|
177
|
+
const label = urls.length > 1 ? `Grok (${urls.length} pods)` : "Grok";
|
|
178
|
+
return {
|
|
179
|
+
label,
|
|
180
|
+
configured: true,
|
|
181
|
+
podUrl,
|
|
182
|
+
profile,
|
|
183
|
+
configPath,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
return { label: "Grok", configured: false, configPath };
|
|
188
|
+
}
|
|
189
|
+
}
|
|
120
190
|
// Raycast reads ~/.synap/config.json directly. It can have a per-surface pod
|
|
121
191
|
// override (surfaces.raycast); falls back to activePod if not set.
|
|
122
192
|
function detectRaycast(urlToProfile) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/commands/connections.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/commands/connections.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/context.js
CHANGED
|
@@ -16,6 +16,7 @@ import { log } from "../utils/logger.js";
|
|
|
16
16
|
import { resolveHubConfig, hubGet } from "../lib/hub-client.js";
|
|
17
17
|
import { unwrapList } from "../lib/unwrapList.js";
|
|
18
18
|
import { getAgentWorkspaceRouting } from "../lib/pod.js";
|
|
19
|
+
import { sessionKindLabel, resolveSessionTitle } from "./sessions.js";
|
|
19
20
|
async function fetchEntities(cfg, params, workspaceId) {
|
|
20
21
|
try {
|
|
21
22
|
if (workspaceId)
|
|
@@ -135,9 +136,14 @@ export async function contextSummary(opts) {
|
|
|
135
136
|
else {
|
|
136
137
|
for (const s of sessions) {
|
|
137
138
|
const progress = typeof s.progress === "number" ? ` ${chalk.dim(`[${s.progress}%]`)}` : "";
|
|
139
|
+
// `kind` is projected on every row by the Hub REST list door — before
|
|
140
|
+
// this, a run or receipt printed here indistinguishable from a
|
|
141
|
+
// person's own work (same audit finding as `synap session list`).
|
|
142
|
+
const kindLabel = typeof s.kind === "string" ? sessionKindLabel(s.kind) : null;
|
|
143
|
+
const kindCol = kindLabel ? ` ${chalk.dim(`[${kindLabel}]`)}` : "";
|
|
138
144
|
// Full id — feeds straight into `synap session update/attach <id>`.
|
|
139
145
|
const id = String(s.id ?? "");
|
|
140
|
-
console.log(`- ${chalk.cyan(id)}${progress} ${
|
|
146
|
+
console.log(`- ${chalk.cyan(id)}${kindCol}${progress} ${resolveSessionTitle(s)}`);
|
|
141
147
|
}
|
|
142
148
|
}
|
|
143
149
|
console.log("");
|