@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
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { AppsCommand } from '../../lib/apps-command';
|
|
2
|
+
/**
|
|
3
|
+
* Report the app an installation runs. The Store's report, for an installed App: the same reasons, the same
|
|
4
|
+
* queue, and the same limits (a report on a version once, a `security` one while none is open). A report
|
|
5
|
+
* REMOVES nothing, pauses nothing and tells nobody: it is a row that a moderator reads.
|
|
6
|
+
*/
|
|
7
|
+
export default class AppsReport extends AppsCommand {
|
|
8
|
+
static description: string;
|
|
9
|
+
static examples: string[];
|
|
10
|
+
static args: {
|
|
11
|
+
installation: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
12
|
+
};
|
|
13
|
+
static flags: {
|
|
14
|
+
reason: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
description: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
16
|
+
version: 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,63 @@
|
|
|
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
|
+
* Report the app an installation runs. The Store's report, for an installed App: the same reasons, the same
|
|
8
|
+
* queue, and the same limits (a report on a version once, a `security` one while none is open). A report
|
|
9
|
+
* REMOVES nothing, pauses nothing and tells nobody: it is a row that a moderator reads.
|
|
10
|
+
*/
|
|
11
|
+
class AppsReport extends apps_command_1.AppsCommand {
|
|
12
|
+
static description = 'Report the app an installation runs (use --reason security to report a vulnerability). A report is read by the people who moderate the Store; it does not pause, remove or tell anyone by itself.';
|
|
13
|
+
static examples = [
|
|
14
|
+
'<%= config.bin %> apps report appi_abc --reason broken --description "Shows a blank window"',
|
|
15
|
+
'<%= config.bin %> apps report appi_abc --reason security --description "Sends my notes to a host it never declared"',
|
|
16
|
+
];
|
|
17
|
+
static args = {
|
|
18
|
+
installation: core_1.Args.string({
|
|
19
|
+
description: 'The installation id (appi_...) of the app you are reporting',
|
|
20
|
+
required: true,
|
|
21
|
+
ignoreStdin: true,
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
static flags = {
|
|
25
|
+
reason: core_1.Flags.string({
|
|
26
|
+
description: 'Why you are reporting it',
|
|
27
|
+
required: true,
|
|
28
|
+
options: data_provider_1.STORE_REPORT_REASONS.map((entry) => entry.value),
|
|
29
|
+
}),
|
|
30
|
+
description: core_1.Flags.string({ description: 'What happened (required for security reports)' }),
|
|
31
|
+
version: core_1.Flags.string({
|
|
32
|
+
description: 'The version the report is about (appv_...); it must be the one the installation runs',
|
|
33
|
+
}),
|
|
34
|
+
json: core_1.Flags.boolean({ description: 'Output the report as JSON' }),
|
|
35
|
+
};
|
|
36
|
+
async run() {
|
|
37
|
+
this.requireAuth();
|
|
38
|
+
const { args, flags } = await this.parse(AppsReport);
|
|
39
|
+
const reason = flags.reason;
|
|
40
|
+
if (reason === data_provider_1.STORE_SECURITY_REPORT_REASON && !flags.description?.trim()) {
|
|
41
|
+
this.error('A security report needs --description, so that whoever reads it can reproduce the problem.', { exit: 1 });
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const result = await data_provider_1.dataService.reportAppInstallation(args.installation, {
|
|
45
|
+
reason,
|
|
46
|
+
...(flags.description === undefined ? {} : { description: flags.description }),
|
|
47
|
+
...(flags.version === undefined ? {} : { versionId: flags.version }),
|
|
48
|
+
});
|
|
49
|
+
if (flags.json) {
|
|
50
|
+
this.printJsonResult(result);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.log(result.private
|
|
54
|
+
? `Security report ${result.reportId} sent privately about ${result.appId} (${result.versionLabel || result.versionId}).`
|
|
55
|
+
: `Report ${result.reportId} submitted about ${result.appId} (${result.versionLabel || result.versionId}).`);
|
|
56
|
+
this.log(`Follow it with: ${this.config.bin} store reports --agent ${result.appId}`);
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
this.failReport(error);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.default = AppsReport;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AppsCommand } from '../../lib/apps-command';
|
|
2
|
+
export default class AppsResume extends AppsCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
installation: 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
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
const appInstallations_1 = require("../../lib/appInstallations");
|
|
7
|
+
class AppsResume extends apps_command_1.AppsCommand {
|
|
8
|
+
static description = 'Lift a pause. What it is afterwards is what its approval says about the version it runs: ready, or still needing your approval again if the version moved while it was paused.';
|
|
9
|
+
static examples = ['<%= config.bin %> apps resume appi_abc'];
|
|
10
|
+
static args = {
|
|
11
|
+
installation: core_1.Args.string({
|
|
12
|
+
description: 'The installation id (appi_...)',
|
|
13
|
+
required: true,
|
|
14
|
+
ignoreStdin: true,
|
|
15
|
+
}),
|
|
16
|
+
};
|
|
17
|
+
static flags = {
|
|
18
|
+
json: core_1.Flags.boolean({ description: 'Output the installation as JSON' }),
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
this.requireAuth();
|
|
22
|
+
const { args, flags } = await this.parse(AppsResume);
|
|
23
|
+
try {
|
|
24
|
+
const result = await data_provider_1.dataService.resumeAppInstallation(args.installation);
|
|
25
|
+
if (flags.json) {
|
|
26
|
+
this.printJsonResult(result);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
this.log(`${result.installation.id} is ${(0, appInstallations_1.describeAvailability)(result.installation.availability)}`);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
this.failInstallation(error);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.default = AppsResume;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AppsCommand } from '../../../lib/apps-command';
|
|
2
|
+
export default class AppsSettingsSet extends AppsCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
installation: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
file: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
yes: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
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
|
+
const appSettings_1 = require("../../../lib/appSettings");
|
|
7
|
+
class AppsSettingsSet extends apps_command_1.AppsCommand {
|
|
8
|
+
static description = 'Replace installation settings from a JSON file. Without --yes, show resulting schedules and change nothing. Every write requires explicit human consent to the bundle and exact settings, and names the current version/settings/consent so concurrent edits are refused. Existing suspended or manually edited jobs keep their state.';
|
|
9
|
+
static args = { installation: core_1.Args.string({ required: true, ignoreStdin: true }) };
|
|
10
|
+
static flags = {
|
|
11
|
+
json: core_1.Flags.boolean(),
|
|
12
|
+
file: core_1.Flags.string({
|
|
13
|
+
required: true,
|
|
14
|
+
description: 'JSON settings record; omitted keys use manifest defaults. Never include secrets',
|
|
15
|
+
}),
|
|
16
|
+
yes: core_1.Flags.boolean({
|
|
17
|
+
description: 'Explicitly approve these settings and resulting schedules under your installer authority',
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
this.requireAuth();
|
|
22
|
+
const { args, flags } = await this.parse(AppsSettingsSet);
|
|
23
|
+
try {
|
|
24
|
+
const current = await data_provider_1.dataService.getAppInstallationSettings(args.installation);
|
|
25
|
+
const settings = (0, appSettings_1.readAppSettingsFile)(flags.file, current.configuration);
|
|
26
|
+
const lines = (0, appSettings_1.formatAppSettings)(current.configuration, settings, current.timezone);
|
|
27
|
+
if (!flags.yes)
|
|
28
|
+
return this.failWithCliError({
|
|
29
|
+
message: `${lines.join('\n')}\nNothing changed. Run again with --yes to approve exactly these settings.`,
|
|
30
|
+
code: 'APP_CONSENT_REQUIRED',
|
|
31
|
+
exit: 2,
|
|
32
|
+
retryable: false,
|
|
33
|
+
details: { settings, current },
|
|
34
|
+
});
|
|
35
|
+
if (!flags.json)
|
|
36
|
+
for (const line of lines)
|
|
37
|
+
this.logToStderr(line);
|
|
38
|
+
const result = await data_provider_1.dataService.putAppInstallationSettings(args.installation, {
|
|
39
|
+
settings,
|
|
40
|
+
expectedSettings: current.settings,
|
|
41
|
+
expectedVersionId: current.expectedVersionId,
|
|
42
|
+
expectedGrantedAt: current.expectedGrantedAt,
|
|
43
|
+
consent: { versionId: current.expectedVersionId, bundleHash: current.bundleHash, settings },
|
|
44
|
+
});
|
|
45
|
+
if (flags.json)
|
|
46
|
+
return this.printJsonResult(result);
|
|
47
|
+
this.log(`Saved settings for ${args.installation}. Schedule reconciliation was requested; use apps installations show to inspect job state.`);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
this.failInstallation(error);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.default = AppsSettingsSet;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AppsCommand } from '../../../lib/apps-command';
|
|
2
|
+
export default class AppsSettingsShow extends AppsCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static args: {
|
|
5
|
+
installation: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
static flags: {
|
|
8
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
|
+
};
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
class AppsSettingsShow extends apps_command_1.AppsCommand {
|
|
7
|
+
static description = 'Show installation settings, declared fields and the resulting job schedules. Includes the exact version, settings and consent timestamp required for a safe update.';
|
|
8
|
+
static args = { installation: core_1.Args.string({ required: true, ignoreStdin: true }) };
|
|
9
|
+
static flags = {
|
|
10
|
+
json: core_1.Flags.boolean({ description: 'Output settings and update preconditions as JSON' }),
|
|
11
|
+
};
|
|
12
|
+
async run() {
|
|
13
|
+
this.requireAuth();
|
|
14
|
+
const { args, flags } = await this.parse(AppsSettingsShow);
|
|
15
|
+
try {
|
|
16
|
+
const current = await data_provider_1.dataService.getAppInstallationSettings(args.installation);
|
|
17
|
+
if (flags.json)
|
|
18
|
+
return this.printJsonResult(current);
|
|
19
|
+
this.log(JSON.stringify(current.settings, null, 2));
|
|
20
|
+
this.log(`Version ${current.expectedVersionId}; consent ${current.expectedGrantedAt}; timezone ${current.timezone}`);
|
|
21
|
+
for (const job of (0, data_provider_1.appSettingsSchedulePreview)(current.configuration, current.settings))
|
|
22
|
+
this.log(`${(0, data_provider_1.plainAppLabel)(job.title)}: ${job.problem ?? job.schedule}`);
|
|
23
|
+
if (!current.canEdit)
|
|
24
|
+
this.log('Settings cannot be changed with this grant. The installer must approve the current version first.');
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
this.failInstallation(error);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.default = AppsSettingsShow;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AppsCommand } from '../../lib/apps-command';
|
|
2
|
+
export default class AppsShow 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
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
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
|
+
class AppsShow extends apps_command_1.AppsCommand {
|
|
7
|
+
static description = 'Show an app: its draft (revision, size) and its versions.';
|
|
8
|
+
static examples = ['<%= config.bin %> apps show habit-tracker'];
|
|
9
|
+
static args = {
|
|
10
|
+
app: core_1.Args.string({
|
|
11
|
+
description: 'The app id (app_...) or its slug',
|
|
12
|
+
required: true,
|
|
13
|
+
ignoreStdin: true,
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
static flags = {
|
|
17
|
+
json: core_1.Flags.boolean({
|
|
18
|
+
description: 'Output the app, its draft summary and its versions as JSON',
|
|
19
|
+
}),
|
|
20
|
+
};
|
|
21
|
+
async run() {
|
|
22
|
+
this.requireAuth();
|
|
23
|
+
const { args, flags } = await this.parse(AppsShow);
|
|
24
|
+
const appId = await this.appId(args.app);
|
|
25
|
+
try {
|
|
26
|
+
const result = await data_provider_1.dataService.getMyApp(appId);
|
|
27
|
+
if (flags.json) {
|
|
28
|
+
this.printJsonResult(result);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this.log(`${result.app.id} ${result.app.slug}`);
|
|
32
|
+
if (result.draft) {
|
|
33
|
+
this.log(`draft: rev ${result.draft.rev}, ${result.draft.files.count}/${result.draft.files.maxFiles} files, ${result.draft.files.chars}/${result.draft.files.maxChars} characters`);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.log('draft: none');
|
|
37
|
+
}
|
|
38
|
+
if (result.versions.length === 0)
|
|
39
|
+
this.log('versions: none');
|
|
40
|
+
for (const version of result.versions) {
|
|
41
|
+
this.log(`v${version.version} ${version.id} ${version.bundleHash.slice(0, 12)} ${version.distribution.visibility}/${version.distribution.status}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
this.failApps(error);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.default = AppsShow;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AppsCommand } from '../../lib/apps-command';
|
|
2
|
+
export default class AppsSuspend extends AppsCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
installation: 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
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
class AppsSuspend extends apps_command_1.AppsCommand {
|
|
7
|
+
static description = 'Pause an installation: nothing it declares works (its window shows it is paused, its jobs do not fire) until you resume it. Nothing is deleted.';
|
|
8
|
+
static examples = ['<%= config.bin %> apps suspend appi_abc'];
|
|
9
|
+
static args = {
|
|
10
|
+
installation: core_1.Args.string({
|
|
11
|
+
description: 'The installation id (appi_...)',
|
|
12
|
+
required: true,
|
|
13
|
+
ignoreStdin: true,
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
static flags = {
|
|
17
|
+
json: core_1.Flags.boolean({ description: 'Output the installation as JSON' }),
|
|
18
|
+
};
|
|
19
|
+
async run() {
|
|
20
|
+
this.requireAuth();
|
|
21
|
+
const { args, flags } = await this.parse(AppsSuspend);
|
|
22
|
+
try {
|
|
23
|
+
const result = await data_provider_1.dataService.suspendAppInstallation(args.installation);
|
|
24
|
+
if (flags.json) {
|
|
25
|
+
this.printJsonResult(result);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
this.log(`${result.installation.id} is paused`);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
this.failInstallation(error);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.default = AppsSuspend;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AppsCommand } from '../../lib/apps-command';
|
|
2
|
+
export default class AppsUninstall extends AppsCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
installation: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
'delete-data': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
class AppsUninstall extends apps_command_1.AppsCommand {
|
|
7
|
+
static description = "Remove an installation. An app that holds data cannot be removed without saying the data may go (--delete-data): deleting data is a person's to confirm, and nothing is removed until you do.";
|
|
8
|
+
static examples = [
|
|
9
|
+
'<%= config.bin %> apps uninstall appi_abc',
|
|
10
|
+
'<%= config.bin %> apps uninstall appi_abc --delete-data',
|
|
11
|
+
];
|
|
12
|
+
static args = {
|
|
13
|
+
installation: core_1.Args.string({
|
|
14
|
+
description: 'The installation id (appi_...)',
|
|
15
|
+
required: true,
|
|
16
|
+
ignoreStdin: true,
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
static flags = {
|
|
20
|
+
json: core_1.Flags.boolean({ description: 'Output { deleted, deletedDocs } as JSON' }),
|
|
21
|
+
'delete-data': core_1.Flags.boolean({
|
|
22
|
+
description: 'Say that the data this app holds may be deleted with it',
|
|
23
|
+
}),
|
|
24
|
+
};
|
|
25
|
+
async run() {
|
|
26
|
+
this.requireAuth();
|
|
27
|
+
const { args, flags } = await this.parse(AppsUninstall);
|
|
28
|
+
try {
|
|
29
|
+
const result = await data_provider_1.dataService.uninstallAppInstallation(args.installation, {
|
|
30
|
+
confirmDataDeletion: flags['delete-data'] === true,
|
|
31
|
+
});
|
|
32
|
+
if (flags.json) {
|
|
33
|
+
this.printJsonResult(result);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
this.log(`removed ${args.installation}${result.deletedDocs > 0 ? `; ${result.deletedDocs} document${result.deletedDocs === 1 ? '' : 's'} of its data deleted` : ''}`);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
this.failInstallation(error);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.default = AppsUninstall;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AppsCommand } from '../../lib/apps-command';
|
|
2
|
+
export default class AppsUpgrade extends AppsCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
installation: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
version: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
'expected-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
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
|
+
const appInstallations_1 = require("../../lib/appInstallations");
|
|
7
|
+
class AppsUpgrade extends apps_command_1.AppsCommand {
|
|
8
|
+
static description = 'Move an installation to another version of its app (a newer one, or an older one to roll back). It never widens what was approved: a version that asks for more lands as needing your approval again, and does not run until you give it (`apps reconsent`).';
|
|
9
|
+
static examples = [
|
|
10
|
+
'<%= config.bin %> apps upgrade appi_abc --version appv_xyz',
|
|
11
|
+
'<%= config.bin %> apps upgrade appi_abc --version appv_xyz --expected-version appv_old',
|
|
12
|
+
];
|
|
13
|
+
static args = {
|
|
14
|
+
installation: core_1.Args.string({
|
|
15
|
+
description: 'The installation id (appi_...)',
|
|
16
|
+
required: true,
|
|
17
|
+
ignoreStdin: true,
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
static flags = {
|
|
21
|
+
json: core_1.Flags.boolean({ description: 'Output the installation as JSON' }),
|
|
22
|
+
version: core_1.Flags.string({ description: 'The version to move to (appv_...)', required: true }),
|
|
23
|
+
'expected-version': core_1.Flags.string({
|
|
24
|
+
description: 'Move only if it still runs this version (appv_...); otherwise nothing changes',
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
async run() {
|
|
28
|
+
this.requireAuth();
|
|
29
|
+
const { args, flags } = await this.parse(AppsUpgrade);
|
|
30
|
+
try {
|
|
31
|
+
const result = await data_provider_1.dataService.activateAppInstallationVersion(args.installation, {
|
|
32
|
+
versionId: flags.version,
|
|
33
|
+
...(flags['expected-version'] ? { expectedVersionId: flags['expected-version'] } : {}),
|
|
34
|
+
});
|
|
35
|
+
if (flags.json) {
|
|
36
|
+
this.printJsonResult(result);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
this.log(`${result.installation.id} runs v${result.version.version} (${result.version.id}); it ${(0, appInstallations_1.describeAvailability)(result.installation.availability)}`);
|
|
40
|
+
if (result.installation.availability === 'needs_reconsent') {
|
|
41
|
+
this.log(`This version needs your approval. Review it with \`${this.config.bin} apps disclosure ${result.version.id} --installation ${result.installation.id}\`, then \`${this.config.bin} apps reconsent ${result.installation.id} --yes\`.`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
this.failInstallation(error);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.default = AppsUpgrade;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AppsCommand } from '../../../lib/apps-command';
|
|
2
|
+
export default class AppsVersionCreate 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
|
+
changelog: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
'expected-rev': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
};
|
|
13
|
+
run(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
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
|
+
const appsCheck_1 = require("../../../lib/appsCheck");
|
|
7
|
+
class AppsVersionCreate extends apps_command_1.AppsCommand {
|
|
8
|
+
static description = 'Cut an immutable version from the draft as it is now. Refused (with the check) if the draft has errors that are not guesses. A version is private and a draft: it is not published.';
|
|
9
|
+
static examples = [
|
|
10
|
+
'<%= config.bin %> apps version create habit-tracker --changelog "habits persist" --expected-rev 8',
|
|
11
|
+
];
|
|
12
|
+
static args = {
|
|
13
|
+
app: core_1.Args.string({
|
|
14
|
+
description: 'The app id (app_...) or its slug',
|
|
15
|
+
required: true,
|
|
16
|
+
ignoreStdin: true,
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
static flags = {
|
|
20
|
+
json: core_1.Flags.boolean({ description: 'Output { version, check, draftRev } as JSON' }),
|
|
21
|
+
changelog: core_1.Flags.string({ description: 'What changed' }),
|
|
22
|
+
'expected-rev': core_1.Flags.integer({
|
|
23
|
+
description: 'Cut only if the draft is still at this revision',
|
|
24
|
+
min: 0,
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
async run() {
|
|
28
|
+
this.requireAuth();
|
|
29
|
+
const { args, flags } = await this.parse(AppsVersionCreate);
|
|
30
|
+
const appId = await this.appId(args.app);
|
|
31
|
+
try {
|
|
32
|
+
const result = await data_provider_1.dataService.createAppVersion({
|
|
33
|
+
appId,
|
|
34
|
+
...(flags.changelog === undefined ? {} : { changelog: flags.changelog }),
|
|
35
|
+
...(flags['expected-rev'] === undefined ? {} : { expectedRev: flags['expected-rev'] }),
|
|
36
|
+
});
|
|
37
|
+
if (flags.json) {
|
|
38
|
+
this.printJsonResult(result);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.log(`version ${result.version.version} ${result.version.id}`);
|
|
42
|
+
this.log(`bundle ${result.version.bundleHash}`);
|
|
43
|
+
this.log(`cut from draft rev ${result.draftRev}; ${result.version.distribution.visibility}/${result.version.distribution.status}`);
|
|
44
|
+
if (result.check.issues.length > 0)
|
|
45
|
+
for (const line of (0, appsCheck_1.formatAppCheckReport)(result.check))
|
|
46
|
+
this.log(line);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
this.failApps(error);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.default = AppsVersionCreate;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AppsCommand } from '../../../lib/apps-command';
|
|
2
|
+
export default class AppsVersionShow extends AppsCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
version: 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
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
class AppsVersionShow extends apps_command_1.AppsCommand {
|
|
7
|
+
static description = 'Show one version: its bundle hash, its files, what it declares and where it stands.';
|
|
8
|
+
static examples = ['<%= config.bin %> apps version show appv_...'];
|
|
9
|
+
static args = {
|
|
10
|
+
version: core_1.Args.string({
|
|
11
|
+
description: 'The version id (appv_...)',
|
|
12
|
+
required: true,
|
|
13
|
+
ignoreStdin: true,
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
static flags = {
|
|
17
|
+
json: core_1.Flags.boolean({ description: 'Output the version, with its manifest, as JSON' }),
|
|
18
|
+
};
|
|
19
|
+
async run() {
|
|
20
|
+
this.requireAuth();
|
|
21
|
+
const { args, flags } = await this.parse(AppsVersionShow);
|
|
22
|
+
try {
|
|
23
|
+
const result = await data_provider_1.dataService.getAppVersion(args.version);
|
|
24
|
+
const { version } = result;
|
|
25
|
+
if (flags.json) {
|
|
26
|
+
this.printJsonResult(result);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
this.log(`v${version.version} ${version.id} (${version.distribution.visibility}/${version.distribution.status})`);
|
|
30
|
+
this.log(`bundle ${version.bundleHash}`);
|
|
31
|
+
for (const file of version.files)
|
|
32
|
+
this.log(`${file.path} ${file.size} bytes ${file.sha256.slice(0, 12)}`);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
this.failApps(error);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.default = AppsVersionShow;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AppsCommand } from '../../lib/apps-command';
|
|
2
|
+
export default class AppsVersions 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
|
+
}
|