@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.
- 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 +297 -176
- 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 +3 -14
- 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 +9 -2
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/data-extra.d.ts +34 -0
- package/dist/commands/data-extra.js +198 -25
- package/dist/commands/data-extra.js.map +1 -1
- package/dist/commands/data.d.ts +120 -2
- package/dist/commands/data.js +307 -24
- package/dist/commands/data.js.map +1 -1
- package/dist/commands/diagnose.d.ts +66 -4
- package/dist/commands/diagnose.js +329 -29
- package/dist/commands/diagnose.js.map +1 -1
- package/dist/commands/digest.js +2 -1
- package/dist/commands/digest.js.map +1 -1
- package/dist/commands/doc.d.ts +25 -4
- package/dist/commands/doc.js +100 -18
- package/dist/commands/doc.js.map +1 -1
- package/dist/commands/doctor.d.ts +130 -0
- package/dist/commands/doctor.js +814 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/events.js +3 -1
- package/dist/commands/events.js.map +1 -1
- package/dist/commands/explain.js +5 -5
- package/dist/commands/explain.js.map +1 -1
- package/dist/commands/graph.js +5 -3
- package/dist/commands/graph.js.map +1 -1
- package/dist/commands/import.d.ts +368 -13
- package/dist/commands/import.js +1096 -55
- 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 +28 -6
- package/dist/commands/knowledge.js +358 -73
- package/dist/commands/knowledge.js.map +1 -1
- package/dist/commands/launch.js +2 -2
- package/dist/commands/launch.js.map +1 -1
- package/dist/commands/lens.d.ts +37 -1
- package/dist/commands/lens.js +193 -72
- package/dist/commands/lens.js.map +1 -1
- package/dist/commands/market-authoring.d.ts +72 -0
- package/dist/commands/market-authoring.js +566 -0
- package/dist/commands/market-authoring.js.map +1 -0
- 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 +419 -20
- package/dist/commands/market.js +2124 -193
- package/dist/commands/market.js.map +1 -1
- package/dist/commands/mcp.d.ts +70 -13
- package/dist/commands/mcp.js +308 -40
- 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 +19 -0
- package/dist/commands/pods.js +220 -85
- package/dist/commands/pods.js.map +1 -1
- package/dist/commands/proposals-actions.d.ts +62 -0
- package/dist/commands/proposals-actions.js +146 -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 +479 -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 +19 -1
- 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 +68 -0
- package/dist/commands/upload.js +257 -0
- package/dist/commands/upload.js.map +1 -0
- 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 +1009 -171
- 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 +11 -8
- package/dist/lib/capture-lane.js.map +1 -1
- package/dist/lib/capture-structure.d.ts +342 -0
- package/dist/lib/capture-structure.js +295 -0
- package/dist/lib/capture-structure.js.map +1 -0
- 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 +216 -4
- package/dist/lib/cp-packages.js +414 -11
- 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 +43 -9
- package/dist/lib/hub-client.js +429 -65
- package/dist/lib/hub-client.js.map +1 -1
- package/dist/lib/id.d.ts +23 -0
- package/dist/lib/id.js +35 -0
- package/dist/lib/id.js.map +1 -0
- 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 +119 -115
- package/dist/lib/pod.js +206 -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 +78 -0
- package/dist/lib/template-file.js +140 -0
- package/dist/lib/template-file.js.map +1 -0
- 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 +25 -18
- package/skills/README.md +12 -10
- package/skills/agent-os/SKILL.md +220 -99
- package/skills/manifest.json +2 -2
- package/skills/onboard/SKILL.md +61 -25
- package/skills/synap/README.md +5 -8
- package/skills/synap/SKILL.md +1185 -301
- 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 +54 -151
- package/skills/synap/cli-operations.md +24 -18
- package/skills/synap/common-mistakes.md +1 -0
- package/skills/synap/concepts.md +28 -0
- package/skills/synap/content-os.md +92 -0
- package/skills/synap/creative-loop.md +15 -10
- package/skills/synap/crm.md +21 -52
- package/skills/synap/digesting-a-channel.md +25 -0
- 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 +24 -22
- package/skills/synap/multi-entity-capture.md +6 -4
- 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 +21 -1
- package/skills/synap/workspace-design.md +14 -10
- package/skills/synap/writes.md +165 -35
- package/skills/synap/writing-titles.md +63 -0
- package/skills/synap-app/SKILL.md +319 -0
- package/skills/synap-app/_order.txt +5 -0
- package/skills/synap-app/_skill.yaml +20 -0
- package/skills/synap-app/creating-the-base-app.md +64 -0
- package/skills/synap-app/governance.md +42 -0
- package/skills/synap-app/install-commands.md +55 -0
- package/skills/synap-app/overview.md +50 -0
- package/skills/synap-app/using-the-sdk.md +73 -0
- 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 +625 -0
- package/skills/synap-market/_order.txt +5 -0
- package/skills/synap-market/_skill.yaml +24 -0
- package/skills/synap-market/author-and-publish.md +212 -0
- package/skills/synap-market/discover-and-fetch.md +59 -0
- package/skills/synap-market/governance-and-catalog.md +63 -0
- package/skills/synap-market/install.md +133 -0
- package/skills/synap-market/overview.md +119 -0
- 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/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/dist/commands/doc.js
CHANGED
|
@@ -8,17 +8,20 @@
|
|
|
8
8
|
* synap doc create --title "My Doc" --file ./notes.md [--open]
|
|
9
9
|
* echo "# Hello" | synap doc create --title "My Doc"
|
|
10
10
|
*
|
|
11
|
-
* synap doc update <id> --content "new body"
|
|
11
|
+
* synap doc update <id> --content "new body"
|
|
12
12
|
* synap doc update <id> --file ./notes.md
|
|
13
13
|
* echo "updated" | synap doc update <id>
|
|
14
|
+
* synap doc update <id> --section risks --section-title "Risks" --file ./risks.md
|
|
14
15
|
*
|
|
15
16
|
* API:
|
|
16
|
-
* POST /api/hub/documents
|
|
17
|
-
* PATCH /api/hub/documents/:id
|
|
17
|
+
* POST /api/hub/documents — { userId, workspaceId?, title, content?, type? }
|
|
18
|
+
* PATCH /api/hub/documents/:id — { userId, content, baseRevision? } (full replace)
|
|
19
|
+
* POST /api/hub/documents/:id/patch — { userId, ops, baseRevision? } (--section: one upsert_section op)
|
|
18
20
|
*/
|
|
19
21
|
import { readFileSync } from "fs";
|
|
20
22
|
import { log } from "../utils/logger.js";
|
|
21
23
|
import { resolveHubConfig, resolveUserId, hubPost, hubPatch, } from "../lib/hub-client.js";
|
|
24
|
+
import { writeGovernance } from "../lib/capture-lane.js";
|
|
22
25
|
import { openInBrowser } from "./open.js";
|
|
23
26
|
/** Read content from --content flag, --file flag, or stdin (in that priority order). */
|
|
24
27
|
async function resolveContent(content, file) {
|
|
@@ -71,9 +74,13 @@ export async function docCreate(opts) {
|
|
|
71
74
|
}
|
|
72
75
|
const isProposed = res.status === "proposed" || Boolean(res.proposalId);
|
|
73
76
|
if (isProposed) {
|
|
74
|
-
|
|
77
|
+
// A proposal is normal — the write is queued for review, not a failure.
|
|
78
|
+
log.info(`Document: ${opts.title} — proposed (under review)`);
|
|
79
|
+
const proposalId = String(res.proposalId ?? "");
|
|
80
|
+
if (proposalId)
|
|
81
|
+
log.dim(` proposal: ${proposalId}`);
|
|
75
82
|
if (res.reviewUrl)
|
|
76
|
-
log.dim(`
|
|
83
|
+
log.dim(` review: ${String(res.reviewUrl)}`);
|
|
77
84
|
return;
|
|
78
85
|
}
|
|
79
86
|
log.success(`Document created: ${opts.title}`);
|
|
@@ -88,36 +95,111 @@ export async function docCreate(opts) {
|
|
|
88
95
|
process.exit(1);
|
|
89
96
|
}
|
|
90
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* synap doc reference <url> — create an external reference document (no bytes).
|
|
100
|
+
* Reuses the same POST /api/hub/documents door as `doc create`, sending a `url`
|
|
101
|
+
* field instead of `content`.
|
|
102
|
+
*/
|
|
103
|
+
export async function docReference(url, opts) {
|
|
104
|
+
try {
|
|
105
|
+
const cfg = await resolveHubConfig(opts);
|
|
106
|
+
const userId = await resolveUserId(cfg);
|
|
107
|
+
const workspaceId = opts.workspace ?? cfg.workspaceId;
|
|
108
|
+
const body = {
|
|
109
|
+
userId,
|
|
110
|
+
title: opts.title,
|
|
111
|
+
url,
|
|
112
|
+
};
|
|
113
|
+
// A reference can be pod-wide; only scope it when a workspace is available.
|
|
114
|
+
if (workspaceId)
|
|
115
|
+
body.workspaceId = workspaceId;
|
|
116
|
+
const res = (await hubPost("/documents", body, cfg));
|
|
117
|
+
// `/documents` returns the row directly — no `{ document: … }` wrapper.
|
|
118
|
+
const id = String(res.id ?? "");
|
|
119
|
+
if (opts.json) {
|
|
120
|
+
console.log(JSON.stringify(res, null, 2));
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (writeGovernance(res) === "proposed") {
|
|
124
|
+
// A proposal is normal — the write is queued for review, not a failure.
|
|
125
|
+
// Mirror `synap upload`'s neutral phrasing (info, not warn).
|
|
126
|
+
log.info(`Reference: ${opts.title} — proposed (under review)`);
|
|
127
|
+
const proposalId = String(res.proposalId ?? "");
|
|
128
|
+
if (proposalId)
|
|
129
|
+
log.dim(` proposal: ${proposalId}`);
|
|
130
|
+
if (res.reviewUrl)
|
|
131
|
+
log.dim(` review: ${String(res.reviewUrl)}`);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
log.success(`Reference created: ${opts.title}`);
|
|
135
|
+
log.dim(` url: ${url}`);
|
|
136
|
+
log.dim(` id: ${id}`);
|
|
137
|
+
if (opts.open && id) {
|
|
138
|
+
await openInBrowser({ kind: "document", id });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch (e) {
|
|
142
|
+
log.error("Error: " + e.message);
|
|
143
|
+
process.exit(1);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
91
146
|
export async function docUpdate(documentId, opts) {
|
|
92
147
|
try {
|
|
93
148
|
const cfg = await resolveHubConfig(opts);
|
|
94
149
|
const userId = await resolveUserId(cfg);
|
|
95
150
|
const content = await resolveContent(opts.content, opts.file);
|
|
96
|
-
if (content === undefined
|
|
97
|
-
log.error("Provide --content, --file, or pipe stdin to supply new content.
|
|
98
|
-
"Title-only updates require --content as well (backend limitation).");
|
|
151
|
+
if (content === undefined) {
|
|
152
|
+
log.error("Provide --content, --file, or pipe stdin to supply new content.");
|
|
99
153
|
process.exit(1);
|
|
100
154
|
}
|
|
101
|
-
|
|
102
|
-
if (
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
155
|
+
let baseRevision;
|
|
156
|
+
if (opts.baseRevision !== undefined) {
|
|
157
|
+
baseRevision = Number(opts.baseRevision);
|
|
158
|
+
if (!Number.isInteger(baseRevision) || baseRevision < 0) {
|
|
159
|
+
log.error("--base-revision must be a whole number (the `revision` a read returned).");
|
|
160
|
+
process.exit(1);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (opts.section !== undefined && !opts.sectionTitle) {
|
|
164
|
+
log.error("--section needs --section-title (the section's heading).");
|
|
165
|
+
process.exit(1);
|
|
166
|
+
}
|
|
167
|
+
// --section writes ONE section through the patch door; otherwise the
|
|
168
|
+
// content replaces the whole body (PATCH, an alias of the same door).
|
|
169
|
+
const res = (opts.section !== undefined
|
|
170
|
+
? await hubPost(`/documents/${documentId}/patch`, {
|
|
171
|
+
userId,
|
|
172
|
+
ops: [
|
|
173
|
+
{
|
|
174
|
+
op: "upsert_section",
|
|
175
|
+
id: opts.section,
|
|
176
|
+
title: opts.sectionTitle,
|
|
177
|
+
body: content,
|
|
178
|
+
},
|
|
179
|
+
],
|
|
180
|
+
...(baseRevision !== undefined ? { baseRevision } : {}),
|
|
181
|
+
}, cfg)
|
|
182
|
+
: await hubPatch(`/documents/${documentId}`, {
|
|
183
|
+
userId,
|
|
184
|
+
content,
|
|
185
|
+
...(baseRevision !== undefined ? { baseRevision } : {}),
|
|
186
|
+
}, cfg));
|
|
107
187
|
if (opts.json) {
|
|
108
188
|
console.log(JSON.stringify(res, null, 2));
|
|
109
189
|
return;
|
|
110
190
|
}
|
|
111
191
|
const isProposed = res.status === "proposed" || Boolean(res.proposalId);
|
|
112
192
|
if (isProposed) {
|
|
113
|
-
|
|
193
|
+
// A proposal is normal — the write is queued for review, not a failure.
|
|
194
|
+
log.info(`Update: ${documentId.slice(0, 8)}… — proposed (under review)`);
|
|
195
|
+
const proposalId = String(res.proposalId ?? "");
|
|
196
|
+
if (proposalId)
|
|
197
|
+
log.dim(` proposal: ${proposalId}`);
|
|
114
198
|
if (res.reviewUrl)
|
|
115
|
-
log.dim(`
|
|
199
|
+
log.dim(` review: ${String(res.reviewUrl)}`);
|
|
116
200
|
return;
|
|
117
201
|
}
|
|
118
202
|
log.success(`Document updated: ${documentId.slice(0, 8)}…`);
|
|
119
|
-
if (opts.title)
|
|
120
|
-
log.dim(` title: ${opts.title}`);
|
|
121
203
|
if (opts.open) {
|
|
122
204
|
await openInBrowser({ kind: "document", id: documentId });
|
|
123
205
|
}
|
package/dist/commands/doc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc.js","sourceRoot":"","sources":["../../src/commands/doc.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"doc.js","sourceRoot":"","sources":["../../src/commands/doc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* synap doctor — coherence preflight.
|
|
3
|
+
*
|
|
4
|
+
* Catches CLI-side config drift in ONE call instead of scattered 404/403
|
|
5
|
+
* failures partway through a real command. Checks, in order:
|
|
6
|
+
* (a) SYNAP_POD_URL resolves — the host is actually served (catches the
|
|
7
|
+
* classic failure: a stale/migrated domain that still LOOKS configured).
|
|
8
|
+
* (b) the key authenticates against that pod.
|
|
9
|
+
* (c) the configured workspace (and project) actually exist on THIS pod —
|
|
10
|
+
* via `GET /orient`, which is the pod's own answer to "what's valid here".
|
|
11
|
+
* (d) the Intelligence Service is reachable — the dependency that capture,
|
|
12
|
+
* import and all AI structuring run through. Without it doctor once
|
|
13
|
+
* printed "All checks passed" while every import was 502-ing.
|
|
14
|
+
* (e) the connection broker answers — and when it does not, WHY: broker
|
|
15
|
+
* kind, relay credential presence + expiry, control-plane issuer trust
|
|
16
|
+
* and the owner's identity link, with the one fix for that reason.
|
|
17
|
+
* (f) prints the active lens (pod, workspace, project) so the user sees
|
|
18
|
+
* exactly where they're pointed.
|
|
19
|
+
*
|
|
20
|
+
* Degrades gracefully on older pods (missing /orient, no dependency probe) — a
|
|
21
|
+
* check that can't run says so and moves on, it never throws. Crucially, a
|
|
22
|
+
* check that could not run reports "could not determine" and is NOT green: an
|
|
23
|
+
* unknown is not a pass. Only a PROVEN failure sets a non-zero exit code.
|
|
24
|
+
*/
|
|
25
|
+
interface DoctorOpts {
|
|
26
|
+
json?: boolean;
|
|
27
|
+
/** Every check with its details, ids and addresses. */
|
|
28
|
+
verbose?: boolean;
|
|
29
|
+
/** Perform the one right action per key problem, then verify with a real MCP initialize. */
|
|
30
|
+
fix?: boolean;
|
|
31
|
+
}
|
|
32
|
+
interface CheckResult {
|
|
33
|
+
name: string;
|
|
34
|
+
/** true ONLY when the check verified something good. */
|
|
35
|
+
ok: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* true when the check could not run at all — an unknown, not a pass and not
|
|
38
|
+
* a proven failure. It still suppresses "All checks passed" (that green line
|
|
39
|
+
* over an undetermined dependency is the exact lie this file is fixing), but
|
|
40
|
+
* it does NOT set a failing exit code, because nothing was proven broken.
|
|
41
|
+
*/
|
|
42
|
+
unknown?: boolean;
|
|
43
|
+
detail: string;
|
|
44
|
+
fix?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* What the pod's dependency probe says about the Intelligence Service.
|
|
48
|
+
*
|
|
49
|
+
* Mirrors the pod's own three states rather than flattening them to a boolean
|
|
50
|
+
* (`packages/api/src/routers/hub-protocol/rest/health-dependencies.ts`):
|
|
51
|
+
* • `up` — state "reachable".
|
|
52
|
+
* • `down` — state "unreachable": the pod KNOWS the IS URL, the probe failed.
|
|
53
|
+
* • `unresolved` — the pod could not even work out WHICH IS to call. Still a
|
|
54
|
+
* real failure (a capture hits the same resolution), but a different fault
|
|
55
|
+
* with a different fix, so it is never reported as "unreachable".
|
|
56
|
+
* • `unknown` — the CLI could not read an answer at all. NOT a pass.
|
|
57
|
+
*/
|
|
58
|
+
export type IsHealthVerdict = {
|
|
59
|
+
state: "up" | "down" | "unresolved" | "unknown";
|
|
60
|
+
detail: string;
|
|
61
|
+
};
|
|
62
|
+
export declare function readIntelligenceHealth(payload: unknown): IsHealthVerdict;
|
|
63
|
+
/**
|
|
64
|
+
* Turn an IS verdict into a check row. Names the CONSEQUENCE, not just the
|
|
65
|
+
* dependency: the incident this fixes had a green doctor while every capture /
|
|
66
|
+
* import was 502-ing, so "IS unreachable" alone does not tell the user that the
|
|
67
|
+
* command they are about to run cannot work.
|
|
68
|
+
*/
|
|
69
|
+
export declare function intelligenceCheck(verdict: IsHealthVerdict): CheckResult;
|
|
70
|
+
export declare function doctor(opts?: DoctorOpts): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* What `GET /api/hub/connectors/providers` says about the broker.
|
|
73
|
+
* `not-configured` is the route's own 503 ("Nango not configured"); every other
|
|
74
|
+
* failure to read is `unknown`, never a pass.
|
|
75
|
+
*/
|
|
76
|
+
export type BrokerProvidersRead = {
|
|
77
|
+
state: "ok";
|
|
78
|
+
} | {
|
|
79
|
+
state: "not-configured";
|
|
80
|
+
} | {
|
|
81
|
+
state: "error";
|
|
82
|
+
reason: string;
|
|
83
|
+
message?: string;
|
|
84
|
+
} | {
|
|
85
|
+
state: "unknown";
|
|
86
|
+
detail: string;
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* `GET /api/hub/connectors/broker-diagnostics` (synap-backend
|
|
90
|
+
* `connectors/broker-trust-diagnostics.ts`). Non-secret by contract.
|
|
91
|
+
*/
|
|
92
|
+
export interface BrokerTrustReport {
|
|
93
|
+
cpIssuer: {
|
|
94
|
+
present: boolean;
|
|
95
|
+
status: string | null;
|
|
96
|
+
hasSourceConfigWrite: boolean;
|
|
97
|
+
};
|
|
98
|
+
ownerIdentityLink: {
|
|
99
|
+
present: boolean;
|
|
100
|
+
};
|
|
101
|
+
/** `resolvable` is absent on a pod that predates it. */
|
|
102
|
+
relayCredential: {
|
|
103
|
+
present: boolean;
|
|
104
|
+
resolvable?: boolean;
|
|
105
|
+
validUntil: string | null;
|
|
106
|
+
};
|
|
107
|
+
broker: {
|
|
108
|
+
kind: string;
|
|
109
|
+
reason: string | null;
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
export type BrokerDiagnosticsRead = {
|
|
113
|
+
state: "read";
|
|
114
|
+
report: BrokerTrustReport;
|
|
115
|
+
} | {
|
|
116
|
+
state: "unknown";
|
|
117
|
+
detail: string;
|
|
118
|
+
};
|
|
119
|
+
export declare function readProvidersEnvelope(payload: unknown): BrokerProvidersRead;
|
|
120
|
+
export declare function readBrokerDiagnostics(payload: unknown): BrokerDiagnosticsRead;
|
|
121
|
+
/** The one fix for a broker fault, sharpened by the trust diagnostics when readable. */
|
|
122
|
+
export declare function brokerFixHint(reason: string, diagnostics: BrokerDiagnosticsRead, message?: string): string;
|
|
123
|
+
export declare function brokerCheck(providers: BrokerProvidersRead, diagnostics: BrokerDiagnosticsRead): CheckResult;
|
|
124
|
+
/**
|
|
125
|
+
* Default output never shows internal addresses, ids or raw timestamps — they
|
|
126
|
+
* are noise to a person and stay one `-v` away. A parenthetical that only
|
|
127
|
+
* carried an id ("(checked as workspace <uuid>)") goes entirely.
|
|
128
|
+
*/
|
|
129
|
+
export declare function forDisplay(text: string, verbose?: boolean): string;
|
|
130
|
+
export {};
|