@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
|
@@ -456,7 +456,10 @@ class AgentsChat extends base_command_1.BaseCommand {
|
|
|
456
456
|
* canonical scope at all. Naming that at launch is cheap; discovering it
|
|
457
457
|
* mid-run costs a session.
|
|
458
458
|
*/
|
|
459
|
-
|
|
459
|
+
// UUIDs identify Stores, versions, files and conversations too. Only a
|
|
460
|
+
// Task identifier or a UUID with an explicit Task label/URL/command earns
|
|
461
|
+
// this warning; a resource UUID alone cannot establish its kind.
|
|
462
|
+
static TASK_REF_IN_PROMPT = new RegExp(String.raw `\bOSK-\d+\b|(?:\btask(?:[\s_-]*(?:id|uuid))?\s*[:=]?\s*["'\x60]?|/tasks?/|\bskrr\s+tasks\s+(?:(?:updates|result|expectations|deliverable|comments|resume)\s+)?[a-z-]+\s+)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b`, 'i');
|
|
460
463
|
/**
|
|
461
464
|
* `--local-skill` names → the references the server resolves, from the daemon
|
|
462
465
|
* that will run the turn. Any name that does not resolve stops the command:
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const core_1 = require("@oclif/core");
|
|
4
4
|
const data_provider_1 = require("@skrr-ai/data-provider");
|
|
5
5
|
const base_command_1 = require("../../base-command");
|
|
6
|
+
const agent_proactive_baseline_1 = require("../../lib/agent-proactive-baseline");
|
|
6
7
|
const web_url_1 = require("../../lib/web-url");
|
|
7
8
|
class AgentsDuplicate extends base_command_1.BaseCommand {
|
|
8
9
|
static description = 'Duplicate an agent (clones the agent and its actions)';
|
|
@@ -41,6 +42,9 @@ class AgentsDuplicate extends base_command_1.BaseCommand {
|
|
|
41
42
|
if (r.agent)
|
|
42
43
|
this.log(`URL: ${(0, web_url_1.withAgentUrl)(this.cliConfig.baseURL, r.agent).url ?? '-'}`);
|
|
43
44
|
this.log(`Cloned ${actionCount} action${actionCount === 1 ? '' : 's'}`);
|
|
45
|
+
// A copy starts in standby; the server's receipt names the enable command.
|
|
46
|
+
for (const line of (0, agent_proactive_baseline_1.creationDispositionLines)(r.proactive))
|
|
47
|
+
this.log(line);
|
|
44
48
|
}
|
|
45
49
|
}
|
|
46
50
|
exports.default = AgentsDuplicate;
|
|
@@ -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 AgentsEvalList extends base_command_1.BaseCommand {
|
|
|
26
27
|
this.handleApiError(error, { subject: `agent ${args.agentId}` });
|
|
27
28
|
}
|
|
28
29
|
if (flags.json) {
|
|
29
|
-
this.
|
|
30
|
+
this.printJsonResult((0, list_output_1.listResult)(this.withAgentContext(args.agentId, result)));
|
|
30
31
|
return;
|
|
31
32
|
}
|
|
32
33
|
const rows = result.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 data_provider_1 = require("@skrr-ai/data-provider");
|
|
5
6
|
const base_command_1 = require("../../../base-command");
|
|
@@ -12,7 +13,7 @@ class AgentsFilesList extends base_command_1.BaseCommand {
|
|
|
12
13
|
const { args, flags } = await this.parse(AgentsFilesList);
|
|
13
14
|
const result = await data_provider_1.dataService.listAgentFolderFiles(args.agentId);
|
|
14
15
|
if (flags.json)
|
|
15
|
-
this.
|
|
16
|
+
this.printJsonResult((0, list_output_1.listResult)(this.withAgentContext(args.agentId, result)));
|
|
16
17
|
else {
|
|
17
18
|
this.log(JSON.stringify(result.data, null, 2));
|
|
18
19
|
this.printAgentUrl(args.agentId);
|
|
@@ -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");
|
|
@@ -12,7 +13,7 @@ class AgentsFoldersList extends base_command_1.BaseCommand {
|
|
|
12
13
|
const { args, flags } = await this.parse(AgentsFoldersList);
|
|
13
14
|
const result = await data_provider_1.dataService.listAgentFolders(args.agentId);
|
|
14
15
|
if (flags.json)
|
|
15
|
-
this.
|
|
16
|
+
this.printJsonResult((0, list_output_1.listResult)(this.withAgentContext(args.agentId, result)));
|
|
16
17
|
else {
|
|
17
18
|
this.log(JSON.stringify(result.data, null, 2));
|
|
18
19
|
this.printAgentUrl(args.agentId);
|
|
@@ -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");
|
|
@@ -39,7 +40,7 @@ class AgentsGoalsList extends base_command_1.BaseCommand {
|
|
|
39
40
|
this.handleApiError(err);
|
|
40
41
|
}
|
|
41
42
|
if (flags.json) {
|
|
42
|
-
this.
|
|
43
|
+
this.printJsonResult((0, list_output_1.listResult)(response));
|
|
43
44
|
return;
|
|
44
45
|
}
|
|
45
46
|
const items = (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 data_provider_1 = require("@skrr-ai/data-provider");
|
|
5
6
|
const base_command_1 = require("../../../base-command");
|
|
@@ -11,11 +12,13 @@ class AgentsIntuitionsList extends base_command_1.BaseCommand {
|
|
|
11
12
|
this.requireAuth();
|
|
12
13
|
const { args, flags } = await this.parse(AgentsIntuitionsList);
|
|
13
14
|
const result = await data_provider_1.dataService.getAgentIntuitions(args.agentId);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
if (flags.json) {
|
|
16
|
+
this.printJsonResult((0, list_output_1.listResult)(this.withAgentContext(args.agentId, result), 'intuitions'));
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const text = JSON.stringify(result.intuitions ?? result, null, 2);
|
|
20
|
+
this.log(text);
|
|
21
|
+
this.printAgentUrl(args.agentId);
|
|
19
22
|
}
|
|
20
23
|
}
|
|
21
24
|
exports.default = AgentsIntuitionsList;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type AgentListParams } from '@skrr-ai/data-provider';
|
|
1
2
|
import { BaseCommand } from '../../base-command';
|
|
2
3
|
/**
|
|
3
4
|
* One agent document → one table row.
|
|
@@ -38,11 +39,22 @@ export declare function agentRow(a: Record<string, unknown>): {
|
|
|
38
39
|
* Exported and pure so the wording is testable without an oclif runtime.
|
|
39
40
|
*/
|
|
40
41
|
export declare function noAgentsEmptyMessage(bin?: string): string;
|
|
42
|
+
/** Server-side selection: never download and locally filter the historical inventory. */
|
|
43
|
+
export declare function agentListParams(flags: Record<string, unknown>): AgentListParams;
|
|
41
44
|
export default class AgentsList extends BaseCommand {
|
|
42
45
|
static description: string;
|
|
43
46
|
static examples: string[];
|
|
44
47
|
static flags: {
|
|
45
48
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
49
|
+
q: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
50
|
+
harness: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
51
|
+
readiness: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
52
|
+
limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
53
|
+
cursor: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
54
|
+
all: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
55
|
+
fields: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
56
|
+
compact: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
57
|
+
ndjson: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
46
58
|
};
|
|
47
59
|
run(): Promise<void>;
|
|
48
60
|
}
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.orderPinnedFirst = orderPinnedFirst;
|
|
4
4
|
exports.agentRow = agentRow;
|
|
5
5
|
exports.noAgentsEmptyMessage = noAgentsEmptyMessage;
|
|
6
|
+
exports.agentListParams = agentListParams;
|
|
7
|
+
const list_output_1 = require("../../lib/list-output");
|
|
6
8
|
const core_1 = require("@oclif/core");
|
|
7
9
|
const data_provider_1 = require("@skrr-ai/data-provider");
|
|
8
10
|
const base_command_1 = require("../../base-command");
|
|
@@ -57,14 +59,36 @@ function noAgentsEmptyMessage(bin = 'skrr') {
|
|
|
57
59
|
` → Start a coding session and one will be created for you: \`${bin} code\`\n` +
|
|
58
60
|
` → Or create one explicitly: \`${bin} agents create --name "..." --provider anthropic --model claude-sonnet-4-5 --target hosted-machine\``);
|
|
59
61
|
}
|
|
62
|
+
/** Server-side selection: never download and locally filter the historical inventory. */
|
|
63
|
+
function agentListParams(flags) {
|
|
64
|
+
return {
|
|
65
|
+
requiredPermission: data_provider_1.PermissionBits.VIEW,
|
|
66
|
+
search: flags.q,
|
|
67
|
+
harnessId: flags.harness,
|
|
68
|
+
readiness: flags.readiness,
|
|
69
|
+
limit: flags.all ? undefined : flags.limit ?? 50,
|
|
70
|
+
cursor: flags.cursor,
|
|
71
|
+
// Explicit field selection may need a field outside the summary projection.
|
|
72
|
+
fields: flags.all || flags.fields ? undefined : 'summary',
|
|
73
|
+
withReadiness: 1,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
60
76
|
class AgentsList extends base_command_1.BaseCommand {
|
|
61
77
|
static description = 'List agents available to you';
|
|
62
78
|
static examples = [
|
|
63
79
|
'<%= config.bin %> agents list',
|
|
64
|
-
'<%= config.bin %> agents list --json',
|
|
80
|
+
'<%= config.bin %> agents list --q scout --harness <harness-id> --readiness ready --compact --json',
|
|
81
|
+
'<%= config.bin %> agents list --all --json',
|
|
65
82
|
];
|
|
66
83
|
static flags = {
|
|
84
|
+
...list_output_1.listOutputFlags,
|
|
67
85
|
json: core_1.Flags.boolean({ description: 'Output as JSON' }),
|
|
86
|
+
q: core_1.Flags.string({ description: 'Search Agent name or description on the server' }),
|
|
87
|
+
harness: core_1.Flags.string({ description: 'An enabled execution target must reference this harness ID' }),
|
|
88
|
+
readiness: core_1.Flags.string({ options: ['ready', 'blocked', 'unknown'], description: 'Filter server-side unattended execution admission; ready is a prerequisite check, not a guarantee of task authorization' }),
|
|
89
|
+
limit: core_1.Flags.integer({ min: 1, max: 100, description: 'Page size (default 50; maximum 100)', exclusive: ['all'] }),
|
|
90
|
+
cursor: core_1.Flags.string({ description: 'Continue from next_cursor in the previous response', exclusive: ['all'] }),
|
|
91
|
+
all: core_1.Flags.boolean({ description: 'Full historical inventory and full Agent payloads (unbounded); filters still apply' }),
|
|
68
92
|
};
|
|
69
93
|
async run() {
|
|
70
94
|
this.requireAuth();
|
|
@@ -75,15 +99,20 @@ class AgentsList extends base_command_1.BaseCommand {
|
|
|
75
99
|
// web client passes when listing agents a user can see (see
|
|
76
100
|
// client/src/routes/ChatRoute.tsx). EDIT would restrict to agents the
|
|
77
101
|
// user can modify.
|
|
78
|
-
response = await data_provider_1.dataService.listAgents(
|
|
79
|
-
requiredPermission: data_provider_1.PermissionBits.VIEW,
|
|
80
|
-
});
|
|
102
|
+
response = await data_provider_1.dataService.listAgents(agentListParams(flags));
|
|
81
103
|
}
|
|
82
104
|
catch (err) {
|
|
83
105
|
this.handleApiError(err);
|
|
84
106
|
}
|
|
85
|
-
|
|
86
|
-
|
|
107
|
+
// An older server silently ignoring readiness would return unsafe matches.
|
|
108
|
+
if (flags.readiness && response?.readiness_filter_applied !== flags.readiness) {
|
|
109
|
+
this.error('The server did not confirm execution-readiness filtering. Upgrade the server before selecting executors with --readiness.');
|
|
110
|
+
}
|
|
111
|
+
if (flags.json || flags.ndjson) {
|
|
112
|
+
this.printList((0, list_output_1.shapeListResponse)((0, web_url_1.withDataUrls)(this.cliConfig.baseURL, response, web_url_1.agentUrlFrom), {
|
|
113
|
+
resource: 'agent', fields: flags.fields, compact: flags.compact,
|
|
114
|
+
requestedLimit: flags.all ? undefined : flags.limit ?? 50,
|
|
115
|
+
}), Boolean(flags.ndjson));
|
|
87
116
|
return;
|
|
88
117
|
}
|
|
89
118
|
// AgentListResponse shape has varied — accept { data }, { agents }, or a
|
|
@@ -92,8 +121,10 @@ class AgentsList extends base_command_1.BaseCommand {
|
|
|
92
121
|
const items = Array.isArray(r)
|
|
93
122
|
? r
|
|
94
123
|
: (r?.data ?? r?.agents ?? []);
|
|
124
|
+
for (const note of (0, list_output_1.textModeProjectionNotes)(flags))
|
|
125
|
+
this.log(note);
|
|
95
126
|
if (items.length === 0) {
|
|
96
|
-
this.log(noAgentsEmptyMessage(this.config.bin));
|
|
127
|
+
this.log(flags.q || flags.harness || flags.readiness ? 'No agents match these filters. Broaden --q, --harness, or --readiness.' : noAgentsEmptyMessage(this.config.bin));
|
|
97
128
|
return;
|
|
98
129
|
}
|
|
99
130
|
// Best-effort: a list that cannot read pins still lists, unordered by them.
|
|
@@ -107,15 +138,21 @@ class AgentsList extends base_command_1.BaseCommand {
|
|
|
107
138
|
const rows = orderPinnedFirst(items, preferences).map((item) => ({
|
|
108
139
|
pinned: item.pinned ? 'pinned' : '',
|
|
109
140
|
...agentRow(item),
|
|
141
|
+
harness: (0, format_1.formatCell)(item.harnessName ?? item.harnessId, 'unassigned'),
|
|
142
|
+
readiness: (0, format_1.formatCell)(item.executionReadiness?.state, 'unknown'),
|
|
110
143
|
url: (0, web_url_1.agentUrlFrom)(this.cliConfig.baseURL, item) ?? '-',
|
|
111
144
|
}));
|
|
112
145
|
(0, format_1.renderTable)(rows, [
|
|
113
146
|
{ key: 'pinned', header: 'PINNED' },
|
|
114
147
|
{ key: 'id', header: 'ID' },
|
|
115
148
|
{ key: 'name', header: 'NAME', maxWidth: 30 },
|
|
116
|
-
{ key: '
|
|
149
|
+
{ key: 'harness', header: 'HARNESS', maxWidth: 30 },
|
|
150
|
+
{ key: 'readiness', header: 'ADMISSION' },
|
|
117
151
|
{ key: 'url', header: 'URL', maxWidth: 72 },
|
|
118
152
|
], (line) => this.log(line));
|
|
153
|
+
const page = response;
|
|
154
|
+
if (page?.has_more && page.after)
|
|
155
|
+
this.log(`More agents available. Continue with --cursor ${page.after}`);
|
|
119
156
|
}
|
|
120
157
|
}
|
|
121
158
|
exports.default = AgentsList;
|
|
@@ -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");
|
|
@@ -34,7 +35,7 @@ class AgentsReleasesKnownIssuesList extends base_command_1.BaseCommand {
|
|
|
34
35
|
}
|
|
35
36
|
const issues = release.knownIssues ?? [];
|
|
36
37
|
if (flags.json) {
|
|
37
|
-
this.
|
|
38
|
+
this.printJsonResult((0, list_output_1.listResult)({ releaseId: release.id, knownIssues: issues }, 'knownIssues'));
|
|
38
39
|
return;
|
|
39
40
|
}
|
|
40
41
|
if (issues.length === 0) {
|
|
@@ -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");
|
|
@@ -35,7 +36,10 @@ class AgentsReleasesList extends base_command_1.BaseCommand {
|
|
|
35
36
|
this.requireAuth();
|
|
36
37
|
const { args, flags } = await this.parse(AgentsReleasesList);
|
|
37
38
|
const result = await data_provider_1.dataService.getAgentReleases(args.agentId);
|
|
38
|
-
|
|
39
|
+
if (flags.json)
|
|
40
|
+
this.printJsonResult((0, list_output_1.listResult)(this.withAgentContext(args.agentId, result)));
|
|
41
|
+
else
|
|
42
|
+
this.log(renderReleases(result.data ?? []));
|
|
39
43
|
if (!flags.json)
|
|
40
44
|
this.printAgentUrl(args.agentId);
|
|
41
45
|
}
|
|
@@ -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");
|
|
@@ -27,7 +28,7 @@ class AgentsReleasesTrustedPublishersList extends base_command_1.BaseCommand {
|
|
|
27
28
|
const result = await data_provider_1.dataService.getAgentTrustedPublishers(args.agentId);
|
|
28
29
|
const bindings = result.data ?? [];
|
|
29
30
|
if (flags.json) {
|
|
30
|
-
this.
|
|
31
|
+
this.printJsonResult((0, list_output_1.listResult)(bindings));
|
|
31
32
|
return;
|
|
32
33
|
}
|
|
33
34
|
if (bindings.length === 0) {
|
|
@@ -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 roles_1 = require("../../../lib/roles");
|
|
@@ -15,7 +16,7 @@ class RolesList extends base_command_1.BaseCommand {
|
|
|
15
16
|
try {
|
|
16
17
|
const result = await roles_1.roleApi.list(args.id);
|
|
17
18
|
if (flags.json) {
|
|
18
|
-
this.
|
|
19
|
+
this.printJsonResult((0, list_output_1.listResult)(result, 'roles'));
|
|
19
20
|
return;
|
|
20
21
|
}
|
|
21
22
|
for (const role of result.roles)
|
|
@@ -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");
|
|
@@ -37,7 +38,7 @@ class AgentsSkillsList extends base_command_1.BaseCommand {
|
|
|
37
38
|
this.handleApiError(err);
|
|
38
39
|
}
|
|
39
40
|
if (flags.json) {
|
|
40
|
-
this.
|
|
41
|
+
this.printJsonResult((0, list_output_1.listResult)(response));
|
|
41
42
|
return;
|
|
42
43
|
}
|
|
43
44
|
if (flags.quiet)
|
|
@@ -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 schedule_1 = require("../../../lib/schedule");
|
|
@@ -33,7 +34,7 @@ class AgentsTodosList extends base_command_1.BaseCommand {
|
|
|
33
34
|
this.handleApiError(err);
|
|
34
35
|
}
|
|
35
36
|
if (flags.json) {
|
|
36
|
-
this.
|
|
37
|
+
this.printJsonResult((0, list_output_1.listResult)(response, 'todos'));
|
|
37
38
|
return;
|
|
38
39
|
}
|
|
39
40
|
(0, schedule_1.renderTodoList)(response.todos ?? [], (line) => this.log(line));
|
|
@@ -76,7 +76,7 @@ class AgentsTriggersCreate extends base_command_1.BaseCommand {
|
|
|
76
76
|
description: 'ISO-8601 datetime after which a schedule stops firing (--kind schedule)',
|
|
77
77
|
}),
|
|
78
78
|
'stale-catchup-ms': core_1.Flags.integer({
|
|
79
|
-
description: 'How late a missed occurrence may still run, in ms (
|
|
79
|
+
description: 'How late a missed occurrence may still run, in ms, from 1000 (1 second) to 31622400000 (366 days). After downtime, an occurrence more than this overdue is skipped rather than run late, and the schedule moves to its next future slot. Unset: 3600000 (1 hour).',
|
|
80
80
|
}),
|
|
81
81
|
// once
|
|
82
82
|
at: core_1.Flags.string({
|
|
@@ -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 triggers_1 = require("../../../lib/triggers");
|
|
@@ -53,7 +54,7 @@ class AgentsTriggersList extends base_command_1.BaseCommand {
|
|
|
53
54
|
this.handleApiError(err);
|
|
54
55
|
}
|
|
55
56
|
if (flags.json) {
|
|
56
|
-
this.
|
|
57
|
+
this.printJsonResult((0, list_output_1.listResult)(response, 'triggers'));
|
|
57
58
|
return;
|
|
58
59
|
}
|
|
59
60
|
(0, triggers_1.renderTriggerList)(response.triggers ?? [], (line) => this.log(line));
|
|
@@ -63,7 +63,7 @@ class AgentsTriggersUpdate extends base_command_1.BaseCommand {
|
|
|
63
63
|
description: 'ISO-8601 datetime after which a schedule stops firing',
|
|
64
64
|
}),
|
|
65
65
|
'stale-catchup-ms': core_1.Flags.integer({
|
|
66
|
-
description: 'How late a missed occurrence may still run, in ms (
|
|
66
|
+
description: 'How late a missed occurrence may still run, in ms, from 1000 (1 second) to 31622400000 (366 days). After downtime, an occurrence more than this overdue is skipped rather than run late, and the schedule moves to its next future slot. Unset: 3600000 (1 hour).',
|
|
67
67
|
}),
|
|
68
68
|
at: core_1.Flags.string({ description: 'ISO-8601 datetime for once triggers' }),
|
|
69
69
|
entity: core_1.Flags.string({
|
|
@@ -80,6 +80,17 @@ export default class AgentsUpdate extends BaseCommand {
|
|
|
80
80
|
* Exported for tests.
|
|
81
81
|
*/
|
|
82
82
|
export declare function agentUpdateWarnings(payload: Record<string, unknown>, updated: unknown): string[];
|
|
83
|
+
/**
|
|
84
|
+
* The Agent row inside an update reply: the reply itself for an ordinary
|
|
85
|
+
* PATCH, `agent` inside the Always-On control envelope, or null when the
|
|
86
|
+
* control reply carries none (a PATCH of `isAlwaysOn` alone). Exported for tests.
|
|
87
|
+
*/
|
|
88
|
+
export declare function agentRowFromUpdate(updated: unknown): Record<string, unknown> | null;
|
|
89
|
+
/**
|
|
90
|
+
* One line for an `isAlwaysOn` write, from the receipt: applied, or already in
|
|
91
|
+
* that state so nothing changed (OSK-16477). Exported for tests.
|
|
92
|
+
*/
|
|
93
|
+
export declare function alwaysOnReceiptLine(payload: Record<string, unknown>, updated: unknown): string | null;
|
|
83
94
|
/**
|
|
84
95
|
* Warnings from the server's `writeReceipt` (OSK-15070). The receipt names
|
|
85
96
|
* every key the write saw as applied (and through which control: the legacy
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AGENT_FENCE_RETRY_CODES = void 0;
|
|
4
4
|
exports.agentUpdateWarnings = agentUpdateWarnings;
|
|
5
|
+
exports.agentRowFromUpdate = agentRowFromUpdate;
|
|
6
|
+
exports.alwaysOnReceiptLine = alwaysOnReceiptLine;
|
|
5
7
|
exports.writeReceiptWarnings = writeReceiptWarnings;
|
|
6
8
|
exports.retryOnceOnAgentFence = retryOnceOnAgentFence;
|
|
7
9
|
exports.defaultPermissionModePatch = defaultPermissionModePatch;
|
|
@@ -212,8 +214,26 @@ class AgentsUpdate extends base_command_1.BaseCommand {
|
|
|
212
214
|
this.log(JSON.stringify((0, web_url_1.withAgentUrl)(this.cliConfig.baseURL, updated), null, 2));
|
|
213
215
|
return;
|
|
214
216
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
+
// The Always-On control replies with its own envelope, which names no agent.
|
|
218
|
+
// Name it from the Agent's own row, not "(no name)" (OSK-16477).
|
|
219
|
+
const a = agentRowFromUpdate(updated) ?? { id: args.id };
|
|
220
|
+
if (typeof a.name !== 'string') {
|
|
221
|
+
try {
|
|
222
|
+
const row = (await data_provider_1.dataService.getAgentById({ agent_id: args.id }));
|
|
223
|
+
if (row &&
|
|
224
|
+
typeof row === 'object' &&
|
|
225
|
+
typeof row.name === 'string') {
|
|
226
|
+
a.name = row.name;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
// The update already happened; a failed name read only costs the label.
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
this.log(`Updated agent ${a.id ?? a._id ?? args.id} — ${typeof a.name === 'string' ? a.name || '(no name)' : '(name unavailable)'}`);
|
|
234
|
+
const alwaysOnLine = alwaysOnReceiptLine(payload, updated);
|
|
235
|
+
if (alwaysOnLine)
|
|
236
|
+
this.log(alwaysOnLine);
|
|
217
237
|
this.log(`URL: ${(0, web_url_1.withAgentUrl)(this.cliConfig.baseURL, { ...a, id: a.id ?? a._id ?? args.id }).url ?? '-'}`);
|
|
218
238
|
const modeNote = defaultPermissionModeNote(flags['default-permission-mode'], a);
|
|
219
239
|
if (modeNote)
|
|
@@ -285,6 +305,42 @@ function agentUpdateWarnings(payload, updated) {
|
|
|
285
305
|
...(unapplied.length > 0 ? [(0, create_1.unappliedPayloadKeysWarning)(unapplied)] : []),
|
|
286
306
|
];
|
|
287
307
|
}
|
|
308
|
+
/**
|
|
309
|
+
* The Agent row inside an update reply: the reply itself for an ordinary
|
|
310
|
+
* PATCH, `agent` inside the Always-On control envelope, or null when the
|
|
311
|
+
* control reply carries none (a PATCH of `isAlwaysOn` alone). Exported for tests.
|
|
312
|
+
*/
|
|
313
|
+
function agentRowFromUpdate(updated) {
|
|
314
|
+
if (!updated || typeof updated !== 'object' || Array.isArray(updated))
|
|
315
|
+
return null;
|
|
316
|
+
const reply = updated;
|
|
317
|
+
const isControlReply = typeof reply.agentId === 'string' && reply.state !== null && typeof reply.state === 'object';
|
|
318
|
+
if (!isControlReply)
|
|
319
|
+
return { ...reply };
|
|
320
|
+
const agent = reply.agent;
|
|
321
|
+
return agent && typeof agent === 'object' && !Array.isArray(agent)
|
|
322
|
+
? { ...agent, id: agent.id ?? reply.agentId }
|
|
323
|
+
: { id: reply.agentId };
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* One line for an `isAlwaysOn` write, from the receipt: applied, or already in
|
|
327
|
+
* that state so nothing changed (OSK-16477). Exported for tests.
|
|
328
|
+
*/
|
|
329
|
+
function alwaysOnReceiptLine(payload, updated) {
|
|
330
|
+
if (typeof payload.isAlwaysOn !== 'boolean')
|
|
331
|
+
return null;
|
|
332
|
+
const receipt = (0, data_provider_1.readAgentWriteReceipt)(updated);
|
|
333
|
+
if (!receipt)
|
|
334
|
+
return null;
|
|
335
|
+
const state = payload.isAlwaysOn ? 'on' : 'off';
|
|
336
|
+
if (receipt.unchanged.some((entry) => entry.field === 'isAlwaysOn')) {
|
|
337
|
+
return `Always-On: already ${state}; nothing changed.`;
|
|
338
|
+
}
|
|
339
|
+
if (receipt.applied.some((entry) => entry.field === 'isAlwaysOn')) {
|
|
340
|
+
return `Always-On: turned ${state}.`;
|
|
341
|
+
}
|
|
342
|
+
return null;
|
|
343
|
+
}
|
|
288
344
|
/**
|
|
289
345
|
* Warnings from the server's `writeReceipt` (OSK-15070). The receipt names
|
|
290
346
|
* every key the write saw as applied (and through which control: the legacy
|
|
@@ -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 managed_agent_keys_1 = require("../../lib/managed-agent-keys");
|
|
@@ -23,7 +24,7 @@ class ApiKeysList extends base_command_1.BaseCommand {
|
|
|
23
24
|
return;
|
|
24
25
|
}
|
|
25
26
|
if (flags.json) {
|
|
26
|
-
this.
|
|
27
|
+
this.printJsonResult((0, list_output_1.listResult)(keys));
|
|
27
28
|
return;
|
|
28
29
|
}
|
|
29
30
|
if (keys.length === 0) {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AppsCommand } from '../../lib/apps-command';
|
|
2
|
+
/**
|
|
3
|
+
* Which update channel an installation follows. The Store's channel (`store channel`), for an installed App:
|
|
4
|
+
* `manual` waits for you, `auto_minor` lets the platform move it to a later public version of the same
|
|
5
|
+
* interface major, and `beta` also lets it take versions their publisher released as beta (the channel is the
|
|
6
|
+
* opt-in). A move never widens what you approved: a version that asks for more waits for `apps reconsent`.
|
|
7
|
+
*/
|
|
8
|
+
export default class AppsChannel extends AppsCommand {
|
|
9
|
+
static description: string;
|
|
10
|
+
static examples: string[];
|
|
11
|
+
static args: {
|
|
12
|
+
installation: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
13
|
+
channel: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
14
|
+
};
|
|
15
|
+
static flags: {
|
|
16
|
+
expected: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
17
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const data_provider_1 = require("@skrr-ai/data-provider");
|
|
5
|
+
const apps_command_1 = require("../../lib/apps-command");
|
|
6
|
+
/**
|
|
7
|
+
* Which update channel an installation follows. The Store's channel (`store channel`), for an installed App:
|
|
8
|
+
* `manual` waits for you, `auto_minor` lets the platform move it to a later public version of the same
|
|
9
|
+
* interface major, and `beta` also lets it take versions their publisher released as beta (the channel is the
|
|
10
|
+
* opt-in). A move never widens what you approved: a version that asks for more waits for `apps reconsent`.
|
|
11
|
+
*/
|
|
12
|
+
class AppsChannel extends apps_command_1.AppsCommand {
|
|
13
|
+
static description = 'Choose how an installation is updated: manual (you move it), auto_minor (the platform moves it to a later public version of the same major) or beta (also versions released as beta). A version that asks for more than you approved still waits for your approval.';
|
|
14
|
+
static examples = [
|
|
15
|
+
'<%= config.bin %> apps channel appi_abc auto_minor',
|
|
16
|
+
'<%= config.bin %> apps channel appi_abc beta',
|
|
17
|
+
'<%= config.bin %> apps channel appi_abc manual',
|
|
18
|
+
];
|
|
19
|
+
static args = {
|
|
20
|
+
installation: core_1.Args.string({
|
|
21
|
+
description: 'The installation id (appi_...)',
|
|
22
|
+
required: true,
|
|
23
|
+
ignoreStdin: true,
|
|
24
|
+
}),
|
|
25
|
+
channel: core_1.Args.string({
|
|
26
|
+
description: `One of ${data_provider_1.STORE_UPDATE_CHANNELS.join(', ')}`,
|
|
27
|
+
required: true,
|
|
28
|
+
ignoreStdin: true,
|
|
29
|
+
options: [...data_provider_1.STORE_UPDATE_CHANNELS],
|
|
30
|
+
}),
|
|
31
|
+
};
|
|
32
|
+
static flags = {
|
|
33
|
+
expected: core_1.Flags.string({
|
|
34
|
+
description: 'Change it only if it still follows this channel; otherwise nothing changes',
|
|
35
|
+
options: [...data_provider_1.STORE_UPDATE_CHANNELS],
|
|
36
|
+
}),
|
|
37
|
+
json: core_1.Flags.boolean({ description: 'Output the result as JSON' }),
|
|
38
|
+
};
|
|
39
|
+
async run() {
|
|
40
|
+
this.requireAuth();
|
|
41
|
+
const { args, flags } = await this.parse(AppsChannel);
|
|
42
|
+
try {
|
|
43
|
+
const result = await data_provider_1.dataService.setAppInstallationUpdatePolicy(args.installation, {
|
|
44
|
+
channel: args.channel,
|
|
45
|
+
...(flags.expected === undefined ? {} : { expectedChannel: flags.expected }),
|
|
46
|
+
});
|
|
47
|
+
if (flags.json) {
|
|
48
|
+
this.printJsonResult(result);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
this.log(result.unchanged
|
|
52
|
+
? `${result.installationId} already follows the ${result.updatePolicy} channel.`
|
|
53
|
+
: `${result.installationId} now follows the ${result.updatePolicy} channel.`);
|
|
54
|
+
if (result.updatePolicy === 'beta') {
|
|
55
|
+
this.log('Versions their publisher released as beta can now reach this installation. A version that asks for more than you approved waits for your approval (`' +
|
|
56
|
+
`${this.config.bin} apps reconsent\`).`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
this.failInstallation(error);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.default = AppsChannel;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AppsCommand } from '../../lib/apps-command';
|
|
2
|
+
export default class AppsCheckDraft extends AppsCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
app: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|