@skrr-ai/cli 0.1.110 → 0.1.113
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 +31 -3
- package/dist/base-command.js +136 -22
- 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/create.d.ts +3 -1
- package/dist/commands/agents/create.js +36 -3
- 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/list.js +2 -1
- 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/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 +37 -0
- package/dist/commands/followups/plans/example.d.ts +6 -0
- package/dist/commands/followups/plans/example.js +12 -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 +14 -0
- package/dist/commands/followups/plans/revise.js +38 -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/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/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/triggers/list.js +2 -1
- 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 +3 -7
- 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 +97 -4
- 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/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.js +17 -11
- 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/update.d.ts +1 -0
- package/dist/commands/tasks/update.js +25 -2
- 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/list.js +2 -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/list.js +3 -2
- package/dist/commands/workspaces/members.d.ts +1 -0
- package/dist/commands/workspaces/members.js +5 -2
- 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/commitments.d.ts +44 -3
- package/dist/lib/commitments.js +107 -9
- package/dist/lib/compasses.d.ts +4 -0
- package/dist/lib/compasses.js +11 -0
- package/dist/lib/daemon-setup.js +7 -7
- package/dist/lib/daemonHandoff.js +3 -2
- package/dist/lib/dedicated-ssh.d.ts +2 -0
- package/dist/lib/dedicated-ssh.js +98 -28
- 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 +36 -9
- package/dist/lib/lookbackPlanHelp.d.ts +19 -0
- package/dist/lib/lookbackPlanHelp.js +27 -0
- package/dist/lib/lookbackPlans.d.ts +22 -0
- package/dist/lib/lookbackPlans.js +88 -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/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-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 +7 -0
- package/dist/lib/triggers.js +54 -4
- 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/workspaces.d.ts +11 -4
- package/dist/lib/workspaces.js +7 -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/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/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 +30 -0
- package/dist/node_modules/@skrr-ai/data-provider/index.js +25245 -18730
- package/docs/v1/README.md +1 -0
- package/docs/v1/lookback-plans.md +88 -0
- package/docs/v1/operations.md +52 -0
- package/docs/v1/space-search.md +19 -0
- package/oclif.manifest.json +4792 -477
- package/package.json +27 -3
|
@@ -5,6 +5,7 @@ exports.agentCreateMissingFieldsMessage = agentCreateMissingFieldsMessage;
|
|
|
5
5
|
exports.agentCreateMissingFields = agentCreateMissingFields;
|
|
6
6
|
exports.unappliedPayloadKeys = unappliedPayloadKeys;
|
|
7
7
|
exports.unappliedPayloadKeysWarning = unappliedPayloadKeysWarning;
|
|
8
|
+
exports.initialAutonomyReceipt = initialAutonomyReceipt;
|
|
8
9
|
exports.backgroundLoopLines = backgroundLoopLines;
|
|
9
10
|
const core_1 = require("@oclif/core");
|
|
10
11
|
const data_provider_1 = require("@skrr-ai/data-provider");
|
|
@@ -121,7 +122,25 @@ function unappliedPayloadKeysWarning(keys) {
|
|
|
121
122
|
return (`The server did not keep ${keys.join(', ')}: ${one ? 'it is not an agent field' : 'they are not agent fields'}, ` +
|
|
122
123
|
`or only the server sets ${one ? 'it' : 'them'}. \`skrr agents show <id> --json\` shows what the agent stores.`);
|
|
123
124
|
}
|
|
124
|
-
function
|
|
125
|
+
function initialAutonomyReceipt(created, requested) {
|
|
126
|
+
if (requested !== false)
|
|
127
|
+
return true;
|
|
128
|
+
const provisioning = created && typeof created === 'object'
|
|
129
|
+
? created.proactiveProvisioning : null;
|
|
130
|
+
return provisioning && typeof provisioning === 'object' &&
|
|
131
|
+
provisioning.initialAlwaysOn === false ? false : 'unconfirmed';
|
|
132
|
+
}
|
|
133
|
+
function backgroundLoopLines(agentId, relationshipLoopsSkipped, initialAlwaysOn = true) {
|
|
134
|
+
if (initialAlwaysOn === 'unconfirmed')
|
|
135
|
+
return [
|
|
136
|
+
'Passive creation was requested, but the server did not acknowledge it. Autonomous state is unconfirmed.',
|
|
137
|
+
` skrr agents show ${agentId} --json # inspect actual runtime state`,
|
|
138
|
+
];
|
|
139
|
+
if (!initialAlwaysOn)
|
|
140
|
+
return [
|
|
141
|
+
'Passive creation acknowledged. Legacy task/memory scans were omitted. Explicit chats still run; Always-On can enable the seeded managed portfolio later.',
|
|
142
|
+
` skrr agents always-on enable ${agentId} # start autonomous work later`,
|
|
143
|
+
];
|
|
125
144
|
if (relationshipLoopsSkipped) {
|
|
126
145
|
return [
|
|
127
146
|
'Background loops: relationship portfolio skipped (--no-relationship-loops). ' +
|
|
@@ -156,6 +175,7 @@ exports.FROM_SPEC_COMPATIBLE_FLAGS = Object.freeze([
|
|
|
156
175
|
'working-directory',
|
|
157
176
|
'default-permission-mode',
|
|
158
177
|
'no-relationship-loops',
|
|
178
|
+
'initial-always-on',
|
|
159
179
|
]);
|
|
160
180
|
class AgentsCreate extends base_command_1.BaseCommand {
|
|
161
181
|
static description = 'Create a new agent in the selected workspace, or in your default workspace when --workspace is omitted (`skrr workspaces list` names it)';
|
|
@@ -224,6 +244,10 @@ class AgentsCreate extends base_command_1.BaseCommand {
|
|
|
224
244
|
'working-directory': core_1.Flags.string({
|
|
225
245
|
description: 'Default working directory for local Harness sessions',
|
|
226
246
|
}),
|
|
247
|
+
'initial-always-on': core_1.Flags.string({
|
|
248
|
+
description: 'Start autonomous work after creation (default: on). Use off for a passive agent; explicit chat still works. Relationship-loop seeding is configured separately.',
|
|
249
|
+
options: ['on', 'off'],
|
|
250
|
+
}),
|
|
227
251
|
'no-relationship-loops': core_1.Flags.boolean({
|
|
228
252
|
description: 'Single-purpose agent: skip the system-managed relationship portfolio (conversation continuity, relationship pulse, commitment incubator, open-loop closer). Self-reflection is still seeded.',
|
|
229
253
|
}),
|
|
@@ -361,6 +385,7 @@ class AgentsCreate extends base_command_1.BaseCommand {
|
|
|
361
385
|
// so an ordinary create carries no `relationshipLoops` key and the
|
|
362
386
|
// server seeds the full portfolio exactly as it always has.
|
|
363
387
|
relationshipLoops: flags['no-relationship-loops'] ? false : undefined,
|
|
388
|
+
initialAlwaysOn: flags['initial-always-on'] === undefined ? undefined : flags['initial-always-on'] === 'on',
|
|
364
389
|
});
|
|
365
390
|
// `mergeAgentConfigFlags` parses the typed flags (avatar, scene background,
|
|
366
391
|
// working hours, every JSON flag). A parse failure is the caller's input, so
|
|
@@ -412,6 +437,7 @@ class AgentsCreate extends base_command_1.BaseCommand {
|
|
|
412
437
|
// definition-field round-trip warning.
|
|
413
438
|
const unapplied = unappliedPayloadKeys(payload, created, [
|
|
414
439
|
'relationshipLoops',
|
|
440
|
+
'initialAlwaysOn',
|
|
415
441
|
...(0, agent_config_1.deprecatedFieldNames)(created),
|
|
416
442
|
]);
|
|
417
443
|
for (const warning of (0, agent_config_1.deprecatedFieldsWarnings)(created))
|
|
@@ -426,6 +452,9 @@ class AgentsCreate extends base_command_1.BaseCommand {
|
|
|
426
452
|
bin: this.config.bin,
|
|
427
453
|
warn: (message) => this.warn(message),
|
|
428
454
|
});
|
|
455
|
+
if (initialAutonomyReceipt(created, payload.initialAlwaysOn) === 'unconfirmed') {
|
|
456
|
+
this.warn('Passive creation was requested but not acknowledged by the server. Autonomous state is unconfirmed; inspect agents show before relying on it.');
|
|
457
|
+
}
|
|
429
458
|
if (flags.json) {
|
|
430
459
|
this.log(JSON.stringify((0, web_url_1.withAgentUrl)(this.cliConfig.baseURL, created), null, 2));
|
|
431
460
|
return;
|
|
@@ -447,7 +476,7 @@ class AgentsCreate extends base_command_1.BaseCommand {
|
|
|
447
476
|
this.log(`Avatar: ${(0, agent_visual_refs_1.agentAvatarLine)(a.avatar)}`);
|
|
448
477
|
this.log(' Decided by your default-avatar policy — `skrr agents avatar default` shows or changes it.');
|
|
449
478
|
}
|
|
450
|
-
for (const line of backgroundLoopLines(agentId, flags['no-relationship-loops'] === true)) {
|
|
479
|
+
for (const line of backgroundLoopLines(agentId, flags['no-relationship-loops'] === true, initialAutonomyReceipt(created, payload.initialAlwaysOn))) {
|
|
451
480
|
this.log(line);
|
|
452
481
|
}
|
|
453
482
|
this.log(`URL: ${(0, web_url_1.withAgentUrl)(this.cliConfig.baseURL, a).url ?? '-'}`);
|
|
@@ -568,6 +597,7 @@ class AgentsCreate extends base_command_1.BaseCommand {
|
|
|
568
597
|
workingDirectory: flags['working-directory'],
|
|
569
598
|
defaultPermissionMode: flags['default-permission-mode'],
|
|
570
599
|
relationshipLoops: flags['no-relationship-loops'] ? false : undefined,
|
|
600
|
+
initialAlwaysOn: flags['initial-always-on'] === undefined ? undefined : flags['initial-always-on'] === 'on',
|
|
571
601
|
});
|
|
572
602
|
let created;
|
|
573
603
|
try {
|
|
@@ -605,6 +635,9 @@ class AgentsCreate extends base_command_1.BaseCommand {
|
|
|
605
635
|
details: { agentId, rolledBack: !rollback.includes('NOT'), issues: refusal?.issues },
|
|
606
636
|
});
|
|
607
637
|
}
|
|
638
|
+
if (initialAutonomyReceipt(created, payload.initialAlwaysOn) === 'unconfirmed') {
|
|
639
|
+
this.warn('Passive creation was requested but not acknowledged by the server. Autonomous state is unconfirmed; inspect agents show before relying on it.');
|
|
640
|
+
}
|
|
608
641
|
if (flags.json) {
|
|
609
642
|
this.log(JSON.stringify({
|
|
610
643
|
agent: (0, web_url_1.withAgentUrl)(this.cliConfig.baseURL, created),
|
|
@@ -628,7 +661,7 @@ class AgentsCreate extends base_command_1.BaseCommand {
|
|
|
628
661
|
this.log(`Not taken from the file, because the server derives it from other fields: ${derived.join(', ')}.`);
|
|
629
662
|
}
|
|
630
663
|
this.log(`Keep the file in step: \`skrr agents push ${agentId} --file ${source === '-' ? '<file>' : source}\`.`);
|
|
631
|
-
for (const line of backgroundLoopLines(agentId, flags['no-relationship-loops'] === true)) {
|
|
664
|
+
for (const line of backgroundLoopLines(agentId, flags['no-relationship-loops'] === true, initialAutonomyReceipt(created, payload.initialAlwaysOn))) {
|
|
632
665
|
this.log(line);
|
|
633
666
|
}
|
|
634
667
|
this.log(`URL: ${(0, web_url_1.withAgentUrl)(this.cliConfig.baseURL, created).url ?? '-'}`);
|
|
@@ -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));
|
|
@@ -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));
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
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 AppsCheckDraft extends apps_command_1.AppsCommand {
|
|
8
|
+
static description = "Run the platform's check on an app's draft in the cloud: the same findings `apps check` gives a local directory, plus the rule that app.json's id is the app's slug.";
|
|
9
|
+
static examples = ['<%= config.bin %> apps check-draft habit-tracker'];
|
|
10
|
+
static args = {
|
|
11
|
+
app: core_1.Args.string({
|
|
12
|
+
description: 'The app id (app_...) or its slug',
|
|
13
|
+
required: true,
|
|
14
|
+
ignoreStdin: true,
|
|
15
|
+
}),
|
|
16
|
+
};
|
|
17
|
+
static flags = {
|
|
18
|
+
json: core_1.Flags.boolean({ description: 'Output { appId, rev, check } as JSON' }),
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
this.requireAuth();
|
|
22
|
+
const { args, flags } = await this.parse(AppsCheckDraft);
|
|
23
|
+
const appId = await this.appId(args.app);
|
|
24
|
+
try {
|
|
25
|
+
const result = await data_provider_1.dataService.checkAppDraft(appId);
|
|
26
|
+
if (flags.json) {
|
|
27
|
+
this.printJsonResult(result, { ok: result.check.ok });
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.log(`rev: ${result.rev}`);
|
|
31
|
+
this.log((0, appsCheck_1.formatAppCheckReport)(result.check).join('\n'));
|
|
32
|
+
}
|
|
33
|
+
if (!result.check.ok)
|
|
34
|
+
this.exit(1);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
this.failApps(error);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.default = AppsCheckDraft;
|