@paradigma-inc/flywheel 0.1.115 → 0.1.134
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 +67 -10
- package/package.json +14 -6
- package/skills/flywheel/SKILL.md +9 -6
- package/skills/flywheel/example-workflows/organizing-exploring-and-iterating-on-a-research-topic.md +38 -46
- package/skills/flywheel/example-workflows/reproducing-papers-on-a-budget.md +34 -36
- package/skills/flywheel/getting-started/flywheel-quickstart.md +2 -5
- package/skills/flywheel/references/INTERFACES.md +2 -2
- package/skills/flywheel/references/experiment-design-protocol.md +32 -25
- package/skills/flywheel/references/flywheel-cli-tool-map.md +120 -76
- package/skills/flywheel/references/flywheel-mcp-tool-map.md +42 -32
- package/skills/flywheel/setting-up-flywheel/claude-code-cli-installation.md +1 -1
- package/skills/flywheel/setting-up-flywheel/codex-cli-installation.md +1 -1
- package/skills/flywheel/setting-up-flywheel/installation-overview.md +2 -6
- package/skills/flywheel/setting-up-flywheel/other-hosts-installation.md +45 -25
- package/skills/flywheel/setting-up-flywheel/updating-flywheel-mcp.md +34 -11
- package/skills/flywheel-auto/SKILL.md +40 -23
- package/skills/flywheel-auto/evals/evals.json +1 -1
- package/skills/flywheel-auto/references/INTERFACES.md +2 -2
- package/skills/flywheel-auto/references/experiment-design-protocol.md +31 -23
- package/skills/flywheel-auto/references/flywheel-cli-tool-map.md +172 -127
- package/skills/flywheel-auto/references/flywheel-mcp-tool-map.md +22 -24
- package/skills/flywheel-lookahead/SKILL.md +47 -28
- package/skills/flywheel-lookahead/agents/openai.yaml +1 -1
- package/skills/flywheel-lookahead/evals/evals.json +6 -6
- package/skills/flywheel-lookahead/references/INTERFACES.md +2 -2
- package/skills/flywheel-lookahead/references/flywheel-cli-tool-map.md +172 -127
- package/skills/flywheel-lookahead/references/flywheel-mcp-tool-map.md +22 -24
- package/skills/flywheel-prove/SKILL.md +2 -2
- package/skills/flywheel-prove/references/workflow.md +21 -2
- package/skills/flywheel-reproduce/SKILL.md +39 -19
- package/skills/flywheel-reproduce/evals/evals.json +1 -1
- package/skills/flywheel-reproduce/references/INTERFACES.md +2 -2
- package/skills/flywheel-reproduce/references/experiment-design-protocol.md +31 -23
- package/skills/flywheel-reproduce/references/flywheel-cli-tool-map.md +172 -127
- package/skills/flywheel-reproduce/references/flywheel-mcp-tool-map.md +22 -24
- package/skills/flywheel-to-graph/SKILL.md +37 -17
- package/skills/flywheel-to-graph/references/INTERFACES.md +2 -2
- package/skills/flywheel-to-graph/references/flywheel-cli-tool-map.md +172 -127
- package/skills/flywheel-to-graph/references/flywheel-mcp-tool-map.md +22 -24
- package/skills/flywheel-tree/references/workflow.md +6 -37
- package/src/cli.mjs +1145 -1141
- package/src/mcp-writer.mjs +413 -435
- package/src/public-command-metadata.mjs +28 -5
- package/src/runtime/delegate.mjs +2 -19
- package/src/runtime/required-runtime-commands.json +80 -28
- package/src/runtime/runtime-config.mjs +39 -60
- package/src/runtime/vendor/flywheel-cli-dist/auth/credentials.js +330 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/credentials.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/login.js +90 -139
- package/src/runtime/vendor/flywheel-cli-dist/auth/login.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/auth/profiles.js +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/auth/profiles.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/auth/secure-write.js +116 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/secure-write.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-create.js +248 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-create.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-login.js +65 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-login.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-revoke-api-key.js +17 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-revoke-api-key.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/aliases.js +3 -7
- package/src/runtime/vendor/flywheel-cli-dist/commands/aliases.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-credentials-clear.js +12 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-credentials-clear.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-credentials-set.js +29 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-credentials-set.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-login.js +12 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-login.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-status.js +46 -10
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-status.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/env.js +17 -40
- package/src/runtime/vendor/flywheel-cli-dist/commands/env.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/graph-operation-resources.js +305 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/graph-operation-resources.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/graph-operation-support.js +72 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/graph-operation-support.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/graph-operation.js +286 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/graph-operation.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/help-metadata.js +30 -5
- package/src/runtime/vendor/flywheel-cli-dist/commands/help-metadata.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/help.js +27 -12
- package/src/runtime/vendor/flywheel-cli-dist/commands/help.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/hosted-commit-replay.js +284 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/hosted-commit-replay.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/hosted-graph.js +169 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/hosted-graph.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/hosted-lineage-list.js +13 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/hosted-lineage-list.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/hosted-repository-snapshot.js +227 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/hosted-repository-snapshot.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/index.js +21 -51
- package/src/runtime/vendor/flywheel-cli-dist/commands/index.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/node-create-schema.js +25 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/node-create-schema.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-list.js +11 -9
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-list.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-set.js +38 -45
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-set.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-show.js +14 -17
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-show.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-unset.js +13 -8
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-unset.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/admin.js +34 -3
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/admin.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/auth.js +9 -9
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/auth.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/hosted.js +76 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/hosted.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/lifecycle.js +4 -138
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/lifecycle.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/profile.js +8 -13
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/profile.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/repository.js +362 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/repository.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry.js +45 -183
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-edit.js +47 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-edit.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-operation.js +181 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-operation.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-output.js +163 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-output.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-projection.js +79 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-projection.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-selection.js +80 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-selection.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/retired-command-names.js +78 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/retired-command-names.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/types.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/usage-spec.js +3 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/usage-spec.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/config/index.js +5 -0
- package/src/runtime/vendor/flywheel-cli-dist/config/index.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/config/io.js +139 -0
- package/src/runtime/vendor/flywheel-cli-dist/config/io.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/config/migration.js +299 -0
- package/src/runtime/vendor/flywheel-cli-dist/config/migration.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/config/model.js +214 -0
- package/src/runtime/vendor/flywheel-cli-dist/config/model.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/config/path.js +30 -0
- package/src/runtime/vendor/flywheel-cli-dist/config/path.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/credential-output.js +29 -0
- package/src/runtime/vendor/flywheel-cli-dist/credential-output.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/errors.js +1 -16
- package/src/runtime/vendor/flywheel-cli-dist/errors.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/generatedProductTelemetryContract.js +3 -3
- package/src/runtime/vendor/flywheel-cli-dist/generatedProductTelemetryContract.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/grammar/globals.js +19 -9
- package/src/runtime/vendor/flywheel-cli-dist/grammar/globals.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/grammar/parse.js +33 -4
- package/src/runtime/vendor/flywheel-cli-dist/grammar/parse.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/http/client.js +322 -304
- package/src/runtime/vendor/flywheel-cli-dist/http/client.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/http/debug.js +1 -21
- package/src/runtime/vendor/flywheel-cli-dist/http/debug.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/http/retry.js +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/retry.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/adapter.js +244 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/adapter.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/errors.js +7 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/errors.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/history.js +35 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/history.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/invariants.js +42 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/invariants.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/artifact-properties.js +179 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/artifact-properties.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/commits.js +152 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/commits.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/constants.js +71 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/constants.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/encoding.js +73 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/encoding.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/imported-artifact-properties.js +82 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/imported-artifact-properties.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/operations.js +345 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/operations.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/tags.js +57 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/tags.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/conflicts.js +149 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/conflicts.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/context.js +115 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/context.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/keys.js +44 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/keys.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pull.js +159 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pull.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/replay.js +346 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/replay.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/resolve.js +37 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/resolve.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/revert/inverses.js +203 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/revert/inverses.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/revert/plan.js +207 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/revert/plan.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/revert/tag-inverses.js +109 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/revert/tag-inverses.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/commit.js +61 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/commit.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/projection.js +46 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/projection.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/revert.js +203 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/revert.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/staging.js +44 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/staging.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/writes.js +188 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/service/writes.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/sync/cursors.js +54 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/sync/cursors.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/sync/local-pull.js +25 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/sync/local-pull.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/sync-models.js +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/sync-models.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/fs/native.js +7 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/fs/native.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/fs/state.js +129 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/fs/state.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/fs/writer-lock.js +277 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/fs/writer-lock.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/bootstrap.js +183 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/bootstrap.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/context.js +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/context.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/dispatch.js +121 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/dispatch.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/doctor.js +16 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/doctor.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/identity.js +72 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/identity.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/conflicts.js +59 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/conflicts.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/core.js +125 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/core.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/history.js +129 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/history.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/index.js +31 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/index.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/maintenance.js +49 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/maintenance.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/projections.js +30 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/projections.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/shared.js +12 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/shared.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/platform.js +18 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/platform.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/projection.js +125 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/projection.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/clone.js +37 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/clone.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/pull.js +44 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/pull.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/purge.js +58 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/purge.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/push.js +118 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/push.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/transport.js +277 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/transport.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/apply.js +132 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/apply.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/archive.js +372 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/archive.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/backup.js +210 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/backup.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/restore.js +278 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/restore.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/retained-directory.js +192 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/retained-directory.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/commits.js +114 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/commits.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/contract.js +65 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/contract.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/diagnostics-worker.js +145 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/diagnostics-worker.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/diagnostics.js +218 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/diagnostics.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/gc.js +71 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/gc.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/history-validation.js +298 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/history-validation.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/latest-values.js +121 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/latest-values.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migrate.js +69 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migrate.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migration/provenance.js +49 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migration/provenance.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migration/steps.js +424 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migration/steps.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migration/versions.js +10 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migration/versions.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migrations/001_initial.sql +319 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migrations/002_staged_latest_values.sql +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migrations/003_remove_cli_editing_lease.sql +21 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migrations/004_hosted_association.sql +7 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migrations/005_artifact_properties.sql +68 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migrations.js +12 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/migrations.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/objects.js +410 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/objects.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/apply.js +77 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/apply.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/artifacts.js +240 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/artifacts.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/nodes.js +127 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/nodes.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/relations.js +107 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/relations.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/rules.js +80 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/rules.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/tags.js +219 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/tags.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/hosted.js +164 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/hosted.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/read.js +20 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/read.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/replace.js +41 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/replace.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/schema.js +22 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/schema.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/validate.js +188 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot/validate.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot.js +5 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/snapshot.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/connection.js +214 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/connection.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/errors.js +4 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/errors.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/rows.js +44 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/rows.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/schema.js +38 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/schema.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/store.js +284 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/store.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/verify.js +133 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sqlite/verify.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sync-commits.js +98 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sync-commits.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sync.js +161 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/sync.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/workspace-state.js +97 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/workspace-state.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/workspace.js +69 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/workspace.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/main.js +651 -376
- package/src/runtime/vendor/flywheel-cli-dist/main.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/output/format.js +18 -11
- package/src/runtime/vendor/flywheel-cli-dist/output/format.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/src/runtime/vendor/flywheel-cli-dist/prebuilds/darwin-x64/node.napi.node +0 -0
- package/src/runtime/vendor/flywheel-cli-dist/prebuilds/linux-arm64/node.napi.glibc.node +0 -0
- package/src/runtime/vendor/flywheel-cli-dist/prebuilds/linux-arm64/node.napi.musl.node +0 -0
- package/src/runtime/vendor/flywheel-cli-dist/prebuilds/linux-x64/node.napi.glibc.node +0 -0
- package/src/runtime/vendor/flywheel-cli-dist/prebuilds/linux-x64/node.napi.musl.node +0 -0
- package/src/runtime/vendor/manifest.json +246 -257
- package/src/setup/command.mjs +5 -0
- package/src/setup/io/patchers/json.mjs +1 -1
- package/src/setup/io/patchers/toml.mjs +3 -1
- package/src/setup/io/patchers/yaml.mjs +1 -1
- package/src/setup/modes/cli.mjs +76 -7
- package/src/setup/modes/mcp-command.mjs +802 -793
- package/src/setup/modes/mcp.mjs +7 -3
- package/src/setup/shared/prior-mode-detect.mjs +18 -21
- package/src/setup/test-seams.mjs +25 -0
- package/src/setup-auth.mjs +76 -10
- package/src/toml-lines.mjs +52 -0
- package/src/unified-cli.mjs +31 -16
- package/skills/flywheel-llm-proof-paper/scripts/__pycache__/check_paper.cpython-312.pyc +0 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/active-key-id.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/auth/baseurl.d.ts +0 -35
- package/src/runtime/vendor/flywheel-cli-dist/auth/config.d.ts +0 -34
- package/src/runtime/vendor/flywheel-cli-dist/auth/config.js +0 -92
- package/src/runtime/vendor/flywheel-cli-dist/auth/config.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/auth/fingerprint.d.ts +0 -5
- package/src/runtime/vendor/flywheel-cli-dist/auth/keychain.d.ts +0 -4
- package/src/runtime/vendor/flywheel-cli-dist/auth/keychain.js +0 -31
- package/src/runtime/vendor/flywheel-cli-dist/auth/keychain.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/auth/login.d.ts +0 -24
- package/src/runtime/vendor/flywheel-cli-dist/auth/profile.d.ts +0 -15
- package/src/runtime/vendor/flywheel-cli-dist/auth/profile.js +0 -150
- package/src/runtime/vendor/flywheel-cli-dist/auth/profile.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/auth/profiles.d.ts +0 -27
- package/src/runtime/vendor/flywheel-cli-dist/commands/_admin-auth.d.ts +0 -27
- package/src/runtime/vendor/flywheel-cli-dist/commands/_artifacts-upload-helpers.d.ts +0 -32
- package/src/runtime/vendor/flywheel-cli-dist/commands/_artifacts-upload-helpers.js +0 -213
- package/src/runtime/vendor/flywheel-cli-dist/commands/_artifacts-upload-helpers.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/_browser-handoff.d.ts +0 -35
- package/src/runtime/vendor/flywheel-cli-dist/commands/_open-url.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/_secret-param.d.ts +0 -7
- package/src/runtime/vendor/flywheel-cli-dist/commands/_stream-file-out.d.ts +0 -39
- package/src/runtime/vendor/flywheel-cli-dist/commands/_stream-writer.d.ts +0 -34
- package/src/runtime/vendor/flywheel-cli-dist/commands/_wait-polling.d.ts +0 -50
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-detach.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-add.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-remove.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-set-primary.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-get.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-preview.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-proof.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-compute-policy-get.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-compute-policy-set.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-graphs-export-stream.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-graphs-export.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-graphs-list.d.ts +0 -4
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-nodes-audit-list.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-create.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-delete.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/admin-test-users-login.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/aliases.d.ts +0 -13
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-create.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-delete.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-list.d.ts +0 -18
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-rotate.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-expire.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-heartbeat.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-list.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-delete-bulk.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-delete-bulk.js +0 -22
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-delete-bulk.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-delete.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-delete.js +0 -8
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-delete.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-get.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-list.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-note-set.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-note-set.js +0 -9
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-note-set.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-finalize.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-finalize.js +0 -7
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-finalize.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-prepare.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-prepare.js +0 -15
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-prepare.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload.js +0 -5
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-clear.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-clear.js +0 -8
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-clear.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-set.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-set.js +0 -30
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-set.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-login.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-mode.d.ts +0 -4
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-status.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/blobs-get.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-create.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-list.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-revoke.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-update.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-snapshot.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-acquire.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-budgets.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-connection.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-funding.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-list.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-request-approval.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-options.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release-all.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-status.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-balance.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-billing-portal.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-purchase.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral-claim.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscribe.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscription.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-transactions.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-usage.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/destructive-confirmation.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/enums.d.ts +0 -22
- package/src/runtime/vendor/flywheel-cli-dist/commands/env.d.ts +0 -8
- package/src/runtime/vendor/flywheel-cli-dist/commands/executions-launch.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/executions-list.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/executions-terminate.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-history.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-subgraph.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-pdf.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-render-pdf.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-stream.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/feedback-create.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/files-list.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-disconnect.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-link.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-refresh-repos.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-status.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/graph-get.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/handler-factory.d.ts +0 -22
- package/src/runtime/vendor/flywheel-cli-dist/commands/help-format.d.ts +0 -31
- package/src/runtime/vendor/flywheel-cli-dist/commands/help-metadata.d.ts +0 -36
- package/src/runtime/vendor/flywheel-cli-dist/commands/help.d.ts +0 -17
- package/src/runtime/vendor/flywheel-cli-dist/commands/hooks-create.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/hooks-delete.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/hooks-list.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/hooks-runs-list.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/hooks-secrets-create.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/hooks-secrets-delete.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/hooks-secrets-list.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/hooks-secrets-update.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/hooks-set-enabled.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/hooks-update.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/import-subgraph.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/index.d.ts +0 -23
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-remove.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-set.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-status.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-remove.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-set.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/machines-list.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-add-parent.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-add-parent.js +0 -15
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-add-parent.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-branch.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-branch.js +0 -10
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-branch.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-children.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-children.js +0 -8
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-children.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit-new.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit-new.js +0 -6
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit-new.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit.js +0 -7
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-create.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-create.js +0 -6
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-create.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete-bulk.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete-bulk.js +0 -16
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete-bulk.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete.js +0 -11
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-files.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-get.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-list.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-merge.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-merge.js +0 -33
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-merge.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-parents.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-parents.js +0 -8
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-parents.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-remove-parent.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-remove-parent.js +0 -15
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-remove-parent.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-ancestry.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-summary.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-tree.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-resolve-slug.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-get.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set-bulk.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-summaries.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-acquire.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-heartbeat.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-release.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-list.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-set.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-show.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-unset.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/account.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/admin.d.ts +0 -8
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/api-keys.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/approval.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/artifacts.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/artifacts.js +0 -140
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/artifacts.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/auth.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/budgets.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/compute.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/credits.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/env.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/executions.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/export.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/github.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/graph.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/hooks.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/integrations.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/lifecycle.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/profile.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/resources.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/sharing.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/tagging.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/tagging.js +0 -98
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/tagging.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/updates.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry.d.ts +0 -27
- package/src/runtime/vendor/flywheel-cli-dist/commands/remote-artifacts-refresh.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/remote-artifacts-resolve.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-assign.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-assign.js +0 -25
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-assign.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-create.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-create.js +0 -25
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-create.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-delete.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-delete.js +0 -11
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-delete.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-update.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-update.js +0 -28
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-update.js.map +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/types.d.ts +0 -30
- package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide-all-active.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/updates-list.d.ts +0 -2
- package/src/runtime/vendor/flywheel-cli-dist/commands/usage-spec.d.ts +0 -6
- package/src/runtime/vendor/flywheel-cli-dist/commands/utils.d.ts +0 -11
- package/src/runtime/vendor/flywheel-cli-dist/errors.d.ts +0 -86
- package/src/runtime/vendor/flywheel-cli-dist/exit-codes.d.ts +0 -8
- package/src/runtime/vendor/flywheel-cli-dist/generatedFeedbackContract.d.ts +0 -41
- package/src/runtime/vendor/flywheel-cli-dist/generatedProductTelemetryContract.d.ts +0 -13
- package/src/runtime/vendor/flywheel-cli-dist/grammar/globals.d.ts +0 -26
- package/src/runtime/vendor/flywheel-cli-dist/grammar/parse.d.ts +0 -17
- package/src/runtime/vendor/flywheel-cli-dist/http/client.d.ts +0 -91
- package/src/runtime/vendor/flywheel-cli-dist/http/debug.d.ts +0 -5
- package/src/runtime/vendor/flywheel-cli-dist/http/poll.d.ts +0 -18
- package/src/runtime/vendor/flywheel-cli-dist/http/retry.d.ts +0 -30
- package/src/runtime/vendor/flywheel-cli-dist/main.d.ts +0 -33
- package/src/runtime/vendor/flywheel-cli-dist/output/format.d.ts +0 -9
- package/src/runtime/vendor/flywheel-cli-dist/runtime-entry.d.ts +0 -1
- package/src/runtime/vendor/flywheel-cli-dist/version.d.ts +0 -3
- package/src/secure-write.mjs +0 -43
package/src/setup/modes/mcp.mjs
CHANGED
|
@@ -47,6 +47,8 @@ export async function runMcpSetupMode({
|
|
|
47
47
|
// entry; when false, they stay idempotent by name so a benign rerun does
|
|
48
48
|
// not wipe the previously-minted bearer key.
|
|
49
49
|
enforceAuthMode = false,
|
|
50
|
+
privateCodexConfig = false,
|
|
51
|
+
replaceExisting = false,
|
|
50
52
|
supportedCliHosts = SUPPORTED_INSTALL_SKILL_HOSTS,
|
|
51
53
|
detectPriorMode = detectPriorModeForSetup,
|
|
52
54
|
reconcilePriorMode = null,
|
|
@@ -85,9 +87,9 @@ export async function runMcpSetupMode({
|
|
|
85
87
|
const reconcileEntries = Array.isArray(priorModeMatch.entries)
|
|
86
88
|
? priorModeMatch.entries
|
|
87
89
|
: priorModeMatch.affectedHosts.map((hostName) => ({
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
hostName,
|
|
91
|
+
serverNames: [],
|
|
92
|
+
}));
|
|
91
93
|
|
|
92
94
|
// Reconcile each detected entry using its actual serverName(s). Prior CLI
|
|
93
95
|
// installs carry no MCP entry names and the callback falls back to the
|
|
@@ -150,6 +152,8 @@ export async function runMcpSetupMode({
|
|
|
150
152
|
serverName,
|
|
151
153
|
entry,
|
|
152
154
|
enforceAuthMode,
|
|
155
|
+
privateConfig: privateCodexConfig && hostName === "codex",
|
|
156
|
+
replaceExisting,
|
|
153
157
|
});
|
|
154
158
|
} else if (host.mcp.configType === "yaml") {
|
|
155
159
|
patchResult = await patchYamlServer({
|
|
@@ -7,7 +7,6 @@ import {
|
|
|
7
7
|
SKILL_ONLY_HOST_NAMES,
|
|
8
8
|
} from "../../agents.mjs";
|
|
9
9
|
import {
|
|
10
|
-
parseTomlSectionName,
|
|
11
10
|
parseTomlStringValue,
|
|
12
11
|
readEntryServerUrl,
|
|
13
12
|
readJsonConfig as defaultReadJsonConfig,
|
|
@@ -16,6 +15,7 @@ import {
|
|
|
16
15
|
readYamlConfig as defaultReadYamlConfig,
|
|
17
16
|
resolveMcpPath as defaultResolveMcpPath,
|
|
18
17
|
} from "../../mcp-writer.mjs";
|
|
18
|
+
import { scanTomlLines } from "../../toml-lines.mjs";
|
|
19
19
|
import {
|
|
20
20
|
listBundledSkills as defaultListBundledSkills,
|
|
21
21
|
resolveInstalledSkillDir as defaultResolveInstalledSkillDir,
|
|
@@ -157,7 +157,6 @@ async function findFlywheelTomlEntries(
|
|
|
157
157
|
} catch {
|
|
158
158
|
return [];
|
|
159
159
|
}
|
|
160
|
-
const lines = raw.replace(/\r\n/g, "\n").split("\n");
|
|
161
160
|
const matches = [];
|
|
162
161
|
let currentServerName = null;
|
|
163
162
|
let currentUrl = null;
|
|
@@ -179,23 +178,16 @@ async function findFlywheelTomlEntries(
|
|
|
179
178
|
currentUrl = null;
|
|
180
179
|
};
|
|
181
180
|
|
|
182
|
-
for (const line of
|
|
181
|
+
for (const { line, inString, sectionPath: sectionName } of scanTomlLines(
|
|
182
|
+
raw,
|
|
183
|
+
)) {
|
|
184
|
+
if (inString) continue;
|
|
183
185
|
const trimmed = line.trim();
|
|
184
|
-
const sectionName = parseTomlSectionName(trimmed);
|
|
185
186
|
|
|
186
187
|
if (sectionName) {
|
|
187
188
|
commitCurrent();
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
// allows dotted section keys as a single server name, e.g.
|
|
191
|
-
// `[mcp_servers.legacy.flywheel]`), so restricting to `[A-Za-z0-9_-]+`
|
|
192
|
-
// would let a valid cross-mode install slip through detection. The
|
|
193
|
-
// `url` presence check in commitCurrent() is what discriminates real
|
|
194
|
-
// server sections from sub-tables like `.http_headers`: sub-tables
|
|
195
|
-
// carry headers, not urls, so they never commit.
|
|
196
|
-
const serverMatch = sectionName.match(/^mcp_servers\.(.+)$/);
|
|
197
|
-
if (serverMatch) {
|
|
198
|
-
currentServerName = serverMatch[1];
|
|
189
|
+
if (sectionName.length === 2 && sectionName[0] === "mcp_servers") {
|
|
190
|
+
currentServerName = sectionName[1];
|
|
199
191
|
}
|
|
200
192
|
continue;
|
|
201
193
|
}
|
|
@@ -342,7 +334,11 @@ async function skillsRootClaimedBySkillOnlyHost({
|
|
|
342
334
|
// should be raised. In the second case, codex had a real CLI install of
|
|
343
335
|
// its own and the cross-mode conflict must fire.
|
|
344
336
|
try {
|
|
345
|
-
const selfMarkerPath = resolveFlywheelInstalledMarkerPath(
|
|
337
|
+
const selfMarkerPath = resolveFlywheelInstalledMarkerPath(
|
|
338
|
+
cwd,
|
|
339
|
+
hostName,
|
|
340
|
+
scope,
|
|
341
|
+
);
|
|
346
342
|
if (await pathExists(selfMarkerPath)) {
|
|
347
343
|
return false;
|
|
348
344
|
}
|
|
@@ -369,7 +365,11 @@ async function skillsRootClaimedBySkillOnlyHost({
|
|
|
369
365
|
// skills-root are load-bearing.
|
|
370
366
|
let markerPath;
|
|
371
367
|
try {
|
|
372
|
-
markerPath = resolveFlywheelInstalledMarkerPath(
|
|
368
|
+
markerPath = resolveFlywheelInstalledMarkerPath(
|
|
369
|
+
cwd,
|
|
370
|
+
skillOnlyHostName,
|
|
371
|
+
scope,
|
|
372
|
+
);
|
|
373
373
|
} catch {
|
|
374
374
|
continue;
|
|
375
375
|
}
|
|
@@ -419,10 +419,7 @@ async function hostHasBundledSkillArtifacts({
|
|
|
419
419
|
return !claimed;
|
|
420
420
|
}
|
|
421
421
|
|
|
422
|
-
export function formatPriorModeConflictError({
|
|
423
|
-
priorMode,
|
|
424
|
-
affectedHosts,
|
|
425
|
-
}) {
|
|
422
|
+
export function formatPriorModeConflictError({ priorMode, affectedHosts }) {
|
|
426
423
|
const hostList = sortHosts(affectedHosts).join(", ");
|
|
427
424
|
return `Flywheel is already installed in --mode ${priorMode} for host(s) ${hostList}. Run \`npx --yes @paradigma-inc/flywheel uninstall\` first, or re-run this command with --force to reconcile automatically.`;
|
|
428
425
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Master switch for setup test seams.
|
|
3
|
+
*
|
|
4
|
+
* A seam is only permitted to change behavior when this is set. On its own it
|
|
5
|
+
* grants nothing: each seam reads its own explicit override variable, so a
|
|
6
|
+
* test that enables seams still gets production behavior unless it also asks
|
|
7
|
+
* for the specific override it needs.
|
|
8
|
+
*/
|
|
9
|
+
export const ENABLE_TEST_SEAMS_ENV = "FLYWHEEL_ENABLE_TEST_SEAMS";
|
|
10
|
+
|
|
11
|
+
export function testSeamsEnabled(env = process.env) {
|
|
12
|
+
return String(env[ENABLE_TEST_SEAMS_ENV] || "").trim() === "1";
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Read a seam override, or return undefined when seams are off or the
|
|
17
|
+
* override is unset.
|
|
18
|
+
*/
|
|
19
|
+
export function testSeamOverride(name, env = process.env) {
|
|
20
|
+
if (!testSeamsEnabled(env)) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
const value = String(env[name] || "").trim();
|
|
24
|
+
return value === "" ? undefined : value;
|
|
25
|
+
}
|
package/src/setup-auth.mjs
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import crypto from "node:crypto";
|
|
2
2
|
import http from "node:http";
|
|
3
3
|
import { spawn } from "node:child_process";
|
|
4
|
+
import { read as readFd } from "node:fs";
|
|
5
|
+
import { promisify } from "node:util";
|
|
6
|
+
import { isatty } from "node:tty";
|
|
7
|
+
import { setTimeout as delay } from "node:timers/promises";
|
|
4
8
|
|
|
5
9
|
import { SetupInputUsageError } from "./setup/mode.mjs";
|
|
6
10
|
|
|
@@ -8,6 +12,68 @@ const DEFAULT_AUTH_TIMEOUT_MS = 5 * 60 * 1000;
|
|
|
8
12
|
const MIN_POLL_DELAY_MS = 1000;
|
|
9
13
|
const MAX_POLL_DELAY_MS = 10_000;
|
|
10
14
|
const SETUP_DEVICE_API_PREFIX = "/api/v1/auth/mcp-api-keys/setup-device";
|
|
15
|
+
const readDescriptor = promisify(readFd);
|
|
16
|
+
|
|
17
|
+
async function readStdin(fd, buffer, offset, length, position) {
|
|
18
|
+
for (; ;) {
|
|
19
|
+
try {
|
|
20
|
+
return await readDescriptor(fd, buffer, offset, length, position);
|
|
21
|
+
} catch (error) {
|
|
22
|
+
// Node may mark inherited pipes nonblocking. EAGAIN is not EOF;
|
|
23
|
+
// wait for the producer without reading beyond the credential limit.
|
|
24
|
+
if (error.code !== "EAGAIN") throw error;
|
|
25
|
+
await delay(10);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function createSetupStdinAuthReader(
|
|
31
|
+
options,
|
|
32
|
+
{ isTTY = isatty(0), read = readStdin } = {},
|
|
33
|
+
) {
|
|
34
|
+
if (options.apiKey !== undefined || options.oauth === true ||
|
|
35
|
+
(options.authMode && options.authMode !== "auto")) {
|
|
36
|
+
throw new SetupInputUsageError(
|
|
37
|
+
"--api-key-stdin cannot be combined with --api-key, --oauth, or an explicit browser/device auth mode.",
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
if (isTTY) {
|
|
41
|
+
throw new SetupInputUsageError("--api-key-stdin requires non-terminal input.");
|
|
42
|
+
}
|
|
43
|
+
return async () => {
|
|
44
|
+
const buffer = Buffer.alloc(4096);
|
|
45
|
+
let length = 0;
|
|
46
|
+
try {
|
|
47
|
+
while (length < buffer.length) {
|
|
48
|
+
const { bytesRead } = await read(0, buffer, length, buffer.length - length, null);
|
|
49
|
+
if (bytesRead === 0) break;
|
|
50
|
+
length += bytesRead;
|
|
51
|
+
}
|
|
52
|
+
if (length === buffer.length) {
|
|
53
|
+
const overflow = Buffer.alloc(1);
|
|
54
|
+
try {
|
|
55
|
+
const { bytesRead } = await read(0, overflow, 0, 1, null);
|
|
56
|
+
if (bytesRead !== 0) {
|
|
57
|
+
throw new SetupInputUsageError("API key input exceeds 4096 bytes.");
|
|
58
|
+
}
|
|
59
|
+
} finally {
|
|
60
|
+
overflow.fill(0);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
let apiKey = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(buffer.subarray(0, length));
|
|
64
|
+
if (apiKey.endsWith("\n")) apiKey = apiKey.slice(0, -1);
|
|
65
|
+
if (!apiKey || apiKey.trim() !== apiKey || /[\r\n]/.test(apiKey)) {
|
|
66
|
+
throw new SetupInputUsageError("API key input must be one nonempty line without surrounding whitespace.");
|
|
67
|
+
}
|
|
68
|
+
return { apiKey, authMode: null };
|
|
69
|
+
} catch (error) {
|
|
70
|
+
if (error instanceof SetupInputUsageError) throw error;
|
|
71
|
+
throw new SetupInputUsageError("API key input could not be read as valid UTF-8.");
|
|
72
|
+
} finally {
|
|
73
|
+
buffer.fill(0);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
11
77
|
|
|
12
78
|
function openUrlInBrowser(url) {
|
|
13
79
|
const platform = process.platform;
|
|
@@ -326,14 +392,14 @@ export async function resolveSetupApiKey({
|
|
|
326
392
|
const authResult =
|
|
327
393
|
resolvedAuthMode === "device"
|
|
328
394
|
? await acquireDeviceFlow({
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
395
|
+
baseUrl,
|
|
396
|
+
keyName,
|
|
397
|
+
verificationBaseUrl: baseUrl,
|
|
398
|
+
})
|
|
333
399
|
: await acquireBrowserBridge({
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
400
|
+
baseUrl,
|
|
401
|
+
keyName,
|
|
402
|
+
});
|
|
337
403
|
|
|
338
404
|
const normalizedResultApiKey = String(authResult?.apiKey || "").trim();
|
|
339
405
|
if (!normalizedResultApiKey) {
|
|
@@ -357,9 +423,9 @@ export async function acquireApiKeyViaBrowserBridge(_args) {
|
|
|
357
423
|
// makes this error a dead end.
|
|
358
424
|
throw new Error(
|
|
359
425
|
"FLY-416: loopback (browser-bridge) auth has been removed. " +
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
426
|
+
"Re-run with --auth-mode device (or --auth-mode auto) to use the " +
|
|
427
|
+
"RFC 8628 device flow. Run flywheel setup --help for " +
|
|
428
|
+
"the full CLI auth contract.",
|
|
363
429
|
);
|
|
364
430
|
}
|
|
365
431
|
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { parse } from "smol-toml";
|
|
2
|
+
|
|
3
|
+
function sectionPath(line) {
|
|
4
|
+
if (!/^\s*\[/.test(line)) return null;
|
|
5
|
+
let table;
|
|
6
|
+
try {
|
|
7
|
+
table = parse(line);
|
|
8
|
+
} catch {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
const path = [];
|
|
12
|
+
for (; ;) {
|
|
13
|
+
const [key] = Object.keys(table);
|
|
14
|
+
if (key === undefined) return path;
|
|
15
|
+
path.push(key);
|
|
16
|
+
table = table[key];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Keep source lines intact while excluding table-like text inside TOML strings.
|
|
21
|
+
// Parsing each actual header delegates quoted/dotted key semantics to smol-toml.
|
|
22
|
+
export function* scanTomlLines(text) {
|
|
23
|
+
let multiline = null;
|
|
24
|
+
for (const line of text.replace(/\r\n/g, "\n").split("\n")) {
|
|
25
|
+
const inString = multiline !== null;
|
|
26
|
+
let quote = null;
|
|
27
|
+
for (let index = 0; index < line.length; index += 1) {
|
|
28
|
+
const char = line[index];
|
|
29
|
+
if (multiline) {
|
|
30
|
+
if (multiline === '"' && char === "\\") {
|
|
31
|
+
index += 1;
|
|
32
|
+
} else if (line.startsWith(multiline.repeat(3), index)) {
|
|
33
|
+
while (line[index + 1] === multiline) index += 1;
|
|
34
|
+
multiline = null;
|
|
35
|
+
}
|
|
36
|
+
} else if (quote) {
|
|
37
|
+
if (quote === '"' && char === "\\") index += 1;
|
|
38
|
+
else if (char === quote) quote = null;
|
|
39
|
+
} else if (char === "#") {
|
|
40
|
+
break;
|
|
41
|
+
} else if (char === '"' || char === "'") {
|
|
42
|
+
if (line.startsWith(char.repeat(3), index)) {
|
|
43
|
+
multiline = char;
|
|
44
|
+
index += 2;
|
|
45
|
+
} else {
|
|
46
|
+
quote = char;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
yield { line, inString, sectionPath: inString ? null : sectionPath(line) };
|
|
51
|
+
}
|
|
52
|
+
}
|
package/src/unified-cli.mjs
CHANGED
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
} from "./public-command-metadata.mjs";
|
|
8
8
|
import { runRuntimeCli } from "./runtime/delegate.mjs";
|
|
9
9
|
import { RUNTIME_ALIASES } from "./runtime/vendor/flywheel-cli-dist/commands/aliases.js";
|
|
10
|
+
import { RETIRED_COMMAND_NAMES } from "./runtime/vendor/flywheel-cli-dist/commands/retired-command-names.js";
|
|
10
11
|
import { runUpdateCommand } from "./update/command.mjs";
|
|
11
12
|
import { runCommandWithDeferredUpdateWarning } from "./update/warning.mjs";
|
|
12
13
|
|
|
@@ -95,7 +96,7 @@ function setupHelpArgvFor(target, subcommand) {
|
|
|
95
96
|
return null;
|
|
96
97
|
}
|
|
97
98
|
|
|
98
|
-
async function routeExplicitHelp(argv) {
|
|
99
|
+
async function routeExplicitHelp(argv, { runSetup, runRuntime }) {
|
|
99
100
|
const [, target, subcommand] = argv;
|
|
100
101
|
if (target === "--aliases" || target === "-a") {
|
|
101
102
|
renderAliasesHelp();
|
|
@@ -103,10 +104,9 @@ async function routeExplicitHelp(argv) {
|
|
|
103
104
|
}
|
|
104
105
|
const setupHelpArgv = setupHelpArgvFor(target, subcommand);
|
|
105
106
|
if (setupHelpArgv) {
|
|
106
|
-
process.exitCode = await
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
);
|
|
107
|
+
process.exitCode = await runSetup(["node", "flywheel", ...setupHelpArgv], {
|
|
108
|
+
exitOverride: true,
|
|
109
|
+
});
|
|
110
110
|
return;
|
|
111
111
|
}
|
|
112
112
|
if (target === "update") {
|
|
@@ -117,7 +117,7 @@ async function routeExplicitHelp(argv) {
|
|
|
117
117
|
// Defensive: `isCombinedHelpRequest` normally catches this path first,
|
|
118
118
|
// but keep the fallback so any accidental routing still surfaces the
|
|
119
119
|
// grouped help + extras instead of a blank runtime call.
|
|
120
|
-
const exitCode = await
|
|
120
|
+
const exitCode = await runRuntime(["help", helpExtrasArg()]);
|
|
121
121
|
process.exitCode = exitCode;
|
|
122
122
|
return;
|
|
123
123
|
}
|
|
@@ -126,7 +126,7 @@ async function routeExplicitHelp(argv) {
|
|
|
126
126
|
Object.prototype.hasOwnProperty.call(RUNTIME_ALIASES, target)
|
|
127
127
|
? ["help", RUNTIME_ALIASES[target], ...argv.slice(2)]
|
|
128
128
|
: argv;
|
|
129
|
-
const exitCode = await
|
|
129
|
+
const exitCode = await runRuntime(resolvedArgv);
|
|
130
130
|
process.exitCode = exitCode;
|
|
131
131
|
}
|
|
132
132
|
|
|
@@ -141,10 +141,20 @@ async function runWithDeferredUpdateWarning(argv, runCommand) {
|
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
-
export async function runUnifiedCli(
|
|
144
|
+
export async function runUnifiedCli(
|
|
145
|
+
argv = process.argv.slice(2),
|
|
146
|
+
dependencies = {},
|
|
147
|
+
) {
|
|
145
148
|
if (!Array.isArray(argv)) {
|
|
146
149
|
throw new Error("runUnifiedCli expects an argv array.");
|
|
147
150
|
}
|
|
151
|
+
const runSetup = dependencies.runSetupCli ?? runSetupCli;
|
|
152
|
+
const runtimeDependencies = dependencies.runtimeDependencies ?? {};
|
|
153
|
+
const runRuntime = (runtimeArgv) =>
|
|
154
|
+
(dependencies.runRuntimeCli ?? runRuntimeCli)(
|
|
155
|
+
runtimeArgv,
|
|
156
|
+
runtimeDependencies,
|
|
157
|
+
);
|
|
148
158
|
|
|
149
159
|
if (isVersionRequest(argv)) {
|
|
150
160
|
process.stdout.write(`${await loadPackageVersion()}\n`);
|
|
@@ -155,7 +165,7 @@ export async function runUnifiedCli(argv = process.argv.slice(2)) {
|
|
|
155
165
|
if (argv.length === 1 && USAGE_REQUEST_TOKENS.has(argv[0])) {
|
|
156
166
|
await runWithDeferredUpdateWarning(argv, async () => {
|
|
157
167
|
const publicPackageVersion = await loadPackageVersion();
|
|
158
|
-
return await
|
|
168
|
+
return await runRuntime([
|
|
159
169
|
argv[0],
|
|
160
170
|
usageExtrasArg(),
|
|
161
171
|
usageVersionArg(publicPackageVersion),
|
|
@@ -186,8 +196,9 @@ export async function runUnifiedCli(argv = process.argv.slice(2)) {
|
|
|
186
196
|
}
|
|
187
197
|
}
|
|
188
198
|
const passthrough = ["help", helpExtrasArg(), ...formatArgs];
|
|
189
|
-
await runWithDeferredUpdateWarning(
|
|
190
|
-
|
|
199
|
+
await runWithDeferredUpdateWarning(
|
|
200
|
+
argv,
|
|
201
|
+
async () => await runRuntime(passthrough),
|
|
191
202
|
);
|
|
192
203
|
return;
|
|
193
204
|
}
|
|
@@ -208,7 +219,7 @@ export async function runUnifiedCli(argv = process.argv.slice(2)) {
|
|
|
208
219
|
|
|
209
220
|
if (command === "help") {
|
|
210
221
|
await runWithDeferredUpdateWarning(argv, async () => {
|
|
211
|
-
await routeExplicitHelp(argv);
|
|
222
|
+
await routeExplicitHelp(argv, { runSetup, runRuntime });
|
|
212
223
|
return process.exitCode ?? 0;
|
|
213
224
|
});
|
|
214
225
|
return;
|
|
@@ -220,16 +231,20 @@ export async function runUnifiedCli(argv = process.argv.slice(2)) {
|
|
|
220
231
|
command === "completion"
|
|
221
232
|
) {
|
|
222
233
|
await runWithDeferredUpdateWarning(argv, async () => {
|
|
223
|
-
return await
|
|
234
|
+
return await runSetup(["node", "flywheel", ...argv], {
|
|
224
235
|
exitOverride: true,
|
|
225
236
|
});
|
|
226
237
|
});
|
|
227
238
|
return;
|
|
228
239
|
}
|
|
229
240
|
|
|
230
|
-
if (
|
|
231
|
-
|
|
232
|
-
|
|
241
|
+
if (
|
|
242
|
+
command.includes(":") ||
|
|
243
|
+
Object.prototype.hasOwnProperty.call(RETIRED_COMMAND_NAMES, command)
|
|
244
|
+
) {
|
|
245
|
+
await runWithDeferredUpdateWarning(
|
|
246
|
+
argv,
|
|
247
|
+
async () => await runRuntime(argv),
|
|
233
248
|
);
|
|
234
249
|
return;
|
|
235
250
|
}
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function activeKeyIdFromToken(token: string | undefined): string | null;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Canonical equality for CLI baseUrls.
|
|
3
|
-
*
|
|
4
|
-
* Several CLI paths compare a "resolved" baseUrl (env override, profile
|
|
5
|
-
* pointer, etc.) against a "stored" baseUrl (built-in profile constant,
|
|
6
|
-
* `config.baseUrl`) to decide credential routing — both at write time
|
|
7
|
-
* (`auth:login` choosing the per-profile bucket vs. the legacy flat
|
|
8
|
-
* fields) and at read time (the runtime resolver deciding which stored
|
|
9
|
-
* key, if any, applies to the resolved origin).
|
|
10
|
-
*
|
|
11
|
-
* Raw `===` makes those checks fragile under semantically equivalent URL
|
|
12
|
-
* variants — most commonly a trailing slash, but also default-port and
|
|
13
|
-
* scheme/host casing — and the failure mode is silent: tokens land in
|
|
14
|
-
* the wrong slot or are dropped at runtime, and requests go out
|
|
15
|
-
* unauthenticated against the same server. The HTTP client at
|
|
16
|
-
* `src/http/client.ts` already strips trailing slashes from `baseUrl`
|
|
17
|
-
* before issuing requests, so two variants that the routing layer
|
|
18
|
-
* treated as different origins would still hit the same server — making
|
|
19
|
-
* the mismatch impossible for the user to diagnose.
|
|
20
|
-
*
|
|
21
|
-
* The normalisation rules below match RFC 3986 §6.2.2 (Syntax-Based
|
|
22
|
-
* Normalisation): scheme + host are case-insensitive, default ports are
|
|
23
|
-
* dropped, and a trailing-slash-only path is treated as equivalent to
|
|
24
|
-
* the bare origin. Path beyond the bare root remains case-sensitive
|
|
25
|
-
* (RFC 3986 §6.2.2.3); we only strip trailing slashes there. Query and
|
|
26
|
-
* fragment are not part of a CLI baseUrl in this codebase, so we do not
|
|
27
|
-
* preserve them.
|
|
28
|
-
*/
|
|
29
|
-
export declare function canonicalizeBaseUrl(raw: string | null | undefined): string | null;
|
|
30
|
-
/**
|
|
31
|
-
* Returns true iff both inputs canonicalise to the same baseUrl. Returns
|
|
32
|
-
* false for any input the canonicaliser rejects (null/undefined/garbage),
|
|
33
|
-
* because an unparseable URL has no provable identity to compare against.
|
|
34
|
-
*/
|
|
35
|
-
export declare function baseUrlsEqual(a: string | null | undefined, b: string | null | undefined): boolean;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export interface ProfileKeyRecord {
|
|
2
|
-
apiKey?: string | null;
|
|
3
|
-
}
|
|
4
|
-
export interface AuthConfig {
|
|
5
|
-
baseUrl: string;
|
|
6
|
-
apiKey: string | null;
|
|
7
|
-
activeProfile?: string | null;
|
|
8
|
-
profileKeys?: Record<string, ProfileKeyRecord>;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Delta shape accepted by `saveAuthConfig`. Every field is optional —
|
|
12
|
-
* only the provided keys are merged into the on-disk config, so callers
|
|
13
|
-
* writing per-profile state (e.g. `auth:login` under an active built-in
|
|
14
|
-
* profile) can omit `baseUrl` / `apiKey` instead of passing `undefined`
|
|
15
|
-
* through an `as unknown as string` cast that lies about the contract
|
|
16
|
-
* to injected `saveConfig` implementations.
|
|
17
|
-
*/
|
|
18
|
-
export type AuthConfigDelta = Partial<AuthConfig>;
|
|
19
|
-
export declare const DEFAULT_BASE_URL = "http://localhost:8000";
|
|
20
|
-
export declare function resolveConfigPath(): string;
|
|
21
|
-
export declare function loadAuthConfig(filePath?: string): Promise<AuthConfig>;
|
|
22
|
-
/**
|
|
23
|
-
* Merge-write the on-disk config.
|
|
24
|
-
*
|
|
25
|
-
* FLY-416: previously `saveAuthConfig` serialised the `{ baseUrl, apiKey }`
|
|
26
|
-
* AuthConfig shape verbatim, which wiped `activeProfile`, `profileKeys`, and
|
|
27
|
-
* every other top-level key the user might have added. That made
|
|
28
|
-
* `env:switch staging; auth:login` ephemeral: the login erased the pointer.
|
|
29
|
-
*
|
|
30
|
-
* The new behaviour reads the existing file, merges the provided delta onto
|
|
31
|
-
* the parsed object (per-key overwrite for AuthConfig-owned fields), and
|
|
32
|
-
* writes the merged result. Unknown keys are preserved untouched.
|
|
33
|
-
*/
|
|
34
|
-
export declare function saveAuthConfig(filePath: string, delta: AuthConfigDelta): Promise<void>;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
2
|
-
import os from 'node:os';
|
|
3
|
-
import path from 'node:path';
|
|
4
|
-
export const DEFAULT_BASE_URL = 'http://localhost:8000';
|
|
5
|
-
export function resolveConfigPath() {
|
|
6
|
-
const fromEnv = process.env.FLYWHEEL_CLI_CONFIG_PATH?.trim();
|
|
7
|
-
if (fromEnv) {
|
|
8
|
-
return fromEnv;
|
|
9
|
-
}
|
|
10
|
-
return path.join(os.homedir(), '.config', 'flywheel-cli', 'config.json');
|
|
11
|
-
}
|
|
12
|
-
export async function loadAuthConfig(filePath = resolveConfigPath()) {
|
|
13
|
-
try {
|
|
14
|
-
const contents = await readFile(filePath, 'utf8');
|
|
15
|
-
const parsed = JSON.parse(contents);
|
|
16
|
-
const config = {
|
|
17
|
-
baseUrl: typeof parsed.baseUrl === 'string' && parsed.baseUrl.trim()
|
|
18
|
-
? parsed.baseUrl
|
|
19
|
-
: DEFAULT_BASE_URL,
|
|
20
|
-
apiKey: typeof parsed.apiKey === 'string' && parsed.apiKey.trim() ? parsed.apiKey : null,
|
|
21
|
-
};
|
|
22
|
-
if (typeof parsed.activeProfile === 'string' && parsed.activeProfile.trim()) {
|
|
23
|
-
config.activeProfile = parsed.activeProfile.trim();
|
|
24
|
-
}
|
|
25
|
-
if (parsed.profileKeys && typeof parsed.profileKeys === 'object') {
|
|
26
|
-
const raw = parsed.profileKeys;
|
|
27
|
-
const normalized = {};
|
|
28
|
-
for (const [name, value] of Object.entries(raw)) {
|
|
29
|
-
if (value && typeof value === 'object') {
|
|
30
|
-
const entry = value;
|
|
31
|
-
if (typeof entry.apiKey === 'string' && entry.apiKey.trim()) {
|
|
32
|
-
normalized[name] = { apiKey: entry.apiKey };
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if (Object.keys(normalized).length > 0) {
|
|
37
|
-
config.profileKeys = normalized;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return config;
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
return {
|
|
44
|
-
baseUrl: DEFAULT_BASE_URL,
|
|
45
|
-
apiKey: null,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
async function readRawConfigObject(filePath) {
|
|
50
|
-
try {
|
|
51
|
-
const raw = await readFile(filePath, 'utf8');
|
|
52
|
-
const parsed = JSON.parse(raw);
|
|
53
|
-
return parsed && typeof parsed === 'object' ? parsed : {};
|
|
54
|
-
}
|
|
55
|
-
catch {
|
|
56
|
-
return {};
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Merge-write the on-disk config.
|
|
61
|
-
*
|
|
62
|
-
* FLY-416: previously `saveAuthConfig` serialised the `{ baseUrl, apiKey }`
|
|
63
|
-
* AuthConfig shape verbatim, which wiped `activeProfile`, `profileKeys`, and
|
|
64
|
-
* every other top-level key the user might have added. That made
|
|
65
|
-
* `env:switch staging; auth:login` ephemeral: the login erased the pointer.
|
|
66
|
-
*
|
|
67
|
-
* The new behaviour reads the existing file, merges the provided delta onto
|
|
68
|
-
* the parsed object (per-key overwrite for AuthConfig-owned fields), and
|
|
69
|
-
* writes the merged result. Unknown keys are preserved untouched.
|
|
70
|
-
*/
|
|
71
|
-
export async function saveAuthConfig(filePath, delta) {
|
|
72
|
-
await mkdir(path.dirname(filePath), { recursive: true });
|
|
73
|
-
const existing = await readRawConfigObject(filePath);
|
|
74
|
-
const merged = { ...existing };
|
|
75
|
-
// AuthConfig-owned fields overwrite whatever was there, but undefined
|
|
76
|
-
// fields leave the existing value alone so per-profile callers can pass
|
|
77
|
-
// the shape they want to mutate without specifying defaults.
|
|
78
|
-
if (delta.baseUrl !== undefined) {
|
|
79
|
-
merged.baseUrl = delta.baseUrl;
|
|
80
|
-
}
|
|
81
|
-
if (delta.apiKey !== undefined) {
|
|
82
|
-
merged.apiKey = delta.apiKey;
|
|
83
|
-
}
|
|
84
|
-
if (delta.activeProfile !== undefined) {
|
|
85
|
-
merged.activeProfile = delta.activeProfile;
|
|
86
|
-
}
|
|
87
|
-
if (delta.profileKeys !== undefined) {
|
|
88
|
-
merged.profileKeys = delta.profileKeys;
|
|
89
|
-
}
|
|
90
|
-
await writeFile(filePath, `${JSON.stringify(merged, null, 2)}\n`, 'utf8');
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/auth/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AA4B7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AAExD,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC;IAC7D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAQ,GAAG,iBAAiB,EAAE;IACjE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAkD,CAAC;QACrF,MAAM,MAAM,GAAe;YACzB,OAAO,EACL,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBACzD,CAAC,CAAC,MAAM,CAAC,OAAO;gBAChB,CAAC,CAAC,gBAAgB;YACtB,MAAM,EACJ,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;SACnF,CAAC;QACF,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5E,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QACrD,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACjE,MAAM,GAAG,GAAG,MAAM,CAAC,WAAsC,CAAC;YAC1D,MAAM,UAAU,GAAqC,EAAE,CAAC;YACxD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvC,MAAM,KAAK,GAAG,KAA6B,CAAC;oBAC5C,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC5D,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;YAClC,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,gBAAgB;YACzB,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACjD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAkC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,KAAsB;IAEtB,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,MAAM,GAA4B,EAAE,GAAG,QAAQ,EAAE,CAAC;IAExD,sEAAsE;IACtE,wEAAwE;IACxE,6DAA6D;IAC7D,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC7C,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,MAAM,SAAS,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export declare function getKey(service: string, account: string): Promise<string | null>;
|
|
2
|
-
export declare function setKey(service: string, account: string, value: string): Promise<void>;
|
|
3
|
-
export declare function deleteKey(service: string, account: string): Promise<boolean>;
|
|
4
|
-
export declare function resetKeychainCache(): void;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
let cached;
|
|
2
|
-
async function loadKeytar() {
|
|
3
|
-
if (cached !== undefined && cached !== null) {
|
|
4
|
-
return cached;
|
|
5
|
-
}
|
|
6
|
-
try {
|
|
7
|
-
const mod = (await import('keytar'));
|
|
8
|
-
cached = 'default' in mod ? mod.default : mod;
|
|
9
|
-
return cached;
|
|
10
|
-
}
|
|
11
|
-
catch (err) {
|
|
12
|
-
cached = null;
|
|
13
|
-
throw new Error(`keytar could not be loaded; native module likely failed to build on this platform. Original error: ${err.message}`, { cause: err });
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
export async function getKey(service, account) {
|
|
17
|
-
const mod = await loadKeytar();
|
|
18
|
-
return mod.getPassword(service, account);
|
|
19
|
-
}
|
|
20
|
-
export async function setKey(service, account, value) {
|
|
21
|
-
const mod = await loadKeytar();
|
|
22
|
-
await mod.setPassword(service, account, value);
|
|
23
|
-
}
|
|
24
|
-
export async function deleteKey(service, account) {
|
|
25
|
-
const mod = await loadKeytar();
|
|
26
|
-
return mod.deletePassword(service, account);
|
|
27
|
-
}
|
|
28
|
-
export function resetKeychainCache() {
|
|
29
|
-
cached = undefined;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=keychain.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../src/auth/keychain.ts"],"names":[],"mappings":"AAMA,IAAI,MAAuC,CAAC;AAE5C,KAAK,UAAU,UAAU;IACvB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,QAAkB,CAAC,CAEhB,CAAC;QAC9B,MAAM,GAAG,SAAS,IAAI,GAAG,CAAC,CAAC,CAAE,GAAiC,CAAC,OAAO,CAAC,CAAC,CAAE,GAAoB,CAAC;QAC/F,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,IAAI,CAAC;QACd,MAAM,IAAI,KAAK,CACb,sGAAuG,GAAa,CAAC,OAAO,EAAE,EAC9H,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe,EAAE,OAAe;IAC3D,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,OAAO,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe,EAAE,OAAe,EAAE,KAAa;IAC1E,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,MAAM,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAe,EAAE,OAAe;IAC9D,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,OAAO,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,SAAS,CAAC;AACrB,CAAC"}
|