@codyswann/lisa 4.85.0 → 4.86.1
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/all/copy-overwrite/scripts/lib/completion-proof-content.mjs +63 -22
- package/all/copy-overwrite/scripts/lib/npm-update-hosted-hook.mjs +6 -1
- package/all/copy-overwrite/scripts/lisa-hooks/parity-safety-net.sh +19 -3
- package/all/copy-overwrite/scripts/npm-updater-helper-graph.json +2 -2
- package/dist/cli/doctor-session-manager-pending.d.ts +17 -0
- package/dist/cli/doctor-session-manager-pending.d.ts.map +1 -0
- package/dist/cli/doctor-session-manager-pending.js +130 -0
- package/dist/cli/doctor-session-manager-pending.js.map +1 -0
- package/dist/cli/doctor-session-manager-token.d.ts +69 -0
- package/dist/cli/doctor-session-manager-token.d.ts.map +1 -0
- package/dist/cli/doctor-session-manager-token.js +264 -0
- package/dist/cli/doctor-session-manager-token.js.map +1 -0
- package/dist/cli/doctor-session-manager.d.ts +3 -1
- package/dist/cli/doctor-session-manager.d.ts.map +1 -1
- package/dist/cli/doctor-session-manager.js +168 -146
- package/dist/cli/doctor-session-manager.js.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
- package/dist/core/lisa-owned-hash-ledger.js +16 -0
- package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
- package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +168 -26
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/opencode/plugin-templates/parity-safety-net.sh +19 -3
- package/package.json +4 -4
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
- package/plugins/lisa/.codex-plugin/skills/lisa-secrets-access/SKILL.md +5 -3
- package/plugins/lisa/.codex-plugin/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
- package/plugins/lisa/.codex-plugin/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/SKILL.md +197 -54
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/references/runbook-template.md +23 -10
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/config.mjs +39 -11
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/launch.mjs +69 -60
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
- package/plugins/lisa/.codex-plugin/skills/lisa-session-manager/scripts/token.mjs +39 -120
- package/plugins/lisa/.codex-plugin/skills/lisa-setup-session-manager/SKILL.md +82 -19
- package/plugins/lisa/commands/session-manager.md +1 -1
- package/plugins/lisa/commands/setup/session-manager.md +1 -1
- package/plugins/lisa/hooks/parity-safety-net.sh +19 -3
- package/plugins/lisa/rules/reference/config-resolution.md +39 -7
- package/plugins/lisa/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
- package/plugins/lisa/skills/lisa-secrets-access/SKILL.md +5 -3
- package/plugins/lisa/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
- package/plugins/lisa/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
- package/plugins/lisa/skills/lisa-session-manager/SKILL.md +197 -54
- package/plugins/lisa/skills/lisa-session-manager/references/runbook-template.md +23 -10
- package/plugins/lisa/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
- package/plugins/lisa/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
- package/plugins/lisa/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
- package/plugins/lisa/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
- package/plugins/lisa/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
- package/plugins/lisa/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
- package/plugins/lisa/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
- package/plugins/lisa/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
- package/plugins/lisa/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
- package/plugins/lisa/skills/lisa-session-manager/scripts/config.mjs +39 -11
- package/plugins/lisa/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
- package/plugins/lisa/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
- package/plugins/lisa/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
- package/plugins/lisa/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
- package/plugins/lisa/skills/lisa-session-manager/scripts/launch.mjs +69 -60
- package/plugins/lisa/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
- package/plugins/lisa/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
- package/plugins/lisa/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
- package/plugins/lisa/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
- package/plugins/lisa/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
- package/plugins/lisa/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
- package/plugins/lisa/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
- package/plugins/lisa/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
- package/plugins/lisa/skills/lisa-session-manager/scripts/token.mjs +39 -120
- package/plugins/lisa/skills/lisa-setup-session-manager/SKILL.md +82 -19
- package/plugins/lisa-agy/commands/lisa/session-manager.md +1 -1
- package/plugins/lisa-agy/commands/lisa/setup/session-manager.md +1 -1
- package/plugins/lisa-agy/hooks/parity-safety-net.sh +19 -3
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
- package/plugins/lisa-agy/skills/lisa-secrets-access/SKILL.md +5 -3
- package/plugins/lisa-agy/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
- package/plugins/lisa-agy/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
- package/plugins/lisa-agy/skills/lisa-session-manager/SKILL.md +197 -54
- package/plugins/lisa-agy/skills/lisa-session-manager/references/runbook-template.md +23 -10
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/config.mjs +39 -11
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/launch.mjs +69 -60
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
- package/plugins/lisa-agy/skills/lisa-session-manager/scripts/token.mjs +39 -120
- package/plugins/lisa-agy/skills/lisa-setup-session-manager/SKILL.md +82 -19
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/commands/lisa/session-manager.md +1 -1
- package/plugins/lisa-copilot/commands/lisa/setup/session-manager.md +1 -1
- package/plugins/lisa-copilot/hooks/parity-safety-net.sh +19 -3
- package/plugins/lisa-copilot/rules/reference/config-resolution.md +39 -7
- package/plugins/lisa-copilot/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
- package/plugins/lisa-copilot/skills/lisa-secrets-access/SKILL.md +5 -3
- package/plugins/lisa-copilot/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
- package/plugins/lisa-copilot/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
- package/plugins/lisa-copilot/skills/lisa-session-manager/SKILL.md +197 -54
- package/plugins/lisa-copilot/skills/lisa-session-manager/references/runbook-template.md +23 -10
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/config.mjs +39 -11
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/launch.mjs +69 -60
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
- package/plugins/lisa-copilot/skills/lisa-session-manager/scripts/token.mjs +39 -120
- package/plugins/lisa-copilot/skills/lisa-setup-session-manager/SKILL.md +82 -19
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/commands/lisa/session-manager.md +1 -1
- package/plugins/lisa-cursor/commands/lisa/setup/session-manager.md +1 -1
- package/plugins/lisa-cursor/hooks/parity-safety-net.sh +19 -3
- package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +39 -7
- package/plugins/lisa-cursor/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
- package/plugins/lisa-cursor/skills/lisa-secrets-access/SKILL.md +5 -3
- package/plugins/lisa-cursor/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
- package/plugins/lisa-cursor/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
- package/plugins/lisa-cursor/skills/lisa-session-manager/SKILL.md +197 -54
- package/plugins/lisa-cursor/skills/lisa-session-manager/references/runbook-template.md +23 -10
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/config.mjs +39 -11
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/launch.mjs +69 -60
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
- package/plugins/lisa-cursor/skills/lisa-session-manager/scripts/token.mjs +39 -120
- package/plugins/lisa-cursor/skills/lisa-setup-session-manager/SKILL.md +82 -19
- package/plugins/lisa-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-devin/hooks/parity-safety-net.sh +19 -3
- package/plugins/lisa-devin/rules/reference/config-resolution.md +39 -7
- package/plugins/lisa-devin/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
- package/plugins/lisa-devin/skills/lisa-secrets-access/SKILL.md +5 -3
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
- package/plugins/lisa-devin/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
- package/plugins/lisa-devin/skills/lisa-session-manager/SKILL.md +197 -54
- package/plugins/lisa-devin/skills/lisa-session-manager/references/runbook-template.md +23 -10
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/config.mjs +39 -11
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/launch.mjs +69 -60
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
- package/plugins/lisa-devin/skills/lisa-session-manager/scripts/token.mjs +39 -120
- package/plugins/lisa-devin/skills/lisa-setup-session-manager/SKILL.md +82 -19
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-devin/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-devin/.devin-plugin/plugin.json +1 -1
- package/plugins/src/base/commands/session-manager.md +1 -1
- package/plugins/src/base/commands/setup/session-manager.md +1 -1
- package/plugins/src/base/hooks/parity-safety-net.sh +19 -3
- package/plugins/src/base/rules/reference/config-resolution.md +39 -7
- package/plugins/src/base/skills/lisa-parity-sentry-sdk-setup/SKILL.md +24 -17
- package/plugins/src/base/skills/lisa-secrets-access/SKILL.md +5 -3
- package/plugins/src/base/skills/lisa-secrets-access/scripts/providers.mjs +121 -3
- package/plugins/src/base/skills/lisa-secrets-access/scripts/validate-config.mjs +86 -31
- package/plugins/src/base/skills/lisa-session-manager/SKILL.md +197 -54
- package/plugins/src/base/skills/lisa-session-manager/references/runbook-template.md +23 -10
- package/plugins/src/base/skills/lisa-session-manager/scripts/cli-cycle.mjs +21 -3
- package/plugins/src/base/skills/lisa-session-manager/scripts/cli-human.mjs +199 -0
- package/plugins/src/base/skills/lisa-session-manager/scripts/cli-manager-token.mjs +99 -0
- package/plugins/src/base/skills/lisa-session-manager/scripts/cli-manager.mjs +52 -52
- package/plugins/src/base/skills/lisa-session-manager/scripts/cli-queue.mjs +51 -139
- package/plugins/src/base/skills/lisa-session-manager/scripts/cli-runtime.mjs +5 -3
- package/plugins/src/base/skills/lisa-session-manager/scripts/cli-setup.mjs +94 -14
- package/plugins/src/base/skills/lisa-session-manager/scripts/cli-status.mjs +73 -0
- package/plugins/src/base/skills/lisa-session-manager/scripts/cli-usage.mjs +105 -15
- package/plugins/src/base/skills/lisa-session-manager/scripts/config.mjs +39 -11
- package/plugins/src/base/skills/lisa-session-manager/scripts/human-answer.mjs +162 -0
- package/plugins/src/base/skills/lisa-session-manager/scripts/human-needed.mjs +198 -0
- package/plugins/src/base/skills/lisa-session-manager/scripts/json-input.mjs +34 -0
- package/plugins/src/base/skills/lisa-session-manager/scripts/launch-shell.mjs +115 -0
- package/plugins/src/base/skills/lisa-session-manager/scripts/launch.mjs +69 -60
- package/plugins/src/base/skills/lisa-session-manager/scripts/ledger-questions.mjs +252 -0
- package/plugins/src/base/skills/lisa-session-manager/scripts/ledger.mjs +22 -56
- package/plugins/src/base/skills/lisa-session-manager/scripts/queue-github.mjs +117 -0
- package/plugins/src/base/skills/lisa-session-manager/scripts/session-manager.mjs +17 -5
- package/plugins/src/base/skills/lisa-session-manager/scripts/token-migrate.mjs +180 -0
- package/plugins/src/base/skills/lisa-session-manager/scripts/token-provider.mjs +150 -0
- package/plugins/src/base/skills/lisa-session-manager/scripts/token-read.mjs +166 -0
- package/plugins/src/base/skills/lisa-session-manager/scripts/token-store.mjs +248 -0
- package/plugins/src/base/skills/lisa-session-manager/scripts/token.mjs +39 -120
- package/plugins/src/base/skills/lisa-setup-session-manager/SKILL.md +82 -19
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Telegram findings for the session-manager notifications doctor check
|
|
3
|
+
* (#4448), split out of `doctor-session-manager` when Telegram became optional
|
|
4
|
+
* (#4555). With no notification channel only {@link plaintextTokenFindings}
|
|
5
|
+
* runs: a plaintext token is worth flagging whether or not a bot is set up.
|
|
6
|
+
*
|
|
7
|
+
* The manager is the only Claude session that may poll the project's Telegram
|
|
8
|
+
* bot. Two sessions polling one bot steal each other's messages, and a worker
|
|
9
|
+
* that inherits the token can impersonate the manager. Setup and `start`
|
|
10
|
+
* enforce isolation when they run; these findings catch drift afterwards: a
|
|
11
|
+
* plugin later enabled at user scope, a token copied into the shared default
|
|
12
|
+
* dir, a token exported from a shell profile, or a loosened file mode.
|
|
13
|
+
*
|
|
14
|
+
* Where the token lives (#4555): with a secrets provider configured
|
|
15
|
+
* (`secrets.provider` set and not `env`) it belongs in the provider as
|
|
16
|
+
* `TELEGRAM_BOT_TOKEN_<NAME>`, so a plaintext token file in the state dir is
|
|
17
|
+
* a leftover that `store-token` migrates (and `start` refuses to run while
|
|
18
|
+
* it holds a `TELEGRAM_BOT_TOKEN` line; doctor only stats it, so it says so
|
|
19
|
+
* rather than claiming the file is refused outright). With no provider that file is still how the token is stored, and
|
|
20
|
+
* it is flagged as plaintext. Doctor never reads the vault: it cannot prove
|
|
21
|
+
* the secret exists, only that no plaintext copy is left.
|
|
22
|
+
*
|
|
23
|
+
* Token files are only ever `stat`-ed, never read, so the token value cannot
|
|
24
|
+
* reach the detail text; environment values are reported by name only.
|
|
25
|
+
*/
|
|
26
|
+
import * as path from "node:path";
|
|
27
|
+
import { isRecord, modeOf, readJson, } from "./doctor-session-manager-trust.js";
|
|
28
|
+
const PLUGIN_ID = "telegram@claude-plugins-official";
|
|
29
|
+
const TOKEN_FILE = ".env";
|
|
30
|
+
/** The plugin's token variable; any `TELEGRAM_BOT_TOKEN*` name is flagged. */
|
|
31
|
+
const TOKEN_VAR = "TELEGRAM_BOT_TOKEN";
|
|
32
|
+
const STATE_DIR_VAR = "TELEGRAM_STATE_DIR";
|
|
33
|
+
/** Group + other permission bits are the low six bits of a file mode. */
|
|
34
|
+
const GROUP_OTHER_SPAN = 0o100;
|
|
35
|
+
/** All permission bits (owner, group, other) are the low nine. */
|
|
36
|
+
const PERMISSION_SPAN = 0o1000;
|
|
37
|
+
/**
|
|
38
|
+
* The provider secret name for a manager: `TELEGRAM_BOT_TOKEN_<NAME>` with
|
|
39
|
+
* the name upper-snaked. Must agree with the session-manager CLI's
|
|
40
|
+
* `telegramSecretName` (token-store.mjs); a test pins the two together.
|
|
41
|
+
* @param managerName - `sessionManager.name`
|
|
42
|
+
* @returns Secret name
|
|
43
|
+
*/
|
|
44
|
+
export function telegramSecretNameFor(managerName) {
|
|
45
|
+
const suffix = String(managerName)
|
|
46
|
+
.toUpperCase()
|
|
47
|
+
.replaceAll(/[^A-Z0-9]+/g, "_");
|
|
48
|
+
return `${TOKEN_VAR}_${suffix}`;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The secrets provider the session-manager CLI will use for this project, or
|
|
52
|
+
* undefined when it uses none (`env`, or no provider at all). Decided exactly
|
|
53
|
+
* the way the CLI's `loadTokenSecrets` does through `lisa-secrets-access`'s
|
|
54
|
+
* `readConfig`: only the committed `.lisa.config.json` counts (the local
|
|
55
|
+
* override is never read for `secrets`), its `secrets.provider` defaulting
|
|
56
|
+
* to `env`; with no committed file at all, the environment fallback
|
|
57
|
+
* (`LISA_TENANT` or `LISA_SECRETS_NAMESPACE` names a tenant, and
|
|
58
|
+
* `LISA_PROVIDER` / `LISA_SECRETS_PROVIDER` its provider, default
|
|
59
|
+
* `bitwarden`). A test pins this to the CLI. Known gap: with no config file
|
|
60
|
+
* at the root the CLI also looks under `LISA_PROJECT_DIR` /
|
|
61
|
+
* `CLAUDE_PROJECT_DIR`; doctor only looks at the project it was pointed at.
|
|
62
|
+
* @param targetPath - Project root
|
|
63
|
+
* @param read - Text reader
|
|
64
|
+
* @param env - Doctor's environment
|
|
65
|
+
* @returns Provider name, or undefined for none
|
|
66
|
+
*/
|
|
67
|
+
export async function secretsProviderAt(targetPath, read, env) {
|
|
68
|
+
const committed = await readJson(read, path.join(targetPath, ".lisa.config.json"));
|
|
69
|
+
const provider = committed === undefined
|
|
70
|
+
? providerFromEnvironment(env)
|
|
71
|
+
: committedProvider(committed);
|
|
72
|
+
return provider === "env" ? undefined : provider;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* `secrets.provider` in the committed config, defaulting to `env`.
|
|
76
|
+
* @param committed - Parsed `.lisa.config.json`
|
|
77
|
+
* @returns Provider name
|
|
78
|
+
*/
|
|
79
|
+
function committedProvider(committed) {
|
|
80
|
+
const secrets = committed.secrets;
|
|
81
|
+
const provider = isRecord(secrets) ? secrets.provider : undefined;
|
|
82
|
+
return typeof provider === "string" ? provider : "env";
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The provider `readConfig` falls back to with no config file.
|
|
86
|
+
* @param env - Environment
|
|
87
|
+
* @returns Provider name (`env` when no tenant is named)
|
|
88
|
+
*/
|
|
89
|
+
function providerFromEnvironment(env) {
|
|
90
|
+
const tenant = (env.LISA_TENANT ?? env.LISA_SECRETS_NAMESPACE ?? "").trim();
|
|
91
|
+
if (tenant === "")
|
|
92
|
+
return "env";
|
|
93
|
+
const named = (env.LISA_PROVIDER ?? env.LISA_SECRETS_PROVIDER ?? "").trim();
|
|
94
|
+
return named === "" ? "bitwarden" : named;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Resolve the configured state dir to an absolute path, expanding `~`.
|
|
98
|
+
* @param raw - Configured `notify.stateDir`
|
|
99
|
+
* @param home - Home directory
|
|
100
|
+
* @param projectRoot - Base for a relative path
|
|
101
|
+
* @returns Absolute path, or undefined when unset
|
|
102
|
+
*/
|
|
103
|
+
export function resolveStateDir(raw, home, projectRoot) {
|
|
104
|
+
if (typeof raw !== "string" || raw.trim() === "")
|
|
105
|
+
return undefined;
|
|
106
|
+
const dir = raw.trim();
|
|
107
|
+
if (dir === "~")
|
|
108
|
+
return home;
|
|
109
|
+
if (dir.startsWith("~/"))
|
|
110
|
+
return path.resolve(home, dir.slice(2));
|
|
111
|
+
return path.resolve(projectRoot, dir);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Findings about the configured per-project state dir and its token file.
|
|
115
|
+
* @param ctx - Resolved inputs
|
|
116
|
+
* @param stateDir - Absolute state dir, or undefined when unset
|
|
117
|
+
* @returns Findings
|
|
118
|
+
*/
|
|
119
|
+
async function stateDirFindings(ctx, stateDir) {
|
|
120
|
+
if (stateDir === undefined) {
|
|
121
|
+
return [
|
|
122
|
+
{
|
|
123
|
+
status: "fail",
|
|
124
|
+
text: "sessionManager.notify.stateDir is not set; run /lisa:setup:session-manager to give this project its own Telegram state dir",
|
|
125
|
+
},
|
|
126
|
+
];
|
|
127
|
+
}
|
|
128
|
+
if (stateDir === ctx.sharedDir) {
|
|
129
|
+
return [
|
|
130
|
+
{
|
|
131
|
+
status: "fail",
|
|
132
|
+
text: `notify.stateDir is the shared default ${ctx.sharedDir}, so every Telegram session on this machine would poll one bot; point it at a per-project dir such as ${ctx.sharedDir}-<project>`,
|
|
133
|
+
},
|
|
134
|
+
];
|
|
135
|
+
}
|
|
136
|
+
return tokenFileFindings(ctx, path.join(stateDir, TOKEN_FILE));
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Findings about the plaintext token file, which means different things with
|
|
140
|
+
* and without a secrets provider.
|
|
141
|
+
* @param ctx - Resolved inputs
|
|
142
|
+
* @param tokenFile - The token file in the state dir
|
|
143
|
+
* @returns Findings
|
|
144
|
+
*/
|
|
145
|
+
async function tokenFileFindings(ctx, tokenFile) {
|
|
146
|
+
const mode = await modeOf(ctx.statFile, tokenFile);
|
|
147
|
+
const provider = ctx.secretsProvider;
|
|
148
|
+
if (provider !== undefined) {
|
|
149
|
+
return mode === undefined
|
|
150
|
+
? []
|
|
151
|
+
: [
|
|
152
|
+
{
|
|
153
|
+
status: "warn",
|
|
154
|
+
text: `a plaintext token file ${tokenFile} is left over, but the token belongs in ${provider} as ${ctx.secretName}; run session-manager.mjs store-token to move it there (it verifies the copy, then deletes the file), because start refuses to run while that file holds a TELEGRAM_BOT_TOKEN line`,
|
|
155
|
+
},
|
|
156
|
+
];
|
|
157
|
+
}
|
|
158
|
+
if (mode === undefined) {
|
|
159
|
+
return [
|
|
160
|
+
{
|
|
161
|
+
status: "warn",
|
|
162
|
+
text: `token file ${tokenFile} is missing, so the manager cannot start; store the bot token with /lisa:setup:session-manager`,
|
|
163
|
+
},
|
|
164
|
+
];
|
|
165
|
+
}
|
|
166
|
+
const plaintext = {
|
|
167
|
+
status: "warn",
|
|
168
|
+
text: `token file ${tokenFile} holds the bot token in plaintext because no secrets provider is configured; configure secrets.provider (see lisa-secrets-access), then run session-manager.mjs store-token to move it into the provider`,
|
|
169
|
+
};
|
|
170
|
+
if (mode % GROUP_OTHER_SPAN === 0)
|
|
171
|
+
return [plaintext];
|
|
172
|
+
const octal = (mode % PERMISSION_SPAN).toString(8).padStart(3, "0");
|
|
173
|
+
return [
|
|
174
|
+
plaintext,
|
|
175
|
+
{
|
|
176
|
+
status: "warn",
|
|
177
|
+
text: `token file ${tokenFile} has mode 0${octal}, open to other users; run chmod 600 ${tokenFile}`,
|
|
178
|
+
},
|
|
179
|
+
];
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Findings about the user-scope plugin and the shared default token file.
|
|
183
|
+
* @param ctx - Resolved inputs
|
|
184
|
+
* @returns Findings
|
|
185
|
+
*/
|
|
186
|
+
async function userScopeFindings(ctx) {
|
|
187
|
+
const settings = await readJson(ctx.read, path.join(ctx.claudeDir, "settings.json"));
|
|
188
|
+
const plugins = settings?.enabledPlugins;
|
|
189
|
+
const sharedToken = path.join(ctx.sharedDir, TOKEN_FILE);
|
|
190
|
+
return [
|
|
191
|
+
...(isRecord(plugins) && plugins[PLUGIN_ID] === true
|
|
192
|
+
? [
|
|
193
|
+
{
|
|
194
|
+
status: "warn",
|
|
195
|
+
text: `${PLUGIN_ID} is enabled at user scope, so every Claude session polls the bot; run claude plugin disable ${PLUGIN_ID} -s user (the manager enables it for itself)`,
|
|
196
|
+
},
|
|
197
|
+
]
|
|
198
|
+
: []),
|
|
199
|
+
...((await modeOf(ctx.statFile, sharedToken)) === undefined
|
|
200
|
+
? []
|
|
201
|
+
: [
|
|
202
|
+
{
|
|
203
|
+
status: "warn",
|
|
204
|
+
text: `a token file exists in the shared default dir (${sharedToken}); move it to the per-project state dir and delete it`,
|
|
205
|
+
},
|
|
206
|
+
]),
|
|
207
|
+
];
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Findings for Telegram variables exported in doctor's own shell.
|
|
211
|
+
* @param env - Doctor's environment
|
|
212
|
+
* @param includeStateDir - Also flag `TELEGRAM_STATE_DIR` (Telegram only)
|
|
213
|
+
* @returns Findings, naming each variable but never its value
|
|
214
|
+
*/
|
|
215
|
+
function exportedFindings(env, includeStateDir = true) {
|
|
216
|
+
return Object.keys(env)
|
|
217
|
+
.filter(name => (includeStateDir && name === STATE_DIR_VAR) ||
|
|
218
|
+
name.startsWith(TOKEN_VAR))
|
|
219
|
+
.filter(name => (env[name] ?? "") !== "")
|
|
220
|
+
.sort((a, b) => a.localeCompare(b))
|
|
221
|
+
.map(name => ({
|
|
222
|
+
status: "warn",
|
|
223
|
+
text: `${name} is set in this shell's environment, so workers may inherit it; remove the export from your shell profile`,
|
|
224
|
+
}));
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* The plaintext-token findings that hold with no notification channel too
|
|
228
|
+
* (the spec's "doctor flags any plaintext token file it finds"): an exported
|
|
229
|
+
* `TELEGRAM_BOT_TOKEN*` variable, by name only, and a token file in the
|
|
230
|
+
* shared Telegram state dir, by existence only (never read). The Telegram
|
|
231
|
+
* requirements themselves (state dir, plugin scope, `TELEGRAM_STATE_DIR`)
|
|
232
|
+
* are skipped, since no bot is configured.
|
|
233
|
+
* @param ctx - The shared dir, environment and mode reader
|
|
234
|
+
* @returns Findings
|
|
235
|
+
*/
|
|
236
|
+
export async function plaintextTokenFindings(ctx) {
|
|
237
|
+
const sharedToken = path.join(ctx.sharedDir, TOKEN_FILE);
|
|
238
|
+
return [
|
|
239
|
+
...exportedFindings(ctx.env, false),
|
|
240
|
+
...((await modeOf(ctx.statFile, sharedToken)) === undefined
|
|
241
|
+
? []
|
|
242
|
+
: [
|
|
243
|
+
{
|
|
244
|
+
status: "warn",
|
|
245
|
+
text: `a plaintext Telegram token file exists in the shared dir (${sharedToken}); no notification channel is configured, so nothing needs it: delete it`,
|
|
246
|
+
},
|
|
247
|
+
]),
|
|
248
|
+
];
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Every Telegram finding: the state dir and its token file, the user-scope
|
|
252
|
+
* plugin and shared default dir, and exported Telegram variables.
|
|
253
|
+
* @param ctx - Resolved inputs
|
|
254
|
+
* @param stateDir - Absolute state dir, or undefined when unset
|
|
255
|
+
* @returns Findings
|
|
256
|
+
*/
|
|
257
|
+
export async function telegramFindings(ctx, stateDir) {
|
|
258
|
+
return [
|
|
259
|
+
...(await stateDirFindings(ctx, stateDir)),
|
|
260
|
+
...(await userScopeFindings(ctx)),
|
|
261
|
+
...exportedFindings(ctx.env),
|
|
262
|
+
];
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=doctor-session-manager-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor-session-manager-token.js","sourceRoot":"","sources":["../../src/cli/doctor-session-manager-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAEL,QAAQ,EACR,MAAM,EACN,QAAQ,GACT,MAAM,mCAAmC,CAAC;AAE3C,MAAM,SAAS,GAAG,kCAAkC,CAAC;AACrD,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,8EAA8E;AAC9E,MAAM,SAAS,GAAG,oBAAoB,CAAC;AACvC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAC3C,yEAAyE;AACzE,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,kEAAkE;AAClE,MAAM,eAAe,GAAG,MAAM,CAAC;AAe/B;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAoB;IACxD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;SAC/B,WAAW,EAAE;SACb,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,IAAuC,EACvC,GAAsB;IAEtB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAC9B,IAAI,EACJ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAC3C,CAAC;IACF,MAAM,QAAQ,GACZ,SAAS,KAAK,SAAS;QACrB,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC;QAC9B,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACnC,OAAO,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,SAAkC;IAC3D,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,GAAsB;IACrD,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,IAAI,MAAM,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAChC,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAY,EACZ,IAAY,EACZ,WAAmB;IAEnB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACnE,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,GAAG,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAC7B,GAAoB,EACpB,QAA4B;IAE5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO;YACL;gBACE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,4HAA4H;aACnI;SACF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC;QAC/B,OAAO;YACL;gBACE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,yCAAyC,GAAG,CAAC,SAAS,yGAAyG,GAAG,CAAC,SAAS,YAAY;aAC/L;SACF,CAAC;IACJ,CAAC;IACD,OAAO,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,iBAAiB,CAC9B,GAAoB,EACpB,SAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC;IACrC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,KAAK,SAAS;YACvB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE;oBACE,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,0BAA0B,SAAS,2CAA2C,QAAQ,OAAO,GAAG,CAAC,UAAU,oLAAoL;iBACtS;aACF,CAAC;IACR,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO;YACL;gBACE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,cAAc,SAAS,gGAAgG;aAC9H;SACF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAY;QACzB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,cAAc,SAAS,0MAA0M;KACxO,CAAC;IACF,IAAI,IAAI,GAAG,gBAAgB,KAAK,CAAC;QAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpE,OAAO;QACL,SAAS;QACT;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc,SAAS,cAAc,KAAK,wCAAwC,SAAS,EAAE;SACpG;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAC9B,GAAoB;IAEpB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,GAAG,CAAC,IAAI,EACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAC1C,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,EAAE,cAAc,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACzD,OAAO;QACL,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI;YAClD,CAAC,CAAC;gBACE;oBACE,MAAM,EAAE,MAAe;oBACvB,IAAI,EAAE,GAAG,SAAS,+FAA+F,SAAS,8CAA8C;iBACzK;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,KAAK,SAAS;YACzD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE;oBACE,MAAM,EAAE,MAAe;oBACvB,IAAI,EAAE,kDAAkD,WAAW,uDAAuD;iBAC3H;aACF,CAAC;KACP,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,GAAsB,EACtB,eAAe,GAAG,IAAI;IAEtB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;SACpB,MAAM,CACL,IAAI,CAAC,EAAE,CACL,CAAC,eAAe,IAAI,IAAI,KAAK,aAAa,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC7B;SACA,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;SACxC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SAClC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,MAAM,EAAE,MAAe;QACvB,IAAI,EAAE,GAAG,IAAI,2GAA2G;KACzH,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,GAA4D;IAE5D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACzD,OAAO;QACL,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;QACnC,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,KAAK,SAAS;YACzD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE;oBACE,MAAM,EAAE,MAAe;oBACvB,IAAI,EAAE,6DAA6D,WAAW,0EAA0E;iBACzJ;aACF,CAAC;KACP,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAoB,EACpB,QAA4B;IAE5B,OAAO;QACL,GAAG,CAAC,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC1C,GAAG,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACjC,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;KAC7B,CAAC;AACJ,CAAC"}
|
|
@@ -18,6 +18,8 @@ export interface SessionManagerDoctorDependencies {
|
|
|
18
18
|
readonly managedSettingsPaths?: readonly string[];
|
|
19
19
|
/** Repo visibility probe; defaults to `gh repo view --json visibility`. */
|
|
20
20
|
readonly probeRepoVisibility?: RepoVisibilityProbe;
|
|
21
|
+
/** Clock for the age of items waiting on a human; defaults to now. */
|
|
22
|
+
readonly now?: () => Date;
|
|
21
23
|
}
|
|
22
24
|
/** The doctor options this check honours. */
|
|
23
25
|
export interface SessionManagerDoctorOptions {
|
|
@@ -25,7 +27,7 @@ export interface SessionManagerDoctorOptions {
|
|
|
25
27
|
readonly offline?: boolean;
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
|
-
* Check
|
|
30
|
+
* Check the notification channel of a configured session manager.
|
|
29
31
|
* @param targetPath - Project root
|
|
30
32
|
* @param deps - Injected environment, HOME and file access
|
|
31
33
|
* @param options - Doctor options; `offline` skips the visibility probe
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor-session-manager.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-session-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"doctor-session-manager.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-session-manager.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAEL,KAAK,mBAAmB,EAMzB,MAAM,mCAAmC,CAAC;AAgB3C,6EAA6E;AAC7E,eAAO,MAAM,8BAA8B,EAAE,SAAS,MAAM,EAG3D,CAAC;AAEF,0DAA0D;AAC1D,MAAM,WAAW,gCAAgC;IAC/C,sEAAsE;IACtE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,8DAA8D;IAC9D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClD,2EAA2E;IAC3E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IACnD,sEAAsE;IACtE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,6CAA6C;AAC7C,MAAM,WAAW,2BAA2B;IAC1C,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAsLD;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,gCAAgC,EACtC,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,WAAW,CAAC,CAiEtB"}
|