@aligndottech/cli 0.49.0 → 0.51.0
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/README.md +5 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +32 -8
- package/dist/cli.js.map +1 -1
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +4 -1
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +18 -2
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/config.d.ts +8 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +33 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/connect-agents.d.ts.map +1 -1
- package/dist/commands/connect-agents.js +3 -1
- package/dist/commands/connect-agents.js.map +1 -1
- package/dist/commands/connect.d.ts +5 -0
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +24 -0
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/env.d.ts.map +1 -1
- package/dist/commands/env.js +11 -0
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/import/confluence.d.ts.map +1 -1
- package/dist/commands/import/confluence.js +24 -5
- package/dist/commands/import/confluence.js.map +1 -1
- package/dist/commands/import/docs.js +2 -2
- package/dist/commands/import/git.d.ts.map +1 -1
- package/dist/commands/import/git.js +15 -5
- package/dist/commands/import/git.js.map +1 -1
- package/dist/commands/import/github.d.ts.map +1 -1
- package/dist/commands/import/github.js +34 -7
- package/dist/commands/import/github.js.map +1 -1
- package/dist/commands/import/gitlab.d.ts.map +1 -1
- package/dist/commands/import/gitlab.js +10 -5
- package/dist/commands/import/gitlab.js.map +1 -1
- package/dist/commands/import/jira.d.ts.map +1 -1
- package/dist/commands/import/jira.js +10 -5
- package/dist/commands/import/jira.js.map +1 -1
- package/dist/commands/import/linear.d.ts.map +1 -1
- package/dist/commands/import/linear.js +10 -5
- package/dist/commands/import/linear.js.map +1 -1
- package/dist/commands/import/notion.d.ts.map +1 -1
- package/dist/commands/import/notion.js +10 -5
- package/dist/commands/import/notion.js.map +1 -1
- package/dist/commands/import/sessions.js +2 -2
- package/dist/commands/import/slack.d.ts.map +1 -1
- package/dist/commands/import/slack.js +12 -7
- package/dist/commands/import/slack.js.map +1 -1
- package/dist/commands/import/teams.d.ts.map +1 -1
- package/dist/commands/import/teams.js +10 -5
- package/dist/commands/import/teams.js.map +1 -1
- package/dist/commands/import/zoom.d.ts.map +1 -1
- package/dist/commands/import/zoom.js +10 -5
- package/dist/commands/import/zoom.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +43 -1
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/invite.d.ts +8 -18
- package/dist/commands/invite.d.ts.map +1 -1
- package/dist/commands/invite.js +23 -46
- package/dist/commands/invite.js.map +1 -1
- package/dist/commands/join.d.ts +5 -0
- package/dist/commands/join.d.ts.map +1 -0
- package/dist/commands/join.js +49 -0
- package/dist/commands/join.js.map +1 -0
- package/dist/commands/local-relink.d.ts +35 -0
- package/dist/commands/local-relink.d.ts.map +1 -0
- package/dist/commands/local-relink.js +72 -0
- package/dist/commands/local-relink.js.map +1 -0
- package/dist/commands/local.d.ts.map +1 -1
- package/dist/commands/local.js +113 -4
- package/dist/commands/local.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +21 -2
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/mark.d.ts +37 -0
- package/dist/commands/mark.d.ts.map +1 -0
- package/dist/commands/mark.js +105 -0
- package/dist/commands/mark.js.map +1 -0
- package/dist/commands/mcp.d.ts +149 -2
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +80 -15
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/registry.d.ts.map +1 -1
- package/dist/commands/registry.js +12 -2
- package/dist/commands/registry.js.map +1 -1
- package/dist/commands/setup.d.ts +39 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +65 -50
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/share.d.ts +7 -0
- package/dist/commands/share.d.ts.map +1 -0
- package/dist/commands/share.js +129 -0
- package/dist/commands/share.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +10 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/sync.d.ts +55 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +278 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/telemetry.d.ts +3 -3
- package/dist/commands/telemetry.js +6 -6
- package/dist/commands/telemetry.js.map +1 -1
- package/dist/commands/why.d.ts.map +1 -1
- package/dist/commands/why.js +6 -1
- package/dist/commands/why.js.map +1 -1
- package/dist/detector/detector-version.d.ts +16 -0
- package/dist/detector/detector-version.d.ts.map +1 -0
- package/dist/detector/detector-version.js +36 -0
- package/dist/detector/detector-version.js.map +1 -0
- package/dist/detector/relationship-contract.d.ts +30 -0
- package/dist/detector/relationship-contract.d.ts.map +1 -0
- package/dist/detector/relationship-contract.js +120 -0
- package/dist/detector/relationship-contract.js.map +1 -0
- package/dist/detector/relationship-contract.v1.json +53 -0
- package/dist/detector/relationship-prompt.d.ts +20 -0
- package/dist/detector/relationship-prompt.d.ts.map +1 -0
- package/dist/detector/relationship-prompt.js +55 -0
- package/dist/detector/relationship-prompt.js.map +1 -0
- package/dist/detector/relationship-prompt.v1.json +13 -0
- package/dist/detector/resolve-pair.d.ts +39 -0
- package/dist/detector/resolve-pair.d.ts.map +1 -0
- package/dist/detector/resolve-pair.js +345 -0
- package/dist/detector/resolve-pair.js.map +1 -0
- package/dist/detector/similar-item.d.ts +20 -0
- package/dist/detector/similar-item.d.ts.map +1 -0
- package/dist/detector/similar-item.js +16 -0
- package/dist/detector/similar-item.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -11
- package/dist/index.js.map +1 -1
- package/dist/lib/advisory-dedup.d.ts.map +1 -1
- package/dist/lib/advisory-dedup.js +16 -8
- package/dist/lib/advisory-dedup.js.map +1 -1
- package/dist/lib/advisory-verdict.d.ts +19 -0
- package/dist/lib/advisory-verdict.d.ts.map +1 -1
- package/dist/lib/advisory-verdict.js +6 -3
- package/dist/lib/advisory-verdict.js.map +1 -1
- package/dist/lib/backfill-state.d.ts +116 -0
- package/dist/lib/backfill-state.d.ts.map +1 -0
- package/dist/lib/backfill-state.js +342 -0
- package/dist/lib/backfill-state.js.map +1 -0
- package/dist/lib/backup-copy.d.ts +17 -0
- package/dist/lib/backup-copy.d.ts.map +1 -0
- package/dist/lib/backup-copy.js +13 -0
- package/dist/lib/backup-copy.js.map +1 -0
- package/dist/lib/backup-exclusion.d.ts +10 -0
- package/dist/lib/backup-exclusion.d.ts.map +1 -0
- package/dist/lib/backup-exclusion.js +58 -0
- package/dist/lib/backup-exclusion.js.map +1 -0
- package/dist/lib/capture-report.d.ts +22 -18
- package/dist/lib/capture-report.d.ts.map +1 -1
- package/dist/lib/capture-report.js +64 -2
- package/dist/lib/capture-report.js.map +1 -1
- package/dist/lib/cli-oauth.d.ts +2 -0
- package/dist/lib/cli-oauth.d.ts.map +1 -1
- package/dist/lib/cli-oauth.js +61 -10
- package/dist/lib/cli-oauth.js.map +1 -1
- package/dist/lib/config.d.ts +72 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +245 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/confirm-timeout.d.ts +8 -0
- package/dist/lib/confirm-timeout.d.ts.map +1 -0
- package/dist/lib/confirm-timeout.js +18 -0
- package/dist/lib/confirm-timeout.js.map +1 -0
- package/dist/lib/curation/check-marks.d.ts +48 -0
- package/dist/lib/curation/check-marks.d.ts.map +1 -0
- package/dist/lib/curation/check-marks.js +81 -0
- package/dist/lib/curation/check-marks.js.map +1 -0
- package/dist/lib/curation/guardrail.d.ts +39 -0
- package/dist/lib/curation/guardrail.d.ts.map +1 -0
- package/dist/lib/curation/guardrail.js +95 -0
- package/dist/lib/curation/guardrail.js.map +1 -0
- package/dist/lib/curation/judge.d.ts +3 -0
- package/dist/lib/curation/judge.d.ts.map +1 -0
- package/dist/lib/curation/judge.js +9 -0
- package/dist/lib/curation/judge.js.map +1 -0
- package/dist/lib/curation/judgements-db.d.ts +97 -0
- package/dist/lib/curation/judgements-db.d.ts.map +1 -0
- package/dist/lib/curation/judgements-db.js +206 -0
- package/dist/lib/curation/judgements-db.js.map +1 -0
- package/dist/lib/curation/last-check.d.ts +32 -0
- package/dist/lib/curation/last-check.d.ts.map +1 -0
- package/dist/lib/curation/last-check.js +81 -0
- package/dist/lib/curation/last-check.js.map +1 -0
- package/dist/lib/curation/mark.d.ts +76 -0
- package/dist/lib/curation/mark.d.ts.map +1 -0
- package/dist/lib/curation/mark.js +361 -0
- package/dist/lib/curation/mark.js.map +1 -0
- package/dist/lib/curation/text.d.ts +6 -0
- package/dist/lib/curation/text.d.ts.map +1 -0
- package/dist/lib/curation/text.js +35 -0
- package/dist/lib/curation/text.js.map +1 -0
- package/dist/lib/destination-name.d.ts +24 -0
- package/dist/lib/destination-name.d.ts.map +1 -0
- package/dist/lib/destination-name.js +39 -0
- package/dist/lib/destination-name.js.map +1 -0
- package/dist/lib/destination-summary.d.ts +6 -0
- package/dist/lib/destination-summary.d.ts.map +1 -0
- package/dist/lib/destination-summary.js +27 -0
- package/dist/lib/destination-summary.js.map +1 -0
- package/dist/lib/destination-trust.d.ts +54 -0
- package/dist/lib/destination-trust.d.ts.map +1 -0
- package/dist/lib/destination-trust.js +107 -0
- package/dist/lib/destination-trust.js.map +1 -0
- package/dist/lib/env-resolver.d.ts.map +1 -1
- package/dist/lib/env-resolver.js +3 -0
- package/dist/lib/env-resolver.js.map +1 -1
- package/dist/lib/fatal.d.ts +11 -0
- package/dist/lib/fatal.d.ts.map +1 -0
- package/dist/lib/fatal.js +22 -0
- package/dist/lib/fatal.js.map +1 -0
- package/dist/lib/fetchers/capture.d.ts +49 -2
- package/dist/lib/fetchers/capture.d.ts.map +1 -1
- package/dist/lib/fetchers/capture.js +7 -1
- package/dist/lib/fetchers/capture.js.map +1 -1
- package/dist/lib/fetchers/confluence.d.ts +2 -2
- package/dist/lib/fetchers/confluence.d.ts.map +1 -1
- package/dist/lib/fetchers/confluence.js.map +1 -1
- package/dist/lib/fetchers/git.d.ts +1 -0
- package/dist/lib/fetchers/git.d.ts.map +1 -1
- package/dist/lib/fetchers/git.js +3 -1
- package/dist/lib/fetchers/git.js.map +1 -1
- package/dist/lib/fetchers/github.d.ts +44 -5
- package/dist/lib/fetchers/github.d.ts.map +1 -1
- package/dist/lib/fetchers/github.js +122 -5
- package/dist/lib/fetchers/github.js.map +1 -1
- package/dist/lib/fetchers/gitlab.d.ts +2 -2
- package/dist/lib/fetchers/gitlab.d.ts.map +1 -1
- package/dist/lib/fetchers/gitlab.js.map +1 -1
- package/dist/lib/fetchers/jira.d.ts +2 -2
- package/dist/lib/fetchers/jira.d.ts.map +1 -1
- package/dist/lib/fetchers/jira.js.map +1 -1
- package/dist/lib/fetchers/linear.d.ts +2 -2
- package/dist/lib/fetchers/linear.d.ts.map +1 -1
- package/dist/lib/fetchers/linear.js.map +1 -1
- package/dist/lib/fetchers/notion.d.ts +2 -2
- package/dist/lib/fetchers/notion.d.ts.map +1 -1
- package/dist/lib/fetchers/notion.js.map +1 -1
- package/dist/lib/fetchers/slack.d.ts +2 -3
- package/dist/lib/fetchers/slack.d.ts.map +1 -1
- package/dist/lib/fetchers/slack.js.map +1 -1
- package/dist/lib/fetchers/teams.d.ts +2 -2
- package/dist/lib/fetchers/teams.d.ts.map +1 -1
- package/dist/lib/fetchers/teams.js.map +1 -1
- package/dist/lib/fetchers/zoom.d.ts +2 -2
- package/dist/lib/fetchers/zoom.d.ts.map +1 -1
- package/dist/lib/fetchers/zoom.js.map +1 -1
- package/dist/lib/gateway-client.d.ts +40 -14
- package/dist/lib/gateway-client.d.ts.map +1 -1
- package/dist/lib/gateway-client.js +47 -19
- package/dist/lib/gateway-client.js.map +1 -1
- package/dist/lib/github-text.d.ts +3 -0
- package/dist/lib/github-text.d.ts.map +1 -0
- package/dist/lib/github-text.js +18 -0
- package/dist/lib/github-text.js.map +1 -0
- package/dist/lib/hook-context.d.ts +10 -0
- package/dist/lib/hook-context.d.ts.map +1 -1
- package/dist/lib/hook-context.js +14 -0
- package/dist/lib/hook-context.js.map +1 -1
- package/dist/lib/import-defaults.d.ts +39 -23
- package/dist/lib/import-defaults.d.ts.map +1 -1
- package/dist/lib/import-defaults.js +28 -26
- package/dist/lib/import-defaults.js.map +1 -1
- package/dist/lib/invite-prompt.d.ts +4 -4
- package/dist/lib/invite-prompt.d.ts.map +1 -1
- package/dist/lib/invite-prompt.js +4 -4
- package/dist/lib/invite-prompt.js.map +1 -1
- package/dist/lib/invite-settings.d.ts +18 -0
- package/dist/lib/invite-settings.d.ts.map +1 -0
- package/dist/lib/invite-settings.js +29 -0
- package/dist/lib/invite-settings.js.map +1 -0
- package/dist/lib/join-flow.d.ts +60 -0
- package/dist/lib/join-flow.d.ts.map +1 -0
- package/dist/lib/join-flow.js +282 -0
- package/dist/lib/join-flow.js.map +1 -0
- package/dist/lib/launch/adapters/aider.d.ts +17 -0
- package/dist/lib/launch/adapters/aider.d.ts.map +1 -0
- package/dist/lib/launch/adapters/aider.js +30 -0
- package/dist/lib/launch/adapters/aider.js.map +1 -0
- package/dist/lib/launch/adapters/auggie.d.ts +18 -0
- package/dist/lib/launch/adapters/auggie.d.ts.map +1 -0
- package/dist/lib/launch/adapters/auggie.js +34 -0
- package/dist/lib/launch/adapters/auggie.js.map +1 -0
- package/dist/lib/launch/adapters/cline.d.ts +10 -0
- package/dist/lib/launch/adapters/cline.d.ts.map +1 -0
- package/dist/lib/launch/adapters/cline.js +41 -0
- package/dist/lib/launch/adapters/cline.js.map +1 -0
- package/dist/lib/launch/adapters/continue.d.ts +22 -0
- package/dist/lib/launch/adapters/continue.d.ts.map +1 -0
- package/dist/lib/launch/adapters/continue.js +46 -0
- package/dist/lib/launch/adapters/continue.js.map +1 -0
- package/dist/lib/launch/adapters/gemini-cli.d.ts +13 -14
- package/dist/lib/launch/adapters/gemini-cli.d.ts.map +1 -1
- package/dist/lib/launch/adapters/gemini-cli.js +38 -53
- package/dist/lib/launch/adapters/gemini-cli.js.map +1 -1
- package/dist/lib/launch/adapters/goose.d.ts +20 -0
- package/dist/lib/launch/adapters/goose.d.ts.map +1 -0
- package/dist/lib/launch/adapters/goose.js +47 -0
- package/dist/lib/launch/adapters/goose.js.map +1 -0
- package/dist/lib/launch/adapters/notes.d.ts +7 -0
- package/dist/lib/launch/adapters/notes.d.ts.map +1 -0
- package/dist/lib/launch/adapters/notes.js +5 -0
- package/dist/lib/launch/adapters/notes.js.map +1 -0
- package/dist/lib/launch/agents.d.ts +2 -0
- package/dist/lib/launch/agents.d.ts.map +1 -1
- package/dist/lib/launch/agents.js +3 -1
- package/dist/lib/launch/agents.js.map +1 -1
- package/dist/lib/launch/auggie-state.d.ts +25 -0
- package/dist/lib/launch/auggie-state.d.ts.map +1 -0
- package/dist/lib/launch/auggie-state.js +74 -0
- package/dist/lib/launch/auggie-state.js.map +1 -0
- package/dist/lib/launch/cline-state.d.ts +32 -0
- package/dist/lib/launch/cline-state.d.ts.map +1 -0
- package/dist/lib/launch/cline-state.js +108 -0
- package/dist/lib/launch/cline-state.js.map +1 -0
- package/dist/lib/launch/config-writes.d.ts +4 -0
- package/dist/lib/launch/config-writes.d.ts.map +1 -1
- package/dist/lib/launch/config-writes.js +8 -3
- package/dist/lib/launch/config-writes.js.map +1 -1
- package/dist/lib/launch/continue-state.d.ts +41 -0
- package/dist/lib/launch/continue-state.d.ts.map +1 -0
- package/dist/lib/launch/continue-state.js +142 -0
- package/dist/lib/launch/continue-state.js.map +1 -0
- package/dist/lib/launch/detect.d.ts.map +1 -1
- package/dist/lib/launch/detect.js +3 -1
- package/dist/lib/launch/detect.js.map +1 -1
- package/dist/lib/launch/gemini-state.d.ts +26 -20
- package/dist/lib/launch/gemini-state.d.ts.map +1 -1
- package/dist/lib/launch/gemini-state.js +95 -37
- package/dist/lib/launch/gemini-state.js.map +1 -1
- package/dist/lib/launch/gemini-system-file.d.ts +17 -0
- package/dist/lib/launch/gemini-system-file.d.ts.map +1 -0
- package/dist/lib/launch/gemini-system-file.js +55 -0
- package/dist/lib/launch/gemini-system-file.js.map +1 -0
- package/dist/lib/launch/gemini-trust.d.ts +3 -1
- package/dist/lib/launch/gemini-trust.d.ts.map +1 -1
- package/dist/lib/launch/gemini-trust.js +10 -3
- package/dist/lib/launch/gemini-trust.js.map +1 -1
- package/dist/lib/launch/goose-state.d.ts +53 -0
- package/dist/lib/launch/goose-state.d.ts.map +1 -0
- package/dist/lib/launch/goose-state.js +137 -0
- package/dist/lib/launch/goose-state.js.map +1 -0
- package/dist/lib/launch/launch-files.d.ts.map +1 -1
- package/dist/lib/launch/launch-files.js +3 -2
- package/dist/lib/launch/launch-files.js.map +1 -1
- package/dist/lib/launch/launch.d.ts +17 -2
- package/dist/lib/launch/launch.d.ts.map +1 -1
- package/dist/lib/launch/launch.js +36 -3
- package/dist/lib/launch/launch.js.map +1 -1
- package/dist/lib/launch/mcp-child-env.d.ts +30 -0
- package/dist/lib/launch/mcp-child-env.d.ts.map +1 -0
- package/dist/lib/launch/mcp-child-env.js +154 -0
- package/dist/lib/launch/mcp-child-env.js.map +1 -0
- package/dist/lib/launch/pick-agent.d.ts.map +1 -1
- package/dist/lib/launch/pick-agent.js +4 -4
- package/dist/lib/launch/pick-agent.js.map +1 -1
- package/dist/lib/launch/picker-options.d.ts.map +1 -1
- package/dist/lib/launch/picker-options.js +7 -2
- package/dist/lib/launch/picker-options.js.map +1 -1
- package/dist/lib/launch/registry/agents/aider.d.ts +3 -0
- package/dist/lib/launch/registry/agents/aider.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/aider.js +13 -0
- package/dist/lib/launch/registry/agents/aider.js.map +1 -0
- package/dist/lib/launch/registry/agents/auggie.d.ts +3 -0
- package/dist/lib/launch/registry/agents/auggie.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/auggie.js +11 -0
- package/dist/lib/launch/registry/agents/auggie.js.map +1 -0
- package/dist/lib/launch/registry/agents/cline.d.ts +3 -0
- package/dist/lib/launch/registry/agents/cline.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/cline.js +19 -0
- package/dist/lib/launch/registry/agents/cline.js.map +1 -0
- package/dist/lib/launch/registry/agents/continue.d.ts +3 -0
- package/dist/lib/launch/registry/agents/continue.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/continue.js +20 -0
- package/dist/lib/launch/registry/agents/continue.js.map +1 -0
- package/dist/lib/launch/registry/agents/gemini-cli.js +2 -2
- package/dist/lib/launch/registry/agents/gemini-cli.js.map +1 -1
- package/dist/lib/launch/registry/agents/goose.d.ts +3 -0
- package/dist/lib/launch/registry/agents/goose.d.ts.map +1 -0
- package/dist/lib/launch/registry/agents/goose.js +20 -0
- package/dist/lib/launch/registry/agents/goose.js.map +1 -0
- package/dist/lib/launch/registry/index.d.ts +1 -1
- package/dist/lib/launch/registry/index.d.ts.map +1 -1
- package/dist/lib/launch/registry/index.js +7 -2
- package/dist/lib/launch/registry/index.js.map +1 -1
- package/dist/lib/launch/registry/types.d.ts +12 -1
- package/dist/lib/launch/registry/types.d.ts.map +1 -1
- package/dist/lib/launch/strict-entry.d.ts +22 -2
- package/dist/lib/launch/strict-entry.d.ts.map +1 -1
- package/dist/lib/launch/strict-entry.js +80 -2
- package/dist/lib/launch/strict-entry.js.map +1 -1
- package/dist/lib/launch/yaml-scan.d.ts +59 -0
- package/dist/lib/launch/yaml-scan.d.ts.map +1 -0
- package/dist/lib/launch/yaml-scan.js +275 -0
- package/dist/lib/launch/yaml-scan.js.map +1 -0
- package/dist/lib/lead-prompt.d.ts +106 -0
- package/dist/lib/lead-prompt.d.ts.map +1 -0
- package/dist/lib/lead-prompt.js +175 -0
- package/dist/lib/lead-prompt.js.map +1 -0
- package/dist/lib/local-candidate-classify.d.ts +26 -0
- package/dist/lib/local-candidate-classify.d.ts.map +1 -0
- package/dist/lib/local-candidate-classify.js +53 -0
- package/dist/lib/local-candidate-classify.js.map +1 -0
- package/dist/lib/local-db-epoch.d.ts +4 -0
- package/dist/lib/local-db-epoch.d.ts.map +1 -0
- package/dist/lib/local-db-epoch.js +19 -0
- package/dist/lib/local-db-epoch.js.map +1 -0
- package/dist/lib/local-db-migrate.d.ts +85 -0
- package/dist/lib/local-db-migrate.d.ts.map +1 -0
- package/dist/lib/local-db-migrate.js +528 -0
- package/dist/lib/local-db-migrate.js.map +1 -0
- package/dist/lib/local-db-v10.d.ts +28 -0
- package/dist/lib/local-db-v10.d.ts.map +1 -0
- package/dist/lib/local-db-v10.js +49 -0
- package/dist/lib/local-db-v10.js.map +1 -0
- package/dist/lib/local-db-v11.d.ts +24 -0
- package/dist/lib/local-db-v11.d.ts.map +1 -0
- package/dist/lib/local-db-v11.js +25 -0
- package/dist/lib/local-db-v11.js.map +1 -0
- package/dist/lib/local-db-v12.d.ts +17 -0
- package/dist/lib/local-db-v12.d.ts.map +1 -0
- package/dist/lib/local-db-v12.js +8 -0
- package/dist/lib/local-db-v12.js.map +1 -0
- package/dist/lib/local-db-v7.d.ts +30 -0
- package/dist/lib/local-db-v7.d.ts.map +1 -0
- package/dist/lib/local-db-v7.js +285 -0
- package/dist/lib/local-db-v7.js.map +1 -0
- package/dist/lib/local-db-v8.d.ts +22 -0
- package/dist/lib/local-db-v8.d.ts.map +1 -0
- package/dist/lib/local-db-v8.js +33 -0
- package/dist/lib/local-db-v8.js.map +1 -0
- package/dist/lib/local-db-v9.d.ts +10 -0
- package/dist/lib/local-db-v9.d.ts.map +1 -0
- package/dist/lib/local-db-v9.js +8 -0
- package/dist/lib/local-db-v9.js.map +1 -0
- package/dist/lib/local-db.d.ts +73 -23
- package/dist/lib/local-db.d.ts.map +1 -1
- package/dist/lib/local-db.js +225 -375
- package/dist/lib/local-db.js.map +1 -1
- package/dist/lib/local-embeddings.d.ts.map +1 -1
- package/dist/lib/local-embeddings.js +2 -2
- package/dist/lib/local-embeddings.js.map +1 -1
- package/dist/lib/local-gateway-client.d.ts +31 -87
- package/dist/lib/local-gateway-client.d.ts.map +1 -1
- package/dist/lib/local-gateway-client.js +209 -187
- package/dist/lib/local-gateway-client.js.map +1 -1
- package/dist/lib/local-ingest.d.ts +131 -0
- package/dist/lib/local-ingest.d.ts.map +1 -0
- package/dist/lib/local-ingest.js +81 -0
- package/dist/lib/local-ingest.js.map +1 -0
- package/dist/lib/local-link-pass.d.ts +15 -0
- package/dist/lib/local-link-pass.d.ts.map +1 -0
- package/dist/lib/local-link-pass.js +57 -0
- package/dist/lib/local-link-pass.js.map +1 -0
- package/dist/lib/local-llm.d.ts +1 -1
- package/dist/lib/local-llm.d.ts.map +1 -1
- package/dist/lib/local-llm.js +3 -2
- package/dist/lib/local-llm.js.map +1 -1
- package/dist/lib/local-mode.d.ts +9 -2
- package/dist/lib/local-mode.d.ts.map +1 -1
- package/dist/lib/local-mode.js +27 -7
- package/dist/lib/local-mode.js.map +1 -1
- package/dist/lib/local-provenance.d.ts +14 -0
- package/dist/lib/local-provenance.d.ts.map +1 -0
- package/dist/lib/local-provenance.js +14 -0
- package/dist/lib/local-provenance.js.map +1 -0
- package/dist/lib/local-relationship-classifier.d.ts +4 -0
- package/dist/lib/local-relationship-classifier.d.ts.map +1 -1
- package/dist/lib/local-relationship-classifier.js +9 -4
- package/dist/lib/local-relationship-classifier.js.map +1 -1
- package/dist/lib/local-relink.d.ts +59 -0
- package/dist/lib/local-relink.d.ts.map +1 -0
- package/dist/lib/local-relink.js +171 -0
- package/dist/lib/local-relink.js.map +1 -0
- package/dist/lib/local-set-classifier.d.ts +36 -0
- package/dist/lib/local-set-classifier.d.ts.map +1 -0
- package/dist/lib/local-set-classifier.js +81 -0
- package/dist/lib/local-set-classifier.js.map +1 -0
- package/dist/lib/local-snapshot-loader.d.ts +29 -0
- package/dist/lib/local-snapshot-loader.d.ts.map +1 -0
- package/dist/lib/local-snapshot-loader.js +108 -0
- package/dist/lib/local-snapshot-loader.js.map +1 -0
- package/dist/lib/local-thresholds.d.ts +70 -0
- package/dist/lib/local-thresholds.d.ts.map +1 -0
- package/dist/lib/local-thresholds.js +79 -0
- package/dist/lib/local-thresholds.js.map +1 -0
- package/dist/lib/login-flow.d.ts +15 -0
- package/dist/lib/login-flow.d.ts.map +1 -1
- package/dist/lib/login-flow.js +80 -4
- package/dist/lib/login-flow.js.map +1 -1
- package/dist/lib/mcp/mark-tool.d.ts +27 -0
- package/dist/lib/mcp/mark-tool.d.ts.map +1 -0
- package/dist/lib/mcp/mark-tool.js +103 -0
- package/dist/lib/mcp/mark-tool.js.map +1 -0
- package/dist/lib/mcp/share-status-tool.d.ts +13 -0
- package/dist/lib/mcp/share-status-tool.d.ts.map +1 -0
- package/dist/lib/mcp/share-status-tool.js +116 -0
- package/dist/lib/mcp/share-status-tool.js.map +1 -0
- package/dist/lib/mcp/share-tool.d.ts +50 -0
- package/dist/lib/mcp/share-tool.d.ts.map +1 -0
- package/dist/lib/mcp/share-tool.js +174 -0
- package/dist/lib/mcp/share-tool.js.map +1 -0
- package/dist/lib/mcp/tool-rules.d.ts +30 -0
- package/dist/lib/mcp/tool-rules.d.ts.map +1 -0
- package/dist/lib/mcp/tool-rules.js +84 -0
- package/dist/lib/mcp/tool-rules.js.map +1 -0
- package/dist/lib/mcp-backfill.d.ts +89 -0
- package/dist/lib/mcp-backfill.d.ts.map +1 -0
- package/dist/lib/mcp-backfill.js +194 -0
- package/dist/lib/mcp-backfill.js.map +1 -0
- package/dist/lib/mcp-scope.d.ts +90 -0
- package/dist/lib/mcp-scope.d.ts.map +1 -0
- package/dist/lib/mcp-scope.js +125 -0
- package/dist/lib/mcp-scope.js.map +1 -0
- package/dist/lib/mcp-sync.d.ts +64 -0
- package/dist/lib/mcp-sync.d.ts.map +1 -0
- package/dist/lib/mcp-sync.js +183 -0
- package/dist/lib/mcp-sync.js.map +1 -0
- package/dist/lib/model-cache.d.ts +10 -0
- package/dist/lib/model-cache.d.ts.map +1 -0
- package/dist/lib/model-cache.js +35 -0
- package/dist/lib/model-cache.js.map +1 -0
- package/dist/lib/next-step.d.ts.map +1 -1
- package/dist/lib/next-step.js +2 -1
- package/dist/lib/next-step.js.map +1 -1
- package/dist/lib/personal-import.d.ts +7 -0
- package/dist/lib/personal-import.d.ts.map +1 -1
- package/dist/lib/personal-import.js +13 -1
- package/dist/lib/personal-import.js.map +1 -1
- package/dist/lib/private-files.d.ts +33 -0
- package/dist/lib/private-files.d.ts.map +1 -0
- package/dist/lib/private-files.js +96 -0
- package/dist/lib/private-files.js.map +1 -0
- package/dist/lib/redaction-notice.d.ts +7 -0
- package/dist/lib/redaction-notice.d.ts.map +1 -0
- package/dist/lib/redaction-notice.js +32 -0
- package/dist/lib/redaction-notice.js.map +1 -0
- package/dist/lib/relink-estimate.d.ts +16 -0
- package/dist/lib/relink-estimate.d.ts.map +1 -0
- package/dist/lib/relink-estimate.js +30 -0
- package/dist/lib/relink-estimate.js.map +1 -0
- package/dist/lib/resolve-env.d.ts +15 -1
- package/dist/lib/resolve-env.d.ts.map +1 -1
- package/dist/lib/resolve-env.js +27 -7
- package/dist/lib/resolve-env.js.map +1 -1
- package/dist/lib/safe-config-write.d.ts.map +1 -1
- package/dist/lib/safe-config-write.js +39 -2
- package/dist/lib/safe-config-write.js.map +1 -1
- package/dist/lib/scope-choices.d.ts +51 -0
- package/dist/lib/scope-choices.d.ts.map +1 -0
- package/dist/lib/scope-choices.js +193 -0
- package/dist/lib/scope-choices.js.map +1 -0
- package/dist/lib/scope-connect.d.ts +82 -0
- package/dist/lib/scope-connect.d.ts.map +1 -0
- package/dist/lib/scope-connect.js +258 -0
- package/dist/lib/scope-connect.js.map +1 -0
- package/dist/lib/scope-defaults.d.ts +3 -0
- package/dist/lib/scope-defaults.d.ts.map +1 -0
- package/dist/lib/scope-defaults.js +44 -0
- package/dist/lib/scope-defaults.js.map +1 -0
- package/dist/lib/scope-real.d.ts +280 -0
- package/dist/lib/scope-real.d.ts.map +1 -0
- package/dist/lib/scope-real.js +58 -0
- package/dist/lib/scope-real.js.map +1 -0
- package/dist/lib/scope-values.d.ts +76 -0
- package/dist/lib/scope-values.d.ts.map +1 -0
- package/dist/lib/scope-values.js +169 -0
- package/dist/lib/scope-values.js.map +1 -0
- package/dist/lib/scope.d.ts +161 -0
- package/dist/lib/scope.d.ts.map +1 -0
- package/dist/lib/scope.js +323 -0
- package/dist/lib/scope.js.map +1 -0
- package/dist/lib/setup-route.d.ts +4 -2
- package/dist/lib/setup-route.d.ts.map +1 -1
- package/dist/lib/setup-route.js +12 -6
- package/dist/lib/setup-route.js.map +1 -1
- package/dist/lib/share/approval.d.ts +71 -0
- package/dist/lib/share/approval.d.ts.map +1 -0
- package/dist/lib/share/approval.js +139 -0
- package/dist/lib/share/approval.js.map +1 -0
- package/dist/lib/share/approve-link.d.ts +31 -0
- package/dist/lib/share/approve-link.d.ts.map +1 -0
- package/dist/lib/share/approve-link.js +46 -0
- package/dist/lib/share/approve-link.js.map +1 -0
- package/dist/lib/share/browser-flow.d.ts +85 -0
- package/dist/lib/share/browser-flow.d.ts.map +1 -0
- package/dist/lib/share/browser-flow.js +168 -0
- package/dist/lib/share/browser-flow.js.map +1 -0
- package/dist/lib/share/command.d.ts +65 -0
- package/dist/lib/share/command.d.ts.map +1 -0
- package/dist/lib/share/command.js +278 -0
- package/dist/lib/share/command.js.map +1 -0
- package/dist/lib/share/delivery-options.d.ts +15 -0
- package/dist/lib/share/delivery-options.d.ts.map +1 -0
- package/dist/lib/share/delivery-options.js +16 -0
- package/dist/lib/share/delivery-options.js.map +1 -0
- package/dist/lib/share/delivery.d.ts +83 -0
- package/dist/lib/share/delivery.d.ts.map +1 -0
- package/dist/lib/share/delivery.js +134 -0
- package/dist/lib/share/delivery.js.map +1 -0
- package/dist/lib/share/envelope.d.ts +61 -0
- package/dist/lib/share/envelope.d.ts.map +1 -0
- package/dist/lib/share/envelope.js +99 -0
- package/dist/lib/share/envelope.js.map +1 -0
- package/dist/lib/share/ledger.d.ts +59 -0
- package/dist/lib/share/ledger.d.ts.map +1 -0
- package/dist/lib/share/ledger.js +137 -0
- package/dist/lib/share/ledger.js.map +1 -0
- package/dist/lib/share/payload.d.ts +101 -0
- package/dist/lib/share/payload.d.ts.map +1 -0
- package/dist/lib/share/payload.js +147 -0
- package/dist/lib/share/payload.js.map +1 -0
- package/dist/lib/share/pending.d.ts +94 -0
- package/dist/lib/share/pending.d.ts.map +1 -0
- package/dist/lib/share/pending.js +256 -0
- package/dist/lib/share/pending.js.map +1 -0
- package/dist/lib/share/preview.d.ts +22 -0
- package/dist/lib/share/preview.d.ts.map +1 -0
- package/dist/lib/share/preview.js +74 -0
- package/dist/lib/share/preview.js.map +1 -0
- package/dist/lib/share/qr.d.ts +13 -0
- package/dist/lib/share/qr.d.ts.map +1 -0
- package/dist/lib/share/qr.js +77 -0
- package/dist/lib/share/qr.js.map +1 -0
- package/dist/lib/share/requests-client.d.ts +63 -0
- package/dist/lib/share/requests-client.d.ts.map +1 -0
- package/dist/lib/share/requests-client.js +69 -0
- package/dist/lib/share/requests-client.js.map +1 -0
- package/dist/lib/share/run.d.ts +134 -0
- package/dist/lib/share/run.d.ts.map +1 -0
- package/dist/lib/share/run.js +278 -0
- package/dist/lib/share/run.js.map +1 -0
- package/dist/lib/share/salt.d.ts +2 -0
- package/dist/lib/share/salt.d.ts.map +1 -0
- package/dist/lib/share/salt.js +44 -0
- package/dist/lib/share/salt.js.map +1 -0
- package/dist/lib/share/secret-patterns.json +100 -0
- package/dist/lib/share/secret-scan.d.ts +24 -0
- package/dist/lib/share/secret-scan.d.ts.map +1 -0
- package/dist/lib/share/secret-scan.js +116 -0
- package/dist/lib/share/secret-scan.js.map +1 -0
- package/dist/lib/share/target.d.ts +38 -0
- package/dist/lib/share/target.d.ts.map +1 -0
- package/dist/lib/share/target.js +80 -0
- package/dist/lib/share/target.js.map +1 -0
- package/dist/lib/share/tty.d.ts +12 -0
- package/dist/lib/share/tty.d.ts.map +1 -0
- package/dist/lib/share/tty.js +102 -0
- package/dist/lib/share/tty.js.map +1 -0
- package/dist/lib/share/visible.d.ts +4 -0
- package/dist/lib/share/visible.d.ts.map +1 -0
- package/dist/lib/share/visible.js +30 -0
- package/dist/lib/share/visible.js.map +1 -0
- package/dist/lib/share/wire.d.ts +98 -0
- package/dist/lib/share/wire.d.ts.map +1 -0
- package/dist/lib/share/wire.js +43 -0
- package/dist/lib/share/wire.js.map +1 -0
- package/dist/lib/similarity/embedding-matrix.d.ts +64 -0
- package/dist/lib/similarity/embedding-matrix.d.ts.map +1 -0
- package/dist/lib/similarity/embedding-matrix.js +119 -0
- package/dist/lib/similarity/embedding-matrix.js.map +1 -0
- package/dist/lib/since-flag.d.ts +11 -0
- package/dist/lib/since-flag.d.ts.map +1 -0
- package/dist/lib/since-flag.js +24 -0
- package/dist/lib/since-flag.js.map +1 -0
- package/dist/lib/since.d.ts +59 -0
- package/dist/lib/since.d.ts.map +1 -0
- package/dist/lib/since.js +86 -0
- package/dist/lib/since.js.map +1 -0
- package/dist/lib/source-key.d.ts +13 -0
- package/dist/lib/source-key.d.ts.map +1 -0
- package/dist/lib/source-key.js +60 -0
- package/dist/lib/source-key.js.map +1 -0
- package/dist/lib/source-sync-state.d.ts +12 -0
- package/dist/lib/source-sync-state.d.ts.map +1 -0
- package/dist/lib/source-sync-state.js +45 -0
- package/dist/lib/source-sync-state.js.map +1 -0
- package/dist/lib/startup-backfill-track.d.ts +2 -0
- package/dist/lib/startup-backfill-track.d.ts.map +1 -0
- package/dist/lib/startup-backfill-track.js +6 -0
- package/dist/lib/startup-backfill-track.js.map +1 -0
- package/dist/lib/startup-xdg.d.ts +2 -0
- package/dist/lib/startup-xdg.d.ts.map +1 -0
- package/dist/lib/startup-xdg.js +9 -0
- package/dist/lib/startup-xdg.js.map +1 -0
- package/dist/lib/sync/after-connect.d.ts +2 -0
- package/dist/lib/sync/after-connect.d.ts.map +1 -0
- package/dist/lib/sync/after-connect.js +18 -0
- package/dist/lib/sync/after-connect.js.map +1 -0
- package/dist/lib/sync/bg-claim.d.ts +14 -0
- package/dist/lib/sync/bg-claim.d.ts.map +1 -0
- package/dist/lib/sync/bg-claim.js +97 -0
- package/dist/lib/sync/bg-claim.js.map +1 -0
- package/dist/lib/sync/blocked.d.ts +8 -0
- package/dist/lib/sync/blocked.d.ts.map +1 -0
- package/dist/lib/sync/blocked.js +45 -0
- package/dist/lib/sync/blocked.js.map +1 -0
- package/dist/lib/sync/classify.d.ts +34 -0
- package/dist/lib/sync/classify.d.ts.map +1 -0
- package/dist/lib/sync/classify.js +93 -0
- package/dist/lib/sync/classify.js.map +1 -0
- package/dist/lib/sync/drain.d.ts +16 -0
- package/dist/lib/sync/drain.d.ts.map +1 -0
- package/dist/lib/sync/drain.js +33 -0
- package/dist/lib/sync/drain.js.map +1 -0
- package/dist/lib/sync/forget.d.ts +12 -0
- package/dist/lib/sync/forget.d.ts.map +1 -0
- package/dist/lib/sync/forget.js +32 -0
- package/dist/lib/sync/forget.js.map +1 -0
- package/dist/lib/sync/launch-hook.d.ts +42 -0
- package/dist/lib/sync/launch-hook.d.ts.map +1 -0
- package/dist/lib/sync/launch-hook.js +117 -0
- package/dist/lib/sync/launch-hook.js.map +1 -0
- package/dist/lib/sync/lock.d.ts +35 -0
- package/dist/lib/sync/lock.d.ts.map +1 -0
- package/dist/lib/sync/lock.js +175 -0
- package/dist/lib/sync/lock.js.map +1 -0
- package/dist/lib/sync/purge.d.ts +38 -0
- package/dist/lib/sync/purge.d.ts.map +1 -0
- package/dist/lib/sync/purge.js +61 -0
- package/dist/lib/sync/purge.js.map +1 -0
- package/dist/lib/sync/real-env.d.ts +265 -0
- package/dist/lib/sync/real-env.d.ts.map +1 -0
- package/dist/lib/sync/real-env.js +47 -0
- package/dist/lib/sync/real-env.js.map +1 -0
- package/dist/lib/sync/relink.d.ts +14 -0
- package/dist/lib/sync/relink.d.ts.map +1 -0
- package/dist/lib/sync/relink.js +36 -0
- package/dist/lib/sync/relink.js.map +1 -0
- package/dist/lib/sync/report.d.ts +3 -0
- package/dist/lib/sync/report.d.ts.map +1 -0
- package/dist/lib/sync/report.js +54 -0
- package/dist/lib/sync/report.js.map +1 -0
- package/dist/lib/sync/run-all.d.ts +23 -0
- package/dist/lib/sync/run-all.d.ts.map +1 -0
- package/dist/lib/sync/run-all.js +30 -0
- package/dist/lib/sync/run-all.js.map +1 -0
- package/dist/lib/sync/run-source.d.ts +73 -0
- package/dist/lib/sync/run-source.d.ts.map +1 -0
- package/dist/lib/sync/run-source.js +262 -0
- package/dist/lib/sync/run-source.js.map +1 -0
- package/dist/lib/sync/safe-read.d.ts +4 -0
- package/dist/lib/sync/safe-read.d.ts.map +1 -0
- package/dist/lib/sync/safe-read.js +40 -0
- package/dist/lib/sync/safe-read.js.map +1 -0
- package/dist/lib/sync/should-background-sync.d.ts +31 -0
- package/dist/lib/sync/should-background-sync.d.ts.map +1 -0
- package/dist/lib/sync/should-background-sync.js +69 -0
- package/dist/lib/sync/should-background-sync.js.map +1 -0
- package/dist/lib/sync/source-ids.d.ts +10 -0
- package/dist/lib/sync/source-ids.d.ts.map +1 -0
- package/dist/lib/sync/source-ids.js +9 -0
- package/dist/lib/sync/source-ids.js.map +1 -0
- package/dist/lib/sync/sources.d.ts +33 -0
- package/dist/lib/sync/sources.d.ts.map +1 -0
- package/dist/lib/sync/sources.js +37 -0
- package/dist/lib/sync/sources.js.map +1 -0
- package/dist/lib/sync/spawn-background.d.ts +27 -0
- package/dist/lib/sync/spawn-background.d.ts.map +1 -0
- package/dist/lib/sync/spawn-background.js +66 -0
- package/dist/lib/sync/spawn-background.js.map +1 -0
- package/dist/lib/sync/status.d.ts +57 -0
- package/dist/lib/sync/status.d.ts.map +1 -0
- package/dist/lib/sync/status.js +166 -0
- package/dist/lib/sync/status.js.map +1 -0
- package/dist/lib/sync/summary-read.d.ts +19 -0
- package/dist/lib/sync/summary-read.d.ts.map +1 -0
- package/dist/lib/sync/summary-read.js +39 -0
- package/dist/lib/sync/summary-read.js.map +1 -0
- package/dist/lib/sync/summary.d.ts +10 -0
- package/dist/lib/sync/summary.d.ts.map +1 -0
- package/dist/lib/sync/summary.js +80 -0
- package/dist/lib/sync/summary.js.map +1 -0
- package/dist/lib/sync/sync-state.d.ts +128 -0
- package/dist/lib/sync/sync-state.d.ts.map +1 -0
- package/dist/lib/sync/sync-state.js +255 -0
- package/dist/lib/sync/sync-state.js.map +1 -0
- package/dist/lib/sync/telemetry.d.ts +20 -0
- package/dist/lib/sync/telemetry.d.ts.map +1 -0
- package/dist/lib/sync/telemetry.js +31 -0
- package/dist/lib/sync/telemetry.js.map +1 -0
- package/dist/lib/sync/threads.d.ts +48 -0
- package/dist/lib/sync/threads.d.ts.map +1 -0
- package/dist/lib/sync/threads.js +82 -0
- package/dist/lib/sync/threads.js.map +1 -0
- package/dist/lib/sync/window.d.ts +72 -0
- package/dist/lib/sync/window.d.ts.map +1 -0
- package/dist/lib/sync/window.js +112 -0
- package/dist/lib/sync/window.js.map +1 -0
- package/dist/lib/team-cta.d.ts +11 -0
- package/dist/lib/team-cta.d.ts.map +1 -0
- package/dist/lib/team-cta.js +16 -0
- package/dist/lib/team-cta.js.map +1 -0
- package/dist/lib/telemetry-ci.d.ts +2 -0
- package/dist/lib/telemetry-ci.d.ts.map +1 -0
- package/dist/lib/telemetry-ci.js +21 -0
- package/dist/lib/telemetry-ci.js.map +1 -0
- package/dist/lib/telemetry-consent.d.ts +44 -23
- package/dist/lib/telemetry-consent.d.ts.map +1 -1
- package/dist/lib/telemetry-consent.js +74 -35
- package/dist/lib/telemetry-consent.js.map +1 -1
- package/dist/lib/telemetry-env.d.ts +1 -1
- package/dist/lib/usage-telemetry.d.ts +89 -24
- package/dist/lib/usage-telemetry.d.ts.map +1 -1
- package/dist/lib/usage-telemetry.js +283 -76
- package/dist/lib/usage-telemetry.js.map +1 -1
- package/dist/lib/xdg.d.ts +27 -0
- package/dist/lib/xdg.d.ts.map +1 -0
- package/dist/lib/xdg.js +56 -0
- package/dist/lib/xdg.js.map +1 -0
- package/package.json +6 -3
- package/dist/commands/push.d.ts +0 -25
- package/dist/commands/push.d.ts.map +0 -1
- package/dist/commands/push.js +0 -98
- package/dist/commands/push.js.map +0 -1
- package/dist/lib/personal-email-domains.d.ts +0 -8
- package/dist/lib/personal-email-domains.d.ts.map +0 -1
- package/dist/lib/personal-email-domains.js +0 -39
- package/dist/lib/personal-email-domains.js.map +0 -1
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* L4: which scope a source is read under, and changing it. The one place the CLI (`align connect`, `align sync`) and the MCP tool
|
|
3
|
+
* (`align_scope`) both decide and write, so a change made by an agent takes exactly the path a person's does.
|
|
4
|
+
*
|
|
5
|
+
* Scope is one of two things per source (Decision 7): "yours" (items you are involved in) or "team" (everyone's, in a NAMED place the
|
|
6
|
+
* token can see: a repo, Jira projects, Linear teams, a GitLab project, Confluence spaces). There is no "everything": a team scope
|
|
7
|
+
* always has a name. Zoom is always yours; Slack, Notion and Teams already read all the token can see and have nothing to name.
|
|
8
|
+
*
|
|
9
|
+
* Where it lives:
|
|
10
|
+
* - the CHOICE is in the config store beside the token (config.ts `getConnectorScope`), so forgetting the connector removes it;
|
|
11
|
+
* - each scope has its own `source_sync` row, keyed by `scopeKeyOf`, with the source's window and its own watermark.
|
|
12
|
+
* Changing scope adds or reuses a row and never touches another one, and never deletes an imported item.
|
|
13
|
+
*
|
|
14
|
+
* Fail direction: an unreadable, missing or unknown choice reads as "yours", the narrower scope. The only blocked case is Confluence
|
|
15
|
+
* with no spaces, which has no "yours" to fall back to (its API lists whatever the token can read).
|
|
16
|
+
*/
|
|
17
|
+
import fs from 'node:fs';
|
|
18
|
+
import { CAPTURE_SOURCES } from './capture-sources.js';
|
|
19
|
+
import { findConfluenceSpace, findJiraProject, findLinearTeam, githubRepoVisibility, gitlabProjectVisibility, listConfluenceSpaces, listJiraProjects, listLinearTeams, ScopeLookupError, } from './scope-choices.js';
|
|
20
|
+
import { describeScopeKey, disclosureText, fetchOptsFor, FIXED_SCOPES, normaliseScopeValues, SCOPED_SOURCES, scopeKeyOf, ScopeValueError, YOURS_KEY, } from './scope-values.js';
|
|
21
|
+
import { adoptScope, readRows } from './sync/sync-state.js';
|
|
22
|
+
import { inheritedWindowSince } from './sync/window.js';
|
|
23
|
+
/**
|
|
24
|
+
* The disclosure was shown to a person for this scope: remember it, and if an agent's choice of exactly this scope was waiting
|
|
25
|
+
* for that, it is active now. The one place a pending scope becomes active.
|
|
26
|
+
*/
|
|
27
|
+
export function markTold(store, source, scopeKey) {
|
|
28
|
+
store.markDisclosed(source, scopeKey);
|
|
29
|
+
const s = store.getScope(source);
|
|
30
|
+
if (s?.kind === 'team' && s.pending && isScoped(source) && scopeKeyOf(source, s.labels) === scopeKey) {
|
|
31
|
+
store.saveScope(source, { kind: 'team', values: s.values, labels: s.labels });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const YOURS_LABEL = 'your own items';
|
|
35
|
+
const labelOf = (source) => CAPTURE_SOURCES[source]?.label ?? source;
|
|
36
|
+
const isScoped = (source) => SCOPED_SOURCES.includes(source);
|
|
37
|
+
function yours(origin, note) {
|
|
38
|
+
return { scope: 'yours', scopeKey: YOURS_KEY, extras: {}, label: YOURS_LABEL, origin, ...(note !== undefined ? { note } : {}) };
|
|
39
|
+
}
|
|
40
|
+
function team(source, values, labels, origin, deps, foreground) {
|
|
41
|
+
const scopeKey = scopeKeyOf(source, labels);
|
|
42
|
+
return {
|
|
43
|
+
scope: 'team', scopeKey, extras: fetchOptsFor(source, values), label: describeScopeKey(source, scopeKey, 'team'), origin,
|
|
44
|
+
...(source === 'github' ? { repo: values[0] } : {}),
|
|
45
|
+
...(foreground && !deps.store.isDisclosed(source, scopeKey) ? { disclosure: disclosureText(source, labels) } : {}),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/** The line for a repo or project the token cannot see (P0 measured GitHub answering 422 for a private repo). */
|
|
49
|
+
export function cannotSeeNote(source, place) {
|
|
50
|
+
return source === 'github'
|
|
51
|
+
? `Your GitHub token cannot see ${place}, so only items you are involved in were imported. Reconnect with repo access: align connect github`
|
|
52
|
+
: `Your GitLab token cannot see ${place}, so only your own merge requests were imported. Reconnect with access: align connect gitlab`;
|
|
53
|
+
}
|
|
54
|
+
/** Confluence has no "only yours": with no chosen spaces it reads nothing. */
|
|
55
|
+
export const CONFLUENCE_NEEDS_SPACES = 'Confluence reads only the spaces you choose, and none are chosen yet. Pick them: align connect --source confluence --spaces ENG,OPS';
|
|
56
|
+
const WIDEN_FLAG = { jira: '--projects KEYS', linear: '--teams KEYS' };
|
|
57
|
+
/**
|
|
58
|
+
* Which scope a source is read under right now. `foreground` is a person at a terminal (`align connect`, `align sync`): only there is
|
|
59
|
+
* a disclosure returned, and only there is an auto-detected team scope read before the disclosure was shown. A background run reads
|
|
60
|
+
* what a person chose, or what they were already told about, and otherwise stays at yours.
|
|
61
|
+
*/
|
|
62
|
+
export async function resolveScope(source, deps, o) {
|
|
63
|
+
if (!isScoped(source))
|
|
64
|
+
return yours('default');
|
|
65
|
+
const stored = deps.store.getScope(source);
|
|
66
|
+
// "Foreground" means a person at a terminal: without one nothing is announced, confirmed or widened by the folder.
|
|
67
|
+
o = { foreground: o.foreground && deps.isTty() };
|
|
68
|
+
if (stored?.kind === 'team' && stored.pending) {
|
|
69
|
+
const person = o.foreground;
|
|
70
|
+
// Only a person at a terminal is shown the disclosure and asked. Anything else keeps what was in force. A pending scope is NEVER
|
|
71
|
+
// promoted silently: the disclosure is shown every time, even if this scope was told before, and the caller must get an explicit Yes.
|
|
72
|
+
if (person) {
|
|
73
|
+
return { ...team(source, stored.values, stored.labels, 'chosen', deps, true), disclosure: disclosureText(source, stored.labels), activates: true };
|
|
74
|
+
}
|
|
75
|
+
const kept = await resolveFrom(source, stored.pending.previous, deps, { foreground: false });
|
|
76
|
+
return { ...kept, pendingConfirm: true, note: `Team scope for ${source} is waiting for you to confirm: run \`align sync ${source}\` (it will show what it reads)` };
|
|
77
|
+
}
|
|
78
|
+
return resolveFrom(source, stored, deps, o);
|
|
79
|
+
}
|
|
80
|
+
async function resolveFrom(source, stored, deps, o) {
|
|
81
|
+
if (stored?.kind === 'team')
|
|
82
|
+
return team(source, stored.values, stored.labels, 'chosen', deps, o.foreground);
|
|
83
|
+
if (source === 'confluence') {
|
|
84
|
+
return {
|
|
85
|
+
...yours('default'),
|
|
86
|
+
blocked: CONFLUENCE_NEEDS_SPACES,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
if (stored?.kind === 'yours')
|
|
90
|
+
return yours('chosen');
|
|
91
|
+
if (source === 'github' || source === 'gitlab')
|
|
92
|
+
return autoDetected(source, deps, o.foreground);
|
|
93
|
+
return yours('default', `Reading only your own items. To read a team's: align connect --source ${source} ${WIDEN_FLAG[source] ?? ''}`.trim());
|
|
94
|
+
}
|
|
95
|
+
/** The folder's remote is gitlab.com; a token saved for another host would read a different project of the same path. */
|
|
96
|
+
function selfManagedGitlab(deps, source) {
|
|
97
|
+
const domain = deps.store.fields(source)?.['domain'];
|
|
98
|
+
return source === 'gitlab' && !!domain && domain !== 'gitlab.com';
|
|
99
|
+
}
|
|
100
|
+
async function autoDetected(source, deps, foreground) {
|
|
101
|
+
const place = selfManagedGitlab(deps, source) ? undefined : source === 'github' ? await deps.cwdRepo() : await deps.cwdGitlabProject();
|
|
102
|
+
if (place === undefined) {
|
|
103
|
+
return yours('default', source === 'github'
|
|
104
|
+
? "Reading only your own GitHub items (this folder is not a GitHub repo). To read everyone's in a repo: align connect --source github --repo owner/repo"
|
|
105
|
+
: "Reading only your own merge requests (this folder is not a GitLab project). To read everyone's in a project: align connect --source gitlab --gitlab-project group/project");
|
|
106
|
+
}
|
|
107
|
+
// A background run must not widen by itself: until the person has been told what a team read is, it stays at yours.
|
|
108
|
+
if (!foreground && !deps.store.isDisclosed(source, scopeKeyOf(source, [place])))
|
|
109
|
+
return yours('default');
|
|
110
|
+
const fields = deps.store.fields(source);
|
|
111
|
+
const seen = fields?.['token']
|
|
112
|
+
? source === 'github' ? await githubRepoVisibility(fields['token'], place, deps.fetch) : await gitlabProjectVisibility(fields, place, deps.fetch)
|
|
113
|
+
: 'unknown';
|
|
114
|
+
if (seen === 'invisible')
|
|
115
|
+
return yours('default', cannotSeeNote(source, place));
|
|
116
|
+
// 'unknown' proceeds: a probe that could not answer is not evidence of a refusal, and the fetch reports its own.
|
|
117
|
+
return team(source, [place], [place], 'detected', deps, foreground);
|
|
118
|
+
}
|
|
119
|
+
/** A change that was refused. The message is written for the person and never carries a value that was refused. */
|
|
120
|
+
export class ScopeRefusal extends Error {
|
|
121
|
+
kind;
|
|
122
|
+
constructor(message, kind) {
|
|
123
|
+
super(message);
|
|
124
|
+
this.kind = kind;
|
|
125
|
+
this.name = 'ScopeRefusal';
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const day = (iso) => iso.slice(0, 10);
|
|
129
|
+
async function verify(source, raw, deps, fields) {
|
|
130
|
+
let given;
|
|
131
|
+
try {
|
|
132
|
+
given = normaliseScopeValues(source, raw);
|
|
133
|
+
}
|
|
134
|
+
catch (e) {
|
|
135
|
+
if (e instanceof ScopeValueError)
|
|
136
|
+
throw new ScopeRefusal(`${e.message} Nothing was changed.`, 'invalid');
|
|
137
|
+
throw e;
|
|
138
|
+
}
|
|
139
|
+
const name = labelOf(source);
|
|
140
|
+
try {
|
|
141
|
+
switch (source) {
|
|
142
|
+
case 'github': {
|
|
143
|
+
const seen = await githubRepoVisibility(fields['token'] ?? '', given[0], deps.fetch);
|
|
144
|
+
if (seen === 'invisible')
|
|
145
|
+
throw new ScopeRefusal(`Your GitHub token cannot see the repo you named. Nothing was changed. Reconnect with repo access: align connect github`, 'invisible');
|
|
146
|
+
if (seen === 'unknown')
|
|
147
|
+
throw new ScopeRefusal(`Align could not check whether your GitHub token can see the repo you named (GitHub did not answer clearly). Nothing was changed; try again.`, 'unverified');
|
|
148
|
+
return { values: given, labels: given };
|
|
149
|
+
}
|
|
150
|
+
case 'gitlab': {
|
|
151
|
+
const seen = await gitlabProjectVisibility(fields, given[0], deps.fetch);
|
|
152
|
+
if (seen === 'invisible')
|
|
153
|
+
throw new ScopeRefusal(`Your GitLab token cannot see the project you named. Nothing was changed.`, 'not_visible');
|
|
154
|
+
if (seen === 'unknown')
|
|
155
|
+
throw new ScopeRefusal(`Align could not check whether your GitLab token can see the project you named. Nothing was changed; try again.`, 'unverified');
|
|
156
|
+
return { values: given, labels: given };
|
|
157
|
+
}
|
|
158
|
+
case 'jira':
|
|
159
|
+
case 'confluence': {
|
|
160
|
+
const cap = deps.listMax !== undefined ? { max: deps.listMax } : {};
|
|
161
|
+
const listed = source === 'jira' ? await listJiraProjects(fields, deps.fetch, cap) : await listConfluenceSpaces(fields, deps.fetch, cap);
|
|
162
|
+
const visible = new Set(listed.items.map((x) => x.key));
|
|
163
|
+
let missing = given.filter((g) => !visible.has(g));
|
|
164
|
+
// A truncated list cannot say a key is invisible: ask for each missing key directly.
|
|
165
|
+
if (listed.truncated && missing.length > 0) {
|
|
166
|
+
const still = [];
|
|
167
|
+
for (const k of missing)
|
|
168
|
+
if (!(source === 'jira' ? await findJiraProject(fields, k, deps.fetch) : await findConfluenceSpace(fields, k, deps.fetch)))
|
|
169
|
+
still.push(k);
|
|
170
|
+
missing = still;
|
|
171
|
+
}
|
|
172
|
+
if (missing.length > 0) {
|
|
173
|
+
throw new ScopeRefusal(`Your ${name} token cannot see ${missing.length} of the ${source === 'jira' ? 'projects' : 'spaces'} you gave (the values are not printed back).${listed.truncated ? ` The list was cut off after ${listed.items.length}, so each was also asked for directly.` : ''} Nothing was changed.`, 'not_visible');
|
|
174
|
+
}
|
|
175
|
+
return { values: given, labels: given };
|
|
176
|
+
}
|
|
177
|
+
case 'linear': {
|
|
178
|
+
const listed = await listLinearTeams(fields, deps.fetch);
|
|
179
|
+
const found = given.map((g) => listed.items.find((t) => t.id === g || t.key === g));
|
|
180
|
+
if (listed.truncated) {
|
|
181
|
+
for (let i = 0; i < given.length; i++)
|
|
182
|
+
if (found[i] === undefined)
|
|
183
|
+
found[i] = await findLinearTeam(fields, given[i], deps.fetch);
|
|
184
|
+
}
|
|
185
|
+
const missing = given.filter((_, i) => found[i] === undefined);
|
|
186
|
+
if (missing.length > 0) {
|
|
187
|
+
throw new ScopeRefusal(`Your Linear token cannot see ${missing.length} of the teams you gave (the values are not printed back).${listed.truncated ? ` The list was cut off after ${listed.items.length}, so each key was also asked for directly.` : ''} Nothing was changed.`, 'not_visible');
|
|
188
|
+
}
|
|
189
|
+
const hits = found;
|
|
190
|
+
return { values: hits.map((t) => t.id), labels: hits.map((t) => t.key) };
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
catch (e) {
|
|
195
|
+
if (e instanceof ScopeLookupError)
|
|
196
|
+
throw new ScopeRefusal(`${e.message} Nothing was changed.`, 'lookup');
|
|
197
|
+
throw e;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Check a requested scope WITHOUT writing anything: refuses (ScopeRefusal) what is unknown, fixed, not connected, malformed, or not
|
|
202
|
+
* visible to the token. `fields` are the connector fields to check with - the saved ones, or the in-flight ones of a connect whose
|
|
203
|
+
* token is not saved yet.
|
|
204
|
+
*/
|
|
205
|
+
export async function chooseScope(deps, source, input, fields) {
|
|
206
|
+
if (!isScoped(source)) {
|
|
207
|
+
const fixed = FIXED_SCOPES[source];
|
|
208
|
+
if (fixed)
|
|
209
|
+
throw new ScopeRefusal(`${labelOf(source)} reads ${fixed.text}. There is no scope to choose for it.`, 'fixed');
|
|
210
|
+
throw new ScopeRefusal(`Unknown source. A scope can be set for: ${SCOPED_SOURCES.join(', ')}.`, 'unknown_source');
|
|
211
|
+
}
|
|
212
|
+
if (!fields?.['token']) {
|
|
213
|
+
throw new ScopeRefusal(`${labelOf(source)} is not connected, so its scope cannot be set. Connecting needs a token only the person can supply: align connect ${source}`, 'not_connected');
|
|
214
|
+
}
|
|
215
|
+
if (input.scope === 'yours') {
|
|
216
|
+
if (source === 'confluence') {
|
|
217
|
+
throw new ScopeRefusal('Confluence has no "only yours" scope: it reads the spaces you choose. Name them: align connect --source confluence --spaces ENG,OPS', 'no_yours');
|
|
218
|
+
}
|
|
219
|
+
return { source, scope: 'yours', scopeKey: YOURS_KEY, label: YOURS_LABEL, values: [], labels: [] };
|
|
220
|
+
}
|
|
221
|
+
const v = await verify(source, input.values, deps, fields);
|
|
222
|
+
const scopeKey = scopeKeyOf(source, v.labels);
|
|
223
|
+
return { source, scope: 'team', scopeKey, label: describeScopeKey(source, scopeKey, 'team'), values: v.values, labels: v.labels };
|
|
224
|
+
}
|
|
225
|
+
/** Write a checked choice: the stored preference, and the scope's own `source_sync` row (the source's window, no watermark). Deletes nothing. */
|
|
226
|
+
/**
|
|
227
|
+
* `windowSince` is the window a connect actually READ (its `--since`), given only when the person gave one; it becomes the window of a NEW
|
|
228
|
+
* scope row so the next sync does not read it all again. An existing row keeps its own. Absent: the source's window.
|
|
229
|
+
*/
|
|
230
|
+
export function commitScope(deps, source, choice, by, windowSince) {
|
|
231
|
+
if (choice.scope === 'team') {
|
|
232
|
+
// An AGENT's team choice waits for a person (the disclosure at a terminal); what was in force stays in force until then.
|
|
233
|
+
// Re-choosing the scope that is already active is not a change, so it needs no confirmation.
|
|
234
|
+
const current = deps.store.getScope(source);
|
|
235
|
+
const active = current === null ? null : current.kind === 'team' && current.pending ? current.pending.previous : current.kind === 'team' ? { kind: 'team', values: current.values, labels: current.labels } : current;
|
|
236
|
+
const same = active?.kind === 'team' && scopeKeyOf(source, active.labels) === choice.scopeKey;
|
|
237
|
+
const waits = by.via === 'mcp' || by.unattended === true;
|
|
238
|
+
deps.store.saveScope(source, waits && !same
|
|
239
|
+
? { kind: 'team', values: choice.values, labels: choice.labels, pending: { previous: active } }
|
|
240
|
+
: { kind: 'team', values: choice.values, labels: choice.labels });
|
|
241
|
+
}
|
|
242
|
+
// "Yours" is written down for every source that has one: otherwise GitHub and GitLab widen again from the folder's remote, and Jira
|
|
243
|
+
// and Linear from the keys local decisions cite, as if nothing had been chosen.
|
|
244
|
+
else {
|
|
245
|
+
deps.store.saveScope(source, { kind: 'yours' });
|
|
246
|
+
// Narrowed: a wider scope chosen later is announced again.
|
|
247
|
+
deps.store.clearDisclosed(source);
|
|
248
|
+
}
|
|
249
|
+
const pending = deps.store.getScope(source)?.kind === 'team' && deps.store.getScope(source).pending !== undefined;
|
|
250
|
+
if (deps.dbPath === undefined || !fs.existsSync(deps.dbPath))
|
|
251
|
+
return { newRow: true, pending };
|
|
252
|
+
const window = windowSince !== undefined ? windowSince : inheritedWindowSince(readRows(deps.dbPath, source), deps.now());
|
|
253
|
+
const adopted = adoptScope(deps.dbPath, { source, scopeKey: choice.scopeKey, scope: choice.scope }, window, { via: by.via, agent: by.via === 'mcp' ? by.agent : null });
|
|
254
|
+
return { newRow: adopted.created, pending, row: adopted.row };
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Set a source's scope. The ONE writer: `align_scope set` ends here, and `align connect --scope ...` ends in the same
|
|
258
|
+
* chooseScope + commitScope pair. Refuses (ScopeRefusal) rather than guessing, and stores nothing on any refusal.
|
|
259
|
+
* Never deletes an item.
|
|
260
|
+
*/
|
|
261
|
+
export async function setScope(deps, source, input, by) {
|
|
262
|
+
const choice = await chooseScope(deps, source, input, deps.store.fields(source));
|
|
263
|
+
const { newRow: created, pending, row } = commitScope(deps, choice.source, choice, by);
|
|
264
|
+
const name = labelOf(choice.source);
|
|
265
|
+
const result = { source: choice.source, scope: choice.scope, scopeKey: choice.scopeKey, label: choice.label, newRow: created, text: '' };
|
|
266
|
+
if (choice.scope === 'yours') {
|
|
267
|
+
result.text = `${name} now reads only your own items. Items already imported from the wider scope stay in your graph; they are no longer refreshed.`;
|
|
268
|
+
return result;
|
|
269
|
+
}
|
|
270
|
+
const back = row?.high_water ? day(row.high_water) : undefined;
|
|
271
|
+
const reach = row === undefined || row.window_since === null
|
|
272
|
+
? `for all the history its ceiling allows`
|
|
273
|
+
: `back to ${day(row.window_since)}`;
|
|
274
|
+
result.text = created || back === undefined
|
|
275
|
+
? `${name} now reads ${choice.label}. This scope has not been read before, so the next sync re-reads ${name} ${reach} for it. That can take a few minutes and uses part of your ${name} rate limit. Nothing already imported is deleted.`
|
|
276
|
+
: `${name} now reads ${choice.label}. This scope was read before, so the next sync catches up since ${back}. Nothing already imported is deleted.`;
|
|
277
|
+
result.disclosure = disclosureText(choice.source, choice.labels);
|
|
278
|
+
if (pending) {
|
|
279
|
+
result.pending = true;
|
|
280
|
+
result.text = `${name} will read ${choice.label} once the person confirms it. It is waiting for the person: nothing reads it in the background, or when an agent runs a sync, until they run \`align sync ${choice.source}\` at a terminal, which shows what it reads first. Until then ${name} keeps its current scope. When confirmed, the first sync re-reads ${name} ${reach} for this scope (a few minutes, some of its rate limit). Nothing already imported is deleted.`;
|
|
281
|
+
}
|
|
282
|
+
return result;
|
|
283
|
+
}
|
|
284
|
+
const VIEW_ORDER = ['github', 'jira', 'confluence', 'slack', 'teams', 'gitlab', 'linear', 'notion', 'zoom'];
|
|
285
|
+
/**
|
|
286
|
+
* Each connected source's scope as a sync here would read it. Makes no network call: a GitHub repo found from the folder is reported as
|
|
287
|
+
* what the next sync will try, and the sync itself checks the token can see it.
|
|
288
|
+
*/
|
|
289
|
+
export async function viewScopes(deps) {
|
|
290
|
+
const out = [];
|
|
291
|
+
for (const source of VIEW_ORDER) {
|
|
292
|
+
if (!deps.store.fields(source)?.['token'])
|
|
293
|
+
continue;
|
|
294
|
+
const fixed = FIXED_SCOPES[source];
|
|
295
|
+
if (fixed) {
|
|
296
|
+
out.push({ source, kind: fixed.scope, scope_key: YOURS_KEY, label: fixed.text, can_set: false, origin: 'fixed' });
|
|
297
|
+
continue;
|
|
298
|
+
}
|
|
299
|
+
const raw = deps.store.getScope(source);
|
|
300
|
+
// A waiting agent choice is not in force: show what is, and what is waiting.
|
|
301
|
+
const waitingKey = raw?.kind === 'team' && raw.pending ? raw : undefined;
|
|
302
|
+
const stored = waitingKey ? waitingKey.pending.previous : raw;
|
|
303
|
+
const waiting = waitingKey ? { waiting: describeScopeKey(source, scopeKeyOf(source, waitingKey.labels), 'team') } : {};
|
|
304
|
+
const push = (v) => { out.push({ ...v, ...waiting }); };
|
|
305
|
+
if (stored?.kind === 'team') {
|
|
306
|
+
push({ source, kind: 'team', scope_key: scopeKeyOf(source, stored.labels), label: describeScopeKey(source, scopeKeyOf(source, stored.labels), 'team'), values: stored.labels, can_set: true, origin: 'chosen' });
|
|
307
|
+
}
|
|
308
|
+
else if (source === 'confluence') {
|
|
309
|
+
push({ source, kind: 'unset', scope_key: YOURS_KEY, label: 'no spaces chosen, so nothing is read', can_set: true, origin: 'default' });
|
|
310
|
+
}
|
|
311
|
+
else if (stored?.kind === 'yours') {
|
|
312
|
+
push({ source, kind: 'yours', scope_key: YOURS_KEY, label: YOURS_LABEL, can_set: true, origin: 'chosen' });
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
const place = selfManagedGitlab(deps, source) ? undefined : source === 'github' ? await deps.cwdRepo() : source === 'gitlab' ? await deps.cwdGitlabProject() : undefined;
|
|
316
|
+
push(place !== undefined
|
|
317
|
+
? { source, kind: 'team', scope_key: scopeKeyOf(source, [place]), label: describeScopeKey(source, scopeKeyOf(source, [place]), 'team'), values: [place], can_set: true, origin: 'detected' }
|
|
318
|
+
: { source, kind: 'yours', scope_key: YOURS_KEY, label: YOURS_LABEL, can_set: true, origin: 'default' });
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
return out;
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/lib/scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,10 +11,10 @@ export type SetupRoute = {
|
|
|
11
11
|
teamLoginUntouched?: 'prod' | 'preview';
|
|
12
12
|
} | {
|
|
13
13
|
kind: 'team';
|
|
14
|
-
env:
|
|
14
|
+
env: EnvName;
|
|
15
15
|
};
|
|
16
16
|
export declare class InvalidEnvError extends Error {
|
|
17
|
-
constructor(value: string);
|
|
17
|
+
constructor(value: string, destinations?: string[]);
|
|
18
18
|
}
|
|
19
19
|
export declare function routeSetup(opts: {
|
|
20
20
|
env?: string;
|
|
@@ -22,5 +22,7 @@ export declare function routeSetup(opts: {
|
|
|
22
22
|
}, config: {
|
|
23
23
|
getEnvironment(env: EnvName): EnvironmentConfig;
|
|
24
24
|
getDefaultEnv(): EnvName;
|
|
25
|
+
hasTeamDestination(name: string): boolean;
|
|
26
|
+
listTeamDestinationNames(): string[];
|
|
25
27
|
}, processEnv: Record<string, string | undefined>): SetupRoute;
|
|
26
28
|
//# sourceMappingURL=setup-route.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-route.d.ts","sourceRoot":"","sources":["../../src/lib/setup-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,OAAO,EAAiC,CAAC;AAE3E,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"setup-route.d.ts","sourceRoot":"","sources":["../../src/lib/setup-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE9D;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,OAAO,EAAiC,CAAC;AAE3E,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC;AAEnC,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,MAAM,EAAO;CAIvD;AAID,wBAAgB,UAAU,CACxB,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EACvC,MAAM,EAAE;IACN,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAAC;IAChD,aAAa,IAAI,OAAO,CAAC;IACzB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1C,wBAAwB,IAAI,MAAM,EAAE,CAAC;CACtC,EACD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC7C,UAAU,CAuBZ"}
|
package/dist/lib/setup-route.js
CHANGED
|
@@ -6,15 +6,21 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export const VALID_ENVS = ['local', 'preview', 'prod'];
|
|
8
8
|
export class InvalidEnvError extends Error {
|
|
9
|
-
constructor(value) {
|
|
10
|
-
super(`Unknown environment "${value}". Valid environments: ${VALID_ENVS.join(', ')}.`);
|
|
9
|
+
constructor(value, destinations = []) {
|
|
10
|
+
super(`Unknown environment "${value}". Valid environments: ${[...VALID_ENVS, ...destinations].join(', ')}.`);
|
|
11
11
|
this.name = 'InvalidEnvError';
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
const isTeamEnv = (v) => v === 'prod' || v === 'preview';
|
|
15
15
|
export function routeSetup(opts, config, processEnv) {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
// A saved team destination (`align join`) is a team env too: setup runs against it. Anything else that is
|
|
17
|
+
// not a builtin is an error, from --env and from ALIGN_ENV alike, as in resolveEnv (join plan S6).
|
|
18
|
+
const known = (v) => VALID_ENVS.includes(v) || config.hasTeamDestination(v);
|
|
19
|
+
if (opts.env !== undefined && !known(opts.env))
|
|
20
|
+
throw new InvalidEnvError(opts.env, config.listTeamDestinationNames());
|
|
21
|
+
const ambient = processEnv['ALIGN_ENV'];
|
|
22
|
+
if (opts.env === undefined && !opts.local && ambient && !known(ambient))
|
|
23
|
+
throw new InvalidEnvError(ambient, config.listTeamDestinationNames());
|
|
18
24
|
// The team env this machine is logged in to: the default env first, then prod, then preview.
|
|
19
25
|
const defaultEnv = config.getDefaultEnv();
|
|
20
26
|
const order = [defaultEnv, 'prod', 'preview'].filter(isTeamEnv);
|
|
@@ -22,12 +28,12 @@ export function routeSetup(opts, config, processEnv) {
|
|
|
22
28
|
if (opts.local || opts.env === 'local') {
|
|
23
29
|
return loggedInEnv ? { kind: 'local', teamLoginUntouched: loggedInEnv } : { kind: 'local' };
|
|
24
30
|
}
|
|
25
|
-
if (
|
|
31
|
+
if (opts.env !== undefined)
|
|
26
32
|
return { kind: 'team', env: opts.env };
|
|
27
33
|
const fromEnvVar = processEnv['ALIGN_ENV'];
|
|
28
34
|
if (fromEnvVar === 'local')
|
|
29
35
|
return loggedInEnv ? { kind: 'local', teamLoginUntouched: loggedInEnv } : { kind: 'local' };
|
|
30
|
-
if (
|
|
36
|
+
if (fromEnvVar && fromEnvVar !== 'local')
|
|
31
37
|
return { kind: 'team', env: fromEnvVar };
|
|
32
38
|
if (loggedInEnv)
|
|
33
39
|
return { kind: 'team', env: loggedInEnv };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-route.js","sourceRoot":"","sources":["../../src/lib/setup-route.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAM3E,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,KAAa;
|
|
1
|
+
{"version":3,"file":"setup-route.js","sourceRoot":"","sources":["../../src/lib/setup-route.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAM3E,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,KAAa,EAAE,eAAyB,EAAE;QACpD,KAAK,CAAC,wBAAwB,KAAK,0BAA0B,CAAC,GAAG,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7G,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,SAAS,GAAG,CAAC,CAAqB,EAA2B,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,SAAS,CAAC;AAEtG,MAAM,UAAU,UAAU,CACxB,IAAuC,EACvC,MAKC,EACD,UAA8C;IAE9C,0GAA0G;IAC1G,mGAAmG;IACnG,MAAM,KAAK,GAAG,CAAC,CAAS,EAAW,EAAE,CAAE,UAAgC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACpH,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,wBAAwB,EAAE,CAAC,CAAC;IACvH,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAE/I,6FAA6F;IAC7F,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAEnF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;QACvC,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC9F,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAc,EAAE,CAAC;IAE9E,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACxH,IAAI,UAAU,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAqB,EAAE,CAAC;IAC9F,IAAI,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;IAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { RequestKind } from './envelope.js';
|
|
2
|
+
import type { ShareRequestsApi, StagedRequest } from './requests-client.js';
|
|
3
|
+
import { ShareError } from './run.js';
|
|
4
|
+
import type { BatchResponse } from './wire.js';
|
|
5
|
+
/** Sleep that ends early when `signal` aborts (Ctrl-C), so a cancel is not delayed by a poll interval. */
|
|
6
|
+
export declare function abortableSleep(ms: number, signal?: AbortSignal): Promise<void>;
|
|
7
|
+
export interface StageInput {
|
|
8
|
+
kind: RequestKind;
|
|
9
|
+
plaintext: Buffer;
|
|
10
|
+
tenantId: string;
|
|
11
|
+
userId: string;
|
|
12
|
+
itemCount: number;
|
|
13
|
+
judgementCount: number;
|
|
14
|
+
label: string;
|
|
15
|
+
agent?: string;
|
|
16
|
+
}
|
|
17
|
+
/** `id` is the gateway's row id (every route and the link use it); `envelopeId` is the CLI's own, bound in the AAD. */
|
|
18
|
+
export interface Staged extends StagedRequest {
|
|
19
|
+
envelopeId: string;
|
|
20
|
+
keyB64Url: string;
|
|
21
|
+
sha256: string;
|
|
22
|
+
/** The exact plaintext, base64: what `complete` sends and what the gateway re-hashes. */
|
|
23
|
+
bytesB64: string;
|
|
24
|
+
}
|
|
25
|
+
/** A machine label the person will read on the page as "a machine calling itself ...": printable, one line, at most 120 characters. */
|
|
26
|
+
export declare function cleanLabel(raw: string): string;
|
|
27
|
+
export declare function stageRequest(client: Pick<ShareRequestsApi, 'stageShareRequest'>, input: StageInput, makeId?: () => string, signal?: AbortSignal): Promise<Staged>;
|
|
28
|
+
/** The link the person opens. The key is in the fragment, never the path or query. */
|
|
29
|
+
export declare function approveUrl(appUrl: string, requestId: string, keyB64Url: string): string;
|
|
30
|
+
export type Decision = 'approved' | 'declined' | 'expired' | 'cancelled' | 'failed' | 'aborted';
|
|
31
|
+
export interface PollDeps {
|
|
32
|
+
client: Pick<ShareRequestsApi, 'getShareRequest'>;
|
|
33
|
+
now: () => number;
|
|
34
|
+
/** Resolves after `ms`, or as soon as `signal` aborts. */
|
|
35
|
+
sleep: (ms: number, signal?: AbortSignal) => Promise<void>;
|
|
36
|
+
signal?: AbortSignal;
|
|
37
|
+
/** The longest this run will wait however far off `expires_at` says: the config's pending_ttl_s + complete_ttl_s. */
|
|
38
|
+
maxWaitMs?: number;
|
|
39
|
+
}
|
|
40
|
+
export declare const POLL_START_MS = 2000;
|
|
41
|
+
export declare const POLL_MAX_MS = 5000;
|
|
42
|
+
export declare const POLL_GROWTH = 1.3;
|
|
43
|
+
/** Consecutive failed status reads before giving up. One blip is not a decision. */
|
|
44
|
+
export declare const POLL_MAX_FAILURES = 3;
|
|
45
|
+
/** Used when the gateway's config gives no lifetimes: pending (15 min) plus the window to complete after approval (10 min). */
|
|
46
|
+
export declare const DEFAULT_MAX_WAIT_MS: number;
|
|
47
|
+
/**
|
|
48
|
+
* Poll until the person decides. The expiry is the gateway's own `expires_at`; at that moment the answer is read
|
|
49
|
+
* ONE more time before calling it expired, because this machine's clock may run ahead of the gateway's and an
|
|
50
|
+
* approval can land in the last second. The deadline is clamped to `maxWaitMs` from now, so a far-future `expires_at`
|
|
51
|
+
* (a broken or hostile gateway) cannot keep this polling forever. `signal` reaches every status read, so Ctrl-C ends a
|
|
52
|
+
* read that is hanging, not only the sleep between reads.
|
|
53
|
+
*/
|
|
54
|
+
export declare function pollUntilDecided(id: string, expiresAt: string, deps: PollDeps): Promise<Decision>;
|
|
55
|
+
/**
|
|
56
|
+
* A completion that failed. `retryable` is true when no verdict came back (5xx, a dropped connection) or the gateway says it
|
|
57
|
+
* is already completing: the same bytes may be sent again. `sent` says what may be claimed: 'no' (the gateway refused, nothing
|
|
58
|
+
* was written) or 'maybe' (it may have finished; only the team graph knows).
|
|
59
|
+
*/
|
|
60
|
+
export declare class CompletionError extends ShareError {
|
|
61
|
+
readonly retryable: boolean;
|
|
62
|
+
readonly sent: 'no' | 'maybe';
|
|
63
|
+
constructor(message: string, retryable: boolean, sent?: 'no' | 'maybe');
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Send the approved bytes. The gateway re-hashes them against what the person approved, so a payload that
|
|
67
|
+
* differs by one character is refused there. An error here is explained by status; a 5xx or a dropped
|
|
68
|
+
* connection is an UNKNOWN outcome, not a failure, because the gateway may have finished before the answer got lost.
|
|
69
|
+
*/
|
|
70
|
+
export declare function completeRequest(client: Pick<ShareRequestsApi, 'completeShareRequest'>, id: string, bytesB64: string): Promise<BatchResponse>;
|
|
71
|
+
//# sourceMappingURL=approval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../src/lib/share/approval.ts"],"names":[],"mappings":"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"}
|