@skrr-ai/cli 0.1.109 → 0.1.111
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/bin/run.js +15 -1
- package/dist/base-command.d.ts +44 -1
- package/dist/base-command.js +194 -33
- package/dist/commands/actions/list.js +2 -1
- package/dist/commands/agenda/trigger/create.js +1 -1
- package/dist/commands/agenda/trigger/list.js +2 -1
- package/dist/commands/agent-groups/list.js +2 -1
- package/dist/commands/agents/actions/list.js +2 -1
- package/dist/commands/agents/always-on/status.js +5 -0
- package/dist/commands/agents/chat.js +4 -1
- package/dist/commands/agents/duplicate.js +4 -0
- package/dist/commands/agents/eval/list.js +2 -1
- package/dist/commands/agents/files/list.js +2 -1
- package/dist/commands/agents/folders/list.js +2 -1
- package/dist/commands/agents/goals/list.js +2 -1
- package/dist/commands/agents/intuitions/list.js +8 -5
- package/dist/commands/agents/list.d.ts +12 -0
- package/dist/commands/agents/list.js +45 -8
- package/dist/commands/agents/releases/known-issues/list.js +2 -1
- package/dist/commands/agents/releases/list.js +5 -1
- package/dist/commands/agents/releases/trusted-publishers/list.js +2 -1
- package/dist/commands/agents/roles/list.js +2 -1
- package/dist/commands/agents/skills/list.js +2 -1
- package/dist/commands/agents/todos/list.js +2 -1
- package/dist/commands/agents/triggers/create.js +1 -1
- package/dist/commands/agents/triggers/list.js +2 -1
- package/dist/commands/agents/triggers/update.js +1 -1
- package/dist/commands/agents/update.d.ts +11 -0
- package/dist/commands/agents/update.js +58 -2
- package/dist/commands/api-keys/list.js +2 -1
- package/dist/commands/apps/channel.d.ts +20 -0
- package/dist/commands/apps/channel.js +64 -0
- package/dist/commands/apps/check-draft.d.ts +12 -0
- package/dist/commands/apps/check-draft.js +41 -0
- package/dist/commands/apps/check.d.ts +42 -0
- package/dist/commands/apps/check.js +91 -0
- package/dist/commands/apps/create.d.ts +15 -0
- package/dist/commands/apps/create.js +59 -0
- package/dist/commands/apps/data/put.d.ts +18 -0
- package/dist/commands/apps/data/put.js +72 -0
- package/dist/commands/apps/data/query.d.ts +20 -0
- package/dist/commands/apps/data/query.js +88 -0
- package/dist/commands/apps/disclosure.d.ts +16 -0
- package/dist/commands/apps/disclosure.js +71 -0
- package/dist/commands/apps/file/cat.d.ts +15 -0
- package/dist/commands/apps/file/cat.js +50 -0
- package/dist/commands/apps/file/ls.d.ts +13 -0
- package/dist/commands/apps/file/ls.js +47 -0
- package/dist/commands/apps/file/mv.d.ts +15 -0
- package/dist/commands/apps/file/mv.js +49 -0
- package/dist/commands/apps/file/rm.d.ts +15 -0
- package/dist/commands/apps/file/rm.js +53 -0
- package/dist/commands/apps/file/write.d.ts +17 -0
- package/dist/commands/apps/file/write.js +81 -0
- package/dist/commands/apps/install.d.ts +19 -0
- package/dist/commands/apps/install.js +136 -0
- package/dist/commands/apps/installations/list.d.ts +11 -0
- package/dist/commands/apps/installations/list.js +49 -0
- package/dist/commands/apps/installations/show.d.ts +12 -0
- package/dist/commands/apps/installations/show.js +61 -0
- package/dist/commands/apps/layout/set.d.ts +11 -0
- package/dist/commands/apps/layout/set.js +125 -0
- package/dist/commands/apps/layout/show.d.ts +9 -0
- package/dist/commands/apps/layout/show.js +33 -0
- package/dist/commands/apps/list.d.ts +10 -0
- package/dist/commands/apps/list.js +45 -0
- package/dist/commands/apps/logs.d.ts +13 -0
- package/dist/commands/apps/logs.js +55 -0
- package/dist/commands/apps/preview.d.ts +12 -0
- package/dist/commands/apps/preview.js +39 -0
- package/dist/commands/apps/publish/propose.d.ts +14 -0
- package/dist/commands/apps/publish/propose.js +45 -0
- package/dist/commands/apps/pull.d.ts +14 -0
- package/dist/commands/apps/pull.js +56 -0
- package/dist/commands/apps/push.d.ts +15 -0
- package/dist/commands/apps/push.js +75 -0
- package/dist/commands/apps/reconsent.d.ts +13 -0
- package/dist/commands/apps/reconsent.js +67 -0
- package/dist/commands/apps/report.d.ts +20 -0
- package/dist/commands/apps/report.js +63 -0
- package/dist/commands/apps/resume.d.ts +12 -0
- package/dist/commands/apps/resume.js +36 -0
- package/dist/commands/apps/settings/set.d.ts +13 -0
- package/dist/commands/apps/settings/set.js +54 -0
- package/dist/commands/apps/settings/show.d.ts +11 -0
- package/dist/commands/apps/settings/show.js +31 -0
- package/dist/commands/apps/show.d.ts +12 -0
- package/dist/commands/apps/show.js +49 -0
- package/dist/commands/apps/suspend.d.ts +12 -0
- package/dist/commands/apps/suspend.js +35 -0
- package/dist/commands/apps/uninstall.d.ts +13 -0
- package/dist/commands/apps/uninstall.js +43 -0
- package/dist/commands/apps/upgrade.d.ts +14 -0
- package/dist/commands/apps/upgrade.js +49 -0
- package/dist/commands/apps/version/create.d.ts +14 -0
- package/dist/commands/apps/version/create.js +53 -0
- package/dist/commands/apps/version/show.d.ts +12 -0
- package/dist/commands/apps/version/show.js +39 -0
- package/dist/commands/apps/versions.d.ts +12 -0
- package/dist/commands/apps/versions.js +40 -0
- package/dist/commands/apps/webhooks/list.d.ts +12 -0
- package/dist/commands/apps/webhooks/list.js +47 -0
- package/dist/commands/characters/list.js +2 -1
- package/dist/commands/chats/files/list.js +2 -1
- package/dist/commands/chats/folders/list.js +2 -1
- package/dist/commands/chats/list.js +2 -1
- package/dist/commands/chats/spaces/list.js +2 -1
- package/dist/commands/chats/widgets/list.js +2 -1
- package/dist/commands/code/jobs/list.js +4 -1
- package/dist/commands/commerce/incidents/list.js +2 -1
- package/dist/commands/commitments/accounting.js +3 -0
- package/dist/commands/commitments/action-proposals.d.ts +8 -0
- package/dist/commands/commitments/action-proposals.js +17 -2
- package/dist/commands/commitments/cost.d.ts +11 -0
- package/dist/commands/commitments/cost.js +25 -0
- package/dist/commands/commitments/create.js +6 -1
- package/dist/commands/commitments/endpoints/list.js +2 -1
- package/dist/commands/commitments/links/list.js +2 -1
- package/dist/commands/commitments/list.js +2 -1
- package/dist/commands/commitments/liveness.d.ts +30 -0
- package/dist/commands/commitments/liveness.js +22 -5
- package/dist/commands/commitments/pack/list.js +2 -1
- package/dist/commands/commitments/preflight.js +6 -2
- package/dist/commands/commitments/update.js +10 -1
- package/dist/commands/compass/list.js +2 -1
- package/dist/commands/context.js +7 -1
- package/dist/commands/convos/list.js +3 -2
- package/dist/commands/daemon/install.js +17 -1
- package/dist/commands/daemon/login.js +14 -0
- package/dist/commands/dm/list.js +2 -1
- package/dist/commands/dm/work.d.ts +19 -0
- package/dist/commands/dm/work.js +54 -0
- package/dist/commands/feeds/list.js +2 -1
- package/dist/commands/followups/list.js +2 -1
- package/dist/commands/followups/plans/cancel.d.ts +13 -0
- package/dist/commands/followups/plans/cancel.js +26 -0
- package/dist/commands/followups/plans/create.d.ts +11 -0
- package/dist/commands/followups/plans/create.js +35 -0
- package/dist/commands/followups/plans/list.d.ts +13 -0
- package/dist/commands/followups/plans/list.js +50 -0
- package/dist/commands/followups/plans/observability.d.ts +11 -0
- package/dist/commands/followups/plans/observability.js +46 -0
- package/dist/commands/followups/plans/revise.d.ts +13 -0
- package/dist/commands/followups/plans/revise.js +35 -0
- package/dist/commands/followups/plans/show.d.ts +11 -0
- package/dist/commands/followups/plans/show.js +32 -0
- package/dist/commands/goals/key-results/list.js +2 -1
- package/dist/commands/goals/labels/list.js +3 -2
- package/dist/commands/goals/list.js +3 -2
- package/dist/commands/grants/list.js +2 -1
- package/dist/commands/harnesses/grants/list.js +2 -1
- package/dist/commands/harnesses/leases/list.js +2 -1
- package/dist/commands/harnesses/list.js +10 -1
- package/dist/commands/harnesses/prune.d.ts +26 -0
- package/dist/commands/harnesses/prune.js +172 -0
- package/dist/commands/ingress/list.js +2 -1
- package/dist/commands/initiatives/list.js +2 -1
- package/dist/commands/instruction-blocks/list.js +2 -1
- package/dist/commands/instructions/list.js +2 -1
- package/dist/commands/integrations/connections/list.js +2 -1
- package/dist/commands/integrations/tools/list.js +2 -1
- package/dist/commands/labels/list.js +3 -2
- package/dist/commands/learning/adapters.d.ts +16 -0
- package/dist/commands/learning/adapters.js +44 -0
- package/dist/commands/login.js +11 -0
- package/dist/commands/machines/dedicated/list.js +2 -1
- package/dist/commands/machines/hosted/list.js +2 -1
- package/dist/commands/machines/list.js +2 -1
- package/dist/commands/machines/show.js +5 -2
- package/dist/commands/measures/list.js +2 -1
- package/dist/commands/memory/list.js +2 -1
- package/dist/commands/memory/proposals/list.js +2 -1
- package/dist/commands/memory/stores/list.js +2 -1
- package/dist/commands/memory/topics/list.js +2 -1
- package/dist/commands/memory/versions/list.js +2 -1
- package/dist/commands/messages/list.js +2 -1
- package/dist/commands/northstars/intents/list.js +2 -1
- package/dist/commands/northstars/list.js +2 -1
- package/dist/commands/northstars/recommendations/list.js +2 -1
- package/dist/commands/outbox/list.js +2 -1
- package/dist/commands/profiles/list.js +2 -1
- package/dist/commands/projects/docs/list.js +8 -1
- package/dist/commands/projects/updates/list.js +2 -1
- package/dist/commands/proposals/list.js +2 -1
- package/dist/commands/requests/comments/list.js +2 -1
- package/dist/commands/requests/list.js +2 -1
- package/dist/commands/shares/list.js +2 -1
- package/dist/commands/shortcuts/list.js +2 -1
- package/dist/commands/signals/monitors/list.js +2 -1
- package/dist/commands/signals/schemas/list.js +2 -1
- package/dist/commands/signals/sources/list.js +2 -1
- package/dist/commands/space-directory-views/list.js +2 -1
- package/dist/commands/spaces/actions/list.js +4 -3
- package/dist/commands/spaces/briefs/list.js +2 -1
- package/dist/commands/spaces/cycles/list.js +2 -1
- package/dist/commands/spaces/files/folders/list.js +2 -1
- package/dist/commands/spaces/files/list.js +3 -2
- package/dist/commands/spaces/heartbeats/list.js +3 -2
- package/dist/commands/spaces/labels/list.js +3 -2
- package/dist/commands/spaces/list.d.ts +3 -18
- package/dist/commands/spaces/list.js +28 -35
- package/dist/commands/spaces/live/cards/list.js +2 -1
- package/dist/commands/spaces/members/list.d.ts +1 -0
- package/dist/commands/spaces/members/list.js +4 -1
- package/dist/commands/spaces/show.js +2 -2
- package/dist/commands/spaces/skills/list.js +6 -2
- package/dist/commands/spaces/states/list.js +2 -1
- package/dist/commands/spaces/views/list.js +2 -1
- package/dist/commands/spaces/widgets/list.js +3 -2
- package/dist/commands/spaces/workflow-templates/list.js +2 -1
- package/dist/commands/spaces/workflows/fixtures/list.js +2 -1
- package/dist/commands/spaces/workflows/list.js +3 -2
- package/dist/commands/spaces/workflows/proposals/list.js +2 -1
- package/dist/commands/spaces/workflows/start.js +3 -1
- package/dist/commands/spaces/workflows/triggers/list.js +2 -1
- package/dist/commands/spaces/workflows/validate.js +12 -2
- package/dist/commands/store/acquisitions/list.js +2 -1
- package/dist/commands/store/admissions/list.js +17 -1
- package/dist/commands/store/advisories/list.js +2 -1
- package/dist/commands/store/follows/list.js +2 -1
- package/dist/commands/store/publishers/domains/list.js +2 -1
- package/dist/commands/store/reports/list.js +2 -1
- package/dist/commands/subscriptions/list.js +2 -1
- package/dist/commands/tasks/actionability.js +7 -30
- package/dist/commands/tasks/activity.js +14 -8
- package/dist/commands/tasks/approvals/list.js +2 -1
- package/dist/commands/tasks/assign.d.ts +1 -0
- package/dist/commands/tasks/assign.js +43 -7
- package/dist/commands/tasks/attachments/list.js +2 -1
- package/dist/commands/tasks/chat/send.js +34 -0
- package/dist/commands/tasks/comments/add.js +6 -1
- package/dist/commands/tasks/comments/list.js +2 -1
- package/dist/commands/tasks/complete.js +26 -2
- package/dist/commands/tasks/continue.d.ts +18 -0
- package/dist/commands/tasks/continue.js +54 -0
- package/dist/commands/tasks/create-tree.d.ts +5 -0
- package/dist/commands/tasks/create-tree.js +399 -219
- package/dist/commands/tasks/create.d.ts +1 -0
- package/dist/commands/tasks/create.js +63 -11
- package/dist/commands/tasks/deliverable/add.js +10 -3
- package/dist/commands/tasks/deliverable/list.js +2 -1
- package/dist/commands/tasks/events/list.js +2 -1
- package/dist/commands/tasks/execution-state.d.ts +12 -0
- package/dist/commands/tasks/execution-state.js +28 -0
- package/dist/commands/tasks/expectations/assess.js +40 -5
- package/dist/commands/tasks/guide.d.ts +10 -0
- package/dist/commands/tasks/guide.js +20 -0
- package/dist/commands/tasks/labels/list.js +2 -1
- package/dist/commands/tasks/list.d.ts +19 -0
- package/dist/commands/tasks/list.js +103 -6
- package/dist/commands/tasks/move.js +10 -2
- package/dist/commands/tasks/preflight.d.ts +14 -0
- package/dist/commands/tasks/preflight.js +77 -0
- package/dist/commands/tasks/rearm-recurrence.js +22 -3
- package/dist/commands/tasks/resource/list.js +2 -1
- package/dist/commands/tasks/result/submit.js +10 -1
- package/dist/commands/tasks/review.js +6 -1
- package/dist/commands/tasks/revisions.d.ts +2 -0
- package/dist/commands/tasks/revisions.js +8 -1
- package/dist/commands/tasks/show.d.ts +8 -0
- package/dist/commands/tasks/show.js +81 -43
- package/dist/commands/tasks/start.d.ts +1 -0
- package/dist/commands/tasks/start.js +35 -0
- package/dist/commands/tasks/templates/list.js +2 -1
- package/dist/commands/tasks/timeline.d.ts +5 -0
- package/dist/commands/tasks/timeline.js +9 -1
- package/dist/commands/tasks/unschedule.js +5 -1
- package/dist/commands/tasks/update.d.ts +1 -0
- package/dist/commands/tasks/update.js +36 -3
- package/dist/commands/tasks/updates/add.js +6 -1
- package/dist/commands/tasks/updates/list.js +2 -1
- package/dist/commands/tasks/upsert.d.ts +1 -0
- package/dist/commands/tasks/upsert.js +8 -1
- package/dist/commands/token/list.js +2 -1
- package/dist/commands/tokens/list.js +2 -1
- package/dist/commands/tones/list.js +4 -2
- package/dist/commands/triggers/audit.js +12 -3
- package/dist/commands/triggers/create.js +1 -1
- package/dist/commands/triggers/fire-detail.d.ts +7 -0
- package/dist/commands/triggers/fire-detail.js +30 -12
- package/dist/commands/triggers/fire.js +13 -3
- package/dist/commands/triggers/list.js +2 -1
- package/dist/commands/triggers/parse-intent.js +1 -1
- package/dist/commands/triggers/update.js +1 -1
- package/dist/commands/views/list.js +2 -1
- package/dist/commands/webhooks/list.js +2 -1
- package/dist/commands/whoami.js +1 -1
- package/dist/commands/widgets/list.js +2 -1
- package/dist/commands/widgets/save-as-app.d.ts +13 -0
- package/dist/commands/widgets/save-as-app.js +65 -0
- package/dist/commands/work-views/list.js +2 -1
- package/dist/commands/worklog/list.js +2 -1
- package/dist/commands/workspaces/grants.js +1 -4
- package/dist/commands/workspaces/list.js +3 -2
- package/dist/commands/workspaces/members.d.ts +1 -0
- package/dist/commands/workspaces/members.js +10 -7
- package/dist/generated/managed-instruction-guides.json +2 -2
- package/dist/help.js +7 -0
- package/dist/lib/agent-proactive-baseline.d.ts +9 -0
- package/dist/lib/agent-proactive-baseline.js +44 -0
- package/dist/lib/agentic-stream.d.ts +4 -1
- package/dist/lib/agentic-stream.js +29 -4
- package/dist/lib/appData.d.ts +75 -0
- package/dist/lib/appData.js +274 -0
- package/dist/lib/appInstallations.d.ts +117 -0
- package/dist/lib/appInstallations.js +960 -0
- package/dist/lib/appSettings.d.ts +3 -0
- package/dist/lib/appSettings.js +71 -0
- package/dist/lib/appWebhooks.d.ts +7 -0
- package/dist/lib/appWebhooks.js +59 -0
- package/dist/lib/apps-command.d.ts +44 -0
- package/dist/lib/apps-command.js +164 -0
- package/dist/lib/apps.d.ts +45 -0
- package/dist/lib/apps.js +148 -0
- package/dist/lib/appsCheck.d.ts +12 -0
- package/dist/lib/appsCheck.js +173 -0
- package/dist/lib/appsFs.d.ts +58 -0
- package/dist/lib/appsFs.js +384 -0
- package/dist/lib/auth-failure.d.ts +20 -0
- package/dist/lib/auth-failure.js +40 -3
- package/dist/lib/cli-installers.d.ts +9 -2
- package/dist/lib/command-miss.js +107 -0
- package/dist/lib/commitment-loop-status.js +25 -3
- package/dist/lib/commitment-product.js +5 -2
- package/dist/lib/commitments.d.ts +45 -3
- package/dist/lib/commitments.js +139 -41
- package/dist/lib/compasses.d.ts +4 -0
- package/dist/lib/compasses.js +11 -0
- package/dist/lib/daemon-machine-identity-copy.d.ts +14 -0
- package/dist/lib/daemon-machine-identity-copy.js +27 -0
- package/dist/lib/daemon-machine-identity.d.ts +27 -0
- package/dist/lib/daemon-machine-identity.js +61 -0
- package/dist/lib/daemon-setup.js +7 -7
- package/dist/lib/daemonHandoff.d.ts +19 -1
- package/dist/lib/daemonHandoff.js +62 -2
- package/dist/lib/dedicated-ssh.d.ts +2 -0
- package/dist/lib/dedicated-ssh.js +98 -28
- package/dist/lib/harnesses.d.ts +71 -0
- package/dist/lib/harnesses.js +70 -0
- package/dist/lib/json-output.d.ts +33 -0
- package/dist/lib/json-output.js +37 -0
- package/dist/lib/list-output.d.ts +9 -4
- package/dist/lib/list-output.js +38 -9
- package/dist/lib/lookbackPlans.d.ts +13 -0
- package/dist/lib/lookbackPlans.js +68 -0
- package/dist/lib/machines.d.ts +27 -6
- package/dist/lib/machines.js +25 -14
- package/dist/lib/member-output.d.ts +20 -0
- package/dist/lib/member-output.js +57 -0
- package/dist/lib/preflight-copy.d.ts +7 -0
- package/dist/lib/preflight-copy.js +31 -0
- package/dist/lib/profile-machine-identity-guard.js +11 -1
- package/dist/lib/roles.d.ts +2 -2
- package/dist/lib/task-admission.d.ts +9 -0
- package/dist/lib/task-admission.js +35 -0
- package/dist/lib/task-batch.d.ts +4 -0
- package/dist/lib/task-batch.js +2 -0
- package/dist/lib/task-economics.d.ts +10 -0
- package/dist/lib/task-economics.js +24 -2
- package/dist/lib/task-operations.d.ts +25 -0
- package/dist/lib/task-operations.js +123 -0
- package/dist/lib/task-preflight.d.ts +35 -0
- package/dist/lib/task-preflight.js +121 -0
- package/dist/lib/task-resource-references.d.ts +23 -0
- package/dist/lib/task-resource-references.js +119 -0
- package/dist/lib/task-spec-verification.d.ts +42 -0
- package/dist/lib/task-spec-verification.js +101 -0
- package/dist/lib/task-work.d.ts +11 -0
- package/dist/lib/task-work.js +41 -0
- package/dist/lib/task-write-attribution.d.ts +26 -0
- package/dist/lib/task-write-attribution.js +47 -0
- package/dist/lib/tasks.d.ts +13 -0
- package/dist/lib/tasks.js +61 -8
- package/dist/lib/triggers.d.ts +18 -0
- package/dist/lib/triggers.js +97 -5
- package/dist/lib/usage-discovery.d.ts +4 -0
- package/dist/lib/usage-discovery.js +14 -4
- package/dist/lib/widgetApps.d.ts +10 -0
- package/dist/lib/widgetApps.js +47 -0
- package/dist/lib/widgetStaticScan.js +25 -1
- package/dist/lib/workflow-run-view.d.ts +4 -0
- package/dist/lib/workflow-run-view.js +5 -0
- package/dist/lib/workspaces.d.ts +33 -9
- package/dist/lib/workspaces.js +19 -3
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/computerWire.d.ts +14 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/computerWire.js +47 -2
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonToolApproval.d.ts +49 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonToolApproval.js +26 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonWire.d.ts +118 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonWire.js +614 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/index.d.ts +1 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/index.js +5 -3
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/machineUuid.d.ts +60 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/machineUuid.js +130 -6
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refresh.d.ts +2 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refresh.js +15 -2
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refreshClassification.d.ts +5 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refreshClassification.js +3 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/sessionRevocation.d.ts +177 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/sessionRevocation.js +484 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/telemetryRedaction.d.ts +11 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/telemetryRedaction.js +46 -7
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/toolApprovalSignature.d.ts +232 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/toolApprovalSignature.js +372 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/types.d.ts +17 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/types.js +12 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/computerWire.d.ts +14 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/computerWire.js +45 -2
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonToolApproval.d.ts +49 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonToolApproval.js +24 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonWire.d.ts +118 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/daemonWire.js +608 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/index.d.ts +1 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/index.js +1 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/machineUuid.d.ts +60 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/machineUuid.js +128 -6
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refresh.d.ts +2 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refresh.js +15 -2
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refreshClassification.d.ts +5 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/refreshClassification.js +3 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/sessionRevocation.d.ts +177 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/sessionRevocation.js +472 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/telemetryRedaction.d.ts +11 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/telemetryRedaction.js +44 -6
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/toolApprovalSignature.d.ts +232 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/toolApprovalSignature.js +360 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/types.d.ts +17 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/types.js +12 -1
- package/dist/node_modules/@skrr-ai/auth-core/package.json +31 -1
- package/dist/node_modules/@skrr-ai/data-provider/index.js +25255 -18711
- package/docs/v1/operations.md +52 -0
- package/docs/v1/space-search.md +19 -0
- package/oclif.manifest.json +4843 -513
- package/package.json +32 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../../lib/list-output");
|
|
3
4
|
/**
|
|
4
5
|
* Harness leases — the hosted billing plane.
|
|
5
6
|
*
|
|
@@ -53,7 +54,7 @@ class HarnessesLeasesList extends base_command_1.BaseCommand {
|
|
|
53
54
|
}
|
|
54
55
|
const leases = response?.leases ?? [];
|
|
55
56
|
if (flags.json) {
|
|
56
|
-
this.
|
|
57
|
+
this.printJsonResult((0, list_output_1.listResult)(leases));
|
|
57
58
|
return;
|
|
58
59
|
}
|
|
59
60
|
if (leases.length === 0) {
|
|
@@ -11,6 +11,7 @@ exports.selectHarnessRows = selectHarnessRows;
|
|
|
11
11
|
exports.buildHarnessesJson = buildHarnessesJson;
|
|
12
12
|
exports.readinessFootnotes = readinessFootnotes;
|
|
13
13
|
exports.canonicalHarnessRows = canonicalHarnessRows;
|
|
14
|
+
const list_output_1 = require("../../lib/list-output");
|
|
14
15
|
const core_1 = require("@oclif/core");
|
|
15
16
|
const auth_core_1 = require("@skrr-ai/auth-core");
|
|
16
17
|
const base_command_1 = require("../../base-command");
|
|
@@ -288,12 +289,15 @@ function readinessFootnotes(rows, readiness) {
|
|
|
288
289
|
let unmanaged = 0;
|
|
289
290
|
let noAnswer = 0;
|
|
290
291
|
let unknown = 0;
|
|
292
|
+
let unverified = 0;
|
|
291
293
|
let notReady = 0;
|
|
292
294
|
for (const row of rows) {
|
|
293
295
|
const verdict = readiness.lookup(row);
|
|
294
296
|
if (verdict) {
|
|
295
297
|
if (verdict.label === 'unknown')
|
|
296
298
|
unknown += 1;
|
|
299
|
+
else if (verdict.label === 'unverified')
|
|
300
|
+
unverified += 1;
|
|
297
301
|
else if (!verdict.ok)
|
|
298
302
|
notReady += 1;
|
|
299
303
|
}
|
|
@@ -316,6 +320,11 @@ function readinessFootnotes(rows, readiness) {
|
|
|
316
320
|
if (unknown > 0) {
|
|
317
321
|
lines.push(`(READINESS unknown: ${unknown} installed, but the daemon cannot read that provider's sign-in state.)`);
|
|
318
322
|
}
|
|
323
|
+
if (unverified > 0) {
|
|
324
|
+
// A sign-in is there and nothing the daemon has seen says a model is behind it
|
|
325
|
+
// (OSK-16927). Not counted as not ready: the next step is a check, not a fix.
|
|
326
|
+
lines.push(`(READINESS unverified: ${unverified} with a local sign-in that no session on that machine has confirmed reaches a model — \`skrr harnesses models <id>\` checks, without sending a prompt.)`);
|
|
327
|
+
}
|
|
319
328
|
if (notReady > 0) {
|
|
320
329
|
lines.push(`(${notReady} not ready — \`skrr harnesses show <id>\` says what each needs.)`);
|
|
321
330
|
}
|
|
@@ -473,7 +482,7 @@ class HarnessesList extends base_command_1.BaseCommand {
|
|
|
473
482
|
daemon: flags.daemon ?? null,
|
|
474
483
|
limit: flags.limit ?? null,
|
|
475
484
|
}, res, readiness ? readiness.lookup : () => undefined);
|
|
476
|
-
this.
|
|
485
|
+
this.printJsonResult((0, list_output_1.listResult)(payload, 'harnesses'));
|
|
477
486
|
return;
|
|
478
487
|
}
|
|
479
488
|
if (selection.visible.length === 0) {
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command';
|
|
2
|
+
/**
|
|
3
|
+
* Remove harness rows that a later registration of the same machine replaced.
|
|
4
|
+
*
|
|
5
|
+
* `harnesses forget` removes ONE row, and an agent pinned to it loses its pin.
|
|
6
|
+
* One machine had accumulated 93 rows from 15 daemons, 85 of them replaced, and
|
|
7
|
+
* `machines list` could fold them but nothing could remove them. This does, and
|
|
8
|
+
* only the ones that can be proven safe: the server decides, once, and says why
|
|
9
|
+
* it kept everything it kept.
|
|
10
|
+
*
|
|
11
|
+
* DRY RUN BY DEFAULT. `--yes` is the only thing that removes anything.
|
|
12
|
+
*/
|
|
13
|
+
export default class HarnessesPrune extends BaseCommand {
|
|
14
|
+
static summary: string;
|
|
15
|
+
static description: string;
|
|
16
|
+
static examples: string[];
|
|
17
|
+
static flags: {
|
|
18
|
+
yes: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
19
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
20
|
+
'older-than': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
21
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
22
|
+
};
|
|
23
|
+
run(): Promise<void>;
|
|
24
|
+
private render;
|
|
25
|
+
private removeTable;
|
|
26
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../base-command");
|
|
5
|
+
const format_1 = require("../../lib/format");
|
|
6
|
+
const harnesses_1 = require("../../lib/harnesses");
|
|
7
|
+
/**
|
|
8
|
+
* Remove harness rows that a later registration of the same machine replaced.
|
|
9
|
+
*
|
|
10
|
+
* `harnesses forget` removes ONE row, and an agent pinned to it loses its pin.
|
|
11
|
+
* One machine had accumulated 93 rows from 15 daemons, 85 of them replaced, and
|
|
12
|
+
* `machines list` could fold them but nothing could remove them. This does, and
|
|
13
|
+
* only the ones that can be proven safe: the server decides, once, and says why
|
|
14
|
+
* it kept everything it kept.
|
|
15
|
+
*
|
|
16
|
+
* DRY RUN BY DEFAULT. `--yes` is the only thing that removes anything.
|
|
17
|
+
*/
|
|
18
|
+
class HarnessesPrune extends base_command_1.BaseCommand {
|
|
19
|
+
static summary = 'Remove harness rows that a newer registration of the same machine replaced (dry run unless --yes)';
|
|
20
|
+
static description = 'A machine registers a fresh row per provider each time its daemon identity changes (a profile, a ' +
|
|
21
|
+
'working directory, a service versus a terminal), and the old rows stay. This removes the ones that ' +
|
|
22
|
+
'are provably stale and shows every one it keeps, with the reason.\n\n' +
|
|
23
|
+
'It is a DRY RUN until you pass --yes. A row is removed only if ALL of these hold: it is yours; it is ' +
|
|
24
|
+
'a daemon you run yourself (never a hosted, dedicated or cloud machine); it is not online and has not ' +
|
|
25
|
+
'been seen within --older-than; a later row of the same provider on the same machine replaced it AND ' +
|
|
26
|
+
"that replacement is online now; and nothing depends on it - no agent (yours or anyone's) is pinned " +
|
|
27
|
+
'to it, no workspace has it lent, it is not your default, and you did not give it a name.\n\n' +
|
|
28
|
+
'An agent pinned to a replaced row keeps running only because the platform adopts the live row ' +
|
|
29
|
+
'beside it, and that adoption starts from the old row; remove the row and the pin is gone. So a ' +
|
|
30
|
+
'pinned row is KEPT, with the agents named. Move the pin (`agents attach-harness`) and run this again.\n\n' +
|
|
31
|
+
'At most --limit rows are removed per run, oldest first; the rest are counted and the next run takes ' +
|
|
32
|
+
'them. Running it again when nothing qualifies removes nothing. A daemon that is still running ' +
|
|
33
|
+
're-registers on its next connection, so removing a row never stops a machine.';
|
|
34
|
+
static examples = [
|
|
35
|
+
'<%= config.bin %> harnesses prune',
|
|
36
|
+
'<%= config.bin %> harnesses prune --yes',
|
|
37
|
+
'<%= config.bin %> harnesses prune --yes --limit 20',
|
|
38
|
+
'<%= config.bin %> harnesses prune --older-than 7d --json',
|
|
39
|
+
];
|
|
40
|
+
static flags = {
|
|
41
|
+
yes: core_1.Flags.boolean({
|
|
42
|
+
description: 'Remove the rows listed. Without it nothing is removed.',
|
|
43
|
+
default: false,
|
|
44
|
+
}),
|
|
45
|
+
limit: core_1.Flags.integer({
|
|
46
|
+
description: 'Remove at most this many rows in one run (1-200, default 50). The rest wait for the next run.',
|
|
47
|
+
min: 1,
|
|
48
|
+
max: 200,
|
|
49
|
+
}),
|
|
50
|
+
'older-than': core_1.Flags.string({
|
|
51
|
+
description: 'Only rows unseen for at least this long: 90m, 36h or 7d (default 24h). The server never goes below its offline window.',
|
|
52
|
+
}),
|
|
53
|
+
json: core_1.Flags.boolean({ description: 'Output as JSON' }),
|
|
54
|
+
};
|
|
55
|
+
async run() {
|
|
56
|
+
this.requireAuth();
|
|
57
|
+
const { flags } = await this.parse(HarnessesPrune);
|
|
58
|
+
let minUnseenMs;
|
|
59
|
+
if (flags['older-than'] !== undefined) {
|
|
60
|
+
try {
|
|
61
|
+
minUnseenMs = (0, harnesses_1.parseHarnessPruneAge)(flags['older-than']);
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
this.error(err.message, { exit: 2 });
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
let result;
|
|
69
|
+
try {
|
|
70
|
+
result = await (0, harnesses_1.pruneHarnesses)({
|
|
71
|
+
dryRun: !flags.yes,
|
|
72
|
+
...(flags.limit !== undefined ? { limit: flags.limit } : {}),
|
|
73
|
+
...(minUnseenMs !== undefined ? { minUnseenMs } : {}),
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
this.handleApiError(err);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
if (flags.json) {
|
|
81
|
+
this.printJsonResult(result);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
this.render(result);
|
|
85
|
+
}
|
|
86
|
+
render(result) {
|
|
87
|
+
const { dryRun } = result;
|
|
88
|
+
const removing = dryRun ? result.remove.length : result.removedCount;
|
|
89
|
+
const noun = (n) => `${n} superseded harness row${n === 1 ? '' : 's'}`;
|
|
90
|
+
if (dryRun) {
|
|
91
|
+
this.log('Dry run - nothing was removed.');
|
|
92
|
+
}
|
|
93
|
+
if (removing === 0) {
|
|
94
|
+
this.log(dryRun
|
|
95
|
+
? 'Nothing to remove.'
|
|
96
|
+
: 'Nothing was removed - no row qualified (or each one changed while this ran).');
|
|
97
|
+
}
|
|
98
|
+
else if (dryRun) {
|
|
99
|
+
this.log('');
|
|
100
|
+
this.log(`Would remove ${noun(removing)} (oldest first)${result.remaining > 0 ? `; ${result.remaining} more qualify beyond --limit ${result.limit}` : ''}:`);
|
|
101
|
+
this.removeTable(result.remove);
|
|
102
|
+
this.log('');
|
|
103
|
+
this.log('Run again with --yes to remove them.');
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
this.log(`Removed ${noun(removing)}:`);
|
|
107
|
+
this.removeTable(result.remove);
|
|
108
|
+
if (result.remaining > 0) {
|
|
109
|
+
this.log('');
|
|
110
|
+
this.log(`${result.remaining} more qualify beyond --limit ${result.limit}. Run it again to continue.`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (result.kept.length > 0) {
|
|
114
|
+
this.log('');
|
|
115
|
+
this.log(`Kept ${result.kept.length}${result.keptTruncated ? '+' : ''} offline row${result.kept.length === 1 ? '' : 's'}:`);
|
|
116
|
+
const rows = result.kept.map((row) => ({
|
|
117
|
+
id: (0, format_1.formatCell)(row.id),
|
|
118
|
+
provider: (0, format_1.formatCell)(row.provider),
|
|
119
|
+
daemon: (0, format_1.formatCell)(row.daemonId),
|
|
120
|
+
seen: (0, format_1.localStamp)(row.lastSeenAt),
|
|
121
|
+
why: (0, harnesses_1.harnessPruneReasonSentence)(row),
|
|
122
|
+
}));
|
|
123
|
+
(0, format_1.renderTable)(rows, [
|
|
124
|
+
{ key: 'id', header: 'HARNESS ID' },
|
|
125
|
+
{ key: 'provider', header: 'PROVIDER' },
|
|
126
|
+
{ key: 'daemon', header: 'DAEMON ID', verbatim: true },
|
|
127
|
+
{ key: 'seen', header: `LAST SEEN (${(0, format_1.localZone)()})` },
|
|
128
|
+
{ key: 'why', header: 'KEPT BECAUSE' },
|
|
129
|
+
], (line) => this.log(line));
|
|
130
|
+
if (result.keptTruncated) {
|
|
131
|
+
this.log('(The list is cut short; the totals below cover every row.)');
|
|
132
|
+
}
|
|
133
|
+
if (result.kept.some((row) => row.reason === 'pinned')) {
|
|
134
|
+
this.log('(A pinned row stays until its agents point elsewhere: `skrr agents attach-harness <harness> --agent <agent>`.)');
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
const passedOver = [];
|
|
138
|
+
const count = (key) => result.counts?.[key] ?? 0;
|
|
139
|
+
if (count('online') > 0)
|
|
140
|
+
passedOver.push(`${count('online')} online`);
|
|
141
|
+
if (count('not_personal_machine') > 0) {
|
|
142
|
+
passedOver.push(`${count('not_personal_machine')} hosted, dedicated, cloud or of unknown origin`);
|
|
143
|
+
}
|
|
144
|
+
if (count('no_machine_identity') > 0) {
|
|
145
|
+
passedOver.push(`${count('no_machine_identity')} that name no machine`);
|
|
146
|
+
}
|
|
147
|
+
if (passedOver.length > 0) {
|
|
148
|
+
this.log('');
|
|
149
|
+
this.log(`Not considered: ${passedOver.join('; ')}.`);
|
|
150
|
+
}
|
|
151
|
+
if (!result.scan.complete) {
|
|
152
|
+
this.log('');
|
|
153
|
+
this.log(`(This account has more than ${result.scan.rows} harness rows, so the plan cannot be proven complete and --yes will refuse. Use \`harnesses forget\` for individual rows.)`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
removeTable(rows) {
|
|
157
|
+
(0, format_1.renderTable)(rows.map((row) => ({
|
|
158
|
+
id: (0, format_1.formatCell)(row.id),
|
|
159
|
+
provider: (0, format_1.formatCell)(row.provider),
|
|
160
|
+
daemon: (0, format_1.formatCell)(row.daemonId),
|
|
161
|
+
seen: (0, format_1.localStamp)(row.lastSeenAt),
|
|
162
|
+
replacedBy: (0, format_1.formatCell)(row.supersededBy?.daemonId),
|
|
163
|
+
})), [
|
|
164
|
+
{ key: 'id', header: 'HARNESS ID' },
|
|
165
|
+
{ key: 'provider', header: 'PROVIDER' },
|
|
166
|
+
{ key: 'daemon', header: 'DAEMON ID', verbatim: true },
|
|
167
|
+
{ key: 'seen', header: `LAST SEEN (${(0, format_1.localZone)()})` },
|
|
168
|
+
{ key: 'replacedBy', header: 'REPLACED BY (ONLINE)', verbatim: true },
|
|
169
|
+
], (line) => this.log(line));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.default = HarnessesPrune;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const base_command_1 = require("../../base-command");
|
|
5
6
|
const ingress_1 = require("../../lib/ingress");
|
|
@@ -23,7 +24,7 @@ class IngressList extends base_command_1.BaseCommand {
|
|
|
23
24
|
const { flags } = await this.parse(IngressList);
|
|
24
25
|
const response = await ingress_1.ingressApi.list();
|
|
25
26
|
if (flags.json) {
|
|
26
|
-
this.
|
|
27
|
+
this.printJsonResult((0, list_output_1.listResult)(response.ingresses));
|
|
27
28
|
return;
|
|
28
29
|
}
|
|
29
30
|
(0, ingress_1.renderIngressList)(response.ingresses, (line) => this.log(line));
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const base_command_1 = require("../../base-command");
|
|
5
6
|
const initiatives_1 = require("../../lib/initiatives");
|
|
@@ -48,7 +49,7 @@ class InitiativesList extends base_command_1.BaseCommand {
|
|
|
48
49
|
this.handleApiError(err);
|
|
49
50
|
}
|
|
50
51
|
if (flags.json) {
|
|
51
|
-
this.
|
|
52
|
+
this.printJsonResult((0, list_output_1.listResult)(response, 'initiatives'));
|
|
52
53
|
return;
|
|
53
54
|
}
|
|
54
55
|
const rows = response.initiatives ?? [];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const data_provider_1 = require("@skrr-ai/data-provider");
|
|
5
6
|
const base_command_1 = require("../../base-command");
|
|
@@ -44,7 +45,7 @@ class InstructionBlocksList extends base_command_1.BaseCommand {
|
|
|
44
45
|
...(flags.official ? [] : catalog.library),
|
|
45
46
|
].filter((block) => !flags.category || block.category === flags.category);
|
|
46
47
|
if (flags.json) {
|
|
47
|
-
this.
|
|
48
|
+
this.printJsonResult((0, list_output_1.listResult)({ blocks: all }, 'blocks'));
|
|
48
49
|
return;
|
|
49
50
|
}
|
|
50
51
|
if (!all.length) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const data_provider_1 = require("@skrr-ai/data-provider");
|
|
5
6
|
const base_command_1 = require("../../base-command");
|
|
@@ -26,7 +27,7 @@ class InstructionsList extends base_command_1.BaseCommand {
|
|
|
26
27
|
this.handleApiError(error);
|
|
27
28
|
}
|
|
28
29
|
if (flags.json)
|
|
29
|
-
return this.
|
|
30
|
+
return this.printJsonResult((0, list_output_1.listResult)(response, 'bundles'));
|
|
30
31
|
if (!response.bundles.length)
|
|
31
32
|
return this.log('No managed instruction prompts.');
|
|
32
33
|
(0, format_1.renderTable)(response.bundles.map((bundle) => ({
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const data_provider_1 = require("@skrr-ai/data-provider");
|
|
5
6
|
const base_command_1 = require("../../../base-command");
|
|
@@ -41,7 +42,7 @@ class IntegrationsConnectionsList extends base_command_1.BaseCommand {
|
|
|
41
42
|
this.handleApiError(err);
|
|
42
43
|
}
|
|
43
44
|
if (flags.json) {
|
|
44
|
-
this.
|
|
45
|
+
this.printJsonResult((0, list_output_1.listResult)(resp, 'connections'));
|
|
45
46
|
return;
|
|
46
47
|
}
|
|
47
48
|
const connections = resp.connections;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const data_provider_1 = require("@skrr-ai/data-provider");
|
|
5
6
|
const base_command_1 = require("../../../base-command");
|
|
@@ -46,7 +47,7 @@ class IntegrationsToolsList extends base_command_1.BaseCommand {
|
|
|
46
47
|
this.handleApiError(err);
|
|
47
48
|
}
|
|
48
49
|
if (flags.json) {
|
|
49
|
-
this.
|
|
50
|
+
this.printJsonResult((0, list_output_1.listResult)(resp, 'tools'));
|
|
50
51
|
return;
|
|
51
52
|
}
|
|
52
53
|
const tools = resp.tools;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.labelListRows = labelListRows;
|
|
4
|
+
const list_output_1 = require("../../lib/list-output");
|
|
4
5
|
const core_1 = require("@oclif/core");
|
|
5
6
|
const data_provider_1 = require("@skrr-ai/data-provider");
|
|
6
7
|
const base_command_1 = require("../../base-command");
|
|
@@ -106,12 +107,12 @@ class LabelsList extends base_command_1.BaseCommand {
|
|
|
106
107
|
}
|
|
107
108
|
if (flags.json) {
|
|
108
109
|
const ordered = (0, data_provider_1.orderLabelsBySpaceUsage)(items, spaceUsage);
|
|
109
|
-
this.
|
|
110
|
+
this.printJsonResult((0, list_output_1.listResult)({
|
|
110
111
|
data: spaceUsage
|
|
111
112
|
? ordered.map((l) => ({ ...l, spaceUsageCount: spaceUsage?.get(String(l.id)) ?? 0 }))
|
|
112
113
|
: ordered,
|
|
113
114
|
...(flags.space ? { spaceId: flags.space } : {}),
|
|
114
|
-
}
|
|
115
|
+
}));
|
|
115
116
|
return;
|
|
116
117
|
}
|
|
117
118
|
if (items.length === 0) {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
export default class LearningAdapters extends Command {
|
|
3
|
+
static baseFlags: {
|
|
4
|
+
bare: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
5
|
+
token: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
6
|
+
workspace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
raw: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
};
|
|
10
|
+
static description: string;
|
|
11
|
+
static examples: string[];
|
|
12
|
+
static flags: {
|
|
13
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
};
|
|
15
|
+
run(): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const base_command_1 = require("../../base-command");
|
|
5
|
+
const guide = {
|
|
6
|
+
scope: 'Learning evidence adapters',
|
|
7
|
+
installation: 'Reviewed server module passed to createAdapterRegistry; not an uploaded or remote plugin',
|
|
8
|
+
guideUrl: 'https://github.com/dush1023/OverSky/blob/main/api/server/services/LearningCapabilities/ADAPTERS.md',
|
|
9
|
+
repositoryGuide: 'api/server/services/LearningCapabilities/ADAPTERS.md',
|
|
10
|
+
example: 'api/server/services/LearningCapabilities/examples/qualityInspection.js',
|
|
11
|
+
conformance: {
|
|
12
|
+
module: 'api/server/services/LearningCapabilities/conformance.js',
|
|
13
|
+
requiredFixtures: ['validInput', 'changedInput (different normalized content)'],
|
|
14
|
+
command: 'cd api && npx jest --runInBand server/services/LearningCapabilities/__tests__/adapters.conformance.spec.js',
|
|
15
|
+
},
|
|
16
|
+
boundaries: [
|
|
17
|
+
'Adapters normalize already-authorized native source evidence. They do not grant source access or execute a learned capability.',
|
|
18
|
+
'Only local normalization is supported here: destination oversky, evidence:read, zero provider calls. Model processing uses the governed media service.',
|
|
19
|
+
'A conformance pass covers its fixtures. It does not certify native source authenticity, perception accuracy or provider deletion.',
|
|
20
|
+
],
|
|
21
|
+
};
|
|
22
|
+
// Authoring documentation is available without a credential/daemon handoff.
|
|
23
|
+
class LearningAdapters extends core_1.Command {
|
|
24
|
+
static baseFlags = base_command_1.BaseCommand.baseFlags;
|
|
25
|
+
static description = 'Find the Learning evidence-adapter authoring and conformance guide';
|
|
26
|
+
static examples = [
|
|
27
|
+
'<%= config.bin %> learning adapters',
|
|
28
|
+
'<%= config.bin %> learning adapters --json',
|
|
29
|
+
];
|
|
30
|
+
static flags = {
|
|
31
|
+
json: core_1.Flags.boolean({
|
|
32
|
+
description: 'Output the guide coordinates and supported boundary as JSON',
|
|
33
|
+
}),
|
|
34
|
+
};
|
|
35
|
+
async run() {
|
|
36
|
+
const { flags } = await this.parse(LearningAdapters);
|
|
37
|
+
if (flags.json) {
|
|
38
|
+
this.log(JSON.stringify({ ok: true, ...guide }, null, 2));
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.log(`Learning evidence adapters\n${guide.installation}\n\nGuide: ${guide.guideUrl}\nIn the repository: ${guide.repositoryGuide}\nExample: ${guide.example}\n\nConformance: ${guide.conformance.command}\nRequired fixtures: ${guide.conformance.requiredFixtures.join(', ')}\n\n${guide.boundaries.join('\n')}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.default = LearningAdapters;
|
package/dist/commands/login.js
CHANGED
|
@@ -12,6 +12,7 @@ const cli_id_1 = require("../lib/cli-id");
|
|
|
12
12
|
const keychain_1 = require("../lib/keychain");
|
|
13
13
|
const profile_machine_identity_guard_1 = require("../lib/profile-machine-identity-guard");
|
|
14
14
|
const daemon_command_hint_1 = require("../lib/daemon-command-hint");
|
|
15
|
+
const daemon_machine_identity_copy_1 = require("../lib/daemon-machine-identity-copy");
|
|
15
16
|
const local_daemon_readiness_1 = require("../lib/local-daemon-readiness");
|
|
16
17
|
const login_1 = require("../lib/login");
|
|
17
18
|
const device_code_1 = require("../lib/device-code");
|
|
@@ -293,6 +294,16 @@ class Login extends base_command_1.BaseCommand {
|
|
|
293
294
|
// nothing to install and nothing to hand over (OSK-12296).
|
|
294
295
|
this.log("This machine's daemon is managed by the platform; there is nothing to set up here.");
|
|
295
296
|
}
|
|
297
|
+
else if (handoff.reason === 'machine-identity-skew' && handoff.skew) {
|
|
298
|
+
// The installed daemon would register this profile on the default
|
|
299
|
+
// profile's machine row (OSK-S-440). Nothing was minted or installed;
|
|
300
|
+
// the CLI's own sign-in above stands. The generic "run `daemon login`"
|
|
301
|
+
// line below would send the person to the same binary.
|
|
302
|
+
this.log('');
|
|
303
|
+
for (const line of (0, daemon_machine_identity_copy_1.describeDaemonMachineIdentitySkew)(handoff.skew))
|
|
304
|
+
this.log(line);
|
|
305
|
+
localDaemonNotReady = true;
|
|
306
|
+
}
|
|
296
307
|
else if (handoff.reason === 'foreign-root') {
|
|
297
308
|
// Not a failure and not a hint to re-login anything: the daemon is
|
|
298
309
|
// the default root's, and this is a second root (OSK-12189).
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const dedicated_lease_command_1 = require("../../../lib/dedicated-lease-command");
|
|
5
6
|
const format_1 = require("../../../lib/format");
|
|
@@ -25,7 +26,7 @@ class DedicatedMachinesList extends dedicated_lease_command_1.DedicatedLeaseComm
|
|
|
25
26
|
...this.scopeFrom(flags),
|
|
26
27
|
}));
|
|
27
28
|
if (flags.json) {
|
|
28
|
-
this.
|
|
29
|
+
this.printJsonResult((0, list_output_1.listResult)(response, 'leases'));
|
|
29
30
|
return;
|
|
30
31
|
}
|
|
31
32
|
const leases = response?.leases ?? [];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const base_command_1 = require("../../../base-command");
|
|
5
6
|
const api_fetch_1 = require("../../../lib/api-fetch");
|
|
@@ -34,7 +35,7 @@ class HostedMachinesList extends base_command_1.BaseCommand {
|
|
|
34
35
|
this.handleApiError(err);
|
|
35
36
|
}
|
|
36
37
|
if (flags.json) {
|
|
37
|
-
this.
|
|
38
|
+
this.printJsonResult((0, list_output_1.listResult)(flags.details ? response : (0, hosted_machines_1.curateHostedMachineList)(response)));
|
|
38
39
|
return;
|
|
39
40
|
}
|
|
40
41
|
const sessions = response.data ?? [];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const machine_uuid_1 = require("@skrr-ai/auth-core/machine-uuid");
|
|
5
6
|
const base_command_1 = require("../../base-command");
|
|
@@ -53,7 +54,7 @@ class MachinesList extends base_command_1.BaseCommand {
|
|
|
53
54
|
}));
|
|
54
55
|
const shown = reachable;
|
|
55
56
|
if (flags.json) {
|
|
56
|
-
this.
|
|
57
|
+
this.printJsonResult((0, list_output_1.listResult)(views));
|
|
57
58
|
return;
|
|
58
59
|
}
|
|
59
60
|
if (all.length === 0) {
|
|
@@ -139,8 +139,11 @@ class MachinesShow extends base_command_1.BaseCommand {
|
|
|
139
139
|
provider: (0, harness_labels_1.harnessProviderLabel)(h.provider),
|
|
140
140
|
// Liveness only. Whether a newer registration replaced the row is a
|
|
141
141
|
// different fact — a superseded row can have been online — so it
|
|
142
|
-
// gets its own column rather than overwriting this one.
|
|
143
|
-
|
|
142
|
+
// gets its own column rather than overwriting this one. It is the
|
|
143
|
+
// server's statement about the row (`stale`, `reconnecting`), not the
|
|
144
|
+
// bare recorded status: the line above says `stale` for a machine whose
|
|
145
|
+
// table then read `online` for every row in it (OSK-16442).
|
|
146
|
+
status: (0, format_1.formatCell)((0, machines_1.harnessStateLabel)(h)),
|
|
144
147
|
registration: h.superseded ? 'superseded' : 'current',
|
|
145
148
|
readiness: readinessFor(h)?.label ?? '-',
|
|
146
149
|
seen: (0, format_1.localStamp)(h.lastSeenAt),
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const base_command_1 = require("../../base-command");
|
|
5
6
|
const measures_1 = require("../../lib/measures");
|
|
@@ -29,7 +30,7 @@ class MeasuresList extends base_command_1.BaseCommand {
|
|
|
29
30
|
status: flags.status,
|
|
30
31
|
}));
|
|
31
32
|
if (flags.json) {
|
|
32
|
-
this.
|
|
33
|
+
this.printJsonResult((0, list_output_1.listResult)(response.measures));
|
|
33
34
|
return;
|
|
34
35
|
}
|
|
35
36
|
(0, measures_1.renderMeasureList)(response.measures, (line) => this.log(line));
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const data_provider_1 = require("@skrr-ai/data-provider");
|
|
5
6
|
const base_command_1 = require("../../base-command");
|
|
@@ -30,7 +31,7 @@ class MemoryList extends base_command_1.BaseCommand {
|
|
|
30
31
|
this.handleApiError(err);
|
|
31
32
|
}
|
|
32
33
|
if (flags.json) {
|
|
33
|
-
this.
|
|
34
|
+
this.printJsonResult((0, list_output_1.listResult)(response, 'memories'));
|
|
34
35
|
return;
|
|
35
36
|
}
|
|
36
37
|
const memories = response.memories ?? [];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const scoped_memory_command_1 = require("../../../lib/scoped-memory-command");
|
|
5
6
|
class MemoryProposalsList extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
@@ -18,7 +19,7 @@ class MemoryProposalsList extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
|
18
19
|
const store = await this.resolveStore(flags);
|
|
19
20
|
const result = await this.memoryApi(flags.agent, `/stores/${store.id}/proposals${this.query(flags, { status: flags.status })}`);
|
|
20
21
|
if (flags.json) {
|
|
21
|
-
this.
|
|
22
|
+
this.printJsonResult((0, list_output_1.listResult)({ storeId: store.id, proposals: result.proposals }, 'proposals'));
|
|
22
23
|
return;
|
|
23
24
|
}
|
|
24
25
|
for (const proposal of result.proposals) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const scoped_memory_command_1 = require("../../../lib/scoped-memory-command");
|
|
5
6
|
class MemoryStoresList extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
@@ -19,7 +20,7 @@ class MemoryStoresList extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
|
19
20
|
...(storeResolutions !== undefined ? { storeResolutions } : {}),
|
|
20
21
|
};
|
|
21
22
|
if (flags.json)
|
|
22
|
-
return this.
|
|
23
|
+
return this.printJsonResult((0, list_output_1.listResult)(result, 'stores'));
|
|
23
24
|
for (const line of (0, scoped_memory_command_1.memoryStoreResolutionLines)(storeResolutions))
|
|
24
25
|
this.log(line);
|
|
25
26
|
for (const store of result.stores) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const scoped_memory_command_1 = require("../../../lib/scoped-memory-command");
|
|
5
6
|
class MemoryTopicsList extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
@@ -12,7 +13,7 @@ class MemoryTopicsList extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
|
12
13
|
const result = await this.memoryApi(flags.agent, `/stores/${store.id}/tree${this.query(flags, { includeArchived: flags.archived })}`);
|
|
13
14
|
const topics = result.nodes.filter((node) => node.nodeKind === 'memory');
|
|
14
15
|
if (flags.json)
|
|
15
|
-
return this.
|
|
16
|
+
return this.printJsonResult((0, list_output_1.listResult)({ storeId: store.id, topics }, 'topics'));
|
|
16
17
|
for (const topic of topics)
|
|
17
18
|
this.log(`${topic.id} ${topic.path} ${topic.title} r${topic.revision}`);
|
|
18
19
|
if (!topics.length)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const list_output_1 = require("../../../lib/list-output");
|
|
3
4
|
const core_1 = require("@oclif/core");
|
|
4
5
|
const scoped_memory_command_1 = require("../../../lib/scoped-memory-command");
|
|
5
6
|
class MemoryVersionsList extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
@@ -12,7 +13,7 @@ class MemoryVersionsList extends scoped_memory_command_1.ScopedMemoryCommand {
|
|
|
12
13
|
const store = await this.resolveStore(flags);
|
|
13
14
|
const result = await this.memoryApi(flags.agent, `/stores/${store.id}/versions${this.query(flags, { memoryId: args.memory, limit: flags.limit })}`);
|
|
14
15
|
if (flags.json)
|
|
15
|
-
return this.
|
|
16
|
+
return this.printJsonResult((0, list_output_1.listResult)(result, 'versions'));
|
|
16
17
|
for (const version of result.versions)
|
|
17
18
|
this.log(`${version.id} ${version.operation} ${version.createdAt} ${version.contentHash || '[redacted]'}`);
|
|
18
19
|
if (!result.versions.length)
|