@synap-core/cli 1.11.0 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +40 -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 +32 -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 +524 -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 +116 -66
- package/dist/commands/automation.js.map +1 -1
- package/dist/commands/box.d.ts +42 -0
- package/dist/commands/box.js +89 -0
- package/dist/commands/box.js.map +1 -0
- package/dist/commands/bridge-setup.d.ts +14 -1
- package/dist/commands/bridge-setup.js +395 -129
- 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 +3 -1
- package/dist/commands/capability.js +249 -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 +1 -13
- package/dist/commands/centrality.js.map +1 -1
- package/dist/commands/close-questions.d.ts +27 -0
- package/dist/commands/close-questions.js +49 -0
- package/dist/commands/close-questions.js.map +1 -0
- package/dist/commands/close-questions.test.d.ts +1 -0
- package/dist/commands/close-questions.test.js +52 -0
- package/dist/commands/close-questions.test.js.map +1 -0
- package/dist/commands/connect.d.ts +36 -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 +79 -44
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/data-extra.d.ts +34 -0
- package/dist/commands/data-extra.js +203 -25
- package/dist/commands/data-extra.js.map +1 -1
- package/dist/commands/data.d.ts +120 -2
- package/dist/commands/data.js +295 -21
- 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 +133 -3
- package/dist/commands/doctor.js +761 -41
- 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/hooks.d.ts +19 -0
- package/dist/commands/hooks.js +70 -0
- package/dist/commands/hooks.js.map +1 -0
- package/dist/commands/import.d.ts +393 -13
- package/dist/commands/import.js +1150 -54
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/init.d.ts +34 -9
- package/dist/commands/init.js +481 -981
- 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 +121 -57
- package/dist/commands/knowledge.js.map +1 -1
- package/dist/commands/lens.d.ts +37 -1
- package/dist/commands/lens.js +194 -72
- 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/observe.category.test.d.ts +1 -0
- package/dist/commands/observe.category.test.js +59 -0
- package/dist/commands/observe.category.test.js.map +1 -0
- package/dist/commands/observe.d.ts +3 -0
- package/dist/commands/observe.js +7 -5
- package/dist/commands/observe.js.map +1 -1
- package/dist/commands/observe.title.test.d.ts +1 -0
- package/dist/commands/observe.title.test.js +37 -0
- package/dist/commands/observe.title.test.js.map +1 -0
- 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 +171 -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 +11 -1
- package/dist/commands/pods.js +129 -131
- 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 +579 -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-feed-wait.d.ts +48 -0
- package/dist/commands/session-feed-wait.js +261 -0
- package/dist/commands/session-feed-wait.js.map +1 -0
- package/dist/commands/session-post.d.ts +40 -0
- package/dist/commands/session-post.js +96 -0
- package/dist/commands/session-post.js.map +1 -0
- package/dist/commands/session-wait.d.ts +116 -0
- package/dist/commands/session-wait.js +224 -0
- package/dist/commands/session-wait.js.map +1 -0
- package/dist/commands/sessions.d.ts +54 -0
- package/dist/commands/sessions.js +501 -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-commands.d.ts +2 -0
- package/dist/commands/skills-commands.js +9 -1
- package/dist/commands/skills-commands.js.map +1 -1
- package/dist/commands/skills-commands.test.d.ts +1 -0
- package/dist/commands/skills-commands.test.js +57 -0
- package/dist/commands/skills-commands.test.js.map +1 -0
- 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 +6 -35
- 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 +112 -0
- package/dist/commands/tracks.js +543 -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 +30 -3
- package/dist/commands/whoami.js +186 -23
- package/dist/commands/whoami.js.map +1 -1
- package/dist/commands/worker-accounts.d.ts +149 -0
- package/dist/commands/worker-accounts.js +339 -0
- package/dist/commands/worker-accounts.js.map +1 -0
- package/dist/commands/worker-accounts.test.d.ts +1 -0
- package/dist/commands/worker-accounts.test.js +224 -0
- package/dist/commands/worker-accounts.test.js.map +1 -0
- package/dist/commands/worker.d.ts +331 -0
- package/dist/commands/worker.js +1067 -0
- package/dist/commands/worker.js.map +1 -0
- package/dist/commands/worker.test.d.ts +1 -0
- package/dist/commands/worker.test.js +427 -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 +1043 -186
- 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 +136 -0
- package/dist/lib/agent-door.js +429 -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 +17 -11
- package/dist/lib/auth.js +47 -64
- 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/box/egress.d.ts +82 -0
- package/dist/lib/box/egress.js +264 -0
- package/dist/lib/box/egress.js.map +1 -0
- package/dist/lib/box/evidence.d.ts +86 -0
- package/dist/lib/box/evidence.js +121 -0
- package/dist/lib/box/evidence.js.map +1 -0
- package/dist/lib/box/job-server.d.ts +72 -0
- package/dist/lib/box/job-server.js +246 -0
- package/dist/lib/box/job-server.js.map +1 -0
- package/dist/lib/box/provisioner.d.ts +83 -0
- package/dist/lib/box/provisioner.js +312 -0
- package/dist/lib/box/provisioner.js.map +1 -0
- package/dist/lib/box/proxmox.d.ts +112 -0
- package/dist/lib/box/proxmox.js +211 -0
- package/dist/lib/box/proxmox.js.map +1 -0
- package/dist/lib/box/wire.d.ts +98 -0
- package/dist/lib/box/wire.js +70 -0
- package/dist/lib/box/wire.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/client-header.test.d.ts +1 -0
- package/dist/lib/client-header.test.js +85 -0
- package/dist/lib/client-header.test.js.map +1 -0
- package/dist/lib/conversation-headers.d.ts +33 -0
- package/dist/lib/conversation-headers.js +69 -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 +144 -0
- package/dist/lib/credential-class.js +138 -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/goal-words.d.ts +38 -0
- package/dist/lib/goal-words.js +112 -0
- package/dist/lib/goal-words.js.map +1 -0
- package/dist/lib/hub-client.d.ts +57 -15
- package/dist/lib/hub-client.js +396 -82
- 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 +24 -0
- package/dist/lib/init-handoff.js +26 -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 +68 -0
- package/dist/lib/key-source.js +109 -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 +25 -0
- package/dist/lib/knowledge-title.js +47 -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 +49 -0
- package/dist/lib/mcp-bridge.js +180 -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 +118 -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/openclaw.js +3 -2
- package/dist/lib/openclaw.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-moved.d.ts +70 -0
- package/dist/lib/pod-moved.js +146 -0
- package/dist/lib/pod-moved.js.map +1 -0
- package/dist/lib/pod-reach.d.ts +39 -0
- package/dist/lib/pod-reach.js +117 -0
- package/dist/lib/pod-reach.js.map +1 -0
- package/dist/lib/pod-reach.test.d.ts +1 -0
- package/dist/lib/pod-reach.test.js +67 -0
- package/dist/lib/pod-reach.test.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 +74 -112
- package/dist/lib/pod.js +146 -415
- 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/register-claude-code-mcp.test.d.ts +1 -0
- package/dist/lib/register-claude-code-mcp.test.js +78 -0
- package/dist/lib/register-claude-code-mcp.test.js.map +1 -0
- package/dist/lib/review-credential.d.ts +119 -0
- package/dist/lib/review-credential.js +149 -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-feed.d.ts +185 -0
- package/dist/lib/session-feed.js +257 -0
- package/dist/lib/session-feed.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 +152 -10
- package/dist/lib/targets.js +974 -325
- 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/lib/wake-hook-settings.d.ts +57 -0
- package/dist/lib/wake-hook-settings.js +153 -0
- package/dist/lib/wake-hook-settings.js.map +1 -0
- package/dist/lib/wake-state.d.ts +65 -0
- package/dist/lib/wake-state.js +122 -0
- package/dist/lib/wake-state.js.map +1 -0
- package/dist/utils/logger.js +5 -2
- package/dist/utils/logger.js.map +1 -1
- package/package.json +26 -17
- package/skills/README.md +13 -11
- 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 +1149 -289
- 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/code-skills.md +70 -0
- package/skills/synap/concepts.md +36 -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 +143 -47
- package/skills/synap/escalation-ladder.md +20 -10
- package/skills/synap/focus-sessions.md +56 -21
- package/skills/synap/from-intent.md +158 -0
- package/skills/synap/governance-rules.md +5 -5
- 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 +34 -16
- package/skills/synap/linking.md +42 -41
- package/skills/synap/mcp-remote-servers.md +64 -0
- package/skills/synap/mental-model.md +17 -15
- package/skills/synap/operating-mode-rules.md +2 -2
- package/skills/synap/processes.md +118 -0
- package/skills/synap/quick-reference.md +7 -2
- 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 +110 -0
- package/skills/synap/worked-examples.md +4 -5
- package/skills/synap/workspace-design.md +15 -11
- package/skills/synap/writes.md +105 -25
- package/skills/synap/writing-titles.md +63 -0
- package/skills/synap-app/SKILL.md +149 -67
- package/skills/synap-app/_skill.yaml +1 -1
- package/skills/synap-app/creating-the-base-app.md +12 -7
- package/skills/synap-app/governance.md +27 -16
- package/skills/synap-app/install-commands.md +18 -9
- package/skills/synap-app/overview.md +16 -9
- package/skills/synap-app/using-the-sdk.md +75 -25
- 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/box/runner.py +206 -0
- 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/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
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `synap session wait <sessionId>` — block until the session's human owner
|
|
3
|
+
* replies in the room.
|
|
4
|
+
*
|
|
5
|
+
* The loop-back half of the "ask, then wait" shape: an agent posts a question
|
|
6
|
+
* into the session room (`synap_post_message` / the room), then calls this
|
|
7
|
+
* command instead of a hand-rolled sleep loop or a blind re-invocation. It
|
|
8
|
+
* polls `GET /api/hub/focus-sessions/:id/answers` (owner-floored; `since`
|
|
9
|
+
* exclusive; contract in pod document
|
|
10
|
+
* `db390250-3a74-4707-bb29-5832a454d194`) and exits the moment a reply
|
|
11
|
+
* arrives, printing it so the calling agent (Claude Code or any shell agent)
|
|
12
|
+
* can read it back and continue.
|
|
13
|
+
*
|
|
14
|
+
* Reuses `pollForApproval` — the ONE poll loop already shared by CP login,
|
|
15
|
+
* agent-key provisioning, and `proposals await`. No second poller. The
|
|
16
|
+
* generic `onTick` hook (data:null on a network blip or non-2xx) is enough to
|
|
17
|
+
* add one behaviour pollForApproval doesn't have on its own: a FAILED read is
|
|
18
|
+
* not "no answer yet". A handful of transient blips are tolerated (the
|
|
19
|
+
* existing per-tick interval IS the backoff), but a run of them means the
|
|
20
|
+
* read is genuinely broken, not merely pending — so this throws out of the
|
|
21
|
+
* poll loop rather than silently accumulating toward a "timeout" verdict that
|
|
22
|
+
* would misreport a broken pod as "the human hasn't answered".
|
|
23
|
+
*/
|
|
24
|
+
import chalk from "chalk";
|
|
25
|
+
import { log } from "../utils/logger.js";
|
|
26
|
+
import { resolveHubConfig, resolveActiveSessionId, hubGet, renderHubError, } from "../lib/hub-client.js";
|
|
27
|
+
import { requireFullId } from "../lib/id.js";
|
|
28
|
+
import { pollForApproval } from "../lib/approval-poll.js";
|
|
29
|
+
import { parseDuration } from "./proposals-await.js";
|
|
30
|
+
function isAnswersPage(data) {
|
|
31
|
+
return (!!data &&
|
|
32
|
+
typeof data === "object" &&
|
|
33
|
+
Array.isArray(data.answers));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Thrown when a read FAILED (bad response shape, repeated non-2xx, or the
|
|
37
|
+
* network dropping) — never confused with "the human hasn't answered yet".
|
|
38
|
+
* Distinct from pollForApproval's own timeout error so the command can give
|
|
39
|
+
* each a different exit code.
|
|
40
|
+
*/
|
|
41
|
+
export class SessionWaitReadFailure extends Error {
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Consecutive failed ticks (network blip / non-2xx / unparsable body) before
|
|
45
|
+
* giving up on the read rather than waiting out the whole timeout. Small on
|
|
46
|
+
* purpose: `intervalMs` between ticks already IS the backoff, so 3 in a row
|
|
47
|
+
* is 3 full intervals of a pod that never once answered successfully.
|
|
48
|
+
*/
|
|
49
|
+
const CONSECUTIVE_FAILURE_LIMIT = 3;
|
|
50
|
+
function answersUrl(sessionId, cfg, since, limit) {
|
|
51
|
+
const u = new URL(`${cfg.podUrl.replace(/\/+$/, "")}/api/hub/focus-sessions/${sessionId}/answers`);
|
|
52
|
+
if (since)
|
|
53
|
+
u.searchParams.set("since", since);
|
|
54
|
+
if (limit)
|
|
55
|
+
u.searchParams.set("limit", String(limit));
|
|
56
|
+
return u.toString();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Wait for at least one answer to land, or the deadline to elapse.
|
|
60
|
+
*
|
|
61
|
+
* Two phases, both against the same door: an IMMEDIATE first check (so an
|
|
62
|
+
* already-waiting answer, or a broken/owner-mismatched session, surfaces
|
|
63
|
+
* without paying one poll interval — same shape as `awaitProposal`'s first
|
|
64
|
+
* check), then the shared poll loop for the pending case.
|
|
65
|
+
*/
|
|
66
|
+
export async function waitForAnswers(sessionId, cfg, opts) {
|
|
67
|
+
const startedAt = Date.now();
|
|
68
|
+
const first = (await hubGet(`/focus-sessions/${sessionId}/answers`, { since: opts.since, limit: opts.limit }, cfg));
|
|
69
|
+
if (!isAnswersPage(first)) {
|
|
70
|
+
throw new SessionWaitReadFailure("Unexpected response shape from the pod's answers door.");
|
|
71
|
+
}
|
|
72
|
+
if (first.answers.length > 0) {
|
|
73
|
+
return {
|
|
74
|
+
answers: first.answers,
|
|
75
|
+
nextSince: first.nextSince,
|
|
76
|
+
elapsedMs: Date.now() - startedAt,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
// Empty page: the door echoes `since` back as `nextSince`, so the same URL
|
|
80
|
+
// is valid for every subsequent tick — no per-iteration URL rebuild needed.
|
|
81
|
+
let cursor = first.nextSince ?? opts.since ?? null;
|
|
82
|
+
let consecutiveFailures = 0;
|
|
83
|
+
const remainingMs = opts.timeoutMs - (Date.now() - startedAt);
|
|
84
|
+
try {
|
|
85
|
+
const page = await pollForApproval({
|
|
86
|
+
url: answersUrl(sessionId, cfg, cursor ?? undefined, opts.limit),
|
|
87
|
+
headers: { Authorization: `Bearer ${cfg.apiKey}` },
|
|
88
|
+
intervalMs: opts.intervalMs,
|
|
89
|
+
timeoutMs: Math.max(remainingMs, 0),
|
|
90
|
+
isApproved: (d) => isAnswersPage(d) && d.answers.length > 0,
|
|
91
|
+
isRejected: () => false,
|
|
92
|
+
onApproved: (d) => d,
|
|
93
|
+
onTick: ({ data }) => {
|
|
94
|
+
if (data === null) {
|
|
95
|
+
consecutiveFailures++;
|
|
96
|
+
if (consecutiveFailures >= CONSECUTIVE_FAILURE_LIMIT) {
|
|
97
|
+
throw new SessionWaitReadFailure(`The pod stopped answering (${consecutiveFailures} failed reads in a row).`);
|
|
98
|
+
}
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
consecutiveFailures = 0;
|
|
102
|
+
if (isAnswersPage(data) && data.nextSince)
|
|
103
|
+
cursor = data.nextSince;
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
return {
|
|
107
|
+
answers: page.answers,
|
|
108
|
+
nextSince: page.nextSince,
|
|
109
|
+
elapsedMs: Date.now() - startedAt,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
catch (e) {
|
|
113
|
+
if (e instanceof SessionWaitReadFailure)
|
|
114
|
+
throw e;
|
|
115
|
+
// pollForApproval's own timeout — genuinely no answer yet, not a failure.
|
|
116
|
+
return { answers: [], nextSince: cursor, elapsedMs: Date.now() - startedAt };
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* The answer's typed value worth printing: a structured pick (confirm, chip,
|
|
121
|
+
* form, provide). A `{type:"text"}` value adds nothing to the text line, and a
|
|
122
|
+
* malformed one (no string `type`) is not printed as if it were an answer.
|
|
123
|
+
*/
|
|
124
|
+
export function typedValue(a) {
|
|
125
|
+
const v = a.value;
|
|
126
|
+
if (!v || typeof v !== "object" || typeof v.type !== "string")
|
|
127
|
+
return null;
|
|
128
|
+
return v.type === "text" ? null : v;
|
|
129
|
+
}
|
|
130
|
+
// ─── command ──────────────────────────────────────────────────────────────────
|
|
131
|
+
const DEFAULT_TIMEOUT_MS = 30 * 60_000;
|
|
132
|
+
const DEFAULT_INTERVAL_MS = 10_000;
|
|
133
|
+
/** Exit codes — documented on the command's `--help` (see index.ts). */
|
|
134
|
+
export const SESSION_WAIT_EXIT = {
|
|
135
|
+
ANSWERED: 0,
|
|
136
|
+
TIMEOUT: 1,
|
|
137
|
+
FAILURE: 2,
|
|
138
|
+
};
|
|
139
|
+
export async function waitSessionCommand(sessionIdArg, opts) {
|
|
140
|
+
// The change feed and the Claude Code hook ride the long-poll feed door;
|
|
141
|
+
// the answer-only wait below keeps its own poll, unchanged.
|
|
142
|
+
if (opts.hook) {
|
|
143
|
+
const { waitSessionHookCommand } = await import("./session-feed-wait.js");
|
|
144
|
+
return waitSessionHookCommand(sessionIdArg, opts);
|
|
145
|
+
}
|
|
146
|
+
if (opts.events || opts.wakeOnly || opts.once || opts.peek) {
|
|
147
|
+
const { waitSessionFeedCommand } = await import("./session-feed-wait.js");
|
|
148
|
+
return waitSessionFeedCommand(sessionIdArg, opts);
|
|
149
|
+
}
|
|
150
|
+
const sessionId = sessionIdArg ?? resolveActiveSessionId();
|
|
151
|
+
if (!sessionId) {
|
|
152
|
+
console.error(chalk.red("No session given and none attached to this terminal. Pass one, or run: synap session attach <id>"));
|
|
153
|
+
process.exit(SESSION_WAIT_EXIT.FAILURE);
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
requireFullId(sessionId, "session", chalk, log);
|
|
157
|
+
const timeoutMs = parseDuration(opts.timeout, DEFAULT_TIMEOUT_MS);
|
|
158
|
+
const intervalMs = parseDuration(opts.interval, DEFAULT_INTERVAL_MS);
|
|
159
|
+
if (timeoutMs === null || intervalMs === null) {
|
|
160
|
+
console.error(chalk.red(`Unparseable duration. Use a number with a unit: 500ms, 30s, 15m, 2h (bare number = seconds).`));
|
|
161
|
+
process.exit(SESSION_WAIT_EXIT.FAILURE);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
let limit;
|
|
165
|
+
if (opts.limit !== undefined) {
|
|
166
|
+
limit = Number(opts.limit);
|
|
167
|
+
if (!Number.isInteger(limit) || limit < 1 || limit > 100) {
|
|
168
|
+
console.error(chalk.red(`--limit must be a whole number between 1 and 100.`));
|
|
169
|
+
process.exit(SESSION_WAIT_EXIT.FAILURE);
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
// Default `since` = NOW: an agent that just asked a question should not be
|
|
174
|
+
// handed answers that predate this wait (a stale reply to an earlier
|
|
175
|
+
// question). `--since <cursor>` resumes a prior wait's exact cursor.
|
|
176
|
+
const since = opts.since ?? new Date().toISOString();
|
|
177
|
+
let cfg;
|
|
178
|
+
let result;
|
|
179
|
+
try {
|
|
180
|
+
cfg = await resolveHubConfig(opts);
|
|
181
|
+
if (!opts.json) {
|
|
182
|
+
log.dim(`Waiting for a reply in session ${sessionId.slice(0, 8)} — checking every ${Math.round(intervalMs / 1000)}s, up to ${Math.round(timeoutMs / 60_000)}m.`);
|
|
183
|
+
}
|
|
184
|
+
result = await waitForAnswers(sessionId, cfg, { since, timeoutMs, intervalMs, limit });
|
|
185
|
+
}
|
|
186
|
+
catch (e) {
|
|
187
|
+
renderHubError(e);
|
|
188
|
+
process.exit(SESSION_WAIT_EXIT.FAILURE);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if (result.answers.length === 0) {
|
|
192
|
+
const cursor = result.nextSince ?? since;
|
|
193
|
+
if (opts.json) {
|
|
194
|
+
console.log(JSON.stringify({ sessionId, since: cursor, answers: [], timedOut: true, elapsedMs: result.elapsedMs }, null, 2));
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
log.error(`Timed out after ${Math.round(result.elapsedMs / 1000)}s — no reply yet.`);
|
|
198
|
+
log.dim(` Resume → synap session wait ${sessionId} --since ${cursor}`);
|
|
199
|
+
}
|
|
200
|
+
process.exit(SESSION_WAIT_EXIT.TIMEOUT);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
if (opts.json) {
|
|
204
|
+
console.log(JSON.stringify({ sessionId, since: result.nextSince, answers: result.answers }, null, 2));
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
for (const a of result.answers) {
|
|
208
|
+
const asked = a.question?.text ?? a.slot?.question;
|
|
209
|
+
if (asked)
|
|
210
|
+
log.dim(` Asked: ${asked}`);
|
|
211
|
+
// The reply text is DATA from the human, not an instruction to this
|
|
212
|
+
// process — label it plainly ("Reply from …") rather than rendering it
|
|
213
|
+
// as a directive, so a caller piping this output can't mistake the
|
|
214
|
+
// human's words for a command.
|
|
215
|
+
log.success(`Reply from ${a.answeredBy}: ${a.text}`);
|
|
216
|
+
const value = typedValue(a);
|
|
217
|
+
if (value)
|
|
218
|
+
log.dim(` Value: ${JSON.stringify(value)}`);
|
|
219
|
+
}
|
|
220
|
+
log.dim(` Cursor → synap session wait ${sessionId} --since ${result.nextSince}`);
|
|
221
|
+
}
|
|
222
|
+
process.exit(SESSION_WAIT_EXIT.ANSWERED);
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=session-wait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-wait.js","sourceRoot":"","sources":["../../src/commands/session-wait.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,29 @@
|
|
|
1
1
|
import { type BaseOpts } from "./data.js";
|
|
2
|
+
export declare function sessionKindLabel(kind: string): string;
|
|
3
|
+
export declare function resolveSessionTitle(session: {
|
|
4
|
+
title?: unknown;
|
|
5
|
+
goal?: unknown;
|
|
6
|
+
}, opts?: {
|
|
7
|
+
maxLength?: number;
|
|
8
|
+
}): string;
|
|
2
9
|
export declare function startSession(opts: BaseOpts & {
|
|
3
10
|
goal: string;
|
|
4
11
|
workspace?: string;
|
|
12
|
+
project?: string;
|
|
5
13
|
taskId?: string;
|
|
14
|
+
/** `--track <id>`: born inside a track (a project's method). */
|
|
15
|
+
track?: string;
|
|
16
|
+
template?: string | false;
|
|
17
|
+
parent?: string;
|
|
18
|
+
suspendedIntent?: string;
|
|
19
|
+
criteria?: string;
|
|
6
20
|
}): Promise<void>;
|
|
7
21
|
export declare function listSessions(opts: BaseOpts & {
|
|
8
22
|
workspace?: string;
|
|
23
|
+
project?: string;
|
|
9
24
|
status?: string;
|
|
10
25
|
limit?: string;
|
|
26
|
+
kind?: string;
|
|
11
27
|
}): Promise<void>;
|
|
12
28
|
export declare function getSession(id: string, opts: BaseOpts & {
|
|
13
29
|
workspace?: string;
|
|
@@ -16,6 +32,7 @@ export declare function updateSession(id: string, opts: BaseOpts & {
|
|
|
16
32
|
workspace?: string;
|
|
17
33
|
progress?: string;
|
|
18
34
|
status?: string;
|
|
35
|
+
stage?: string;
|
|
19
36
|
goal?: string;
|
|
20
37
|
}): Promise<void>;
|
|
21
38
|
export declare function attachSession(id: string, opts: BaseOpts): Promise<void>;
|
|
@@ -25,7 +42,44 @@ export declare function detachSession(opts: {
|
|
|
25
42
|
export declare function sessionStatus(opts: {
|
|
26
43
|
json?: boolean;
|
|
27
44
|
}): void;
|
|
45
|
+
/**
|
|
46
|
+
* Close a focus session via Hub complete (proposal pack).
|
|
47
|
+
*
|
|
48
|
+
* Prefer POST /focus-sessions/:id/complete with `{ summary }` from `--recap`.
|
|
49
|
+
* On 404 (older pods without the route) fall back to PATCH status=closed and
|
|
50
|
+
* write verificationReport.summary — graceful degrade, pack unavailable.
|
|
51
|
+
*
|
|
52
|
+
* --workspace is optional: complete loads the row by id; PATCH also scopes
|
|
53
|
+
* from the row (workspaceId body is back-compat only).
|
|
54
|
+
*/
|
|
28
55
|
export declare function closeSession(id: string, opts: BaseOpts & {
|
|
29
56
|
workspace?: string;
|
|
30
57
|
recap?: string;
|
|
58
|
+
as?: string;
|
|
59
|
+
withdraw?: string[];
|
|
60
|
+
keepOwed?: string[];
|
|
61
|
+
}): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* `synap session evidence <key> --passed|--failed [--detail "…"]`
|
|
64
|
+
*
|
|
65
|
+
* POST /focus-sessions/:id/evidence — the agent's own deterministic report
|
|
66
|
+
* for an `evidence`-checked criterion. Grades ONLY evidence-checked
|
|
67
|
+
* criteria; never spends a judge call or runs a capability
|
|
68
|
+
* (`rest/focus-sessions.ts`, the `onlyEvidence` branch).
|
|
69
|
+
*/
|
|
70
|
+
export declare function evidenceSession(key: string, opts: BaseOpts & {
|
|
71
|
+
session?: string;
|
|
72
|
+
passed?: boolean;
|
|
73
|
+
failed?: boolean;
|
|
74
|
+
detail?: string;
|
|
75
|
+
}): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* `synap session evaluate [--session <id>]`
|
|
78
|
+
*
|
|
79
|
+
* POST /focus-sessions/:id/evaluations — runs every PENDING criterion check
|
|
80
|
+
* (evidence already posted, then capability, then judge) and prints the
|
|
81
|
+
* per-criterion verdicts.
|
|
82
|
+
*/
|
|
83
|
+
export declare function evaluateSession(opts: BaseOpts & {
|
|
84
|
+
session?: string;
|
|
31
85
|
}): Promise<void>;
|