@skrr-ai/cli 0.1.110 → 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 +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/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 +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/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/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/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 +25239 -18730
- package/docs/v1/operations.md +52 -0
- package/docs/v1/space-search.md +19 -0
- package/oclif.manifest.json +4719 -479
- package/package.json +23 -2
|
@@ -62,6 +62,9 @@ class TasksAssign extends base_command_1.BaseCommand {
|
|
|
62
62
|
description: 'Agent to assign (repeatable); name or agent id',
|
|
63
63
|
multiple: true,
|
|
64
64
|
}),
|
|
65
|
+
unassigned: core_1.Flags.boolean({
|
|
66
|
+
description: 'Clear all Agent and Human assignees while retaining executor intent; does not start a Run.',
|
|
67
|
+
}),
|
|
65
68
|
replace: core_1.Flags.boolean({
|
|
66
69
|
description: 'Replace existing assignees of the same kind instead of adding',
|
|
67
70
|
}),
|
|
@@ -87,6 +90,21 @@ class TasksAssign extends base_command_1.BaseCommand {
|
|
|
87
90
|
async run() {
|
|
88
91
|
this.requireAuth();
|
|
89
92
|
const { args, flags } = await this.parse(TasksAssign);
|
|
93
|
+
this.setJsonOperation({ command: 'tasks:assign', mode: 'execute' });
|
|
94
|
+
if (flags.unassigned &&
|
|
95
|
+
(flags.replace ||
|
|
96
|
+
flags.remove ||
|
|
97
|
+
flags.list ||
|
|
98
|
+
flags.suggest ||
|
|
99
|
+
args.person ||
|
|
100
|
+
flags.person?.length ||
|
|
101
|
+
flags.agent?.length))
|
|
102
|
+
this.failWithCliError({
|
|
103
|
+
message: '--unassigned clears both assignee kinds and cannot be combined with named assignees, --replace, --remove, --list or --suggest.',
|
|
104
|
+
code: 'TASK_ASSIGNMENT_FLAG_CONFLICT',
|
|
105
|
+
exit: 2,
|
|
106
|
+
retryable: false,
|
|
107
|
+
});
|
|
90
108
|
if (flags.replace && flags.remove) {
|
|
91
109
|
this.failWithCliError({
|
|
92
110
|
message: '--replace and --remove are mutually exclusive.',
|
|
@@ -112,7 +130,11 @@ class TasksAssign extends base_command_1.BaseCommand {
|
|
|
112
130
|
const taskRef = await this.resolveEntityRef('task', taskIdentity.id);
|
|
113
131
|
const personQueries = [...(args.person ? [args.person] : []), ...(flags.person ?? [])];
|
|
114
132
|
const agentQueries = flags.agent ?? [];
|
|
115
|
-
if (!flags.
|
|
133
|
+
if (!flags.unassigned &&
|
|
134
|
+
!flags.list &&
|
|
135
|
+
!flags.suggest &&
|
|
136
|
+
personQueries.length === 0 &&
|
|
137
|
+
agentQueries.length === 0) {
|
|
116
138
|
// Positional order is `<task-id> <person>`. Inside a task runtime the
|
|
117
139
|
// task id is implicit, so a single positional (`skrr tasks assign frank`)
|
|
118
140
|
// is silently eaten as the TASK id and the user sees a confusing
|
|
@@ -174,6 +196,7 @@ class TasksAssign extends base_command_1.BaseCommand {
|
|
|
174
196
|
}
|
|
175
197
|
if (flags['execution-mode'])
|
|
176
198
|
payload.executionMode = flags['execution-mode'];
|
|
199
|
+
(0, tasks_1.applyExplicitTaskUnassignment)(payload, flags.unassigned === true);
|
|
177
200
|
const repairGuardFailure = (0, tasks_1.releasePinRepairGuard)(payload);
|
|
178
201
|
if (repairGuardFailure) {
|
|
179
202
|
this.failWithCliError({
|
|
@@ -194,17 +217,30 @@ class TasksAssign extends base_command_1.BaseCommand {
|
|
|
194
217
|
this.handleApiError(err);
|
|
195
218
|
}
|
|
196
219
|
if (flags.json) {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
220
|
+
const row = updated;
|
|
221
|
+
this.printJsonOperation({
|
|
222
|
+
...(0, web_url_1.withTaskUrl)(this.cliConfig.baseURL, row),
|
|
223
|
+
assignmentAction: flags.unassigned
|
|
224
|
+
? 'unassign_all'
|
|
225
|
+
: flags.remove
|
|
226
|
+
? 'remove'
|
|
227
|
+
: flags.replace
|
|
228
|
+
? 'replace'
|
|
229
|
+
: 'add',
|
|
202
230
|
resolved: [...people.resolved, ...agents.resolved],
|
|
203
|
-
|
|
231
|
+
assignmentPreview: (0, tasks_1.taskAssignmentPreview)(row),
|
|
232
|
+
}, {
|
|
233
|
+
resource: row.id ? { kind: 'task', id: String(row.id) } : null,
|
|
234
|
+
task: row.id ? { id: String(row.id) } : null,
|
|
235
|
+
});
|
|
204
236
|
return;
|
|
205
237
|
}
|
|
206
238
|
const t = updated;
|
|
207
239
|
const ref = t.identifier ?? t.id ?? taskRef;
|
|
240
|
+
if (flags.unassigned) {
|
|
241
|
+
this.log(`Unassigned ${ref}; executor intent: ${(0, tasks_1.taskAssignmentPreview)(t).executor.mode || 'unspecified'}. No Run requested.`);
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
208
244
|
let verb = 'Assigned';
|
|
209
245
|
if (flags.remove)
|
|
210
246
|
verb = 'Unassigned';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.attachmentRow = attachmentRow;
|
|
4
|
+
const list_output_1 = require("../../../lib/list-output");
|
|
4
5
|
const core_1 = require("@oclif/core");
|
|
5
6
|
const data_provider_1 = require("@skrr-ai/data-provider");
|
|
6
7
|
const base_command_1 = require("../../../base-command");
|
|
@@ -60,7 +61,7 @@ class TasksAttachmentsList extends base_command_1.BaseCommand {
|
|
|
60
61
|
this.handleApiError(err);
|
|
61
62
|
}
|
|
62
63
|
if (flags.json) {
|
|
63
|
-
this.
|
|
64
|
+
this.printJsonResult((0, list_output_1.listResult)(response));
|
|
64
65
|
return;
|
|
65
66
|
}
|
|
66
67
|
const r = response;
|
|
@@ -6,6 +6,8 @@ const node_crypto_1 = require("node:crypto");
|
|
|
6
6
|
const core_1 = require("@oclif/core");
|
|
7
7
|
const base_command_1 = require("../../../base-command");
|
|
8
8
|
const task_extras_1 = require("../../../lib/task-extras");
|
|
9
|
+
const http_error_1 = require("../../../lib/http-error");
|
|
10
|
+
const shell_quote_1 = require("../../../lib/shell-quote");
|
|
9
11
|
/** The server's `appendSchema` bounds on `commandId`. */
|
|
10
12
|
const COMMAND_ID_MIN = 8;
|
|
11
13
|
const COMMAND_ID_MAX = 128;
|
|
@@ -100,6 +102,38 @@ class TasksChatSend extends base_command_1.BaseCommand {
|
|
|
100
102
|
result = await task_extras_1.taskChatApi.sendExchangeMessage(taskId, body);
|
|
101
103
|
}
|
|
102
104
|
catch (err) {
|
|
105
|
+
const refusal = (0, http_error_1.httpBodyOf)(err);
|
|
106
|
+
if ((0, http_error_1.httpStatusOf)(err) === 409 && refusal?.code === 'TASK_MANAGED_INPUT_REQUIRED') {
|
|
107
|
+
const contextArgs = [
|
|
108
|
+
...(typeof flags.profile === 'string' ? ['--profile', flags.profile] : []),
|
|
109
|
+
...(typeof flags.workspace === 'string' ? ['--workspace', flags.workspace] : []),
|
|
110
|
+
...(flags.bare ? ['--bare'] : []),
|
|
111
|
+
];
|
|
112
|
+
const inspect = (0, shell_quote_1.shellQuoteArgv)([
|
|
113
|
+
this.config.bin, 'tasks', 'execution-state', taskId, ...contextArgs,
|
|
114
|
+
]);
|
|
115
|
+
const discuss = (0, shell_quote_1.shellQuoteArgv)([
|
|
116
|
+
this.config.bin, 'tasks', 'continue', taskId, ...contextArgs, '--purpose', 'discuss',
|
|
117
|
+
]);
|
|
118
|
+
const credentialHint = flags.bare || typeof flags.token === 'string'
|
|
119
|
+
? ' Supply credentials again through your normal secure source; token values are not printed.'
|
|
120
|
+
: '';
|
|
121
|
+
const suggestion = `Inspect ${inspect} first. To discuss, run ${discuss} ` +
|
|
122
|
+
'--text "<message>" --command-key "<stable-key>". ' +
|
|
123
|
+
'For new work use --purpose continue_work instead. ' +
|
|
124
|
+
'Reuse a command key only for an identical retry. Nothing was resent automatically.' +
|
|
125
|
+
credentialHint;
|
|
126
|
+
const requestId = refusal.requestId ?? err?.requestId;
|
|
127
|
+
this.failWithCliError({
|
|
128
|
+
message: `This Task uses managed inputs; this message was not accepted. ${suggestion}`,
|
|
129
|
+
code: 'TASK_MANAGED_INPUT_REQUIRED',
|
|
130
|
+
status: 409,
|
|
131
|
+
exit: 1,
|
|
132
|
+
retryable: false,
|
|
133
|
+
details: { ...refusal, suggestion },
|
|
134
|
+
...(typeof requestId === 'string' ? { requestId } : {}),
|
|
135
|
+
});
|
|
136
|
+
}
|
|
103
137
|
this.handleApiError(err);
|
|
104
138
|
}
|
|
105
139
|
if (flags.json) {
|
|
@@ -97,6 +97,7 @@ class TasksCommentsAdd extends base_command_1.BaseCommand {
|
|
|
97
97
|
}),
|
|
98
98
|
};
|
|
99
99
|
async run() {
|
|
100
|
+
this.setJsonOperation({ command: 'tasks:comments:add', mode: 'execute' });
|
|
100
101
|
this.requireAuth();
|
|
101
102
|
const { args, flags } = await this.parse(TasksCommentsAdd);
|
|
102
103
|
let jsonBody = {};
|
|
@@ -265,7 +266,11 @@ class TasksCommentsAdd extends base_command_1.BaseCommand {
|
|
|
265
266
|
});
|
|
266
267
|
}
|
|
267
268
|
if (flags.json) {
|
|
268
|
-
|
|
269
|
+
const comment = result;
|
|
270
|
+
this.printJsonOperation(result, {
|
|
271
|
+
resource: { kind: 'task_comment', id: typeof comment?.id === 'string' ? comment.id : null },
|
|
272
|
+
task: { id: typeof comment?.taskId === 'string' ? comment.taskId : null },
|
|
273
|
+
});
|
|
269
274
|
return;
|
|
270
275
|
}
|
|
271
276
|
const c = result;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.threadComments = threadComments;
|
|
4
|
+
const list_output_1 = require("../../../lib/list-output");
|
|
4
5
|
const core_1 = require("@oclif/core");
|
|
5
6
|
const data_provider_1 = require("@skrr-ai/data-provider");
|
|
6
7
|
const base_command_1 = require("../../../base-command");
|
|
@@ -95,7 +96,7 @@ class TasksCommentsList extends base_command_1.BaseCommand {
|
|
|
95
96
|
this.handleApiError(err);
|
|
96
97
|
}
|
|
97
98
|
if (flags.json) {
|
|
98
|
-
this.
|
|
99
|
+
this.printJsonResult((0, list_output_1.listResult)(response));
|
|
99
100
|
return;
|
|
100
101
|
}
|
|
101
102
|
const r = response;
|
|
@@ -153,6 +153,7 @@ class TasksComplete extends base_command_1.BaseCommand {
|
|
|
153
153
|
json: core_1.Flags.boolean({ description: 'Output JSON' }),
|
|
154
154
|
};
|
|
155
155
|
async run() {
|
|
156
|
+
this.setJsonOperation({ command: 'tasks:complete', mode: 'execute' });
|
|
156
157
|
this.requireAuth();
|
|
157
158
|
const { args, flags } = await this.parse(TasksComplete);
|
|
158
159
|
let jsonBody = {};
|
|
@@ -259,7 +260,27 @@ class TasksComplete extends base_command_1.BaseCommand {
|
|
|
259
260
|
// idempotency key is derived, so a retry sees the same refs.
|
|
260
261
|
const evidenceRefs = Array.isArray(input.evidenceRefs) ? [...input.evidenceRefs] : [];
|
|
261
262
|
if (flags.attach?.length) {
|
|
262
|
-
const { attachTaskAssetFiles } = await Promise.resolve().then(() => __importStar(require('../../lib/task-asset-upload')));
|
|
263
|
+
const { attachTaskAssetFiles, readTaskForUpload } = await Promise.resolve().then(() => __importStar(require('../../lib/task-asset-upload')));
|
|
264
|
+
let target;
|
|
265
|
+
try {
|
|
266
|
+
target = await readTaskForUpload(identity.id);
|
|
267
|
+
}
|
|
268
|
+
catch (err) {
|
|
269
|
+
this.error(`--attach failed: ${err.message}`, { exit: 1 });
|
|
270
|
+
}
|
|
271
|
+
// A Result needs an open Task. Check with the uploader's credential before
|
|
272
|
+
// storing files for a refusal we can already see; the server still guards
|
|
273
|
+
// against a Task closing after this read.
|
|
274
|
+
if ((0, task_closure_1.taskIsSettled)(target)) {
|
|
275
|
+
this.error([
|
|
276
|
+
'This Task is closed, and a Result can only be submitted while it is open. Nothing was uploaded.',
|
|
277
|
+
...(0, task_closure_1.reopenRequiredLines)({
|
|
278
|
+
bin: this.config.bin,
|
|
279
|
+
task: identity.id,
|
|
280
|
+
command: 'complete',
|
|
281
|
+
}),
|
|
282
|
+
].join('\n'), { exit: 1, code: 'TASK_REOPEN_REQUIRED' });
|
|
283
|
+
}
|
|
263
284
|
try {
|
|
264
285
|
evidenceRefs.push(...(await attachTaskAssetFiles({
|
|
265
286
|
taskId: identity.id,
|
|
@@ -332,7 +353,10 @@ class TasksComplete extends base_command_1.BaseCommand {
|
|
|
332
353
|
}
|
|
333
354
|
const url = (0, web_url_1.taskUrlFrom)(this.cliConfig.baseURL, { id: taskId });
|
|
334
355
|
if (flags.json) {
|
|
335
|
-
this.
|
|
356
|
+
this.printJsonOperation({ ...result, url }, {
|
|
357
|
+
resource: { kind: 'task_result', id: result.result.id },
|
|
358
|
+
task: { id: result.task.id },
|
|
359
|
+
});
|
|
336
360
|
return;
|
|
337
361
|
}
|
|
338
362
|
this.log(`Submitted Result v${result.result.version}; Task is ${result.task.statusType || result.task.status || 'updated'}.`);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command';
|
|
2
|
+
export { buildTaskContinuationBody, describeTaskContinuation } from '../../lib/task-work';
|
|
3
|
+
export default class TasksContinue extends BaseCommand {
|
|
4
|
+
static description: string;
|
|
5
|
+
static args: {
|
|
6
|
+
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
text: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
purpose: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
'command-key': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
receipt: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
generation: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
14
|
+
'authorization-generation': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
15
|
+
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
};
|
|
17
|
+
run(): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.describeTaskContinuation = exports.buildTaskContinuationBody = void 0;
|
|
4
|
+
const core_1 = require("@oclif/core");
|
|
5
|
+
const data_provider_1 = require("@skrr-ai/data-provider");
|
|
6
|
+
const base_command_1 = require("../../base-command");
|
|
7
|
+
const task_work_1 = require("../../lib/task-work");
|
|
8
|
+
var task_work_2 = require("../../lib/task-work");
|
|
9
|
+
Object.defineProperty(exports, "buildTaskContinuationBody", { enumerable: true, get: function () { return task_work_2.buildTaskContinuationBody; } });
|
|
10
|
+
Object.defineProperty(exports, "describeTaskContinuation", { enumerable: true, get: function () { return task_work_2.describeTaskContinuation; } });
|
|
11
|
+
class TasksContinue extends base_command_1.BaseCommand {
|
|
12
|
+
static description = 'Continue work or discuss the same Task through durable input admission';
|
|
13
|
+
static args = { id: core_1.Args.string({ required: true, ignoreStdin: true, description: 'Task ID or identifier' }) };
|
|
14
|
+
static flags = {
|
|
15
|
+
text: core_1.Flags.string({ description: 'Follow-up message; required unless reading a receipt' }),
|
|
16
|
+
purpose: core_1.Flags.string({ options: ['auto', 'continue_work', 'discuss'], default: 'continue_work', description: 'Continue work, discuss, or ask the server to classify' }),
|
|
17
|
+
'command-key': core_1.Flags.string({ description: 'Stable retry identity; reuse only for the identical input and generation' }),
|
|
18
|
+
receipt: core_1.Flags.boolean({ description: 'Read the current authenticated actor’s receipt for --command-key without sending another input' }),
|
|
19
|
+
generation: core_1.Flags.integer({ min: 1, description: 'Expected workflow generation; defaults to the current snapshot' }),
|
|
20
|
+
'authorization-generation': core_1.Flags.integer({ min: 1, description: 'Expected Task chat authorization generation; defaults to current state' }),
|
|
21
|
+
json: core_1.Flags.boolean({ description: 'Output the durable input receipt as JSON' }),
|
|
22
|
+
};
|
|
23
|
+
async run() {
|
|
24
|
+
this.requireAuth();
|
|
25
|
+
const { args, flags } = await this.parse(TasksContinue);
|
|
26
|
+
const taskId = await this.resolveTaskReference(args.id);
|
|
27
|
+
let receipt;
|
|
28
|
+
try {
|
|
29
|
+
if (flags.receipt) {
|
|
30
|
+
if (!flags['command-key'])
|
|
31
|
+
this.error('--receipt requires --command-key.', { exit: 2 });
|
|
32
|
+
receipt = await data_provider_1.dataService.getTaskConversationInput(taskId, flags['command-key']);
|
|
33
|
+
this.log(flags.json ? JSON.stringify(receipt, null, 2) : (0, task_work_1.describeTaskContinuation)(receipt));
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (!flags.text)
|
|
37
|
+
this.error('--text is required when sending a follow-up.', { exit: 2 });
|
|
38
|
+
const chat = await data_provider_1.dataService.getTaskChat(taskId);
|
|
39
|
+
const body = (0, task_work_1.buildTaskContinuationBody)({
|
|
40
|
+
text: flags.text,
|
|
41
|
+
commandKey: flags['command-key'],
|
|
42
|
+
purpose: flags.purpose,
|
|
43
|
+
workflowGeneration: flags.generation ?? chat.workflowGeneration,
|
|
44
|
+
authorizationGeneration: flags['authorization-generation'] ?? chat.authorizationGeneration ?? 1,
|
|
45
|
+
});
|
|
46
|
+
receipt = await data_provider_1.dataService.submitTaskConversationInput(taskId, body);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
this.handleApiError(error);
|
|
50
|
+
}
|
|
51
|
+
this.log(flags.json ? JSON.stringify(receipt, null, 2) : (0, task_work_1.describeTaskContinuation)(receipt));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.default = TasksContinue;
|
|
@@ -119,6 +119,9 @@ export default class TasksCreateTree extends BaseCommand {
|
|
|
119
119
|
'from-json': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
120
120
|
'dry-run': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
121
121
|
verify: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
122
|
+
'verify-spec': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
123
|
+
readback: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
124
|
+
unassigned: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
122
125
|
'external-key-prefix': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
123
126
|
fresh: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
124
127
|
resume: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
@@ -129,6 +132,8 @@ export default class TasksCreateTree extends BaseCommand {
|
|
|
129
132
|
project: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
130
133
|
};
|
|
131
134
|
run(): Promise<void>;
|
|
135
|
+
private readbackSpecifications;
|
|
136
|
+
private printSpecificationSummary;
|
|
132
137
|
/**
|
|
133
138
|
* `--verify`: which nodes of this tree exist, and which do not. Read-only by
|
|
134
139
|
* construction — it is reached before anything that writes — so it is safe to
|