@skrr-ai/cli 0.1.115 → 0.1.116
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/dist/base-command.js +23 -10
- package/dist/commands/actions/browse.d.ts +6 -6
- package/dist/commands/actions/create.d.ts +12 -12
- package/dist/commands/actions/delete.d.ts +3 -3
- package/dist/commands/actions/install.d.ts +3 -3
- package/dist/commands/actions/list.d.ts +6 -6
- package/dist/commands/actions/publish.d.ts +4 -4
- package/dist/commands/actions/rate.d.ts +3 -3
- package/dist/commands/actions/show.d.ts +2 -2
- package/dist/commands/actions/update.d.ts +11 -11
- package/dist/commands/agenda/plan.d.ts +4 -4
- package/dist/commands/agenda/trigger/create.d.ts +10 -10
- package/dist/commands/agenda/trigger/delete.d.ts +4 -4
- package/dist/commands/agenda/trigger/fire.d.ts +3 -3
- package/dist/commands/agenda/trigger/list.d.ts +3 -3
- package/dist/commands/agent/call/cancel.d.ts +2 -2
- package/dist/commands/agent/call/request.d.ts +6 -6
- package/dist/commands/agent/call/show.d.ts +2 -2
- package/dist/commands/agent/message/context.d.ts +4 -4
- package/dist/commands/agent/message/context.js +21 -1
- package/dist/commands/agent/message/send.d.ts +26 -26
- package/dist/commands/agent/phone-call/request.d.ts +5 -5
- package/dist/commands/agent-groups/add.d.ts +3 -3
- package/dist/commands/agent-groups/create.d.ts +6 -6
- package/dist/commands/agent-groups/delete.d.ts +2 -2
- package/dist/commands/agent-groups/list.d.ts +1 -1
- package/dist/commands/agent-groups/remove.d.ts +3 -3
- package/dist/commands/agent-groups/show.d.ts +2 -2
- package/dist/commands/agent-groups/update.d.ts +7 -7
- package/dist/commands/agent-shares/accept.d.ts +2 -2
- package/dist/commands/agent-shares/create.d.ts +5 -5
- package/dist/commands/agent-shares/decline.d.ts +3 -3
- package/dist/commands/agent-shares/leave.d.ts +2 -2
- package/dist/commands/agent-shares/list-for.d.ts +2 -2
- package/dist/commands/agent-shares/received.d.ts +5 -5
- package/dist/commands/agent-shares/revoke.d.ts +2 -2
- package/dist/commands/agent-shares/sent.d.ts +4 -4
- package/dist/commands/agent-shares/with.d.ts +2 -2
- package/dist/commands/agent-worker.d.ts +2 -2
- package/dist/commands/agents/actions/create.d.ts +18 -18
- package/dist/commands/agents/actions/delete.d.ts +4 -4
- package/dist/commands/agents/actions/list.d.ts +2 -2
- package/dist/commands/agents/actions/run.d.ts +5 -5
- package/dist/commands/agents/actions/schedule.d.ts +19 -19
- package/dist/commands/agents/actions/show.d.ts +3 -3
- package/dist/commands/agents/actions/targets.d.ts +4 -4
- package/dist/commands/agents/actions/update.d.ts +17 -17
- package/dist/commands/agents/activity.d.ts +5 -5
- package/dist/commands/agents/always-on/disable.d.ts +3 -3
- package/dist/commands/agents/always-on/enable.d.ts +3 -3
- package/dist/commands/agents/always-on/reconcile.d.ts +2 -2
- package/dist/commands/agents/always-on/status.d.ts +2 -2
- package/dist/commands/agents/api-actions/add.d.ts +15 -15
- package/dist/commands/agents/api-actions/index.d.ts +2 -2
- package/dist/commands/agents/api-actions/remove.d.ts +3 -3
- package/dist/commands/agents/attach-harness.d.ts +8 -8
- package/dist/commands/agents/avatar/default/apply.d.ts +3 -3
- package/dist/commands/agents/avatar/default/index.d.ts +1 -1
- package/dist/commands/agents/avatar/default/set.d.ts +6 -6
- package/dist/commands/agents/avatar/generate.d.ts +3 -3
- package/dist/commands/agents/avatar/library/delete.d.ts +2 -2
- package/dist/commands/agents/avatar/library/index.d.ts +1 -1
- package/dist/commands/agents/avatar/presets.d.ts +2 -2
- package/dist/commands/agents/avatar/upload.d.ts +3 -3
- package/dist/commands/agents/badge.d.ts +4 -4
- package/dist/commands/agents/categories/create.d.ts +5 -5
- package/dist/commands/agents/categories/delete.d.ts +2 -2
- package/dist/commands/agents/categories/index.d.ts +4 -4
- package/dist/commands/agents/categories/update.d.ts +6 -6
- package/dist/commands/agents/channels/connect.d.ts +3 -3
- package/dist/commands/agents/channels/delete.d.ts +4 -4
- package/dist/commands/agents/channels/disconnect.d.ts +3 -3
- package/dist/commands/agents/channels/show.d.ts +3 -3
- package/dist/commands/agents/channels/test.d.ts +4 -4
- package/dist/commands/agents/channels/update.d.ts +4 -4
- package/dist/commands/agents/chat.d.ts +15 -15
- package/dist/commands/agents/chat.js +1 -0
- package/dist/commands/agents/create.d.ts +45 -45
- package/dist/commands/agents/delete.d.ts +2 -2
- package/dist/commands/agents/duplicate.d.ts +2 -2
- package/dist/commands/agents/egress.d.ts +8 -8
- package/dist/commands/agents/embed.d.ts +2 -2
- package/dist/commands/agents/endpoint/connect.d.ts +6 -6
- package/dist/commands/agents/endpoint/disable.d.ts +2 -2
- package/dist/commands/agents/endpoint/enable.d.ts +2 -2
- package/dist/commands/agents/endpoint/show.d.ts +2 -2
- package/dist/commands/agents/ensure-default.d.ts +2 -2
- package/dist/commands/agents/eval/index.d.ts +8 -8
- package/dist/commands/agents/eval/list.d.ts +3 -3
- package/dist/commands/agents/eval/show.d.ts +3 -3
- package/dist/commands/agents/files/delete.d.ts +4 -4
- package/dist/commands/agents/files/list.d.ts +2 -2
- package/dist/commands/agents/files/move.d.ts +4 -4
- package/dist/commands/agents/files/rename.d.ts +4 -4
- package/dist/commands/agents/files/upload.d.ts +4 -4
- package/dist/commands/agents/folders/create.d.ts +4 -4
- package/dist/commands/agents/folders/delete.d.ts +4 -4
- package/dist/commands/agents/folders/list.d.ts +2 -2
- package/dist/commands/agents/folders/show.d.ts +3 -3
- package/dist/commands/agents/folders/update.d.ts +5 -5
- package/dist/commands/agents/goals/assign.d.ts +3 -3
- package/dist/commands/agents/goals/list.d.ts +2 -2
- package/dist/commands/agents/goals/unassign.d.ts +3 -3
- package/dist/commands/agents/identity.d.ts +2 -2
- package/dist/commands/agents/import.d.ts +4 -4
- package/dist/commands/agents/instructions/add.d.ts +11 -11
- package/dist/commands/agents/instructions/disable.d.ts +3 -3
- package/dist/commands/agents/instructions/edit.d.ts +6 -6
- package/dist/commands/agents/instructions/enable.d.ts +3 -3
- package/dist/commands/agents/instructions/move.d.ts +5 -5
- package/dist/commands/agents/instructions/preview.d.ts +3 -3
- package/dist/commands/agents/instructions/remove.d.ts +3 -3
- package/dist/commands/agents/instructions/set.d.ts +6 -6
- package/dist/commands/agents/instructions/show.d.ts +4 -4
- package/dist/commands/agents/instructions/upgrade.d.ts +5 -5
- package/dist/commands/agents/intuitions/accept.d.ts +4 -4
- package/dist/commands/agents/intuitions/dismiss.d.ts +4 -4
- package/dist/commands/agents/intuitions/generate.d.ts +3 -3
- package/dist/commands/agents/intuitions/list.d.ts +2 -2
- package/dist/commands/agents/intuitions/stats.d.ts +2 -2
- package/dist/commands/agents/list.d.ts +10 -10
- package/dist/commands/agents/mailbox/messages.d.ts +4 -4
- package/dist/commands/agents/mailbox/show.d.ts +2 -2
- package/dist/commands/agents/manager/ensure.d.ts +1 -1
- package/dist/commands/agents/mute.d.ts +2 -2
- package/dist/commands/agents/notepad/delete.d.ts +3 -3
- package/dist/commands/agents/notepad/show.d.ts +2 -2
- package/dist/commands/agents/notepad/update.d.ts +4 -4
- package/dist/commands/agents/operating-plan.d.ts +2 -2
- package/dist/commands/agents/overview.d.ts +3 -3
- package/dist/commands/agents/pin.d.ts +2 -2
- package/dist/commands/agents/plan-day.d.ts +9 -9
- package/dist/commands/agents/preferences/show.d.ts +2 -2
- package/dist/commands/agents/preferences/update.d.ts +5 -5
- package/dist/commands/agents/pull.d.ts +3 -3
- package/dist/commands/agents/push.d.ts +3 -3
- package/dist/commands/agents/query.d.ts +4 -4
- package/dist/commands/agents/reflect.d.ts +7 -7
- package/dist/commands/agents/releases/ci-publish.d.ts +10 -10
- package/dist/commands/agents/releases/create.d.ts +8 -8
- package/dist/commands/agents/releases/delist.d.ts +5 -5
- package/dist/commands/agents/releases/known-issues/add.d.ts +5 -5
- package/dist/commands/agents/releases/known-issues/list.d.ts +3 -3
- package/dist/commands/agents/releases/known-issues/update.d.ts +7 -7
- package/dist/commands/agents/releases/list.d.ts +2 -2
- package/dist/commands/agents/releases/restore.d.ts +3 -3
- package/dist/commands/agents/releases/rollback.d.ts +3 -3
- package/dist/commands/agents/releases/test-install.d.ts +6 -6
- package/dist/commands/agents/releases/trusted-publishers/list.d.ts +2 -2
- package/dist/commands/agents/releases/trusted-publishers/remove.d.ts +3 -3
- package/dist/commands/agents/releases/trusted-publishers/set.d.ts +7 -7
- package/dist/commands/agents/revert.d.ts +3 -3
- package/dist/commands/agents/roles/capture.d.ts +7 -7
- package/dist/commands/agents/roles/example.d.ts +2 -2
- package/dist/commands/agents/roles/export.d.ts +5 -5
- package/dist/commands/agents/roles/install.d.ts +4 -4
- package/dist/commands/agents/roles/list.d.ts +2 -2
- package/dist/commands/agents/roles/preview.d.ts +7 -7
- package/dist/commands/agents/roles/withdraw.d.ts +4 -4
- package/dist/commands/agents/scene-background/upload.d.ts +4 -4
- package/dist/commands/agents/schedule-overview.d.ts +6 -6
- package/dist/commands/agents/schedule-trace.d.ts +7 -7
- package/dist/commands/agents/schedule.d.ts +15 -15
- package/dist/commands/agents/share.d.ts +4 -4
- package/dist/commands/agents/show.d.ts +3 -3
- package/dist/commands/agents/skills/add.d.ts +4 -4
- package/dist/commands/agents/skills/list.d.ts +3 -3
- package/dist/commands/agents/skills/remove.d.ts +4 -4
- package/dist/commands/agents/spaces.d.ts +3 -3
- package/dist/commands/agents/spawn.d.ts +12 -12
- package/dist/commands/agents/todos/cancel.d.ts +3 -3
- package/dist/commands/agents/todos/create.d.ts +7 -7
- package/dist/commands/agents/todos/list.d.ts +3 -3
- package/dist/commands/agents/tone/clear.d.ts +3 -3
- package/dist/commands/agents/tone/inherit.d.ts +2 -2
- package/dist/commands/agents/tone/set.d.ts +4 -4
- package/dist/commands/agents/tone/show.d.ts +4 -4
- package/dist/commands/agents/tools/auth.d.ts +2 -2
- package/dist/commands/agents/tools/calls.d.ts +2 -2
- package/dist/commands/agents/tools/index.d.ts +2 -2
- package/dist/commands/agents/transfer-workspace.d.ts +3 -3
- package/dist/commands/agents/triggers/create.d.ts +65 -65
- package/dist/commands/agents/triggers/delete.d.ts +4 -4
- package/dist/commands/agents/triggers/disable.d.ts +3 -3
- package/dist/commands/agents/triggers/enable.d.ts +3 -3
- package/dist/commands/agents/triggers/fire.d.ts +4 -4
- package/dist/commands/agents/triggers/list.d.ts +6 -6
- package/dist/commands/agents/triggers/policy.d.ts +11 -11
- package/dist/commands/agents/triggers/replay.d.ts +5 -5
- package/dist/commands/agents/triggers/runs.d.ts +6 -6
- package/dist/commands/agents/triggers/show.d.ts +3 -3
- package/dist/commands/agents/triggers/update.d.ts +64 -64
- package/dist/commands/agents/unmute.d.ts +2 -2
- package/dist/commands/agents/unpin.d.ts +2 -2
- package/dist/commands/agents/upcoming.d.ts +8 -8
- package/dist/commands/agents/update.d.ts +46 -46
- package/dist/commands/agents/usage-cap.d.ts +7 -7
- package/dist/commands/agents/validate.d.ts +2 -2
- package/dist/commands/agents/vanity.d.ts +3 -3
- package/dist/commands/agents/versions.d.ts +2 -2
- package/dist/commands/agents/visibility.d.ts +17 -17
- package/dist/commands/api-keys/create.d.ts +7 -7
- package/dist/commands/api-keys/list.d.ts +2 -2
- package/dist/commands/api-keys/revoke.d.ts +3 -3
- package/dist/commands/api-keys/rotate.d.ts +3 -3
- package/dist/commands/apps/channel.d.ts +4 -4
- package/dist/commands/apps/check-draft.d.ts +2 -2
- package/dist/commands/apps/check.d.ts +5 -5
- package/dist/commands/apps/create.d.ts +5 -5
- package/dist/commands/apps/data/put.d.ts +8 -8
- package/dist/commands/apps/data/query.d.ts +10 -10
- package/dist/commands/apps/disclosure.d.ts +6 -6
- package/dist/commands/apps/file/cat.d.ts +5 -5
- package/dist/commands/apps/file/ls.d.ts +3 -3
- package/dist/commands/apps/file/mv.d.ts +5 -5
- package/dist/commands/apps/file/rm.d.ts +5 -5
- package/dist/commands/apps/file/write.d.ts +7 -7
- package/dist/commands/apps/install.d.ts +9 -9
- package/dist/commands/apps/installations/list.d.ts +3 -3
- package/dist/commands/apps/installations/show.d.ts +2 -2
- package/dist/commands/apps/layout/set.d.ts +3 -3
- package/dist/commands/apps/layout/show.d.ts +1 -1
- package/dist/commands/apps/list.d.ts +2 -2
- package/dist/commands/apps/logs.d.ts +3 -3
- package/dist/commands/apps/preview.d.ts +2 -2
- package/dist/commands/apps/publish/propose.d.ts +4 -4
- package/dist/commands/apps/pull.d.ts +4 -4
- package/dist/commands/apps/push.d.ts +5 -5
- package/dist/commands/apps/reconsent.d.ts +3 -3
- package/dist/commands/apps/report.d.ts +5 -5
- package/dist/commands/apps/resume.d.ts +2 -2
- package/dist/commands/apps/settings/set.d.ts +4 -4
- package/dist/commands/apps/settings/show.d.ts +2 -2
- package/dist/commands/apps/show.d.ts +2 -2
- package/dist/commands/apps/suspend.d.ts +2 -2
- package/dist/commands/apps/uninstall.d.ts +3 -3
- package/dist/commands/apps/upgrade.d.ts +4 -4
- package/dist/commands/apps/version/create.d.ts +4 -4
- package/dist/commands/apps/version/show.d.ts +2 -2
- package/dist/commands/apps/versions.d.ts +2 -2
- package/dist/commands/apps/webhooks/list.d.ts +2 -2
- package/dist/commands/balance/history.d.ts +3 -3
- package/dist/commands/balance/overage.d.ts +2 -2
- package/dist/commands/balance/plan.d.ts +1 -1
- package/dist/commands/balance/show.d.ts +1 -1
- package/dist/commands/balance/statement.d.ts +5 -5
- package/dist/commands/balance/usage/breakdown.d.ts +4 -4
- package/dist/commands/balance/usage/events.d.ts +5 -5
- package/dist/commands/balance/usage.d.ts +1 -1
- package/dist/commands/browser/cloud-agents.d.ts +2 -2
- package/dist/commands/browser/doctor.d.ts +1 -1
- package/dist/commands/browser/install.d.ts +4 -4
- package/dist/commands/browser/skill/show.d.ts +1 -1
- package/dist/commands/browser/status.d.ts +1 -1
- package/dist/commands/browser/uninstall.d.ts +4 -4
- package/dist/commands/characters/list.d.ts +3 -3
- package/dist/commands/chats/agents/add.d.ts +3 -3
- package/dist/commands/chats/agents/remove.d.ts +3 -3
- package/dist/commands/chats/create.d.ts +4 -4
- package/dist/commands/chats/delete.d.ts +2 -2
- package/dist/commands/chats/files/delete.d.ts +3 -3
- package/dist/commands/chats/files/list.d.ts +2 -2
- package/dist/commands/chats/files/move.d.ts +4 -4
- package/dist/commands/chats/files/rename.d.ts +4 -4
- package/dist/commands/chats/folders/create.d.ts +3 -3
- package/dist/commands/chats/folders/delete.d.ts +3 -3
- package/dist/commands/chats/folders/list.d.ts +2 -2
- package/dist/commands/chats/folders/update.d.ts +4 -4
- package/dist/commands/chats/join.d.ts +2 -2
- package/dist/commands/chats/list.d.ts +5 -5
- package/dist/commands/chats/messages.d.ts +5 -5
- package/dist/commands/chats/preferences/show.d.ts +1 -1
- package/dist/commands/chats/preferences/update.d.ts +3 -3
- package/dist/commands/chats/send.d.ts +9 -9
- package/dist/commands/chats/show.d.ts +2 -2
- package/dist/commands/chats/spaces/create.d.ts +4 -4
- package/dist/commands/chats/spaces/link.d.ts +3 -3
- package/dist/commands/chats/spaces/list.d.ts +2 -2
- package/dist/commands/chats/spaces/unlink.d.ts +3 -3
- package/dist/commands/chats/triggers/set.d.ts +22 -22
- package/dist/commands/chats/triggers/show.d.ts +2 -2
- package/dist/commands/chats/update.d.ts +5 -5
- package/dist/commands/chats/widgets/create.d.ts +5 -5
- package/dist/commands/chats/widgets/delete.d.ts +3 -3
- package/dist/commands/chats/widgets/list.d.ts +2 -2
- package/dist/commands/chats/widgets/update.d.ts +6 -6
- package/dist/commands/code/doctor.d.ts +2 -2
- package/dist/commands/code/handover.d.ts +9 -9
- package/dist/commands/code/install.d.ts +5 -5
- package/dist/commands/code/install.js +2 -34
- package/dist/commands/code/jobs/approve.d.ts +2 -2
- package/dist/commands/code/jobs/cancel.d.ts +2 -2
- package/dist/commands/code/jobs/list.d.ts +4 -4
- package/dist/commands/code/jobs/run.d.ts +9 -9
- package/dist/commands/code/jobs/show.d.ts +2 -2
- package/dist/commands/code/migrate.d.ts +4 -4
- package/dist/commands/code/rollback.d.ts +1 -1
- package/dist/commands/code/skrr-agent.d.ts +5 -5
- package/dist/commands/code/update.d.ts +8 -8
- package/dist/commands/code/update.js +2 -34
- package/dist/commands/commands.d.ts +6 -6
- package/dist/commands/commands.js +2 -1
- package/dist/commands/commerce/entitlements/explain.d.ts +2 -2
- package/dist/commands/commerce/fees/show.d.ts +2 -2
- package/dist/commands/commerce/incidents/audit.d.ts +3 -3
- package/dist/commands/commerce/incidents/list.d.ts +4 -4
- package/dist/commands/commerce/incidents/resolve.d.ts +3 -3
- package/dist/commands/commerce/incidents/retry.d.ts +3 -3
- package/dist/commands/commerce/incidents/show.d.ts +3 -3
- package/dist/commands/commerce/offers/approve.d.ts +2 -2
- package/dist/commands/commerce/offers/create.d.ts +2 -2
- package/dist/commands/commerce/offers/publish.d.ts +2 -2
- package/dist/commands/commerce/offers/retire.d.ts +2 -2
- package/dist/commands/commerce/offers/validate.d.ts +2 -2
- package/dist/commands/commerce/products/create.d.ts +2 -2
- package/dist/commands/commerce/promotions/redeem.d.ts +2 -2
- package/dist/commands/commerce/terms/accept.d.ts +2 -2
- package/dist/commands/commerce/terms/show.d.ts +2 -2
- package/dist/commands/commerce/trials/conversion-preview.d.ts +2 -2
- package/dist/commands/commerce/trials/start.d.ts +4 -4
- package/dist/commands/commitments/accounting.d.ts +2 -2
- package/dist/commands/commitments/action-history.d.ts +4 -4
- package/dist/commands/commitments/action-proposals/decide.d.ts +6 -6
- package/dist/commands/commitments/action-proposals/execute.d.ts +3 -3
- package/dist/commands/commitments/action-proposals/propose.d.ts +10 -10
- package/dist/commands/commitments/action-proposals.d.ts +4 -4
- package/dist/commands/commitments/analytics/detail.d.ts +7 -7
- package/dist/commands/commitments/analytics/index.d.ts +11 -11
- package/dist/commands/commitments/analytics/replay.d.ts +4 -4
- package/dist/commands/commitments/attach.d.ts +4 -4
- package/dist/commands/commitments/bundle.d.ts +4 -4
- package/dist/commands/commitments/cadence-decisions.d.ts +3 -3
- package/dist/commands/commitments/cadence-requests/decide.d.ts +5 -5
- package/dist/commands/commitments/case.d.ts +4 -4
- package/dist/commands/commitments/cases.d.ts +5 -5
- package/dist/commands/commitments/check-now.d.ts +2 -2
- package/dist/commands/commitments/checks.d.ts +4 -4
- package/dist/commands/commitments/complete.d.ts +2 -2
- package/dist/commands/commitments/control/apply.d.ts +5 -5
- package/dist/commands/commitments/control/preview.d.ts +7 -7
- package/dist/commands/commitments/control/show.d.ts +3 -3
- package/dist/commands/commitments/cost.d.ts +4 -4
- package/dist/commands/commitments/create.d.ts +33 -33
- package/dist/commands/commitments/cycles.d.ts +4 -4
- package/dist/commands/commitments/decide-remediation.d.ts +5 -5
- package/dist/commands/commitments/delete.d.ts +5 -5
- package/dist/commands/commitments/delivery.d.ts +7 -7
- package/dist/commands/commitments/detach.d.ts +4 -4
- package/dist/commands/commitments/doctor.d.ts +3 -3
- package/dist/commands/commitments/effective-policy.d.ts +3 -3
- package/dist/commands/commitments/endpoints/connect.d.ts +3 -3
- package/dist/commands/commitments/endpoints/create.d.ts +6 -6
- package/dist/commands/commitments/endpoints/delete.d.ts +3 -3
- package/dist/commands/commitments/endpoints/health.d.ts +5 -5
- package/dist/commands/commitments/endpoints/list.d.ts +2 -2
- package/dist/commands/commitments/endpoints/revoke.d.ts +3 -3
- package/dist/commands/commitments/evaluations.d.ts +5 -5
- package/dist/commands/commitments/execute-remediation.d.ts +4 -4
- package/dist/commands/commitments/explain.d.ts +2 -2
- package/dist/commands/commitments/export.d.ts +5 -5
- package/dist/commands/commitments/feedback.d.ts +5 -5
- package/dist/commands/commitments/fork.d.ts +4 -4
- package/dist/commands/commitments/goals/link.d.ts +3 -3
- package/dist/commands/commitments/goals/unlink.d.ts +3 -3
- package/dist/commands/commitments/handover.d.ts +4 -4
- package/dist/commands/commitments/hypotheses.d.ts +6 -6
- package/dist/commands/commitments/import.d.ts +3 -3
- package/dist/commands/commitments/ledger.d.ts +3 -3
- package/dist/commands/commitments/lineage.d.ts +3 -3
- package/dist/commands/commitments/links/create.d.ts +6 -6
- package/dist/commands/commitments/links/detach.d.ts +3 -3
- package/dist/commands/commitments/links/list.d.ts +3 -3
- package/dist/commands/commitments/links/update.d.ts +5 -5
- package/dist/commands/commitments/list.d.ts +6 -6
- package/dist/commands/commitments/liveness.d.ts +1 -1
- package/dist/commands/commitments/metrics.d.ts +4 -4
- package/dist/commands/commitments/next-tick.d.ts +2 -2
- package/dist/commands/commitments/observation/probe.d.ts +5 -5
- package/dist/commands/commitments/observation/summary.d.ts +2 -2
- package/dist/commands/commitments/observations.d.ts +11 -11
- package/dist/commands/commitments/open.d.ts +4 -4
- package/dist/commands/commitments/operating-review.d.ts +2 -2
- package/dist/commands/commitments/pack/activate.d.ts +2 -2
- package/dist/commands/commitments/pack/bind.d.ts +9 -9
- package/dist/commands/commitments/pack/list.d.ts +1 -1
- package/dist/commands/commitments/pack/plan.d.ts +7 -7
- package/dist/commands/commitments/pack/preflight.d.ts +3 -3
- package/dist/commands/commitments/patch.d.ts +4 -4
- package/dist/commands/commitments/pause.d.ts +2 -2
- package/dist/commands/commitments/plan.d.ts +8 -8
- package/dist/commands/commitments/preflight.d.ts +6 -6
- package/dist/commands/commitments/propose-remediation.d.ts +4 -4
- package/dist/commands/commitments/readiness/show.d.ts +3 -3
- package/dist/commands/commitments/readiness/verify.d.ts +4 -4
- package/dist/commands/commitments/receipt-metrics.d.ts +5 -5
- package/dist/commands/commitments/receipt.d.ts +7 -7
- package/dist/commands/commitments/reflect.d.ts +2 -2
- package/dist/commands/commitments/reflection-decision.d.ts +4 -4
- package/dist/commands/commitments/reflection.d.ts +2 -2
- package/dist/commands/commitments/remediate.d.ts +5 -5
- package/dist/commands/commitments/remediation-proposal.d.ts +3 -3
- package/dist/commands/commitments/remediation-proposals.d.ts +5 -5
- package/dist/commands/commitments/reports.d.ts +8 -8
- package/dist/commands/commitments/restore.d.ts +2 -2
- package/dist/commands/commitments/resume.d.ts +2 -2
- package/dist/commands/commitments/roster.d.ts +2 -2
- package/dist/commands/commitments/show.d.ts +3 -3
- package/dist/commands/commitments/status.d.ts +2 -2
- package/dist/commands/commitments/subject.d.ts +7 -7
- package/dist/commands/commitments/trace.d.ts +4 -4
- package/dist/commands/commitments/trigger-status.d.ts +3 -3
- package/dist/commands/commitments/update.d.ts +26 -26
- package/dist/commands/commitments/wake-capabilities.d.ts +3 -3
- package/dist/commands/commitments/work-plan.d.ts +2 -2
- package/dist/commands/compass/archive.d.ts +5 -5
- package/dist/commands/compass/commitments.d.ts +3 -3
- package/dist/commands/compass/create.d.ts +6 -6
- package/dist/commands/compass/effective-policy.d.ts +3 -3
- package/dist/commands/compass/list.d.ts +4 -4
- package/dist/commands/compass/revert.d.ts +5 -5
- package/dist/commands/compass/revisions.d.ts +4 -4
- package/dist/commands/compass/show.d.ts +3 -3
- package/dist/commands/compass/tactic.d.ts +6 -6
- package/dist/commands/compass/trace.d.ts +4 -4
- package/dist/commands/compass/update.d.ts +10 -10
- package/dist/commands/completion/index.d.ts +2 -2
- package/dist/commands/completion/script.d.ts +1 -1
- package/dist/commands/completion/values.d.ts +2 -2
- package/dist/commands/computer/index.d.ts +2 -2
- package/dist/commands/context.d.ts +2 -2
- package/dist/commands/context.js +18 -4
- package/dist/commands/convos/archive.d.ts +2 -2
- package/dist/commands/convos/delete.d.ts +2 -2
- package/dist/commands/convos/duplicate.d.ts +3 -3
- package/dist/commands/convos/fork.d.ts +6 -6
- package/dist/commands/convos/handover.d.ts +6 -6
- package/dist/commands/convos/import.d.ts +2 -2
- package/dist/commands/convos/import.js +2 -35
- package/dist/commands/convos/list.d.ts +8 -8
- package/dist/commands/convos/messages.d.ts +5 -5
- package/dist/commands/convos/recovery.d.ts +14 -0
- package/dist/commands/convos/recovery.js +62 -0
- package/dist/commands/convos/search.d.ts +4 -4
- package/dist/commands/convos/show.d.ts +2 -2
- package/dist/commands/convos/unarchive.d.ts +2 -2
- package/dist/commands/convos/update.d.ts +4 -4
- package/dist/commands/create-token.d.ts +2 -2
- package/dist/commands/daemon/logs.d.ts +6 -6
- package/dist/commands/daemon/usage.d.ts +3 -3
- package/dist/commands/dm/list.d.ts +1 -1
- package/dist/commands/dm/messages.d.ts +4 -4
- package/dist/commands/dm/show.d.ts +3 -3
- package/dist/commands/dm/thread/broadcast.d.ts +7 -7
- package/dist/commands/dm/thread/follow.d.ts +6 -6
- package/dist/commands/dm/thread/messages.d.ts +7 -7
- package/dist/commands/dm/thread/mute.d.ts +6 -6
- package/dist/commands/dm/thread/share.d.ts +5 -5
- package/dist/commands/dm/thread/show.d.ts +5 -5
- package/dist/commands/dm/threads.d.ts +6 -6
- package/dist/commands/dm/work.d.ts +10 -10
- package/dist/commands/doctor.d.ts +1 -1
- package/dist/commands/earnings/attributions.d.ts +1 -1
- package/dist/commands/earnings/index.d.ts +1 -1
- package/dist/commands/earnings/payouts.d.ts +3 -3
- package/dist/commands/earnings/statements.d.ts +4 -4
- package/dist/commands/engagement/annotate.d.ts +5 -5
- package/dist/commands/engagement/continue.d.ts +3 -3
- package/dist/commands/engagement/react.d.ts +4 -4
- package/dist/commands/engagement/reactions.d.ts +3 -3
- package/dist/commands/engagement/share.d.ts +6 -6
- package/dist/commands/enterprise/budgets/create.d.ts +2 -2
- package/dist/commands/enterprise/budgets/evaluate.d.ts +2 -2
- package/dist/commands/enterprise/budgets/publish.d.ts +3 -3
- package/dist/commands/enterprise/contracts/activate.d.ts +3 -3
- package/dist/commands/enterprise/contracts/create.d.ts +2 -2
- package/dist/commands/enterprise/contracts/issue.d.ts +3 -3
- package/dist/commands/enterprise/domains/begin.d.ts +3 -3
- package/dist/commands/enterprise/domains/verify.d.ts +3 -3
- package/dist/commands/enterprise/external-config/activate.d.ts +2 -2
- package/dist/commands/enterprise/external-config/set.d.ts +6 -6
- package/dist/commands/enterprise/external-config/show.d.ts +2 -2
- package/dist/commands/enterprise/external-config/suspend.d.ts +3 -3
- package/dist/commands/enterprise/finance/close-snapshot.d.ts +2 -2
- package/dist/commands/enterprise/finance/record-document.d.ts +2 -2
- package/dist/commands/enterprise/profile.d.ts +3 -3
- package/dist/commands/feeds/create.d.ts +7 -7
- package/dist/commands/feeds/delete.d.ts +2 -2
- package/dist/commands/feeds/list.d.ts +4 -4
- package/dist/commands/feeds/update.d.ts +6 -6
- package/dist/commands/followups/act.d.ts +10 -10
- package/dist/commands/followups/cancel.d.ts +3 -3
- package/dist/commands/followups/checkin.d.ts +10 -10
- package/dist/commands/followups/list.d.ts +7 -7
- package/dist/commands/followups/observability.d.ts +3 -3
- package/dist/commands/followups/plans/accepted.d.ts +15 -0
- package/dist/commands/followups/plans/accepted.js +76 -0
- package/dist/commands/followups/plans/cancel-batch.d.ts +18 -0
- package/dist/commands/followups/plans/cancel-batch.js +107 -0
- package/dist/commands/followups/plans/cancel.d.ts +4 -4
- package/dist/commands/followups/plans/capacity.d.ts +2 -2
- package/dist/commands/followups/plans/create.d.ts +3 -3
- package/dist/commands/followups/plans/list.d.ts +6 -6
- package/dist/commands/followups/plans/observability.d.ts +4 -4
- package/dist/commands/followups/plans/preferences/set.d.ts +10 -0
- package/dist/commands/followups/plans/preferences/set.js +50 -0
- package/dist/commands/followups/plans/preferences.d.ts +9 -0
- package/dist/commands/followups/plans/preferences.js +29 -0
- package/dist/commands/followups/plans/revise.d.ts +4 -4
- package/dist/commands/followups/plans/show.d.ts +2 -2
- package/dist/commands/followups/plans/show.js +10 -3
- package/dist/commands/followups/remind.d.ts +11 -11
- package/dist/commands/followups/reschedule.d.ts +4 -4
- package/dist/commands/followups/resolve.d.ts +4 -4
- package/dist/commands/followups/show.d.ts +2 -2
- package/dist/commands/followups/watch.d.ts +28 -28
- package/dist/commands/generate-recovery-code.d.ts +4 -4
- package/dist/commands/github/allow-tools.d.ts +10 -10
- package/dist/commands/github/app/install.d.ts +7 -7
- package/dist/commands/github/app/status.d.ts +6 -6
- package/dist/commands/github/connect.d.ts +10 -10
- package/dist/commands/github/connections.d.ts +8 -8
- package/dist/commands/github/disconnect.d.ts +8 -8
- package/dist/commands/github/finalize.d.ts +10 -10
- package/dist/commands/github/reconnect.d.ts +10 -10
- package/dist/commands/github/run.d.ts +12 -12
- package/dist/commands/github/tools.d.ts +11 -11
- package/dist/commands/goals/archive.d.ts +3 -3
- package/dist/commands/goals/briefing/disable.d.ts +1 -1
- package/dist/commands/goals/briefing/enable.d.ts +2 -2
- package/dist/commands/goals/briefing/preview.d.ts +1 -1
- package/dist/commands/goals/create.d.ts +13 -13
- package/dist/commands/goals/delete.d.ts +2 -2
- package/dist/commands/goals/descendants.d.ts +3 -3
- package/dist/commands/goals/key-results/create.d.ts +9 -9
- package/dist/commands/goals/key-results/delete.d.ts +3 -3
- package/dist/commands/goals/key-results/list.d.ts +2 -2
- package/dist/commands/goals/key-results/show.d.ts +3 -3
- package/dist/commands/goals/key-results/update.d.ts +11 -11
- package/dist/commands/goals/labels/add.d.ts +3 -3
- package/dist/commands/goals/labels/list.d.ts +2 -2
- package/dist/commands/goals/labels/remove.d.ts +3 -3
- package/dist/commands/goals/list.d.ts +9 -9
- package/dist/commands/goals/open.d.ts +4 -4
- package/dist/commands/goals/plan-now.d.ts +3 -3
- package/dist/commands/goals/planner-config.d.ts +7 -7
- package/dist/commands/goals/revisions.d.ts +2 -2
- package/dist/commands/goals/show.d.ts +2 -2
- package/dist/commands/goals/tasks.d.ts +5 -5
- package/dist/commands/goals/update.d.ts +13 -13
- package/dist/commands/google-chat/list-channels.d.ts +3 -3
- package/dist/commands/google-chat/list-users.d.ts +4 -4
- package/dist/commands/google-chat/read-channel.d.ts +5 -5
- package/dist/commands/google-chat/read-thread.d.ts +6 -6
- package/dist/commands/google-chat/run.d.ts +5 -5
- package/dist/commands/google-chat/search.d.ts +5 -5
- package/dist/commands/google-chat/send-as-agent.d.ts +6 -6
- package/dist/commands/google-chat/tools.d.ts +2 -2
- package/dist/commands/grants/create.d.ts +11 -11
- package/dist/commands/grants/delete.d.ts +2 -2
- package/dist/commands/grants/list.d.ts +4 -4
- package/dist/commands/grants/revoke.d.ts +3 -3
- package/dist/commands/grants/rotate.d.ts +4 -4
- package/dist/commands/grants/update.d.ts +3 -3
- package/dist/commands/harnesses/alias.d.ts +4 -4
- package/dist/commands/harnesses/forget.d.ts +3 -3
- package/dist/commands/harnesses/grants/add.d.ts +10 -10
- package/dist/commands/harnesses/grants/list.d.ts +3 -3
- package/dist/commands/harnesses/grants/revoke.d.ts +3 -3
- package/dist/commands/harnesses/install-token.d.ts +2 -2
- package/dist/commands/harnesses/install.d.ts +4 -4
- package/dist/commands/harnesses/installers.d.ts +2 -2
- package/dist/commands/harnesses/leases/action.d.ts +4 -4
- package/dist/commands/harnesses/leases/billing.d.ts +4 -4
- package/dist/commands/harnesses/leases/list.d.ts +4 -4
- package/dist/commands/harnesses/leases/release.d.ts +3 -3
- package/dist/commands/harnesses/leases/show.d.ts +2 -2
- package/dist/commands/harnesses/list.d.ts +9 -9
- package/dist/commands/harnesses/models.d.ts +2 -2
- package/dist/commands/harnesses/ping.d.ts +3 -3
- package/dist/commands/harnesses/products.d.ts +1 -1
- package/dist/commands/harnesses/prune.d.ts +4 -4
- package/dist/commands/harnesses/quota.d.ts +7 -7
- package/dist/commands/harnesses/set-default.d.ts +3 -3
- package/dist/commands/harnesses/show.d.ts +2 -2
- package/dist/commands/harnesses/update.d.ts +11 -11
- package/dist/commands/harnesses/usage.d.ts +2 -2
- package/dist/commands/inbox/index.d.ts +7 -7
- package/dist/commands/ingress/create.d.ts +8 -8
- package/dist/commands/ingress/delete.d.ts +2 -2
- package/dist/commands/ingress/list.d.ts +1 -1
- package/dist/commands/ingress/rotate.d.ts +2 -2
- package/dist/commands/initiatives/decide.d.ts +8 -8
- package/dist/commands/initiatives/list.d.ts +6 -6
- package/dist/commands/instruction-blocks/create.d.ts +11 -11
- package/dist/commands/instruction-blocks/delete.d.ts +3 -3
- package/dist/commands/instruction-blocks/list.d.ts +4 -4
- package/dist/commands/instruction-blocks/show.d.ts +2 -2
- package/dist/commands/instruction-blocks/update.d.ts +12 -12
- package/dist/commands/instructions/activate.d.ts +3 -3
- package/dist/commands/instructions/archive-version.d.ts +3 -3
- package/dist/commands/instructions/create.d.ts +6 -6
- package/dist/commands/instructions/delete.d.ts +3 -3
- package/dist/commands/instructions/diff.d.ts +4 -4
- package/dist/commands/instructions/guide.d.ts +8 -8
- package/dist/commands/instructions/guide.js +8 -1
- package/dist/commands/instructions/install.d.ts +10 -10
- package/dist/commands/instructions/list.d.ts +3 -3
- package/dist/commands/instructions/purge-target.d.ts +4 -4
- package/dist/commands/instructions/remove.d.ts +2 -2
- package/dist/commands/instructions/restore-target.d.ts +2 -2
- package/dist/commands/instructions/restore.d.ts +2 -2
- package/dist/commands/instructions/setup.d.ts +6 -6
- package/dist/commands/instructions/show.d.ts +3 -3
- package/dist/commands/instructions/status.d.ts +2 -2
- package/dist/commands/instructions/update-target.d.ts +7 -7
- package/dist/commands/instructions/update.d.ts +8 -8
- package/dist/commands/integrations/connections/connect.d.ts +11 -11
- package/dist/commands/integrations/connections/disconnect.d.ts +9 -9
- package/dist/commands/integrations/connections/finalize.d.ts +10 -10
- package/dist/commands/integrations/connections/list.d.ts +8 -8
- package/dist/commands/integrations/connections/reconnect.d.ts +11 -11
- package/dist/commands/integrations/execute.d.ts +12 -12
- package/dist/commands/integrations/search.d.ts +10 -10
- package/dist/commands/integrations/toolkits.d.ts +7 -7
- package/dist/commands/integrations/tools/allow.d.ts +10 -10
- package/dist/commands/integrations/tools/list.d.ts +9 -9
- package/dist/commands/labels/archive.d.ts +2 -2
- package/dist/commands/labels/create.d.ts +10 -10
- package/dist/commands/labels/delete.d.ts +3 -3
- package/dist/commands/labels/list.d.ts +6 -6
- package/dist/commands/labels/palette.d.ts +1 -1
- package/dist/commands/labels/reorder.d.ts +4 -4
- package/dist/commands/labels/restore.d.ts +3 -3
- package/dist/commands/labels/update.d.ts +11 -11
- package/dist/commands/lark/list-channels.d.ts +3 -3
- package/dist/commands/lark/list-users.d.ts +4 -4
- package/dist/commands/lark/read-channel.d.ts +5 -5
- package/dist/commands/lark/read-thread.d.ts +6 -6
- package/dist/commands/lark/run.d.ts +5 -5
- package/dist/commands/lark/search.d.ts +5 -5
- package/dist/commands/lark/send-as-agent.d.ts +6 -6
- package/dist/commands/lark/tools.d.ts +2 -2
- package/dist/commands/learning/adapters.d.ts +6 -6
- package/dist/commands/learning/delete.d.ts +2 -2
- package/dist/commands/learning/export.d.ts +5 -5
- package/dist/commands/learning/reset.d.ts +2 -2
- package/dist/commands/learning/set.d.ts +3 -3
- package/dist/commands/learning/status.d.ts +1 -1
- package/dist/commands/list-daemons.d.ts +3 -3
- package/dist/commands/list-tokens.d.ts +2 -2
- package/dist/commands/login.d.ts +7 -7
- package/dist/commands/logout.d.ts +2 -2
- package/dist/commands/machines/computer-adoption.d.ts +1 -1
- package/dist/commands/machines/dedicated/agent-browser.d.ts +4 -4
- package/dist/commands/machines/dedicated/archive.d.ts +4 -4
- package/dist/commands/machines/dedicated/attach.d.ts +5 -5
- package/dist/commands/machines/dedicated/audit.d.ts +8 -8
- package/dist/commands/machines/dedicated/catalog.d.ts +1 -1
- package/dist/commands/machines/dedicated/computer.d.ts +4 -4
- package/dist/commands/machines/dedicated/cp.d.ts +6 -6
- package/dist/commands/machines/dedicated/create.d.ts +17 -17
- package/dist/commands/machines/dedicated/current.d.ts +2 -2
- package/dist/commands/machines/dedicated/destroy.d.ts +8 -8
- package/dist/commands/machines/dedicated/exec.d.ts +8 -8
- package/dist/commands/machines/dedicated/git-status.d.ts +3 -3
- package/dist/commands/machines/dedicated/grow.d.ts +7 -7
- package/dist/commands/machines/dedicated/health-check.d.ts +2 -2
- package/dist/commands/machines/dedicated/incident-close.d.ts +3 -3
- package/dist/commands/machines/dedicated/list.d.ts +3 -3
- package/dist/commands/machines/dedicated/logs.d.ts +5 -5
- package/dist/commands/machines/dedicated/ls.d.ts +6 -6
- package/dist/commands/machines/dedicated/mkdir.d.ts +3 -3
- package/dist/commands/machines/dedicated/mv.d.ts +5 -5
- package/dist/commands/machines/dedicated/power/explain.d.ts +2 -2
- package/dist/commands/machines/dedicated/power/keep-awake.d.ts +5 -5
- package/dist/commands/machines/dedicated/power/set.d.ts +6 -6
- package/dist/commands/machines/dedicated/power/show.d.ts +2 -2
- package/dist/commands/machines/dedicated/power/waiting.d.ts +2 -2
- package/dist/commands/machines/dedicated/price-book.d.ts +1 -1
- package/dist/commands/machines/dedicated/restart.d.ts +5 -5
- package/dist/commands/machines/dedicated/restore.d.ts +9 -9
- package/dist/commands/machines/dedicated/rm.d.ts +5 -5
- package/dist/commands/machines/dedicated/search.d.ts +9 -9
- package/dist/commands/machines/dedicated/service/apply.d.ts +3 -3
- package/dist/commands/machines/dedicated/service/approve.d.ts +4 -4
- package/dist/commands/machines/dedicated/service/create.d.ts +16 -16
- package/dist/commands/machines/dedicated/service/edit.d.ts +4 -4
- package/dist/commands/machines/dedicated/service/exec.d.ts +5 -5
- package/dist/commands/machines/dedicated/service/export.d.ts +5 -5
- package/dist/commands/machines/dedicated/service/logs.d.ts +5 -5
- package/dist/commands/machines/dedicated/service/ls.d.ts +2 -2
- package/dist/commands/machines/dedicated/service/restart.d.ts +3 -3
- package/dist/commands/machines/dedicated/service/rm.d.ts +3 -3
- package/dist/commands/machines/dedicated/service/secret/rm.d.ts +4 -4
- package/dist/commands/machines/dedicated/service/secret/set.d.ts +5 -5
- package/dist/commands/machines/dedicated/service/start.d.ts +3 -3
- package/dist/commands/machines/dedicated/service/status.d.ts +3 -3
- package/dist/commands/machines/dedicated/service/stop.d.ts +3 -3
- package/dist/commands/machines/dedicated/service/top.d.ts +3 -3
- package/dist/commands/machines/dedicated/show.d.ts +2 -2
- package/dist/commands/machines/dedicated/sign-in-status.d.ts +2 -2
- package/dist/commands/machines/dedicated/sign-in.d.ts +2 -2
- package/dist/commands/machines/dedicated/snapshot.d.ts +5 -5
- package/dist/commands/machines/dedicated/spending-limit.d.ts +4 -4
- package/dist/commands/machines/dedicated/ssh-config.d.ts +4 -4
- package/dist/commands/machines/dedicated/ssh-proxy.d.ts +1 -1
- package/dist/commands/machines/dedicated/ssh.d.ts +2 -2
- package/dist/commands/machines/dedicated/start.d.ts +5 -5
- package/dist/commands/machines/dedicated/stat.d.ts +4 -4
- package/dist/commands/machines/dedicated/stop.d.ts +5 -5
- package/dist/commands/machines/dedicated/terminal/kill.d.ts +3 -3
- package/dist/commands/machines/dedicated/terminal/ls.d.ts +2 -2
- package/dist/commands/machines/dedicated/terminal/rename.d.ts +4 -4
- package/dist/commands/machines/dedicated/terminal.d.ts +6 -6
- package/dist/commands/machines/dedicated/update-image.d.ts +5 -5
- package/dist/commands/machines/disconnect.d.ts +3 -3
- package/dist/commands/machines/hosted/connect.d.ts +4 -4
- package/dist/commands/machines/hosted/destroy.d.ts +3 -3
- package/dist/commands/machines/hosted/exec.d.ts +7 -7
- package/dist/commands/machines/hosted/list.d.ts +4 -4
- package/dist/commands/machines/hosted/pause.d.ts +3 -3
- package/dist/commands/machines/hosted/pull.d.ts +9 -9
- package/dist/commands/machines/hosted/resume.d.ts +6 -6
- package/dist/commands/machines/hosted/start.d.ts +18 -18
- package/dist/commands/machines/hosted/status.d.ts +6 -6
- package/dist/commands/machines/list.d.ts +2 -2
- package/dist/commands/machines/services/declare.d.ts +6 -6
- package/dist/commands/machines/services/ls.d.ts +2 -2
- package/dist/commands/machines/services/withdraw.d.ts +3 -3
- package/dist/commands/machines/share.d.ts +4 -4
- package/dist/commands/machines/shared.d.ts +1 -1
- package/dist/commands/machines/shares.d.ts +2 -2
- package/dist/commands/machines/show.d.ts +3 -3
- package/dist/commands/machines/unshare.d.ts +3 -3
- package/dist/commands/machines/update.d.ts +6 -6
- package/dist/commands/managed-execution/show.d.ts +1 -1
- package/dist/commands/measures/confirm.d.ts +4 -4
- package/dist/commands/measures/create.d.ts +10 -10
- package/dist/commands/measures/list.d.ts +4 -4
- package/dist/commands/measures/record.d.ts +7 -7
- package/dist/commands/measures/show.d.ts +2 -2
- package/dist/commands/measures/tasks.d.ts +7 -7
- package/dist/commands/memory/approvals/issue.d.ts +11 -11
- package/dist/commands/memory/commit.d.ts +5 -5
- package/dist/commands/memory/context.d.ts +8 -8
- package/dist/commands/memory/daily-log.d.ts +3 -3
- package/dist/commands/memory/delete.d.ts +5 -5
- package/dist/commands/memory/governance/index.d.ts +2 -2
- package/dist/commands/memory/governance/set.d.ts +7 -7
- package/dist/commands/memory/list.d.ts +4 -4
- package/dist/commands/memory/maintain.d.ts +4 -4
- package/dist/commands/memory/mounts/resolve.d.ts +3 -3
- package/dist/commands/memory/observe.d.ts +9 -9
- package/dist/commands/memory/preferences.d.ts +3 -3
- package/dist/commands/memory/proposals/commit.d.ts +9 -9
- package/dist/commands/memory/proposals/create.d.ts +11 -11
- package/dist/commands/memory/proposals/list.d.ts +6 -6
- package/dist/commands/memory/proposals/promote.d.ts +15 -15
- package/dist/commands/memory/proposals/reject.d.ts +7 -7
- package/dist/commands/memory/provenance.d.ts +3 -3
- package/dist/commands/memory/read.d.ts +5 -5
- package/dist/commands/memory/rebuild-index.d.ts +11 -11
- package/dist/commands/memory/rebuild.d.ts +3 -3
- package/dist/commands/memory/save.d.ts +7 -7
- package/dist/commands/memory/search.d.ts +10 -10
- package/dist/commands/memory/show.d.ts +5 -5
- package/dist/commands/memory/stores/archive.d.ts +7 -7
- package/dist/commands/memory/stores/create.d.ts +5 -5
- package/dist/commands/memory/stores/delete.d.ts +8 -8
- package/dist/commands/memory/stores/list.d.ts +3 -3
- package/dist/commands/memory/stores/show.d.ts +5 -5
- package/dist/commands/memory/stores/update.d.ts +8 -8
- package/dist/commands/memory/sync/delete.d.ts +4 -4
- package/dist/commands/memory/sync/pull.d.ts +12 -12
- package/dist/commands/memory/sync/push.d.ts +11 -11
- package/dist/commands/memory/sync/resolve.d.ts +14 -14
- package/dist/commands/memory/sync/status.d.ts +2 -2
- package/dist/commands/memory/topics/archive.d.ts +11 -11
- package/dist/commands/memory/topics/create.d.ts +16 -16
- package/dist/commands/memory/topics/delete.d.ts +13 -13
- package/dist/commands/memory/topics/forget.d.ts +13 -13
- package/dist/commands/memory/topics/list.d.ts +6 -6
- package/dist/commands/memory/topics/move.d.ts +13 -13
- package/dist/commands/memory/topics/show.d.ts +8 -8
- package/dist/commands/memory/topics/update.d.ts +14 -14
- package/dist/commands/memory/tree.d.ts +6 -6
- package/dist/commands/memory/update.d.ts +7 -7
- package/dist/commands/memory/versions/list.d.ts +7 -7
- package/dist/commands/memory/versions/redact.d.ts +12 -12
- package/dist/commands/memory/versions/restore.d.ts +11 -11
- package/dist/commands/memory/versions/show.d.ts +6 -6
- package/dist/commands/messages/edit-artifact.d.ts +6 -6
- package/dist/commands/messages/feedback.d.ts +7 -7
- package/dist/commands/messages/list.d.ts +5 -5
- package/dist/commands/messages/show.d.ts +3 -3
- package/dist/commands/messages/update-content.d.ts +5 -5
- package/dist/commands/messages/update.d.ts +5 -5
- package/dist/commands/native/allow-all.d.ts +2 -2
- package/dist/commands/native/allow.d.ts +3 -3
- package/dist/commands/native/deny.d.ts +3 -3
- package/dist/commands/native/disable.d.ts +2 -2
- package/dist/commands/native/enable.d.ts +3 -3
- package/dist/commands/native/list-apps.d.ts +2 -2
- package/dist/commands/native/restrict-to.d.ts +3 -3
- package/dist/commands/native/status.d.ts +2 -2
- package/dist/commands/native.d.ts +1 -1
- package/dist/commands/northstars/create.d.ts +12 -12
- package/dist/commands/northstars/delete.d.ts +3 -3
- package/dist/commands/northstars/governance/configure.d.ts +20 -20
- package/dist/commands/northstars/governance/show.d.ts +2 -2
- package/dist/commands/northstars/intents/decide.d.ts +6 -6
- package/dist/commands/northstars/intents/list.d.ts +4 -4
- package/dist/commands/northstars/link.d.ts +4 -4
- package/dist/commands/northstars/list.d.ts +3 -3
- package/dist/commands/northstars/recommendations/apply.d.ts +3 -3
- package/dist/commands/northstars/recommendations/dismiss.d.ts +3 -3
- package/dist/commands/northstars/recommendations/list.d.ts +3 -3
- package/dist/commands/northstars/review-now.d.ts +2 -2
- package/dist/commands/northstars/reviews.d.ts +5 -5
- package/dist/commands/northstars/show.d.ts +2 -2
- package/dist/commands/northstars/unlink.d.ts +3 -3
- package/dist/commands/northstars/update.d.ts +15 -15
- package/dist/commands/open.d.ts +3 -3
- package/dist/commands/outbox/drop.d.ts +2 -2
- package/dist/commands/outbox/list.d.ts +1 -1
- package/dist/commands/outbox/retry.d.ts +3 -3
- package/dist/commands/payments/wallet.d.ts +2 -2
- package/dist/commands/profiles/list.d.ts +1 -1
- package/dist/commands/projects/activity.d.ts +5 -5
- package/dist/commands/projects/archive.d.ts +5 -5
- package/dist/commands/projects/create.d.ts +9 -9
- package/dist/commands/projects/delete.d.ts +5 -5
- package/dist/commands/projects/docs/attach.d.ts +5 -5
- package/dist/commands/projects/docs/detach.d.ts +5 -5
- package/dist/commands/projects/docs/list.d.ts +3 -3
- package/dist/commands/projects/goals.d.ts +6 -6
- package/dist/commands/projects/list.d.ts +9 -9
- package/dist/commands/projects/members.d.ts +7 -7
- package/dist/commands/projects/open.d.ts +5 -5
- package/dist/commands/projects/overview.d.ts +5 -5
- package/dist/commands/projects/promote.d.ts +4 -4
- package/dist/commands/projects/reorder.d.ts +4 -4
- package/dist/commands/projects/revisions.d.ts +5 -5
- package/dist/commands/projects/show.d.ts +3 -3
- package/dist/commands/projects/summary.d.ts +3 -3
- package/dist/commands/projects/tasks.d.ts +6 -6
- package/dist/commands/projects/update.d.ts +8 -8
- package/dist/commands/projects/updates/add.d.ts +10 -10
- package/dist/commands/projects/updates/archive.d.ts +4 -4
- package/dist/commands/projects/updates/cadence.d.ts +10 -10
- package/dist/commands/projects/updates/draft.d.ts +4 -4
- package/dist/commands/projects/updates/edit.d.ts +10 -10
- package/dist/commands/projects/updates/list.d.ts +5 -5
- package/dist/commands/projects/updates/post.d.ts +7 -7
- package/dist/commands/projects/updates/show.d.ts +4 -4
- package/dist/commands/projects/upsert.d.ts +9 -9
- package/dist/commands/proposals/discard.d.ts +2 -2
- package/dist/commands/proposals/keep.d.ts +2 -2
- package/dist/commands/proposals/list.d.ts +8 -8
- package/dist/commands/proposals/show.d.ts +3 -3
- package/dist/commands/proposals/snooze.d.ts +2 -2
- package/dist/commands/requests/cancel.d.ts +2 -2
- package/dist/commands/requests/comments/add.d.ts +5 -5
- package/dist/commands/requests/comments/delete.d.ts +3 -3
- package/dist/commands/requests/comments/list.d.ts +3 -3
- package/dist/commands/requests/create.d.ts +9 -9
- package/dist/commands/requests/list.d.ts +3 -3
- package/dist/commands/requests/pending.d.ts +1 -1
- package/dist/commands/requests/resolve.d.ts +6 -6
- package/dist/commands/requests/show.d.ts +2 -2
- package/dist/commands/revoke-daemon.d.ts +3 -3
- package/dist/commands/revoke-token.d.ts +2 -2
- package/dist/commands/search/agents.d.ts +4 -4
- package/dist/commands/search/all.d.ts +3 -3
- package/dist/commands/search/skills.d.ts +5 -5
- package/dist/commands/search/spaces.d.ts +5 -5
- package/dist/commands/search/tasks.d.ts +6 -6
- package/dist/commands/search/teams.d.ts +3 -3
- package/dist/commands/security/overview.d.ts +2 -2
- package/dist/commands/service/logs.d.ts +3 -3
- package/dist/commands/service/ls.d.ts +1 -1
- package/dist/commands/service/propose.d.ts +12 -12
- package/dist/commands/service/status.d.ts +2 -2
- package/dist/commands/set-capabilities.d.ts +3 -3
- package/dist/commands/shares/create.d.ts +3 -3
- package/dist/commands/shares/delete.d.ts +2 -2
- package/dist/commands/shares/get.d.ts +2 -2
- package/dist/commands/shares/link-for.d.ts +2 -2
- package/dist/commands/shares/list.d.ts +7 -7
- package/dist/commands/shares/update.d.ts +2 -2
- package/dist/commands/shortcuts/create.d.ts +11 -11
- package/dist/commands/shortcuts/create.js +1 -34
- package/dist/commands/shortcuts/delete.d.ts +2 -2
- package/dist/commands/shortcuts/list.d.ts +2 -2
- package/dist/commands/shortcuts/reorder.d.ts +3 -3
- package/dist/commands/shortcuts/show.d.ts +2 -2
- package/dist/commands/shortcuts/trigger.d.ts +2 -2
- package/dist/commands/shortcuts/update.d.ts +11 -11
- package/dist/commands/shortcuts/update.js +1 -34
- package/dist/commands/signals/monitors/create.d.ts +2 -2
- package/dist/commands/signals/monitors/list.d.ts +1 -1
- package/dist/commands/signals/monitors/pause.d.ts +2 -2
- package/dist/commands/signals/monitors/resume.d.ts +2 -2
- package/dist/commands/signals/monitors/revise.d.ts +3 -3
- package/dist/commands/signals/monitors/show.d.ts +2 -2
- package/dist/commands/signals/monitors/test.d.ts +3 -3
- package/dist/commands/signals/monitors/transitions.d.ts +2 -2
- package/dist/commands/signals/monitors/validate.d.ts +2 -2
- package/dist/commands/signals/schemas/list.d.ts +1 -1
- package/dist/commands/signals/schemas/show.d.ts +2 -2
- package/dist/commands/signals/sources/list.d.ts +1 -1
- package/dist/commands/signals/sources/receipts.d.ts +2 -2
- package/dist/commands/signals/sources/show.d.ts +2 -2
- package/dist/commands/skills/browse.d.ts +4 -4
- package/dist/commands/skills/categories.d.ts +3 -3
- package/dist/commands/skills/details.d.ts +2 -2
- package/dist/commands/skills/duplicate.d.ts +4 -4
- package/dist/commands/skills/featured.d.ts +2 -2
- package/dist/commands/skills/import-as-actions.d.ts +9 -9
- package/dist/commands/skills/install.d.ts +4 -4
- package/dist/commands/skills/invocable.d.ts +3 -3
- package/dist/commands/skills/library.d.ts +4 -4
- package/dist/commands/skills/local.d.ts +5 -5
- package/dist/commands/skills/search.d.ts +5 -5
- package/dist/commands/skills/visibility.d.ts +5 -5
- package/dist/commands/slack/list-channels.d.ts +7 -7
- package/dist/commands/slack/list-usergroups.d.ts +4 -4
- package/dist/commands/slack/list-users.d.ts +7 -7
- package/dist/commands/slack/read-channel.d.ts +8 -8
- package/dist/commands/slack/read-thread.d.ts +7 -7
- package/dist/commands/slack/run.d.ts +5 -5
- package/dist/commands/slack/search.d.ts +8 -8
- package/dist/commands/slack/send-as-agent.d.ts +8 -8
- package/dist/commands/slack/tools.d.ts +2 -2
- package/dist/commands/space-directory-views/create.d.ts +6 -6
- package/dist/commands/space-directory-views/delete.d.ts +4 -4
- package/dist/commands/space-directory-views/list.d.ts +1 -1
- package/dist/commands/space-directory-views/show.d.ts +2 -2
- package/dist/commands/space-directory-views/update.d.ts +7 -7
- package/dist/commands/spaces/actions/add.d.ts +9 -9
- package/dist/commands/spaces/actions/available.d.ts +2 -2
- package/dist/commands/spaces/actions/delete.d.ts +4 -4
- package/dist/commands/spaces/actions/list.d.ts +3 -3
- package/dist/commands/spaces/actions/replace.d.ts +5 -5
- package/dist/commands/spaces/actions/run.d.ts +3 -3
- package/dist/commands/spaces/actions/update.d.ts +9 -9
- package/dist/commands/spaces/archive.d.ts +2 -2
- package/dist/commands/spaces/auto-executor/preview.d.ts +2 -2
- package/dist/commands/spaces/auto-executor/run.d.ts +2 -2
- package/dist/commands/spaces/auto-executor/runs.d.ts +3 -3
- package/dist/commands/spaces/auto-executor/update.d.ts +11 -11
- package/dist/commands/spaces/bootstrap.d.ts +2 -2
- package/dist/commands/spaces/briefs/delete.d.ts +4 -4
- package/dist/commands/spaces/briefs/get.d.ts +4 -4
- package/dist/commands/spaces/briefs/list.d.ts +2 -2
- package/dist/commands/spaces/briefs/set.d.ts +10 -10
- package/dist/commands/spaces/capacity.d.ts +3 -3
- package/dist/commands/spaces/claim.d.ts +2 -2
- package/dist/commands/spaces/conversations.d.ts +4 -4
- package/dist/commands/spaces/create.d.ts +17 -17
- package/dist/commands/spaces/cycles/create.d.ts +7 -7
- package/dist/commands/spaces/cycles/graph.d.ts +4 -4
- package/dist/commands/spaces/cycles/list.d.ts +4 -4
- package/dist/commands/spaces/cycles/settings.d.ts +6 -6
- package/dist/commands/spaces/cycles/show.d.ts +3 -3
- package/dist/commands/spaces/cycles/update.d.ts +8 -8
- package/dist/commands/spaces/delete.d.ts +2 -2
- package/dist/commands/spaces/expertise-suggestions.d.ts +2 -2
- package/dist/commands/spaces/files/delete.d.ts +4 -4
- package/dist/commands/spaces/files/folders/create.d.ts +5 -5
- package/dist/commands/spaces/files/folders/delete.d.ts +5 -5
- package/dist/commands/spaces/files/folders/list.d.ts +2 -2
- package/dist/commands/spaces/files/folders/update.d.ts +7 -7
- package/dist/commands/spaces/files/list.d.ts +2 -2
- package/dist/commands/spaces/files/move.d.ts +5 -5
- package/dist/commands/spaces/files/rename.d.ts +4 -4
- package/dist/commands/spaces/files/upload.d.ts +4 -4
- package/dist/commands/spaces/github-automations/set.d.ts +3 -3
- package/dist/commands/spaces/github-automations/show.d.ts +2 -2
- package/dist/commands/spaces/goals.d.ts +2 -2
- package/dist/commands/spaces/heartbeats/create.d.ts +11 -11
- package/dist/commands/spaces/heartbeats/delete.d.ts +4 -4
- package/dist/commands/spaces/heartbeats/list.d.ts +2 -2
- package/dist/commands/spaces/heartbeats/status.d.ts +3 -3
- package/dist/commands/spaces/heartbeats/update.d.ts +12 -12
- package/dist/commands/spaces/index.d.ts +1 -1
- package/dist/commands/spaces/insights.d.ts +14 -14
- package/dist/commands/spaces/install-template.d.ts +7 -7
- package/dist/commands/spaces/label-summaries.d.ts +1 -1
- package/dist/commands/spaces/labels/add.d.ts +3 -3
- package/dist/commands/spaces/labels/list.d.ts +2 -2
- package/dist/commands/spaces/labels/remove.d.ts +3 -3
- package/dist/commands/spaces/list.d.ts +11 -11
- package/dist/commands/spaces/live/cards/create.d.ts +10 -10
- package/dist/commands/spaces/live/cards/delete.d.ts +4 -4
- package/dist/commands/spaces/live/cards/list.d.ts +2 -2
- package/dist/commands/spaces/live/cards/reorder.d.ts +4 -4
- package/dist/commands/spaces/live/cards/update.d.ts +11 -11
- package/dist/commands/spaces/live/scene.d.ts +4 -4
- package/dist/commands/spaces/members/add.d.ts +8 -8
- package/dist/commands/spaces/members/list.d.ts +3 -3
- package/dist/commands/spaces/members/remove.d.ts +5 -5
- package/dist/commands/spaces/members/search.d.ts +3 -3
- package/dist/commands/spaces/move.d.ts +4 -4
- package/dist/commands/spaces/open.d.ts +4 -4
- package/dist/commands/spaces/ownership.d.ts +2 -2
- package/dist/commands/spaces/pin.d.ts +2 -2
- package/dist/commands/spaces/preferences/show.d.ts +2 -2
- package/dist/commands/spaces/preferences/tabs.d.ts +5 -5
- package/dist/commands/spaces/reorder.d.ts +6 -6
- package/dist/commands/spaces/revisions.d.ts +2 -2
- package/dist/commands/spaces/room/ensure.d.ts +2 -2
- package/dist/commands/spaces/room/messages.d.ts +5 -5
- package/dist/commands/spaces/room/send.d.ts +8 -8
- package/dist/commands/spaces/room/show.d.ts +2 -2
- package/dist/commands/spaces/show.d.ts +2 -2
- package/dist/commands/spaces/skills/add.d.ts +3 -3
- package/dist/commands/spaces/skills/list.d.ts +2 -2
- package/dist/commands/spaces/skills/pin.d.ts +4 -4
- package/dist/commands/spaces/skills/remove.d.ts +3 -3
- package/dist/commands/spaces/snapshot.d.ts +11 -11
- package/dist/commands/spaces/states/archive.d.ts +3 -3
- package/dist/commands/spaces/states/create.d.ts +7 -7
- package/dist/commands/spaces/states/list.d.ts +2 -2
- package/dist/commands/spaces/states/reorder.d.ts +3 -3
- package/dist/commands/spaces/states/update.d.ts +6 -6
- package/dist/commands/spaces/subspaces.d.ts +3 -3
- package/dist/commands/spaces/summary.d.ts +2 -2
- package/dist/commands/spaces/task-rollups.d.ts +1 -1
- package/dist/commands/spaces/tasks.d.ts +7 -7
- package/dist/commands/spaces/templates/create.d.ts +9 -9
- package/dist/commands/spaces/templates/delete.d.ts +3 -3
- package/dist/commands/spaces/templates/fork.d.ts +4 -4
- package/dist/commands/spaces/templates/index.d.ts +7 -7
- package/dist/commands/spaces/templates/purchase-status.d.ts +2 -2
- package/dist/commands/spaces/templates/rate.d.ts +4 -4
- package/dist/commands/spaces/templates/report.d.ts +4 -4
- package/dist/commands/spaces/templates/show.d.ts +3 -3
- package/dist/commands/spaces/templates/update.d.ts +11 -11
- package/dist/commands/spaces/templates/visibility.d.ts +7 -7
- package/dist/commands/spaces/transfer-workspace.d.ts +3 -3
- package/dist/commands/spaces/triggers/delete.d.ts +3 -3
- package/dist/commands/spaces/triggers/set.d.ts +26 -26
- package/dist/commands/spaces/triggers/show.d.ts +2 -2
- package/dist/commands/spaces/unarchive.d.ts +2 -2
- package/dist/commands/spaces/update.d.ts +26 -26
- package/dist/commands/spaces/usage.d.ts +3 -3
- package/dist/commands/spaces/views/create.d.ts +8 -8
- package/dist/commands/spaces/views/delete.d.ts +4 -4
- package/dist/commands/spaces/views/duplicate.d.ts +3 -3
- package/dist/commands/spaces/views/list.d.ts +2 -2
- package/dist/commands/spaces/views/reorder.d.ts +5 -5
- package/dist/commands/spaces/views/subscribe.d.ts +7 -7
- package/dist/commands/spaces/views/subscriptions.d.ts +3 -3
- package/dist/commands/spaces/views/unsubscribe.d.ts +3 -3
- package/dist/commands/spaces/views/update.d.ts +10 -10
- package/dist/commands/spaces/widgets/add.d.ts +4 -4
- package/dist/commands/spaces/widgets/list.d.ts +2 -2
- package/dist/commands/spaces/widgets/remove.d.ts +4 -4
- package/dist/commands/spaces/work-graph.d.ts +4 -4
- package/dist/commands/spaces/work-sync/reconcile.d.ts +2 -2
- package/dist/commands/spaces/work-sync/telemetry.d.ts +3 -3
- package/dist/commands/spaces/workflow-templates/archive.d.ts +4 -4
- package/dist/commands/spaces/workflow-templates/create.d.ts +8 -8
- package/dist/commands/spaces/workflow-templates/extract.d.ts +9 -9
- package/dist/commands/spaces/workflow-templates/insert.d.ts +9 -9
- package/dist/commands/spaces/workflow-templates/list.d.ts +7 -7
- package/dist/commands/spaces/workflow-templates/promote.d.ts +5 -5
- package/dist/commands/spaces/workflow-templates/publish.d.ts +4 -4
- package/dist/commands/spaces/workflow-templates/show.d.ts +5 -5
- package/dist/commands/spaces/workflow-templates/update.d.ts +8 -8
- package/dist/commands/spaces/workflow-templates/versions.d.ts +3 -3
- package/dist/commands/spaces/workflows/archive.d.ts +4 -4
- package/dist/commands/spaces/workflows/artifact.d.ts +5 -5
- package/dist/commands/spaces/workflows/cancel-node.d.ts +6 -6
- package/dist/commands/spaces/workflows/cancel.d.ts +5 -5
- package/dist/commands/spaces/workflows/create.d.ts +7 -7
- package/dist/commands/spaces/workflows/events.d.ts +4 -4
- package/dist/commands/spaces/workflows/fixtures/create.d.ts +11 -11
- package/dist/commands/spaces/workflows/fixtures/list.d.ts +4 -4
- package/dist/commands/spaces/workflows/lifecycle-diagnostics.d.ts +2 -2
- package/dist/commands/spaces/workflows/list.d.ts +2 -2
- package/dist/commands/spaces/workflows/node-types.d.ts +2 -2
- package/dist/commands/spaces/workflows/pause.d.ts +5 -5
- package/dist/commands/spaces/workflows/plan/show.d.ts +3 -3
- package/dist/commands/spaces/workflows/plan/update.d.ts +7 -7
- package/dist/commands/spaces/workflows/proposals/apply.d.ts +5 -5
- package/dist/commands/spaces/workflows/proposals/confirm.d.ts +5 -5
- package/dist/commands/spaces/workflows/proposals/create.d.ts +7 -7
- package/dist/commands/spaces/workflows/proposals/dismiss.d.ts +5 -5
- package/dist/commands/spaces/workflows/proposals/list.d.ts +3 -3
- package/dist/commands/spaces/workflows/publish.d.ts +3 -3
- package/dist/commands/spaces/workflows/reconcile.d.ts +3 -3
- package/dist/commands/spaces/workflows/resume.d.ts +4 -4
- package/dist/commands/spaces/workflows/retry.d.ts +4 -4
- package/dist/commands/spaces/workflows/run.d.ts +4 -4
- package/dist/commands/spaces/workflows/runs.d.ts +6 -6
- package/dist/commands/spaces/workflows/show.d.ts +3 -3
- package/dist/commands/spaces/workflows/signal.d.ts +7 -7
- package/dist/commands/spaces/workflows/start.d.ts +6 -6
- package/dist/commands/spaces/workflows/task-execution/create.d.ts +5 -5
- package/dist/commands/spaces/workflows/test.d.ts +7 -7
- package/dist/commands/spaces/workflows/triggers/create.d.ts +7 -7
- package/dist/commands/spaces/workflows/triggers/fire.d.ts +7 -7
- package/dist/commands/spaces/workflows/triggers/list.d.ts +3 -3
- package/dist/commands/spaces/workflows/triggers/update.d.ts +8 -8
- package/dist/commands/spaces/workflows/update.d.ts +13 -13
- package/dist/commands/spaces/workflows/validate.d.ts +3 -3
- package/dist/commands/step-up.d.ts +4 -4
- package/dist/commands/store/acquisitions/approve.d.ts +3 -3
- package/dist/commands/store/acquisitions/decline.d.ts +2 -2
- package/dist/commands/store/acquisitions/list.d.ts +3 -3
- package/dist/commands/store/acquisitions/show.d.ts +2 -2
- package/dist/commands/store/admissions/approve.d.ts +5 -5
- package/dist/commands/store/admissions/list.d.ts +2 -2
- package/dist/commands/store/admissions/refuse.d.ts +5 -5
- package/dist/commands/store/advisories/artifact.d.ts +6 -6
- package/dist/commands/store/advisories/cancel.d.ts +2 -2
- package/dist/commands/store/advisories/close.d.ts +4 -4
- package/dist/commands/store/advisories/confirm.d.ts +3 -3
- package/dist/commands/store/advisories/issue.d.ts +6 -6
- package/dist/commands/store/advisories/list.d.ts +4 -4
- package/dist/commands/store/advisories/show.d.ts +2 -2
- package/dist/commands/store/artifacts/release.d.ts +8 -8
- package/dist/commands/store/artifacts/used-by.d.ts +3 -3
- package/dist/commands/store/browse.d.ts +11 -11
- package/dist/commands/store/channel.d.ts +3 -3
- package/dist/commands/store/follow.d.ts +4 -4
- package/dist/commands/store/follows/list.d.ts +2 -2
- package/dist/commands/store/follows/remove.d.ts +2 -2
- package/dist/commands/store/governance/artifacts.d.ts +8 -8
- package/dist/commands/store/governance/assign.d.ts +5 -5
- package/dist/commands/store/governance/create-license.d.ts +2 -2
- package/dist/commands/store/governance/install-plan.d.ts +6 -6
- package/dist/commands/store/governance/license-policy.d.ts +6 -6
- package/dist/commands/store/governance/policy.d.ts +7 -7
- package/dist/commands/store/governance/publish-release.d.ts +2 -2
- package/dist/commands/store/governance/requests.d.ts +7 -7
- package/dist/commands/store/install.d.ts +9 -9
- package/dist/commands/store/installs.d.ts +1 -1
- package/dist/commands/store/issues.d.ts +10 -10
- package/dist/commands/store/maintainers/add.d.ts +4 -4
- package/dist/commands/store/maintainers/remove.d.ts +5 -5
- package/dist/commands/store/publishers/approve.d.ts +4 -4
- package/dist/commands/store/publishers/cancel.d.ts +2 -2
- package/dist/commands/store/publishers/claim.d.ts +3 -3
- package/dist/commands/store/publishers/confirm.d.ts +2 -2
- package/dist/commands/store/publishers/domains/begin.d.ts +3 -3
- package/dist/commands/store/publishers/domains/list.d.ts +2 -2
- package/dist/commands/store/publishers/domains/verify.d.ts +3 -3
- package/dist/commands/store/publishers/namespaces.d.ts +1 -1
- package/dist/commands/store/publishers/profile/draft.d.ts +4 -4
- package/dist/commands/store/publishers/profile/handle.d.ts +3 -3
- package/dist/commands/store/publishers/profile/hide.d.ts +3 -3
- package/dist/commands/store/publishers/profile/preview.d.ts +2 -2
- package/dist/commands/store/publishers/profile/publish.d.ts +3 -3
- package/dist/commands/store/publishers/profile/restore.d.ts +4 -4
- package/dist/commands/store/publishers/profile/revisions.d.ts +2 -2
- package/dist/commands/store/publishers/profile/show.d.ts +2 -2
- package/dist/commands/store/publishers/verified.d.ts +2 -2
- package/dist/commands/store/refund.d.ts +5 -5
- package/dist/commands/store/releases.d.ts +2 -2
- package/dist/commands/store/report.d.ts +5 -5
- package/dist/commands/store/reports/confirm-ban.d.ts +3 -3
- package/dist/commands/store/reports/disposition.d.ts +4 -4
- package/dist/commands/store/reports/list.d.ts +4 -4
- package/dist/commands/store/reports/withdraw-ban.d.ts +3 -3
- package/dist/commands/store/reports.d.ts +2 -2
- package/dist/commands/store/review.d.ts +5 -5
- package/dist/commands/store/reviews.d.ts +8 -8
- package/dist/commands/store/show.d.ts +2 -2
- package/dist/commands/store/signals.d.ts +2 -2
- package/dist/commands/store/star.d.ts +3 -3
- package/dist/commands/store/stars.d.ts +1 -1
- package/dist/commands/store/stats.d.ts +3 -3
- package/dist/commands/store/tip.d.ts +4 -4
- package/dist/commands/store/trial.d.ts +2 -2
- package/dist/commands/store/uninstall.d.ts +4 -4
- package/dist/commands/store/update.d.ts +7 -7
- package/dist/commands/store/updates.d.ts +1 -1
- package/dist/commands/store/watch.d.ts +3 -3
- package/dist/commands/subscriptions/cancel.d.ts +4 -4
- package/dist/commands/subscriptions/health.d.ts +2 -2
- package/dist/commands/subscriptions/list.d.ts +1 -1
- package/dist/commands/subscriptions/status.d.ts +2 -2
- package/dist/commands/subscriptions/subscribe.d.ts +6 -6
- package/dist/commands/tasks/actionability.d.ts +3 -3
- package/dist/commands/tasks/actions/attach.d.ts +5 -5
- package/dist/commands/tasks/actions/detach.d.ts +5 -5
- package/dist/commands/tasks/active.d.ts +4 -4
- package/dist/commands/tasks/activity.d.ts +3 -3
- package/dist/commands/tasks/ancestors.d.ts +2 -2
- package/dist/commands/tasks/approvals/create.d.ts +5 -5
- package/dist/commands/tasks/approvals/delete.d.ts +3 -3
- package/dist/commands/tasks/approvals/list.d.ts +2 -2
- package/dist/commands/tasks/approvals/resolve.d.ts +5 -5
- package/dist/commands/tasks/archive.d.ts +3 -3
- package/dist/commands/tasks/assign.d.ts +13 -13
- package/dist/commands/tasks/attachments/delete.d.ts +3 -3
- package/dist/commands/tasks/attachments/download.d.ts +4 -4
- package/dist/commands/tasks/attachments/list.d.ts +2 -2
- package/dist/commands/tasks/attachments/set-role.d.ts +4 -4
- package/dist/commands/tasks/attachments/upload.d.ts +4 -4
- package/dist/commands/tasks/bulk-update.d.ts +5 -5
- package/dist/commands/tasks/calendar.d.ts +3 -3
- package/dist/commands/tasks/cancel-cascade.d.ts +3 -3
- package/dist/commands/tasks/cascade-status.d.ts +2 -2
- package/dist/commands/tasks/chat/exchange.d.ts +8 -8
- package/dist/commands/tasks/chat/index.d.ts +8 -8
- package/dist/commands/tasks/chat/read.d.ts +3 -3
- package/dist/commands/tasks/chat/reindex.d.ts +2 -2
- package/dist/commands/tasks/chat/reopen.d.ts +3 -3
- package/dist/commands/tasks/chat/repair-attention.d.ts +2 -2
- package/dist/commands/tasks/chat/rotate.d.ts +4 -4
- package/dist/commands/tasks/chat/send.d.ts +5 -5
- package/dist/commands/tasks/checkout.d.ts +3 -3
- package/dist/commands/tasks/children.d.ts +2 -2
- package/dist/commands/tasks/comments/add.d.ts +12 -12
- package/dist/commands/tasks/comments/add.js +8 -36
- package/dist/commands/tasks/comments/anchor.d.ts +12 -12
- package/dist/commands/tasks/comments/delete.d.ts +3 -3
- package/dist/commands/tasks/comments/list.d.ts +5 -5
- package/dist/commands/tasks/comments/react.d.ts +4 -4
- package/dist/commands/tasks/comments/reopen.d.ts +3 -3
- package/dist/commands/tasks/comments/resolve.d.ts +3 -3
- package/dist/commands/tasks/communications.d.ts +4 -4
- package/dist/commands/tasks/complete.d.ts +20 -20
- package/dist/commands/tasks/complete.js +1 -34
- package/dist/commands/tasks/continue-ready.d.ts +10 -10
- package/dist/commands/tasks/continue.d.ts +8 -8
- package/dist/commands/tasks/create-tree.d.ts +16 -16
- package/dist/commands/tasks/create.d.ts +44 -44
- package/dist/commands/tasks/current.d.ts +1 -1
- package/dist/commands/tasks/delete.d.ts +3 -3
- package/dist/commands/tasks/deliverable/add.d.ts +14 -14
- package/dist/commands/tasks/deliverable/archive.d.ts +5 -5
- package/dist/commands/tasks/deliverable/confirm.d.ts +4 -4
- package/dist/commands/tasks/deliverable/list.d.ts +3 -3
- package/dist/commands/tasks/descendants.d.ts +3 -3
- package/dist/commands/tasks/dri-plan.d.ts +2 -2
- package/dist/commands/tasks/dri-run.d.ts +2 -2
- package/dist/commands/tasks/dri-status.d.ts +2 -2
- package/dist/commands/tasks/duplicate-pipeline.d.ts +4 -4
- package/dist/commands/tasks/economics-compare.d.ts +5 -5
- package/dist/commands/tasks/events/append.d.ts +11 -11
- package/dist/commands/tasks/events/list.d.ts +8 -8
- package/dist/commands/tasks/events/tail.d.ts +6 -6
- package/dist/commands/tasks/execution-state.d.ts +2 -2
- package/dist/commands/tasks/execution-summary.d.ts +2 -2
- package/dist/commands/tasks/execution-timeline.d.ts +4 -4
- package/dist/commands/tasks/expectations/assess.d.ts +14 -14
- package/dist/commands/tasks/expectations/evaluate.d.ts +4 -4
- package/dist/commands/tasks/expectations.d.ts +2 -2
- package/dist/commands/tasks/export.d.ts +35 -35
- package/dist/commands/tasks/follow-up.d.ts +26 -26
- package/dist/commands/tasks/fork.d.ts +8 -8
- package/dist/commands/tasks/forward.d.ts +4 -4
- package/dist/commands/tasks/from-message.d.ts +3 -3
- package/dist/commands/tasks/guide.d.ts +1 -1
- package/dist/commands/tasks/handover.d.ts +7 -7
- package/dist/commands/tasks/import.d.ts +10 -10
- package/dist/commands/tasks/input/answer.d.ts +6 -6
- package/dist/commands/tasks/input/dismiss.d.ts +3 -3
- package/dist/commands/tasks/input/show.d.ts +2 -2
- package/dist/commands/tasks/interrupt.d.ts +3 -3
- package/dist/commands/tasks/judge.d.ts +5 -5
- package/dist/commands/tasks/labels/attach.d.ts +3 -3
- package/dist/commands/tasks/labels/create.d.ts +5 -5
- package/dist/commands/tasks/labels/delete.d.ts +2 -2
- package/dist/commands/tasks/labels/detach.d.ts +3 -3
- package/dist/commands/tasks/labels/list.d.ts +1 -1
- package/dist/commands/tasks/labels/suggest.d.ts +2 -2
- package/dist/commands/tasks/lifecycle/attach.d.ts +5 -5
- package/dist/commands/tasks/lifecycle/definitions.d.ts +2 -2
- package/dist/commands/tasks/lifecycle/detach.d.ts +4 -4
- package/dist/commands/tasks/lifecycle/history.d.ts +4 -4
- package/dist/commands/tasks/lifecycle/migrate.d.ts +4 -4
- package/dist/commands/tasks/lifecycle/reconcile.d.ts +2 -2
- package/dist/commands/tasks/lifecycle/reopen.d.ts +5 -5
- package/dist/commands/tasks/lifecycle/show.d.ts +2 -2
- package/dist/commands/tasks/lifecycle/start.d.ts +3 -3
- package/dist/commands/tasks/lifecycle/transition.d.ts +6 -6
- package/dist/commands/tasks/list.d.ts +49 -49
- package/dist/commands/tasks/mark-duplicate.d.ts +3 -3
- package/dist/commands/tasks/monitor.d.ts +6 -6
- package/dist/commands/tasks/move.d.ts +8 -8
- package/dist/commands/tasks/open.d.ts +5 -5
- package/dist/commands/tasks/output.d.ts +4 -4
- package/dist/commands/tasks/pause-schedule.d.ts +2 -2
- package/dist/commands/tasks/plan/add-subtask.d.ts +7 -7
- package/dist/commands/tasks/plan/cancel.d.ts +4 -4
- package/dist/commands/tasks/plan/create.d.ts +2 -2
- package/dist/commands/tasks/plan/pause.d.ts +5 -5
- package/dist/commands/tasks/plan/reconcile.d.ts +3 -3
- package/dist/commands/tasks/plan/resume.d.ts +4 -4
- package/dist/commands/tasks/plan/retry.d.ts +4 -4
- package/dist/commands/tasks/plan/run-update.d.ts +7 -7
- package/dist/commands/tasks/plan/run.d.ts +3 -3
- package/dist/commands/tasks/plan/show.d.ts +2 -2
- package/dist/commands/tasks/plan/start.d.ts +3 -3
- package/dist/commands/tasks/plan/sync.d.ts +2 -2
- package/dist/commands/tasks/plan/update.d.ts +3 -3
- package/dist/commands/tasks/pr.d.ts +3 -3
- package/dist/commands/tasks/preflight.d.ts +4 -4
- package/dist/commands/tasks/promote.d.ts +5 -5
- package/dist/commands/tasks/prompt-log.d.ts +2 -2
- package/dist/commands/tasks/ready.d.ts +7 -7
- package/dist/commands/tasks/rearm-recurrence.d.ts +4 -4
- package/dist/commands/tasks/release.d.ts +2 -2
- package/dist/commands/tasks/remind.d.ts +3 -3
- package/dist/commands/tasks/replay.d.ts +3 -3
- package/dist/commands/tasks/report.d.ts +10 -10
- package/dist/commands/tasks/resource/add.d.ts +13 -13
- package/dist/commands/tasks/resource/list.d.ts +4 -4
- package/dist/commands/tasks/result/show.d.ts +4 -4
- package/dist/commands/tasks/result/submit.d.ts +17 -17
- package/dist/commands/tasks/result/submit.js +1 -34
- package/dist/commands/tasks/resume/save.d.ts +7 -7
- package/dist/commands/tasks/resume/show.d.ts +4 -4
- package/dist/commands/tasks/resume-schedule.d.ts +2 -2
- package/dist/commands/tasks/retry-schedule.d.ts +3 -3
- package/dist/commands/tasks/retry.d.ts +5 -5
- package/dist/commands/tasks/review-queue.d.ts +5 -5
- package/dist/commands/tasks/review.d.ts +8 -8
- package/dist/commands/tasks/revisions.d.ts +2 -2
- package/dist/commands/tasks/runs.d.ts +2 -2
- package/dist/commands/tasks/schedule.d.ts +8 -8
- package/dist/commands/tasks/self-schedule.d.ts +8 -8
- package/dist/commands/tasks/show.d.ts +5 -5
- package/dist/commands/tasks/skills/pin.d.ts +5 -5
- package/dist/commands/tasks/skills/unpin.d.ts +5 -5
- package/dist/commands/tasks/snooze.d.ts +6 -6
- package/dist/commands/tasks/start-all.d.ts +3 -3
- package/dist/commands/tasks/start.d.ts +6 -6
- package/dist/commands/tasks/subscribe.d.ts +3 -3
- package/dist/commands/tasks/tags/add.d.ts +3 -3
- package/dist/commands/tasks/tags/remove.d.ts +3 -3
- package/dist/commands/tasks/templates/create.d.ts +11 -11
- package/dist/commands/tasks/templates/create.js +1 -34
- package/dist/commands/tasks/templates/delete.d.ts +2 -2
- package/dist/commands/tasks/templates/list.d.ts +2 -2
- package/dist/commands/tasks/templates/reorder.d.ts +3 -3
- package/dist/commands/tasks/templates/show.d.ts +2 -2
- package/dist/commands/tasks/templates/update.d.ts +10 -10
- package/dist/commands/tasks/templates/update.js +1 -34
- package/dist/commands/tasks/timeline.d.ts +7 -7
- package/dist/commands/tasks/today.d.ts +7 -7
- package/dist/commands/tasks/transcript.d.ts +6 -6
- package/dist/commands/tasks/tree.d.ts +6 -6
- package/dist/commands/tasks/triage.d.ts +8 -8
- package/dist/commands/tasks/trust.d.ts +5 -5
- package/dist/commands/tasks/unschedule.d.ts +2 -2
- package/dist/commands/tasks/unsnooze.d.ts +3 -3
- package/dist/commands/tasks/unsubscribe.d.ts +3 -3
- package/dist/commands/tasks/update.d.ts +45 -45
- package/dist/commands/tasks/updates/add.d.ts +13 -13
- package/dist/commands/tasks/updates/add.js +1 -34
- package/dist/commands/tasks/updates/list.d.ts +6 -6
- package/dist/commands/tasks/upsert.d.ts +20 -20
- package/dist/commands/tasks/wait.d.ts +9 -9
- package/dist/commands/tasks/waive.d.ts +4 -4
- package/dist/commands/tasks/watch.d.ts +8 -8
- package/dist/commands/tasks/workflow/approve-merge.d.ts +2 -2
- package/dist/commands/tasks/workflow/cancel.d.ts +3 -3
- package/dist/commands/tasks/workflow/e2e-complete.d.ts +7 -7
- package/dist/commands/tasks/workflow/index.d.ts +2 -2
- package/dist/commands/tasks/workflow/retry-stage.d.ts +3 -3
- package/dist/commands/tasks/workflow/start.d.ts +2 -2
- package/dist/commands/tasks/workflow-await.d.ts +5 -5
- package/dist/commands/tasks/workflow-context.d.ts +3 -3
- package/dist/commands/tasks/workflow-findings.d.ts +5 -5
- package/dist/commands/teams/list-channels.d.ts +3 -3
- package/dist/commands/teams/list-users.d.ts +4 -4
- package/dist/commands/teams/read-channel.d.ts +5 -5
- package/dist/commands/teams/read-thread.d.ts +6 -6
- package/dist/commands/teams/run.d.ts +5 -5
- package/dist/commands/teams/search.d.ts +5 -5
- package/dist/commands/teams/send-as-agent.d.ts +6 -6
- package/dist/commands/teams/tools.d.ts +2 -2
- package/dist/commands/token/list.d.ts +3 -3
- package/dist/commands/token/mint.d.ts +3 -3
- package/dist/commands/token/revoke.d.ts +2 -2
- package/dist/commands/tokens/create.d.ts +7 -7
- package/dist/commands/tokens/list.d.ts +2 -2
- package/dist/commands/tokens/revoke.d.ts +3 -3
- package/dist/commands/tones/apply.d.ts +4 -4
- package/dist/commands/tones/create.d.ts +11 -11
- package/dist/commands/tones/default.d.ts +3 -3
- package/dist/commands/tones/delete.d.ts +2 -2
- package/dist/commands/tones/export.d.ts +6 -6
- package/dist/commands/tones/import.d.ts +4 -4
- package/dist/commands/tones/list.d.ts +4 -4
- package/dist/commands/tones/policy/set.d.ts +8 -8
- package/dist/commands/tones/policy/show.d.ts +2 -2
- package/dist/commands/tones/show.d.ts +2 -2
- package/dist/commands/tones/update.d.ts +11 -11
- package/dist/commands/triggers/actions.d.ts +2 -2
- package/dist/commands/triggers/audit.d.ts +9 -9
- package/dist/commands/triggers/capabilities.d.ts +2 -2
- package/dist/commands/triggers/create.d.ts +73 -73
- package/dist/commands/triggers/delete.d.ts +3 -3
- package/dist/commands/triggers/disable.d.ts +2 -2
- package/dist/commands/triggers/enable.d.ts +2 -2
- package/dist/commands/triggers/event-catalog.d.ts +1 -1
- package/dist/commands/triggers/fire-detail.d.ts +3 -3
- package/dist/commands/triggers/fire.d.ts +4 -4
- package/dist/commands/triggers/list.d.ts +7 -7
- package/dist/commands/triggers/parse-intent.d.ts +8 -8
- package/dist/commands/triggers/preflight.d.ts +4 -4
- package/dist/commands/triggers/prune.d.ts +8 -8
- package/dist/commands/triggers/replay.d.ts +4 -4
- package/dist/commands/triggers/rotate-secret.d.ts +2 -2
- package/dist/commands/triggers/runs.d.ts +5 -5
- package/dist/commands/triggers/show.d.ts +2 -2
- package/dist/commands/triggers/update.d.ts +63 -63
- package/dist/commands/update.d.ts +5 -5
- package/dist/commands/usage.d.ts +3 -3
- package/dist/commands/views/create.d.ts +19 -19
- package/dist/commands/views/delete.d.ts +3 -3
- package/dist/commands/views/list.d.ts +1 -1
- package/dist/commands/views/show.d.ts +2 -2
- package/dist/commands/views/subscribe.d.ts +6 -6
- package/dist/commands/views/subscriptions.d.ts +2 -2
- package/dist/commands/views/unsubscribe.d.ts +2 -2
- package/dist/commands/views/update.d.ts +16 -16
- package/dist/commands/webhooks/create.d.ts +5 -5
- package/dist/commands/webhooks/delete.d.ts +2 -2
- package/dist/commands/webhooks/deliveries.d.ts +3 -3
- package/dist/commands/webhooks/list.d.ts +3 -3
- package/dist/commands/webhooks/test.d.ts +2 -2
- package/dist/commands/whoami.d.ts +1 -1
- package/dist/commands/widgets/add.d.ts +5 -5
- package/dist/commands/widgets/check.d.ts +5 -5
- package/dist/commands/widgets/list.d.ts +2 -2
- package/dist/commands/widgets/remove.d.ts +3 -3
- package/dist/commands/widgets/reorder.d.ts +4 -4
- package/dist/commands/widgets/revert.d.ts +4 -4
- package/dist/commands/widgets/save-as-app.d.ts +3 -3
- package/dist/commands/widgets/show.d.ts +3 -3
- package/dist/commands/widgets/update.d.ts +5 -5
- package/dist/commands/widgets/versions.d.ts +4 -4
- package/dist/commands/wiki/cat.d.ts +5 -5
- package/dist/commands/wiki/ls.d.ts +4 -4
- package/dist/commands/wiki/mkdir.d.ts +3 -3
- package/dist/commands/wiki/mv.d.ts +5 -5
- package/dist/commands/wiki/rm.d.ts +6 -6
- package/dist/commands/wiki/rmdir.d.ts +5 -5
- package/dist/commands/wiki/search.d.ts +4 -4
- package/dist/commands/wiki/tree.d.ts +3 -3
- package/dist/commands/wiki/update.d.ts +7 -7
- package/dist/commands/wiki/write.d.ts +9 -9
- package/dist/commands/work-views/create.d.ts +5 -5
- package/dist/commands/work-views/delete.d.ts +4 -4
- package/dist/commands/work-views/list.d.ts +1 -1
- package/dist/commands/work-views/result.d.ts +2 -2
- package/dist/commands/work-views/update.d.ts +6 -6
- package/dist/commands/worklog/list.d.ts +6 -6
- package/dist/commands/worklog/rm.d.ts +3 -3
- package/dist/commands/worklog/save.d.ts +8 -8
- package/dist/commands/worklog/search.d.ts +4 -4
- package/dist/commands/worklog/show.d.ts +3 -3
- package/dist/commands/worklog/stats.d.ts +2 -2
- package/dist/commands/worklog/update.d.ts +7 -7
- package/dist/commands/workspaces/attribution.d.ts +4 -4
- package/dist/commands/workspaces/audit.d.ts +8 -8
- package/dist/commands/workspaces/grants.d.ts +2 -2
- package/dist/commands/workspaces/list.d.ts +1 -1
- package/dist/commands/workspaces/members.d.ts +3 -3
- package/dist/commands/workspaces/stewardship.d.ts +3 -3
- package/dist/commands/workspaces/use.d.ts +3 -3
- package/dist/generated/managed-instruction-guides.json +2 -2
- package/dist/lib/agentic-stream.d.ts +5 -0
- package/dist/lib/agentic-stream.js +51 -2
- package/dist/lib/artifact-export.d.ts +8 -8
- package/dist/lib/channel-command-runners.d.ts +11 -11
- package/dist/lib/commerce-command.d.ts +2 -2
- package/dist/lib/commitment-endpoints.d.ts +1 -1
- package/dist/lib/computer-use.js +6 -1
- package/dist/lib/continuityPreferences.d.ts +3 -0
- package/dist/lib/continuityPreferences.js +42 -0
- package/dist/lib/dedicated-lease-command.d.ts +3 -3
- package/dist/lib/dedicated-service-command.d.ts +9 -9
- package/dist/lib/exec-runtime-binary.d.ts +1 -1
- package/dist/lib/exec-runtime-binary.js +3 -3
- package/dist/lib/first-party-harness-remote-install.d.ts +3 -3
- package/dist/lib/first-party-harness-remote-update.d.ts +3 -3
- package/dist/lib/followups.d.ts +1 -1
- package/dist/lib/label-scope.d.ts +3 -3
- package/dist/lib/list-output.d.ts +3 -3
- package/dist/lib/lookbackPlans.d.ts +14 -2
- package/dist/lib/lookbackPlans.js +34 -15
- package/dist/lib/member-output.d.ts +1 -1
- package/dist/lib/memory-scope.d.ts +3 -3
- package/dist/lib/proposal-decision-command.d.ts +7 -7
- package/dist/lib/publisher-profile-flags.d.ts +2 -2
- package/dist/lib/scoped-memory-command.d.ts +25 -25
- package/dist/lib/session-task-write.d.ts +1 -1
- package/dist/lib/space-custom-actions.d.ts +2 -2
- package/dist/lib/task-resolver.d.ts +8 -0
- package/dist/lib/task-resolver.js +18 -0
- package/dist/lib/write-target.d.ts +1 -1
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/aead.js +75 -59
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/authExpiredDetector.js +67 -80
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/authHelper.js +240 -294
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/cliHandoffWire.js +138 -165
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/commitmentExecutionContract.js +376 -492
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/computerUse.js +362 -330
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/computerWire.js +1106 -1235
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/configRoot.js +45 -59
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/credentialEnvelope.js +135 -202
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/credentialEnvelopeBridge.js +565 -888
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/credentialResolver.js +277 -417
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/credentialSession.js +82 -103
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonPair.js +362 -459
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonScopes.js +58 -90
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonToolApproval.js +144 -205
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/daemonWire.js +554 -623
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/dedicatedRuntimeBusyWire.js +113 -146
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/dedicatedRuntimeWakeWire.js +86 -108
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/desktopWire.js +74 -40
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/deviceIdentityBridge.js +533 -730
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/deviceKey.js +214 -329
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/dpop.js +132 -162
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/fdToken.js +173 -220
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/firstPartyHarness.js +322 -505
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/firstPartyHarnessChannels.js +70 -146
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/firstPartyHarnessHome.js +233 -343
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/firstPartyHarnessReleaseKeys.js +33 -103
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/firstPartyHarnessUpdater.js +761 -863
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/githubPushRefusal.js +59 -41
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/harnessPermissionControls.js +64 -57
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/harnessSkillLayout.js +44 -91
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/harnessTrust.js +65 -110
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/headers-helper.js +228 -304
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/index.js +568 -446
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/jwtUtils.js +44 -56
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/kek/index.js +145 -195
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/kek/linux.js +361 -596
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/kek/macos.js +332 -546
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/kek/types.js +32 -40
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/kek/windows.js +226 -330
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/kek/zeroize-registry.js +39 -54
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/legacyStatePreflight.js +117 -134
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/localIdentity.js +39 -56
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/loginLocalhost.js +216 -321
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/loginWithLocalhost.js +212 -337
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/loopbackHttp.js +214 -241
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/machineId.js +129 -212
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/machineUuid.js +265 -405
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/messages.js +51 -59
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/pkce.js +77 -145
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/profileStateDir.js +239 -344
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/recoveryCode.js +112 -190
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refresh.js +494 -953
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refreshClassification.js +79 -126
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/refreshScheduler.js +236 -310
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/releaseKeys.js +36 -92
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/releaseManifest.js +146 -283
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/releasePolicy.js +126 -151
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/releaseVersions.js +64 -41
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/restartArtifact.d.ts +10 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/restartArtifact.js +148 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/runtime.js +95 -109
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/sessionPermissionAuthority.js +42 -39
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/sessionRevocation.js +370 -453
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/spawnEnv.js +178 -266
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/telemetryRedaction.js +149 -237
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/toolApprovalSignature.js +245 -339
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/toolOperationOutcome.d.ts +16 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/toolOperationOutcome.js +75 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/ttlParser.js +71 -83
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/types.js +51 -32
- package/dist/node_modules/@skrr-ai/auth-core/dist/cjs/workspaceIsolationProbeWire.js +45 -45
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/restartArtifact.d.ts +10 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/restartArtifact.js +138 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/toolOperationOutcome.d.ts +16 -0
- package/dist/node_modules/@skrr-ai/auth-core/dist/esm/toolOperationOutcome.js +40 -0
- package/dist/node_modules/@skrr-ai/auth-core/package.json +21 -1
- package/dist/node_modules/@skrr-ai/data-provider/index.js +19880 -27012
- package/dist/node_modules/@skrr-ai/data-provider/package.json +1 -1
- package/dist/node_modules/@skrr-ai/inference-broker/dist/cjs/contract.js +93 -141
- package/dist/node_modules/@skrr-ai/inference-broker/dist/cjs/index.js +57 -89
- package/dist/node_modules/@skrr-ai/inference-broker/dist/cjs/loopback-server.js +204 -262
- package/dist/node_modules/@skrr-ai/inference-broker/dist/cjs/managed-inference-broker.js +681 -1041
- package/dist/node_modules/@skrr-ai/inference-broker/dist/cjs/managed-inference-renewal.js +145 -286
- package/dist/node_modules/@skrr-ai/inference-broker/package.json +1 -1
- package/dist/signal-command.d.ts +5 -5
- package/docs/v1/lookback-plans.md +58 -0
- package/oclif.manifest.json +432 -2
- package/package.json +4 -5
|
@@ -1,962 +1,639 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
4
11
|
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
exports
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
* (init + sign + persist + telemetry) from the pure-crypto primitive
|
|
54
|
-
* file `credentialEnvelope.ts` it composes.
|
|
55
|
-
*
|
|
56
|
-
* Failure mode contract:
|
|
57
|
-
* - KEK unavailable on this platform: transforms are passthrough; one
|
|
58
|
-
* `cred_envelope.kek_unavailable` telemetry event fires at init.
|
|
59
|
-
* - Init failure: transforms passthrough; never crashes the consumer.
|
|
60
|
-
* - Daemon configures `credEnvelopeFailClosed=true` so writes throw
|
|
61
|
-
* when not active. CLI leaves it unset; legacy `OVERSKY_KEK_REQUIRED=1`
|
|
62
|
-
* env var is still honored as a back-compat trigger.
|
|
63
|
-
*/
|
|
64
|
-
const node_crypto_1 = require("node:crypto");
|
|
65
|
-
const node_fs_1 = __importDefault(require("node:fs"));
|
|
66
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
67
|
-
const proper_lockfile_1 = __importDefault(require("proper-lockfile"));
|
|
68
|
-
const credentialEnvelope_js_1 = require("./credentialEnvelope.js");
|
|
69
|
-
const index_js_1 = require("./kek/index.js");
|
|
70
|
-
const profileStateDir_js_1 = require("./profileStateDir.js");
|
|
71
|
-
const refresh_js_1 = require("./refresh.js");
|
|
72
|
-
const runtime_js_1 = require("./runtime.js");
|
|
73
|
-
/**
|
|
74
|
-
* Account name the wrapped DEK lives under (file fallback). Keeping the
|
|
75
|
-
* literal here so a future rename surfaces as a single grep target.
|
|
76
|
-
*/
|
|
77
|
-
const ACCOUNT_CRED_DEK_WRAPPED = 'cred-dek-wrapped';
|
|
78
|
-
let _state = { kind: 'uninit' };
|
|
79
|
-
/**
|
|
80
|
-
* Sticky flag set by `initCredEnvelope` when the on-disk wrapped DEK
|
|
81
|
-
* exists but unwrap fails under a currently-available KEK — strong
|
|
82
|
-
* evidence the KEK was rotated underneath us. Persists across the init
|
|
83
|
-
* pass so `describeCredEnvelopeState()` and the `oversky status` surface
|
|
84
|
-
* can explain why local credentials were just re-enrolled.
|
|
85
|
-
*/
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var credentialEnvelopeBridge_exports = {};
|
|
30
|
+
__export(credentialEnvelopeBridge_exports, {
|
|
31
|
+
DEFAULT_UNREADABLE_CREDENTIAL_HINT: () => DEFAULT_UNREADABLE_CREDENTIAL_HINT,
|
|
32
|
+
__clearWarnDedupeForTest: () => __clearWarnDedupeForTest,
|
|
33
|
+
__getStateForTest: () => __getStateForTest,
|
|
34
|
+
__resetShutdownGuardForTest: () => __resetShutdownGuardForTest,
|
|
35
|
+
__setStateForTest: () => __setStateForTest,
|
|
36
|
+
__wrappedDekFilePathForTest: () => __wrappedDekFilePathForTest,
|
|
37
|
+
describeCredEnvelopeState: () => describeCredEnvelopeState,
|
|
38
|
+
hasCredEnvelopePathConflict: () => hasCredEnvelopePathConflict,
|
|
39
|
+
initCredEnvelope: () => initCredEnvelope,
|
|
40
|
+
isCredEnvelopeActive: () => isCredEnvelopeActive,
|
|
41
|
+
maybeDecryptOnRead: () => maybeDecryptOnRead,
|
|
42
|
+
maybeEncryptForWrite: () => maybeEncryptForWrite,
|
|
43
|
+
resetCredEnvelope: () => resetCredEnvelope,
|
|
44
|
+
shutdownCredEnvelope: () => shutdownCredEnvelope,
|
|
45
|
+
splitKeyConvergencePolicy: () => splitKeyConvergencePolicy,
|
|
46
|
+
wrapIfActiveOrPassthrough: () => wrapIfActiveOrPassthrough
|
|
47
|
+
});
|
|
48
|
+
module.exports = __toCommonJS(credentialEnvelopeBridge_exports);
|
|
49
|
+
var import_node_crypto = require("node:crypto");
|
|
50
|
+
var import_node_fs = __toESM(require("node:fs"), 1);
|
|
51
|
+
var import_node_path = __toESM(require("node:path"), 1);
|
|
52
|
+
var import_proper_lockfile = __toESM(require("proper-lockfile"), 1);
|
|
53
|
+
var import_credentialEnvelope = require("./credentialEnvelope.js");
|
|
54
|
+
var import_kek = require("./kek/index.js");
|
|
55
|
+
var import_profileStateDir = require("./profileStateDir.js");
|
|
56
|
+
var import_refresh = require("./refresh.js");
|
|
57
|
+
var import_runtime = require("./runtime.js");
|
|
58
|
+
const ACCOUNT_CRED_DEK_WRAPPED = "cred-dek-wrapped";
|
|
59
|
+
let _state = { kind: "uninit" };
|
|
86
60
|
let _kekRotationDetected = false;
|
|
87
|
-
/** @internal Test seam — force-set state, returns previous. */
|
|
88
61
|
function __setStateForTest(next) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
62
|
+
const prev = _state;
|
|
63
|
+
_state = next;
|
|
64
|
+
return prev;
|
|
92
65
|
}
|
|
93
|
-
/** @internal Test seam — read state for assertions. */
|
|
94
66
|
function __getStateForTest() {
|
|
95
|
-
|
|
67
|
+
return _state;
|
|
96
68
|
}
|
|
97
|
-
/**
|
|
98
|
-
* The wrapped DEK this process must read and write for `profile`.
|
|
99
|
-
*
|
|
100
|
-
* Canonical on any machine that has only ever had one location, and on one that
|
|
101
|
-
* has been consolidated. On a machine that still has two, this returns the copy
|
|
102
|
-
* this process has been using — see `profileStateDir.ts` for why swapping it out
|
|
103
|
-
* from under a daemon that has sealed credentials with it is not an option.
|
|
104
|
-
*/
|
|
105
69
|
function wrappedDekFilePath(profile) {
|
|
106
|
-
|
|
70
|
+
return (0, import_profileStateDir.resolveProfileStateFile)(profile, ACCOUNT_CRED_DEK_WRAPPED).path;
|
|
107
71
|
}
|
|
108
|
-
/**
|
|
109
|
-
* Atomic 0600 write — tmp+fsync+rename+dir-fsync. Same shape as the
|
|
110
|
-
* original daemon/CLI implementations so partial-write races between
|
|
111
|
-
* `sky` and `oversky` produce the same on-disk transitions.
|
|
112
|
-
*/
|
|
113
72
|
function atomicWrite0600(target, value) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
73
|
+
const dir = import_node_path.default.dirname(target);
|
|
74
|
+
import_node_fs.default.mkdirSync(dir, { recursive: true, mode: 448 });
|
|
75
|
+
const tmp = `${target}.tmp.${process.pid}.${Date.now()}`;
|
|
76
|
+
const fd = import_node_fs.default.openSync(tmp, "w", 384);
|
|
77
|
+
try {
|
|
78
|
+
import_node_fs.default.writeSync(fd, value);
|
|
79
|
+
import_node_fs.default.fsyncSync(fd);
|
|
80
|
+
} finally {
|
|
81
|
+
import_node_fs.default.closeSync(fd);
|
|
82
|
+
}
|
|
83
|
+
import_node_fs.default.renameSync(tmp, target);
|
|
84
|
+
try {
|
|
85
|
+
const dirFd = import_node_fs.default.openSync(dir, "r");
|
|
126
86
|
try {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
finally {
|
|
132
|
-
node_fs_1.default.closeSync(dirFd);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
catch {
|
|
136
|
-
/* best-effort — Windows / some BSDs reject dir fsync */
|
|
87
|
+
import_node_fs.default.fsyncSync(dirFd);
|
|
88
|
+
} finally {
|
|
89
|
+
import_node_fs.default.closeSync(dirFd);
|
|
137
90
|
}
|
|
91
|
+
} catch {
|
|
92
|
+
}
|
|
138
93
|
}
|
|
139
|
-
|
|
140
|
-
* Telemetry shim. Routes through the consumer-supplied logEvent sink
|
|
141
|
-
* (daemon: structured event log; CLI: typically no-op or stderr at DEBUG).
|
|
142
|
-
* Also writes to `getAuthLogger().warn` on failure so an operator running
|
|
143
|
-
* with verbose logs sees the signal even without a configured event sink.
|
|
144
|
-
*
|
|
145
|
-
* The event name passed in is the FULLY-QUALIFIED `cred_envelope.*` form
|
|
146
|
-
* because daemon-side telemetry consumers (`event-log.ts`, dashboards,
|
|
147
|
-
* spec assertions) key off the prefixed name. Do not strip the prefix.
|
|
148
|
-
*
|
|
149
|
-
* Identical failure warnings hit the logger only once per process.
|
|
150
|
-
* Telemetry still records every occurrence — the dedupe exists because a
|
|
151
|
-
* single unreadable envelope produced the same warning once per stored
|
|
152
|
-
* field (token, refresh token, expiry…), which read to users as three
|
|
153
|
-
* crashes rather than one stale credential (OSK-12074). The signature is
|
|
154
|
-
* event + kek identity + message, so a genuinely different failure mode
|
|
155
|
-
* still gets its own line.
|
|
156
|
-
*/
|
|
157
|
-
const warnedSignatures = new Set();
|
|
94
|
+
const warnedSignatures = /* @__PURE__ */ new Set();
|
|
158
95
|
const MAX_WARNED_SIGNATURES = 64;
|
|
159
|
-
/** @internal Test seam — each spec owns its warn-dedupe horizon. */
|
|
160
96
|
function __clearWarnDedupeForTest() {
|
|
161
|
-
|
|
97
|
+
warnedSignatures.clear();
|
|
162
98
|
}
|
|
163
99
|
function emit(eventName, success, metadata) {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
(0, runtime_js_1.getAuthLogger)().warn(`[credEnvelope] ${eventName}`, metadata);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
100
|
+
(0, import_runtime.emitAuthTelemetry)({
|
|
101
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
102
|
+
eventType: "auth",
|
|
103
|
+
success,
|
|
104
|
+
metadata: { event: eventName, ...metadata }
|
|
105
|
+
});
|
|
106
|
+
if (!success) {
|
|
107
|
+
const signature = `${eventName}:${metadata.kekId ?? ""}:${metadata.kekKind ?? ""}:${metadata.message ?? ""}:${metadata.hint ?? ""}`;
|
|
108
|
+
if (!warnedSignatures.has(signature)) {
|
|
109
|
+
if (warnedSignatures.size >= MAX_WARNED_SIGNATURES)
|
|
110
|
+
warnedSignatures.clear();
|
|
111
|
+
warnedSignatures.add(signature);
|
|
112
|
+
(0, import_runtime.getAuthLogger)().warn(`[credEnvelope] ${eventName}`, metadata);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
182
115
|
}
|
|
183
|
-
|
|
184
|
-
// First-enrollment lockfile (gap G5).
|
|
185
|
-
//
|
|
186
|
-
// Two daemon processes that race to enroll a fresh DEK under the same
|
|
187
|
-
// profile would each generate a different DEK, wrap each, and the second
|
|
188
|
-
// rename-write would silently win — making any envelopes wrapped under
|
|
189
|
-
// the loser's DEK permanently unrecoverable. The lock serializes this
|
|
190
|
-
// window. Mirrors `withAuthLock` in `packages/auth-core/src/refresh.ts`.
|
|
191
|
-
// ---------------------------------------------------------------------------
|
|
192
|
-
const CRED_LOCK_STALE_MS = 30_000;
|
|
116
|
+
const CRED_LOCK_STALE_MS = 3e4;
|
|
193
117
|
const CRED_LOCK_RETRY_MS = 100;
|
|
194
|
-
// Exponential retry capped at 400 ms: 50 retries are ~20 s total, not 5 s.
|
|
195
118
|
const CRED_LOCK_MAX_RETRIES = 50;
|
|
196
|
-
/**
|
|
197
|
-
* ALWAYS the canonical directory, even when this process is reading a legacy
|
|
198
|
-
* wrapped DEK. The lock's job is to serialize first enrollment for one profile
|
|
199
|
-
* on one machine across both binaries; resolving it the way the DEK resolves
|
|
200
|
-
* would give each consumer its own sentinel, which is how the mutex documented
|
|
201
|
-
* in this file's header came to protect nobody.
|
|
202
|
-
*/
|
|
203
119
|
function credEnvelopeLockPath(profile) {
|
|
204
|
-
|
|
120
|
+
return import_node_path.default.join((0, import_profileStateDir.profileStateDir)(profile), "cred-envelope.lock");
|
|
205
121
|
}
|
|
206
|
-
/**
|
|
207
|
-
* Acquire the cross-process credential-envelope lock for a profile, run
|
|
208
|
-
* the body, release in `finally`. Emits `cred_envelope.lock_acquired`
|
|
209
|
-
* and `cred_envelope.lock_released` so contention shows up in telemetry.
|
|
210
|
-
*
|
|
211
|
-
* The lock file is a sentinel (mode 0600) — `proper-lockfile` locks the
|
|
212
|
-
* sentinel rather than the real wrapped-DEK file because the latter is
|
|
213
|
-
* subject to atomic tmp+rename writes that would race with the lock
|
|
214
|
-
* adapter on some filesystems.
|
|
215
|
-
*/
|
|
216
122
|
async function withCredEnvelopeLock(profile, body) {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
123
|
+
const lockPath = credEnvelopeLockPath(profile);
|
|
124
|
+
const dir = import_node_path.default.dirname(lockPath);
|
|
125
|
+
import_node_fs.default.mkdirSync(dir, { recursive: true, mode: 448 });
|
|
126
|
+
if (!import_node_fs.default.existsSync(lockPath)) {
|
|
127
|
+
import_node_fs.default.writeFileSync(lockPath, "", { mode: 384 });
|
|
128
|
+
}
|
|
129
|
+
const acquireStart = Date.now();
|
|
130
|
+
const release = await import_proper_lockfile.default.lock(lockPath, {
|
|
131
|
+
stale: CRED_LOCK_STALE_MS,
|
|
132
|
+
retries: {
|
|
133
|
+
retries: CRED_LOCK_MAX_RETRIES,
|
|
134
|
+
minTimeout: CRED_LOCK_RETRY_MS,
|
|
135
|
+
maxTimeout: CRED_LOCK_RETRY_MS * 4,
|
|
136
|
+
factor: 1.5
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
const acquiredAt = Date.now();
|
|
140
|
+
emit("cred_envelope.lock_acquired", true, {
|
|
141
|
+
profile,
|
|
142
|
+
waitedMs: acquiredAt - acquireStart
|
|
143
|
+
});
|
|
144
|
+
try {
|
|
145
|
+
return await body();
|
|
146
|
+
} finally {
|
|
147
|
+
const heldForMs = Date.now() - acquiredAt;
|
|
148
|
+
emit("cred_envelope.lock_released", true, {
|
|
149
|
+
profile,
|
|
150
|
+
waitedMs: heldForMs
|
|
237
151
|
});
|
|
238
152
|
try {
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
finally {
|
|
242
|
-
const heldForMs = Date.now() - acquiredAt;
|
|
243
|
-
emit('cred_envelope.lock_released', true, {
|
|
244
|
-
profile,
|
|
245
|
-
waitedMs: heldForMs,
|
|
246
|
-
});
|
|
247
|
-
try {
|
|
248
|
-
await release();
|
|
249
|
-
}
|
|
250
|
-
catch {
|
|
251
|
-
/* best-effort — stale-lock fallback handles next-acquire */
|
|
252
|
-
}
|
|
153
|
+
await release();
|
|
154
|
+
} catch {
|
|
253
155
|
}
|
|
156
|
+
}
|
|
254
157
|
}
|
|
255
|
-
/**
|
|
256
|
-
* Sticky record of the last consolidation refusal for this process — two usable
|
|
257
|
-
* and DIFFERENT wrapped DEKs for one profile. Surfaced through
|
|
258
|
-
* `describeCredEnvelopeState()` so `skrr status` / `oversky status` can say so:
|
|
259
|
-
* the split cannot be repaired here (each side's secrets live in its own
|
|
260
|
-
* keychain namespace, sealed under its own DEK, and re-sealing them is not
|
|
261
|
-
* auth-core's to do), so being loud about it IS the remedy.
|
|
262
|
-
*/
|
|
263
158
|
let _pathConflict = null;
|
|
264
|
-
/**
|
|
265
|
-
* DEKs this profile used before a converging consolidation retired them
|
|
266
|
-
* (OSK-12462). Read-only: nothing is ever sealed under one again. A value that
|
|
267
|
-
* only a retired DEK opens is returned with `needsMigration: true`, the same
|
|
268
|
-
* signal a legacy plaintext value carries, so every consumer that already
|
|
269
|
-
* upgrades plaintext in place re-seals it under the active DEK on its own
|
|
270
|
-
* schedule. auth-core does not need to know where the consumer keeps it.
|
|
271
|
-
*/
|
|
272
159
|
let _retiredDeks = [];
|
|
273
|
-
/**
|
|
274
|
-
* Set when THIS process converged a split profile onto the legacy key. For the
|
|
275
|
-
* status surface and tests; the on-disk marker is the durable record.
|
|
276
|
-
*/
|
|
277
160
|
let _convergedFrom = null;
|
|
278
|
-
/**
|
|
279
|
-
* Identity of a wrapped DEK: the SHA-256 of the key it unwraps to.
|
|
280
|
-
*
|
|
281
|
-
* Not of the file. `kek.wrap` draws a fresh nonce, so wrapping ONE key twice
|
|
282
|
-
* gives two different files — comparing bytes would call two copies of the same
|
|
283
|
-
* key a conflict and refuse a migration that was safe. `unwrapExisting` is the
|
|
284
|
-
* read-only probe: it must never mint a KEK as a side effect of asking whether
|
|
285
|
-
* an old file is still readable.
|
|
286
|
-
*/
|
|
287
161
|
async function wrappedDekIdentity(target, kek, aad) {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
dek?.fill(0);
|
|
302
|
-
}
|
|
162
|
+
let dek = null;
|
|
163
|
+
try {
|
|
164
|
+
if (!kek.unwrapExisting)
|
|
165
|
+
return null;
|
|
166
|
+
dek = await kek.unwrapExisting(import_node_fs.default.readFileSync(target), aad);
|
|
167
|
+
if (dek.length !== 32)
|
|
168
|
+
return null;
|
|
169
|
+
return (0, import_node_crypto.createHash)("sha256").update(dek).digest("hex");
|
|
170
|
+
} catch {
|
|
171
|
+
return null;
|
|
172
|
+
} finally {
|
|
173
|
+
dek?.fill(0);
|
|
174
|
+
}
|
|
303
175
|
}
|
|
304
|
-
/**
|
|
305
|
-
* Run the OSK-10314 consolidation for this profile's wrapped DEK.
|
|
306
|
-
*
|
|
307
|
-
* Under the canonical lock, because the window it closes is real: a daemon
|
|
308
|
-
* copying its legacy DEK into an empty canonical slot must not race a CLI
|
|
309
|
-
* enrolling a fresh one there — the loser's key would be overwritten and
|
|
310
|
-
* anything already sealed under it lost. That is the same race the lock was
|
|
311
|
-
* introduced for, one layer up.
|
|
312
|
-
*
|
|
313
|
-
* Never fatal. A migration that cannot run leaves the process exactly where it
|
|
314
|
-
* was, which is the state it has been operating in all along.
|
|
315
|
-
*/
|
|
316
|
-
/**
|
|
317
|
-
* Whether a split profile may be converged onto the legacy (daemon) key.
|
|
318
|
-
*
|
|
319
|
-
* Only the daemon ever has a legacy location, so only the daemon runs this, and
|
|
320
|
-
* the legacy key is the one it signs with. Since OSK-12063 the CLI enrolls no
|
|
321
|
-
* device key and only an interactive daemon login re-pins, so the key the server
|
|
322
|
-
* pins for this machine is the daemon's, UNLESS the daemon has itself been
|
|
323
|
-
* refused over its device key. That is the one fact that proves otherwise, and
|
|
324
|
-
* then nothing here knows which key the server holds, so it refuses as before.
|
|
325
|
-
*
|
|
326
|
-
* Why converging matters (OSK-12462): a CLI credential brokered by the daemon
|
|
327
|
-
* is tied to the daemon's machine row, and the server checks its refresh proof
|
|
328
|
-
* against the key pinned there. A CLI signing with a different key has that
|
|
329
|
-
* refresh refused as DEVICE_PROOF_THUMBPRINT_MISMATCH at its first renewal.
|
|
330
|
-
*/
|
|
331
176
|
function splitKeyConvergencePolicy() {
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
return reauthReason === 'DEVICE_KEY_MISMATCH'
|
|
341
|
-
? { converge: false, reason: 'daemon_key_refused' }
|
|
342
|
-
: { converge: true, reason: 'daemon_key_pinned' };
|
|
177
|
+
let reauthReason;
|
|
178
|
+
try {
|
|
179
|
+
const state = (0, import_refresh.needsReauthState)();
|
|
180
|
+
reauthReason = state.needed ? state.reason : void 0;
|
|
181
|
+
} catch {
|
|
182
|
+
reauthReason = void 0;
|
|
183
|
+
}
|
|
184
|
+
return reauthReason === "DEVICE_KEY_MISMATCH" ? { converge: false, reason: "daemon_key_refused" } : { converge: true, reason: "daemon_key_pinned" };
|
|
343
185
|
}
|
|
344
186
|
async function consolidateWrappedDek(profile, kek, aad) {
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
legacyPath: node_path_1.default.join(outcome.legacyDir ?? '', ACCOUNT_CRED_DEK_WRAPPED),
|
|
373
|
-
};
|
|
374
|
-
(0, runtime_js_1.getAuthLogger)().info(`[credEnvelope] profile "${profile}" had two different usable wrapped DEKs; ` +
|
|
375
|
-
`converged on the daemon's (${_convergedFrom.legacyPath}), which is the key the ` +
|
|
376
|
-
"server pins for this machine. The CLI's former key is kept beside it as " +
|
|
377
|
-
`${ACCOUNT_CRED_DEK_WRAPPED}${profileStateDir_js_1.RETIRED_COPY_SUFFIX}.* and still opens what was ` +
|
|
378
|
-
'sealed under it; each value is re-sealed under the shared key on its next write.');
|
|
379
|
-
return;
|
|
380
|
-
}
|
|
381
|
-
if (outcome.status !== 'conflict') {
|
|
382
|
-
_pathConflict = null;
|
|
383
|
-
return;
|
|
384
|
-
}
|
|
385
|
-
_pathConflict = {
|
|
386
|
-
canonicalPath: node_path_1.default.join(outcome.canonicalDir, ACCOUNT_CRED_DEK_WRAPPED),
|
|
387
|
-
legacyPath: node_path_1.default.join(outcome.legacyDir ?? '', ACCOUNT_CRED_DEK_WRAPPED),
|
|
187
|
+
const resolved = (0, import_profileStateDir.resolveProfileStateFile)(profile, ACCOUNT_CRED_DEK_WRAPPED);
|
|
188
|
+
if (!resolved.usingLegacy) {
|
|
189
|
+
_pathConflict = null;
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const policy = splitKeyConvergencePolicy();
|
|
193
|
+
let outcome;
|
|
194
|
+
try {
|
|
195
|
+
outcome = await withCredEnvelopeLock(profile, () => (0, import_profileStateDir.consolidateProfileState)(profile, {
|
|
196
|
+
files: [ACCOUNT_CRED_DEK_WRAPPED],
|
|
197
|
+
primary: ACCOUNT_CRED_DEK_WRAPPED,
|
|
198
|
+
identify: (dir) => wrappedDekIdentity(import_node_path.default.join(dir, ACCOUNT_CRED_DEK_WRAPPED), kek, aad),
|
|
199
|
+
onConflict: policy.converge ? "adopt_legacy" : "refuse",
|
|
200
|
+
onEvent: (name, success, meta) => emit(`cred_envelope.${name}`, success, meta)
|
|
201
|
+
}));
|
|
202
|
+
} catch (err) {
|
|
203
|
+
emit("cred_envelope.path_consolidation.failed", false, {
|
|
204
|
+
profile,
|
|
205
|
+
message: err?.message ?? "unknown"
|
|
206
|
+
});
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
if (outcome.status === "converged") {
|
|
210
|
+
_pathConflict = null;
|
|
211
|
+
_convergedFrom = {
|
|
212
|
+
canonicalPath: import_node_path.default.join(outcome.canonicalDir, ACCOUNT_CRED_DEK_WRAPPED),
|
|
213
|
+
legacyPath: import_node_path.default.join(outcome.legacyDir ?? "", ACCOUNT_CRED_DEK_WRAPPED)
|
|
388
214
|
};
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
"the server refused the daemon's key, so neither is known to be the pinned one; " +
|
|
402
|
-
`refusing to choose. Keeping ${_pathConflict.legacyPath} and leaving ` +
|
|
403
|
-
`${_pathConflict.canonicalPath} untouched. Each side can still read its own ` +
|
|
404
|
-
"credentials, and neither can read the other's. Do not delete " +
|
|
405
|
-
`${_pathConflict.legacyPath}: it is the key the daemon reads. To converge on it, ` +
|
|
406
|
-
'run `skrr logout && skrrd restart && skrr login`.');
|
|
215
|
+
(0, import_runtime.getAuthLogger)().info(`[credEnvelope] profile "${profile}" had two different usable wrapped DEKs; converged on the daemon's (${_convergedFrom.legacyPath}), which is the key the server pins for this machine. The CLI's former key is kept beside it as ${ACCOUNT_CRED_DEK_WRAPPED}${import_profileStateDir.RETIRED_COPY_SUFFIX}.* and still opens what was sealed under it; each value is re-sealed under the shared key on its next write.`);
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
if (outcome.status !== "conflict") {
|
|
219
|
+
_pathConflict = null;
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
_pathConflict = {
|
|
223
|
+
canonicalPath: import_node_path.default.join(outcome.canonicalDir, ACCOUNT_CRED_DEK_WRAPPED),
|
|
224
|
+
legacyPath: import_node_path.default.join(outcome.legacyDir ?? "", ACCOUNT_CRED_DEK_WRAPPED)
|
|
225
|
+
};
|
|
226
|
+
(0, import_runtime.getAuthLogger)().warn(`[credEnvelope] profile "${profile}" has two different usable wrapped DEKs, and the server refused the daemon's key, so neither is known to be the pinned one; refusing to choose. Keeping ${_pathConflict.legacyPath} and leaving ${_pathConflict.canonicalPath} untouched. Each side can still read its own credentials, and neither can read the other's. Do not delete ${_pathConflict.legacyPath}: it is the key the daemon reads. To converge on it, run \`skrr logout && skrrd restart && skrr login\`.`);
|
|
407
227
|
}
|
|
408
|
-
/**
|
|
409
|
-
* Load every retired DEK beside the canonical one (OSK-12462). Only files a
|
|
410
|
-
* converging consolidation set aside are read; the `.superseded.*` copy an
|
|
411
|
-
* UNUSABLE key leaves is not a key anything can open. Read-only unwrap, never
|
|
412
|
-
* fatal: a retired key that no longer opens is simply not in the ring.
|
|
413
|
-
*/
|
|
414
228
|
async function loadRetiredDeks(profile, kek, aad, active) {
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
file: node_path_1.default.basename(target),
|
|
434
|
-
});
|
|
435
|
-
}
|
|
229
|
+
for (const old of _retiredDeks)
|
|
230
|
+
old.fill(0);
|
|
231
|
+
_retiredDeks = [];
|
|
232
|
+
for (const target of retiredDekFiles(profile)) {
|
|
233
|
+
try {
|
|
234
|
+
if (!kek.unwrapExisting)
|
|
235
|
+
return;
|
|
236
|
+
const dek = await kek.unwrapExisting(import_node_fs.default.readFileSync(target), aad);
|
|
237
|
+
if (dek.length === 32 && !dek.equals(active)) {
|
|
238
|
+
_retiredDeks.push(dek);
|
|
239
|
+
} else {
|
|
240
|
+
dek.fill(0);
|
|
241
|
+
}
|
|
242
|
+
} catch {
|
|
243
|
+
emit("cred_envelope.retired_dek.unreadable", false, {
|
|
244
|
+
profile,
|
|
245
|
+
file: import_node_path.default.basename(target)
|
|
246
|
+
});
|
|
436
247
|
}
|
|
248
|
+
}
|
|
437
249
|
}
|
|
438
|
-
/** Retired wrapped DEKs for `profile`, oldest first. */
|
|
439
250
|
function retiredDekFiles(profile) {
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
.map((name) => node_path_1.default.join(dir, name));
|
|
448
|
-
}
|
|
449
|
-
catch {
|
|
450
|
-
return [];
|
|
451
|
-
}
|
|
251
|
+
const dir = (0, import_profileStateDir.profileStateDir)(profile);
|
|
252
|
+
const prefix = `${ACCOUNT_CRED_DEK_WRAPPED}${import_profileStateDir.RETIRED_COPY_SUFFIX}.`;
|
|
253
|
+
try {
|
|
254
|
+
return import_node_fs.default.readdirSync(dir).filter((name) => name.startsWith(prefix)).sort().map((name) => import_node_path.default.join(dir, name));
|
|
255
|
+
} catch {
|
|
256
|
+
return [];
|
|
257
|
+
}
|
|
452
258
|
}
|
|
453
|
-
/**
|
|
454
|
-
* Initialize the envelope path. Idempotent — second call when state is
|
|
455
|
-
* non-uninit returns immediately.
|
|
456
|
-
*
|
|
457
|
-
* Order:
|
|
458
|
-
* 1. Probe KEK; unavailable → disabled+kek_unavailable.
|
|
459
|
-
* 2. Try to read+unwrap an existing DEK; success → active.
|
|
460
|
-
* 3. Generate fresh DEK, wrap, persist atomically; → active.
|
|
461
|
-
* 4. Any throw → disabled+init_failed; transforms stay passthrough.
|
|
462
|
-
*/
|
|
463
259
|
async function initCredEnvelope(profile) {
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
260
|
+
if (_state.kind !== "uninit")
|
|
261
|
+
return;
|
|
262
|
+
if (typeof profile !== "string" || profile.length === 0) {
|
|
263
|
+
_state = { kind: "disabled", reason: "init_failed" };
|
|
264
|
+
emit("cred_envelope.init_failed", false, { reason: "empty_profile" });
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
let kek;
|
|
268
|
+
try {
|
|
269
|
+
kek = (0, import_kek.getKekStrategy)();
|
|
270
|
+
} catch (err) {
|
|
271
|
+
_state = { kind: "disabled", reason: "platform_unsupported" };
|
|
272
|
+
emit("cred_envelope.init_failed", false, {
|
|
273
|
+
reason: "kek_resolve_threw",
|
|
274
|
+
message: err?.message ?? "unknown"
|
|
275
|
+
});
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
let kekAvailable = false;
|
|
279
|
+
try {
|
|
280
|
+
kekAvailable = await kek.available();
|
|
281
|
+
} catch {
|
|
282
|
+
kekAvailable = false;
|
|
283
|
+
}
|
|
284
|
+
if (!kekAvailable) {
|
|
285
|
+
_state = { kind: "disabled", reason: "kek_unavailable" };
|
|
286
|
+
emit("cred_envelope.kek_unavailable", false, {
|
|
287
|
+
kekId: kek.id,
|
|
288
|
+
profile,
|
|
289
|
+
describe: kek.describe()
|
|
290
|
+
});
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
const aad = (0, import_credentialEnvelope.buildCredentialAad)(profile);
|
|
294
|
+
await consolidateWrappedDek(profile, kek, aad);
|
|
295
|
+
const targetPath = wrappedDekFilePath(profile);
|
|
296
|
+
const captureKind = () => typeof kek.kind === "string" || kek.kind === null ? kek.kind ?? null : null;
|
|
297
|
+
try {
|
|
298
|
+
if (!kek.unwrapExisting)
|
|
299
|
+
throw new Error("KEK has no read-only unwrap path");
|
|
300
|
+
const wrappedBytes = import_node_fs.default.readFileSync(targetPath);
|
|
301
|
+
const candidate = await kek.unwrapExisting(wrappedBytes, aad);
|
|
302
|
+
if (candidate.length === 32) {
|
|
303
|
+
await loadRetiredDeks(profile, kek, aad, candidate);
|
|
304
|
+
_state = {
|
|
305
|
+
kind: "active",
|
|
306
|
+
dek: candidate,
|
|
307
|
+
kekId: kek.id,
|
|
308
|
+
kekKind: captureKind(),
|
|
309
|
+
profile
|
|
310
|
+
};
|
|
311
|
+
emit("cred_envelope.active", true, {
|
|
312
|
+
kekId: kek.id,
|
|
313
|
+
kekKind: captureKind(),
|
|
314
|
+
profile,
|
|
315
|
+
existingDekFastPath: true
|
|
316
|
+
});
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
candidate.fill(0);
|
|
320
|
+
} catch {
|
|
321
|
+
}
|
|
322
|
+
let dek = null;
|
|
323
|
+
let unwrapAttemptedAndFailed = false;
|
|
324
|
+
await withCredEnvelopeLock(profile, async () => {
|
|
325
|
+
let wrappedBytes = null;
|
|
472
326
|
try {
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
327
|
+
if (import_node_fs.default.existsSync(targetPath)) {
|
|
328
|
+
wrappedBytes = import_node_fs.default.readFileSync(targetPath);
|
|
329
|
+
}
|
|
330
|
+
} catch (err) {
|
|
331
|
+
emit("cred_envelope.init_failed", false, {
|
|
332
|
+
reason: "wrapped_dek_read_threw",
|
|
333
|
+
message: err?.message ?? "unknown"
|
|
334
|
+
});
|
|
335
|
+
wrappedBytes = null;
|
|
336
|
+
}
|
|
337
|
+
if (wrappedBytes !== null) {
|
|
338
|
+
try {
|
|
339
|
+
const candidate = await kek.unwrap(wrappedBytes, aad);
|
|
340
|
+
if (candidate.length !== 32) {
|
|
341
|
+
emit("cred_envelope.init_failed", false, {
|
|
342
|
+
reason: "unwrapped_dek_wrong_length",
|
|
343
|
+
length: candidate.length,
|
|
344
|
+
kekKind: captureKind()
|
|
345
|
+
});
|
|
346
|
+
unwrapAttemptedAndFailed = true;
|
|
347
|
+
} else {
|
|
348
|
+
dek = candidate;
|
|
349
|
+
}
|
|
350
|
+
} catch (err) {
|
|
351
|
+
emit("cred_envelope.unwrap.failed", false, {
|
|
352
|
+
reason: "wrapped_dek_unwrap_threw",
|
|
353
|
+
kekId: kek.id,
|
|
354
|
+
kekKind: captureKind(),
|
|
355
|
+
message: err?.message ?? "unknown"
|
|
480
356
|
});
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
357
|
+
unwrapAttemptedAndFailed = true;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
if (unwrapAttemptedAndFailed && dek === null) {
|
|
361
|
+
_kekRotationDetected = true;
|
|
362
|
+
emit("cred_envelope.kek_rotated", false, {
|
|
363
|
+
kekId: kek.id,
|
|
364
|
+
kekKind: captureKind(),
|
|
365
|
+
profile,
|
|
366
|
+
message: "wrapped DEK present but unwrap failed under available KEK; treating as rotation and re-enrolling"
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
if (dek === null) {
|
|
370
|
+
try {
|
|
371
|
+
dek = (0, import_credentialEnvelope.generateDek)();
|
|
372
|
+
const wrapped = await kek.wrap(dek, aad);
|
|
373
|
+
atomicWrite0600(targetPath, wrapped);
|
|
374
|
+
emit("cred_envelope.dek_enrolled", true, {
|
|
375
|
+
kekId: kek.id,
|
|
376
|
+
kekKind: captureKind(),
|
|
377
|
+
profile,
|
|
378
|
+
...unwrapAttemptedAndFailed ? { reEnrolledAfterRotation: true } : {}
|
|
496
379
|
});
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
await consolidateWrappedDek(profile, kek, aad);
|
|
505
|
-
const targetPath = wrappedDekFilePath(profile);
|
|
506
|
-
// Capture the kek's tier-aware kind once at init so transform-side events
|
|
507
|
-
// can include it without holding a live `kek` reference. macOS sets `kind`
|
|
508
|
-
// only after the first wrap/unwrap; null here is honest.
|
|
509
|
-
const captureKind = () => typeof kek.kind === 'string' || kek.kind === null ? (kek.kind ?? null) : null;
|
|
510
|
-
// Existing wrapped DEKs are immutable between enrollments and are published
|
|
511
|
-
// with atomic rename. Reading and unwrapping one therefore does not need the
|
|
512
|
-
// first-enrollment mutex. Keeping this hot path outside the lock matters for
|
|
513
|
-
// short-lived CLI processes: a burst of read-only `sky` commands used to
|
|
514
|
-
// serialize here, and contenders could outlive the CLI's bounded auth
|
|
515
|
-
// prefetch even though there was no write for them to coordinate.
|
|
516
|
-
//
|
|
517
|
-
// Any miss or unwrap failure falls through to the locked path below. That
|
|
518
|
-
// path re-reads the file after acquiring the mutex before it decides whether
|
|
519
|
-
// to enroll or rotate, so a concurrent writer can never make this optimistic
|
|
520
|
-
// read create a second DEK or produce a false rotation signal.
|
|
521
|
-
try {
|
|
522
|
-
if (!kek.unwrapExisting)
|
|
523
|
-
throw new Error('KEK has no read-only unwrap path');
|
|
524
|
-
const wrappedBytes = node_fs_1.default.readFileSync(targetPath);
|
|
525
|
-
const candidate = await kek.unwrapExisting(wrappedBytes, aad);
|
|
526
|
-
if (candidate.length === 32) {
|
|
527
|
-
await loadRetiredDeks(profile, kek, aad, candidate);
|
|
528
|
-
_state = {
|
|
529
|
-
kind: 'active',
|
|
530
|
-
dek: candidate,
|
|
531
|
-
kekId: kek.id,
|
|
532
|
-
kekKind: captureKind(),
|
|
533
|
-
profile,
|
|
534
|
-
};
|
|
535
|
-
emit('cred_envelope.active', true, {
|
|
536
|
-
kekId: kek.id,
|
|
537
|
-
kekKind: captureKind(),
|
|
538
|
-
profile,
|
|
539
|
-
existingDekFastPath: true,
|
|
540
|
-
});
|
|
541
|
-
return;
|
|
542
|
-
}
|
|
543
|
-
candidate.fill(0);
|
|
544
|
-
}
|
|
545
|
-
catch {
|
|
546
|
-
// The locked path owns diagnostics and recovery. In particular, it
|
|
547
|
-
// distinguishes a stable unwrap failure (probable KEK rotation) from a
|
|
548
|
-
// file that another process replaced between this read and lock acquire.
|
|
549
|
-
}
|
|
550
|
-
let dek = null;
|
|
551
|
-
let unwrapAttemptedAndFailed = false;
|
|
552
|
-
await withCredEnvelopeLock(profile, async () => {
|
|
553
|
-
// Re-stat after acquiring the lock — a sibling sky/oversky may have
|
|
554
|
-
// enrolled while we were waiting. Without this, both processes would
|
|
555
|
-
// proceed to "first-run enrollment" and the second writer's DEK
|
|
556
|
-
// would silently win, orphaning the first writer's DEK and every
|
|
557
|
-
// credential it has already wrapped.
|
|
558
|
-
let wrappedBytes = null;
|
|
559
|
-
try {
|
|
560
|
-
if (node_fs_1.default.existsSync(targetPath)) {
|
|
561
|
-
wrappedBytes = node_fs_1.default.readFileSync(targetPath);
|
|
562
|
-
}
|
|
563
|
-
}
|
|
564
|
-
catch (err) {
|
|
565
|
-
emit('cred_envelope.init_failed', false, {
|
|
566
|
-
reason: 'wrapped_dek_read_threw',
|
|
567
|
-
message: err?.message ?? 'unknown',
|
|
568
|
-
});
|
|
569
|
-
wrappedBytes = null;
|
|
570
|
-
}
|
|
571
|
-
if (wrappedBytes !== null) {
|
|
572
|
-
try {
|
|
573
|
-
const candidate = await kek.unwrap(wrappedBytes, aad);
|
|
574
|
-
if (candidate.length !== 32) {
|
|
575
|
-
emit('cred_envelope.init_failed', false, {
|
|
576
|
-
reason: 'unwrapped_dek_wrong_length',
|
|
577
|
-
length: candidate.length,
|
|
578
|
-
kekKind: captureKind(),
|
|
579
|
-
});
|
|
580
|
-
unwrapAttemptedAndFailed = true;
|
|
581
|
-
}
|
|
582
|
-
else {
|
|
583
|
-
dek = candidate;
|
|
584
|
-
}
|
|
585
|
-
}
|
|
586
|
-
catch (err) {
|
|
587
|
-
emit('cred_envelope.unwrap.failed', false, {
|
|
588
|
-
reason: 'wrapped_dek_unwrap_threw',
|
|
589
|
-
kekId: kek.id,
|
|
590
|
-
kekKind: captureKind(),
|
|
591
|
-
message: err?.message ?? 'unknown',
|
|
592
|
-
});
|
|
593
|
-
unwrapAttemptedAndFailed = true;
|
|
594
|
-
}
|
|
595
|
-
}
|
|
596
|
-
// KEK rotation detection (gap G4). If the wrapped file was present,
|
|
597
|
-
// KEK reported `available=true`, but unwrap threw — the most likely
|
|
598
|
-
// explanation is the KEK was rotated underneath us. Surface this as
|
|
599
|
-
// a distinct event so dashboards can count rotations separately
|
|
600
|
-
// from genuinely-corrupt blobs, while still falling through to a
|
|
601
|
-
// fresh enrollment so the daemon stays operational.
|
|
602
|
-
if (unwrapAttemptedAndFailed && dek === null) {
|
|
603
|
-
_kekRotationDetected = true;
|
|
604
|
-
emit('cred_envelope.kek_rotated', false, {
|
|
605
|
-
kekId: kek.id,
|
|
606
|
-
kekKind: captureKind(),
|
|
607
|
-
profile,
|
|
608
|
-
message: 'wrapped DEK present but unwrap failed under available KEK; treating as rotation and re-enrolling',
|
|
609
|
-
});
|
|
610
|
-
}
|
|
611
|
-
// First-run enrollment if no DEK yet.
|
|
612
|
-
if (dek === null) {
|
|
613
|
-
try {
|
|
614
|
-
dek = (0, credentialEnvelope_js_1.generateDek)();
|
|
615
|
-
const wrapped = await kek.wrap(dek, aad);
|
|
616
|
-
atomicWrite0600(targetPath, wrapped);
|
|
617
|
-
emit('cred_envelope.dek_enrolled', true, {
|
|
618
|
-
kekId: kek.id,
|
|
619
|
-
kekKind: captureKind(),
|
|
620
|
-
profile,
|
|
621
|
-
...(unwrapAttemptedAndFailed ? { reEnrolledAfterRotation: true } : {}),
|
|
622
|
-
});
|
|
623
|
-
}
|
|
624
|
-
catch (err) {
|
|
625
|
-
_state = { kind: 'disabled', reason: 'init_failed' };
|
|
626
|
-
emit('cred_envelope.init_failed', false, {
|
|
627
|
-
reason: 'enrollment_failed',
|
|
628
|
-
kekId: kek.id,
|
|
629
|
-
kekKind: captureKind(),
|
|
630
|
-
message: err?.message ?? 'unknown',
|
|
631
|
-
});
|
|
632
|
-
return;
|
|
633
|
-
}
|
|
634
|
-
}
|
|
635
|
-
await loadRetiredDeks(profile, kek, aad, dek);
|
|
636
|
-
_state = {
|
|
637
|
-
kind: 'active',
|
|
638
|
-
dek: dek,
|
|
639
|
-
kekId: kek.id,
|
|
640
|
-
kekKind: captureKind(),
|
|
641
|
-
profile,
|
|
642
|
-
};
|
|
643
|
-
emit('cred_envelope.active', true, {
|
|
644
|
-
kekId: kek.id,
|
|
645
|
-
kekKind: captureKind(),
|
|
646
|
-
profile,
|
|
647
|
-
...(unwrapAttemptedAndFailed ? { reEnrolledAfterRotation: true } : {}),
|
|
380
|
+
} catch (err) {
|
|
381
|
+
_state = { kind: "disabled", reason: "init_failed" };
|
|
382
|
+
emit("cred_envelope.init_failed", false, {
|
|
383
|
+
reason: "enrollment_failed",
|
|
384
|
+
kekId: kek.id,
|
|
385
|
+
kekKind: captureKind(),
|
|
386
|
+
message: err?.message ?? "unknown"
|
|
648
387
|
});
|
|
388
|
+
return;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
await loadRetiredDeks(profile, kek, aad, dek);
|
|
392
|
+
_state = {
|
|
393
|
+
kind: "active",
|
|
394
|
+
dek,
|
|
395
|
+
kekId: kek.id,
|
|
396
|
+
kekKind: captureKind(),
|
|
397
|
+
profile
|
|
398
|
+
};
|
|
399
|
+
emit("cred_envelope.active", true, {
|
|
400
|
+
kekId: kek.id,
|
|
401
|
+
kekKind: captureKind(),
|
|
402
|
+
profile,
|
|
403
|
+
...unwrapAttemptedAndFailed ? { reEnrolledAfterRotation: true } : {}
|
|
649
404
|
});
|
|
405
|
+
});
|
|
650
406
|
}
|
|
651
|
-
/**
|
|
652
|
-
* Reset state. With `clearOnDisk` deletes the wrapped DEK file too —
|
|
653
|
-
* used by `oversky logout` / `sky logout`. Zeroes the in-memory DEK
|
|
654
|
-
* before dropping state for forward secrecy on the active credential.
|
|
655
|
-
*
|
|
656
|
-
* It deletes EVERY location this profile's key can occupy, plus the
|
|
657
|
-
* consolidation marker. `profileStateDir.ts` never deletes anything and says so;
|
|
658
|
-
* this is the one caller that must, and the reason is not symmetry — a logout
|
|
659
|
-
* that removed only the canonical copy would leave the pre-consolidation copy
|
|
660
|
-
* behind, and the next init would adopt it straight back. That is a deleted
|
|
661
|
-
* credential key resurrecting itself, which is a worse bug than the one this
|
|
662
|
-
* whole change is fixing.
|
|
663
|
-
*/
|
|
664
407
|
async function resetCredEnvelope(opts) {
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
path: target,
|
|
680
|
-
message: err?.message ?? 'unknown',
|
|
681
|
-
});
|
|
682
|
-
}
|
|
683
|
-
}
|
|
408
|
+
if (opts?.clearOnDisk && opts.profile) {
|
|
409
|
+
for (const target of [
|
|
410
|
+
...(0, import_profileStateDir.profileStateFilePathsToClear)(opts.profile, ACCOUNT_CRED_DEK_WRAPPED),
|
|
411
|
+
...retiredDekFiles(opts.profile)
|
|
412
|
+
]) {
|
|
413
|
+
try {
|
|
414
|
+
import_node_fs.default.unlinkSync(target);
|
|
415
|
+
} catch (err) {
|
|
416
|
+
if (err.code !== "ENOENT") {
|
|
417
|
+
emit("cred_envelope.clear_failed", false, {
|
|
418
|
+
profile: opts.profile,
|
|
419
|
+
path: target,
|
|
420
|
+
message: err?.message ?? "unknown"
|
|
421
|
+
});
|
|
684
422
|
}
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
_state
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
if (_state.kind === "active") {
|
|
427
|
+
_state.dek.fill(0);
|
|
428
|
+
}
|
|
429
|
+
_state = { kind: "uninit" };
|
|
430
|
+
_kekRotationDetected = false;
|
|
431
|
+
_pathConflict = null;
|
|
432
|
+
_convergedFrom = null;
|
|
433
|
+
for (const old of _retiredDeks)
|
|
434
|
+
old.fill(0);
|
|
435
|
+
_retiredDeks = [];
|
|
696
436
|
}
|
|
697
|
-
/**
|
|
698
|
-
* Idempotent shutdown — must be called from the daemon's graceful-exit
|
|
699
|
-
* handler (SIGTERM / SIGINT). Zeroes the in-memory DEK and drops the
|
|
700
|
-
* platform KEK caches so neither lingers in process memory after the
|
|
701
|
-
* exit path begins. The KEK-cache zeroize hooks come from the platform
|
|
702
|
-
* registry exposed by `@skrr-ai/auth-core` (`zeroizeKekCaches()`); each
|
|
703
|
-
* platform module registers its hook at module-load time.
|
|
704
|
-
*
|
|
705
|
-
* Synchronous so the caller's exit path can run it without managing a
|
|
706
|
-
* promise chain. Distinct from `resetCredEnvelope` because:
|
|
707
|
-
* - shutdown does NOT delete on-disk state (the next process restart
|
|
708
|
-
* should still find the wrapped DEK).
|
|
709
|
-
* - shutdown ALSO zeroes platform KEK caches (resetCredEnvelope leaves
|
|
710
|
-
* them resident so the next reactivation can reuse them).
|
|
711
|
-
*/
|
|
712
437
|
let _shutdownDone = false;
|
|
713
438
|
function shutdownCredEnvelope() {
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
_convergedFrom = null;
|
|
735
|
-
for (const old of _retiredDeks)
|
|
736
|
-
old.fill(0);
|
|
737
|
-
_retiredDeks = [];
|
|
439
|
+
if (_shutdownDone)
|
|
440
|
+
return;
|
|
441
|
+
_shutdownDone = true;
|
|
442
|
+
try {
|
|
443
|
+
if (_state.kind === "active") {
|
|
444
|
+
_state.dek.fill(0);
|
|
445
|
+
}
|
|
446
|
+
} catch {
|
|
447
|
+
}
|
|
448
|
+
try {
|
|
449
|
+
(0, import_kek.zeroizeKekCaches)();
|
|
450
|
+
} catch {
|
|
451
|
+
}
|
|
452
|
+
_state = { kind: "uninit" };
|
|
453
|
+
_kekRotationDetected = false;
|
|
454
|
+
_pathConflict = null;
|
|
455
|
+
_convergedFrom = null;
|
|
456
|
+
for (const old of _retiredDeks)
|
|
457
|
+
old.fill(0);
|
|
458
|
+
_retiredDeks = [];
|
|
738
459
|
}
|
|
739
|
-
/** @internal Test seam — re-arm `shutdownCredEnvelope` so it can run again. */
|
|
740
460
|
function __resetShutdownGuardForTest() {
|
|
741
|
-
|
|
461
|
+
_shutdownDone = false;
|
|
742
462
|
}
|
|
743
|
-
/**
|
|
744
|
-
* True iff the envelope path is initialized AND active. Hot-path
|
|
745
|
-
* predicate used by sync transforms; never throws.
|
|
746
|
-
*/
|
|
747
463
|
function isCredEnvelopeActive() {
|
|
748
|
-
|
|
464
|
+
return _state.kind === "active";
|
|
749
465
|
}
|
|
750
|
-
/**
|
|
751
|
-
* True while this profile holds two usable and different wrapped DEKs.
|
|
752
|
-
*
|
|
753
|
-
* Read by `deviceIdentityBridge` before it migrates anything of its own. The
|
|
754
|
-
* device private key is sealed with whichever DEK is active, so moving it to the
|
|
755
|
-
* canonical directory while the two binaries are still on DIFFERENT DEKs hands
|
|
756
|
-
* the other one a key it cannot open — it regenerates, overwrites, and the two
|
|
757
|
-
* processes then destroy each other's device identity on every start. Unresolved
|
|
758
|
-
* conflicts freeze the whole profile's layout, not just the DEK's.
|
|
759
|
-
*/
|
|
760
466
|
function hasCredEnvelopePathConflict() {
|
|
761
|
-
|
|
467
|
+
return _pathConflict !== null;
|
|
762
468
|
}
|
|
763
|
-
/**
|
|
764
|
-
* Operator-readable summary of envelope state. Used by `oversky status`
|
|
765
|
-
* and CLI debug commands. Never includes the DEK or any key material.
|
|
766
|
-
*
|
|
767
|
-
* `kekRotated` is true when the most recent init pass detected a wrapped
|
|
768
|
-
* DEK that could not be unwrapped under the currently-available KEK and
|
|
769
|
-
* had to fall back to a fresh enrollment. Operators see this in
|
|
770
|
-
* `oversky status`; clears on the next clean `resetCredEnvelope`.
|
|
771
|
-
*/
|
|
772
469
|
function describeCredEnvelopeState() {
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
470
|
+
const extras = {
|
|
471
|
+
..._convergedFrom ? { convergedFrom: _convergedFrom } : {},
|
|
472
|
+
..._retiredDeks.length > 0 ? { retiredKeys: _retiredDeks.length } : {}
|
|
473
|
+
};
|
|
474
|
+
if (_state.kind === "disabled") {
|
|
475
|
+
return {
|
|
476
|
+
kind: "disabled",
|
|
477
|
+
reason: _state.reason,
|
|
478
|
+
..._kekRotationDetected ? { kekRotated: true } : {},
|
|
479
|
+
..._pathConflict ? { pathConflict: _pathConflict } : {}
|
|
776
480
|
};
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
profile: _state.profile,
|
|
791
|
-
...(_kekRotationDetected ? { kekRotated: true } : {}),
|
|
792
|
-
...(_pathConflict ? { pathConflict: _pathConflict } : {}),
|
|
793
|
-
...extras,
|
|
794
|
-
};
|
|
795
|
-
}
|
|
796
|
-
return { kind: 'uninit', ...(_pathConflict ? { pathConflict: _pathConflict } : {}) };
|
|
481
|
+
}
|
|
482
|
+
if (_state.kind === "active") {
|
|
483
|
+
return {
|
|
484
|
+
kind: "active",
|
|
485
|
+
kekId: _state.kekId,
|
|
486
|
+
kekKind: _state.kekKind,
|
|
487
|
+
profile: _state.profile,
|
|
488
|
+
..._kekRotationDetected ? { kekRotated: true } : {},
|
|
489
|
+
..._pathConflict ? { pathConflict: _pathConflict } : {},
|
|
490
|
+
...extras
|
|
491
|
+
};
|
|
492
|
+
}
|
|
493
|
+
return { kind: "uninit", ..._pathConflict ? { pathConflict: _pathConflict } : {} };
|
|
797
494
|
}
|
|
798
|
-
/**
|
|
799
|
-
* Sync write transform. Returns the wrapped serialized form when active.
|
|
800
|
-
*
|
|
801
|
-
* Behavior when not active:
|
|
802
|
-
* - If `credEnvelopeFailClosed` was set via `configureAuthCore()` (or
|
|
803
|
-
* `OVERSKY_KEK_REQUIRED=1` is set as a back-compat trigger), emits
|
|
804
|
-
* `cred_envelope.wrap.refused` and throws — the caller must not
|
|
805
|
-
* write plaintext.
|
|
806
|
-
* - Otherwise, returns the plaintext (legacy fail-open behavior used
|
|
807
|
-
* by CLI today during dark-ship rollout).
|
|
808
|
-
*
|
|
809
|
-
* Empty-string input is universally passthrough — there is no secret
|
|
810
|
-
* to protect.
|
|
811
|
-
*/
|
|
812
495
|
function maybeEncryptForWrite(plaintext) {
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
}
|
|
855
|
-
return plaintext;
|
|
856
|
-
}
|
|
496
|
+
if (typeof plaintext !== "string" || plaintext.length === 0)
|
|
497
|
+
return plaintext;
|
|
498
|
+
if (_state.kind !== "active") {
|
|
499
|
+
const stateKind = _state.kind;
|
|
500
|
+
const reason = _state.kind === "disabled" ? _state.reason : void 0;
|
|
501
|
+
if ((0, import_runtime.getCredEnvelopeFailClosed)()) {
|
|
502
|
+
emit("cred_envelope.wrap.refused", false, {
|
|
503
|
+
stateKind,
|
|
504
|
+
...reason !== void 0 ? { reason } : {}
|
|
505
|
+
});
|
|
506
|
+
throw new Error(`cred_envelope: envelope path is ${stateKind}` + (reason ? ` (${reason})` : "") + "; refusing to write credential as plaintext");
|
|
507
|
+
}
|
|
508
|
+
return plaintext;
|
|
509
|
+
}
|
|
510
|
+
try {
|
|
511
|
+
const aad = (0, import_credentialEnvelope.buildCredentialAad)(_state.profile);
|
|
512
|
+
const sealed = (0, import_credentialEnvelope.encrypt)(plaintext, _state.dek, aad);
|
|
513
|
+
const out = (0, import_credentialEnvelope.serialize)(sealed);
|
|
514
|
+
emit("cred_envelope.wrap.success", true, {
|
|
515
|
+
kekId: _state.kekId,
|
|
516
|
+
kekKind: _state.kekKind
|
|
517
|
+
});
|
|
518
|
+
return out;
|
|
519
|
+
} catch (err) {
|
|
520
|
+
const message = err?.message ?? "unknown";
|
|
521
|
+
emit("cred_envelope.wrap.failure", false, {
|
|
522
|
+
kekId: _state.kekId,
|
|
523
|
+
kekKind: _state.kekKind,
|
|
524
|
+
message
|
|
525
|
+
});
|
|
526
|
+
if ((0, import_runtime.getCredEnvelopeFailClosed)()) {
|
|
527
|
+
emit("cred_envelope.wrap.refused", false, {
|
|
528
|
+
stateKind: "active",
|
|
529
|
+
kekId: _state.kekId,
|
|
530
|
+
kekKind: _state.kekKind,
|
|
531
|
+
message
|
|
532
|
+
});
|
|
533
|
+
throw err;
|
|
534
|
+
}
|
|
535
|
+
return plaintext;
|
|
536
|
+
}
|
|
857
537
|
}
|
|
858
|
-
/**
|
|
859
|
-
* Always-fail-open variant of `maybeEncryptForWrite` for callers that
|
|
860
|
-
* cannot afford to abort their write when the envelope path is inactive
|
|
861
|
-
* (today: device-identity persistence, which writes the private key as
|
|
862
|
-
* plaintext JSON before the L12 KEK ships per-platform). The wire form
|
|
863
|
-
* is identical to `maybeEncryptForWrite` when active (envelope-prefixed)
|
|
864
|
-
* and identical to the input when not.
|
|
865
|
-
*
|
|
866
|
-
* Distinct from `maybeEncryptForWrite` because that helper honors the
|
|
867
|
-
* daemon's `credEnvelopeFailClosed: true` policy — designed for callers
|
|
868
|
-
* that MUST refuse a plaintext write rather than silently degrade.
|
|
869
|
-
*/
|
|
870
538
|
function wrapIfActiveOrPassthrough(plaintext) {
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
}
|
|
539
|
+
if (typeof plaintext !== "string" || plaintext.length === 0)
|
|
540
|
+
return plaintext;
|
|
541
|
+
if (_state.kind !== "active")
|
|
542
|
+
return plaintext;
|
|
543
|
+
try {
|
|
544
|
+
const aad = (0, import_credentialEnvelope.buildCredentialAad)(_state.profile);
|
|
545
|
+
const sealed = (0, import_credentialEnvelope.encrypt)(plaintext, _state.dek, aad);
|
|
546
|
+
const out = (0, import_credentialEnvelope.serialize)(sealed);
|
|
547
|
+
emit("cred_envelope.wrap.success", true, {
|
|
548
|
+
kekId: _state.kekId,
|
|
549
|
+
kekKind: _state.kekKind
|
|
550
|
+
});
|
|
551
|
+
return out;
|
|
552
|
+
} catch (err) {
|
|
553
|
+
emit("cred_envelope.wrap.failure", false, {
|
|
554
|
+
kekId: _state.kekId,
|
|
555
|
+
kekKind: _state.kekKind,
|
|
556
|
+
message: err?.message ?? "unknown"
|
|
557
|
+
});
|
|
558
|
+
return plaintext;
|
|
559
|
+
}
|
|
893
560
|
}
|
|
894
|
-
|
|
895
|
-
exports.DEFAULT_UNREADABLE_CREDENTIAL_HINT = 'stored credential is unreadable on this machine — signing in again rebuilds it';
|
|
561
|
+
const DEFAULT_UNREADABLE_CREDENTIAL_HINT = "stored credential is unreadable on this machine \u2014 signing in again rebuilds it";
|
|
896
562
|
function maybeDecryptOnRead(stored, options = {}) {
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
563
|
+
if (typeof stored !== "string" || stored.length === 0) {
|
|
564
|
+
return { plaintext: stored, needsMigration: false };
|
|
565
|
+
}
|
|
566
|
+
if ((0, import_credentialEnvelope.isEnvelopeString)(stored)) {
|
|
567
|
+
if (_state.kind !== "active") {
|
|
568
|
+
emit("cred_envelope.read.envelope_but_inactive", false, {
|
|
569
|
+
stateKind: _state.kind
|
|
570
|
+
});
|
|
571
|
+
return { plaintext: null, needsMigration: false };
|
|
572
|
+
}
|
|
573
|
+
const sealed = (0, import_credentialEnvelope.deserialize)(stored);
|
|
574
|
+
if (!sealed) {
|
|
575
|
+
emit("cred_envelope.read.malformed", false, {
|
|
576
|
+
kekId: _state.kekId,
|
|
577
|
+
kekKind: _state.kekKind
|
|
578
|
+
});
|
|
579
|
+
return { plaintext: null, needsMigration: false };
|
|
580
|
+
}
|
|
581
|
+
const aad = (0, import_credentialEnvelope.buildCredentialAad)(_state.profile);
|
|
582
|
+
try {
|
|
583
|
+
const pt = (0, import_credentialEnvelope.decrypt)(sealed, _state.dek, aad).toString("utf-8");
|
|
584
|
+
return { plaintext: pt, needsMigration: false };
|
|
585
|
+
} catch (err) {
|
|
586
|
+
for (const retired of _retiredDeks) {
|
|
916
587
|
try {
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
}
|
|
920
|
-
catch (err) {
|
|
921
|
-
// Sealed before a converging consolidation retired its key (OSK-12462).
|
|
922
|
-
// Readable, and flagged for the in-place upgrade every consumer already
|
|
923
|
-
// performs for legacy plaintext, which re-seals it under the active DEK.
|
|
924
|
-
for (const retired of _retiredDeks) {
|
|
925
|
-
try {
|
|
926
|
-
const pt = (0, credentialEnvelope_js_1.decrypt)(sealed, retired, aad).toString('utf-8');
|
|
927
|
-
emit('cred_envelope.read.retired_key', true, {
|
|
928
|
-
kekId: _state.kekId,
|
|
929
|
-
kekKind: _state.kekKind,
|
|
930
|
-
});
|
|
931
|
-
return { plaintext: pt, needsMigration: true };
|
|
932
|
-
}
|
|
933
|
-
catch {
|
|
934
|
-
/* not this one */
|
|
935
|
-
}
|
|
936
|
-
}
|
|
937
|
-
emit('cred_envelope.read.decrypt_failed', false, {
|
|
938
|
-
kekId: _state.kekId,
|
|
939
|
-
kekKind: _state.kekKind,
|
|
940
|
-
message: err?.message ?? 'unknown',
|
|
941
|
-
// The crypto error alone reads as a crash; the actionable truth is
|
|
942
|
-
// that this stored credential is unreadable by THIS binary (usually
|
|
943
|
-
// a signing-identity or profile drift) and re-login rebuilds it.
|
|
944
|
-
hint: options.unreadableHint ?? exports.DEFAULT_UNREADABLE_CREDENTIAL_HINT,
|
|
945
|
-
});
|
|
946
|
-
return { plaintext: null, needsMigration: false };
|
|
947
|
-
}
|
|
948
|
-
}
|
|
949
|
-
// Legacy plaintext path.
|
|
950
|
-
if (_state.kind === 'active') {
|
|
951
|
-
emit('cred_envelope.unwrap.fallback_to_legacy', true, {
|
|
588
|
+
const pt = (0, import_credentialEnvelope.decrypt)(sealed, retired, aad).toString("utf-8");
|
|
589
|
+
emit("cred_envelope.read.retired_key", true, {
|
|
952
590
|
kekId: _state.kekId,
|
|
953
|
-
kekKind: _state.kekKind
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
591
|
+
kekKind: _state.kekKind
|
|
592
|
+
});
|
|
593
|
+
return { plaintext: pt, needsMigration: true };
|
|
594
|
+
} catch {
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
emit("cred_envelope.read.decrypt_failed", false, {
|
|
598
|
+
kekId: _state.kekId,
|
|
599
|
+
kekKind: _state.kekKind,
|
|
600
|
+
message: err?.message ?? "unknown",
|
|
601
|
+
// The crypto error alone reads as a crash; the actionable truth is
|
|
602
|
+
// that this stored credential is unreadable by THIS binary (usually
|
|
603
|
+
// a signing-identity or profile drift) and re-login rebuilds it.
|
|
604
|
+
hint: options.unreadableHint ?? DEFAULT_UNREADABLE_CREDENTIAL_HINT
|
|
605
|
+
});
|
|
606
|
+
return { plaintext: null, needsMigration: false };
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
if (_state.kind === "active") {
|
|
610
|
+
emit("cred_envelope.unwrap.fallback_to_legacy", true, {
|
|
611
|
+
kekId: _state.kekId,
|
|
612
|
+
kekKind: _state.kekKind
|
|
613
|
+
});
|
|
614
|
+
return { plaintext: stored, needsMigration: true };
|
|
615
|
+
}
|
|
616
|
+
return { plaintext: stored, needsMigration: false };
|
|
958
617
|
}
|
|
959
|
-
/** @internal Test seam — wrapped-DEK path resolver. */
|
|
960
618
|
function __wrappedDekFilePathForTest(profile) {
|
|
961
|
-
|
|
619
|
+
return wrappedDekFilePath(profile);
|
|
962
620
|
}
|
|
621
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
622
|
+
0 && (module.exports = {
|
|
623
|
+
DEFAULT_UNREADABLE_CREDENTIAL_HINT,
|
|
624
|
+
__clearWarnDedupeForTest,
|
|
625
|
+
__getStateForTest,
|
|
626
|
+
__resetShutdownGuardForTest,
|
|
627
|
+
__setStateForTest,
|
|
628
|
+
__wrappedDekFilePathForTest,
|
|
629
|
+
describeCredEnvelopeState,
|
|
630
|
+
hasCredEnvelopePathConflict,
|
|
631
|
+
initCredEnvelope,
|
|
632
|
+
isCredEnvelopeActive,
|
|
633
|
+
maybeDecryptOnRead,
|
|
634
|
+
maybeEncryptForWrite,
|
|
635
|
+
resetCredEnvelope,
|
|
636
|
+
shutdownCredEnvelope,
|
|
637
|
+
splitKeyConvergencePolicy,
|
|
638
|
+
wrapIfActiveOrPassthrough
|
|
639
|
+
});
|