@paradigma-inc/flywheel 0.1.26 → 0.1.51
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 +117 -60
- package/bin/flywheel.js +10 -3
- package/package.json +5 -1
- package/skills/flywheel/SKILL.md +13 -1
- package/skills/flywheel/campaigns/participating-in-a-campaign.md +2 -2
- package/skills/flywheel/compute/managed-compute.md +26 -7
- package/skills/flywheel/example-workflows/organizing-exploring-and-iterating-on-a-research-topic.md +11 -11
- package/skills/flywheel/example-workflows/reproducing-papers-on-a-budget.md +8 -8
- package/skills/flywheel/getting-started/flywheel-tutorial-overview.md +2 -1
- package/skills/flywheel/references/ARTIFACTS.md +48 -0
- package/skills/flywheel/references/INTERFACES.md +208 -0
- package/skills/flywheel/references/experiment-design-protocol.md +5 -5
- package/skills/flywheel/references/flywheel-cli-tool-map.md +244 -0
- package/skills/flywheel/references/flywheel-mcp-tool-map.md +109 -63
- 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/how-can-i-get-an-authorized-client_id-for-the-oauth-flow.md +3 -3
- package/skills/flywheel/setting-up-flywheel/installation-overview.md +19 -4
- package/skills/flywheel/setting-up-flywheel/other-hosts-installation.md +1 -1
- package/skills/flywheel/usage-and-workflows/what-to-do-with-flywheel.md +28 -1
- package/skills/flywheel/web-ui/the-flywheel-web-ui.md +1 -1
- package/skills/flywheel-auto/SKILL.md +23 -12
- package/skills/flywheel-auto/references/ARTIFACTS.md +1 -1
- package/skills/flywheel-auto/references/INTERFACES.md +61 -59
- package/skills/flywheel-auto/references/experiment-design-protocol.md +5 -5
- package/skills/flywheel-auto/references/flywheel-cli-tool-map.md +244 -0
- package/skills/flywheel-auto/references/flywheel-mcp-tool-map.md +76 -63
- package/skills/flywheel-lookahead/SKILL.md +22 -11
- package/skills/flywheel-lookahead/references/ARTIFACTS.md +1 -1
- package/skills/flywheel-lookahead/references/INTERFACES.md +61 -59
- package/skills/flywheel-lookahead/references/flywheel-cli-tool-map.md +244 -0
- package/skills/flywheel-lookahead/references/flywheel-mcp-tool-map.md +76 -63
- package/skills/flywheel-prove/SKILL.md +17 -0
- package/skills/flywheel-reproduce/SKILL.md +23 -12
- package/skills/flywheel-reproduce/references/ARTIFACTS.md +1 -1
- package/skills/flywheel-reproduce/references/INTERFACES.md +61 -59
- package/skills/flywheel-reproduce/references/experiment-design-protocol.md +5 -5
- package/skills/flywheel-reproduce/references/flywheel-cli-tool-map.md +244 -0
- package/skills/flywheel-reproduce/references/flywheel-mcp-tool-map.md +76 -63
- package/skills/flywheel-to-graph/SKILL.md +20 -9
- package/skills/flywheel-to-graph/references/ARTIFACTS.md +1 -1
- package/skills/flywheel-to-graph/references/INTERFACES.md +61 -59
- package/skills/flywheel-to-graph/references/flywheel-cli-tool-map.md +244 -0
- package/skills/flywheel-to-graph/references/flywheel-mcp-tool-map.md +76 -63
- package/skills/flywheel-tree/SKILL.md +70 -0
- package/skills/flywheel-tree/agents/interface.yaml +4 -0
- package/skills/flywheel-tree/assets/ansi_palette.json +29 -0
- package/skills/flywheel-tree/references/workflow.md +108 -0
- package/skills/flywheel-tree/scripts/render_tree.py +407 -0
- package/skills/flywheel-tree/scripts/render_tree_via_mcp.py +694 -0
- package/src/cli.mjs +204 -582
- package/src/mcp-writer.mjs +2 -2
- package/src/runtime/delegate.mjs +21 -0
- package/src/runtime/required-runtime-commands.json +117 -0
- package/src/runtime/runtime-config.mjs +84 -0
- package/src/runtime/vendor/.gitkeep +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/active-key-id.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/active-key-id.js +22 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/active-key-id.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/baseurl.d.ts +35 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/baseurl.js +64 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/baseurl.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/config.d.ts +34 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/config.js +92 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/config.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/fingerprint.d.ts +5 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/fingerprint.js +12 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/fingerprint.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/keychain.d.ts +4 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/keychain.js +31 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/keychain.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/login.d.ts +23 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/login.js +387 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/login.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/profile.d.ts +15 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/profile.js +150 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/profile.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/profiles.d.ts +26 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/profiles.js +27 -0
- package/src/runtime/vendor/flywheel-cli-dist/auth/profiles.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/_artifacts-upload-helpers.d.ts +32 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/_artifacts-upload-helpers.js +171 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/_artifacts-upload-helpers.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/_open-url.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/_open-url.js +26 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/_open-url.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/_stream-writer.d.ts +34 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/_stream-writer.js +63 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/_stream-writer.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/_wait-polling.d.ts +29 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/_wait-polling.js +75 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/_wait-polling.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-detach.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-detach.js +13 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-detach.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-add.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-add.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-add.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-remove.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-remove.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-remove.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-set-primary.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-set-primary.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-set-primary.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-get.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-get.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-get.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-preview.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-preview.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-preview.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-proof.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-proof.js +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-proof.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge.js +11 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/aliases.d.ts +13 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/aliases.js +13 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/aliases.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-create.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-create.js +12 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-create.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-delete.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-delete.js +20 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-delete.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-list.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-list.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-list.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-rotate.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-rotate.js +21 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-rotate.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-expire.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-expire.js +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-expire.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-heartbeat.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-heartbeat.js +29 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-heartbeat.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-list.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-list.js +10 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-list.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-delete.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-delete.js +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-delete.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-get.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-get.js +7 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-get.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-list.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-list.js +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-list.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-note-set.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-note-set.js +9 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-note-set.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-finalize.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-finalize.js +7 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-finalize.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-prepare.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-prepare.js +15 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-prepare.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload.js +5 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-clear.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-clear.js +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-clear.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-set.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-set.js +30 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-set.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-login.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-login.js +34 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-login.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-status.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-status.js +4 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/auth-status.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/blobs-get.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/blobs-get.js +18 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/blobs-get.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-create.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-create.js +11 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-create.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-list.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-list.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-list.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-revoke.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-revoke.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-revoke.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-update.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-update.js +22 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-update.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-snapshot.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-snapshot.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-snapshot.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-acquire.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-acquire.js +39 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-acquire.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-budgets.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-budgets.js +14 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-budgets.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-connection.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-connection.js +13 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-connection.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-funding.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-funding.js +10 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-funding.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-list.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-list.js +13 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-list.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-request-approval.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-request-approval.js +53 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-request-approval.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-options.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-options.js +17 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-options.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-policy-get.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-policy-get.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-policy-get.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-policy-set.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-policy-set.js +19 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-policy-set.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release-all.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release-all.js +39 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release-all.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release.js +28 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-status.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-status.js +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/compute-status.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-balance.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-balance.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-balance.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-billing-portal.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-billing-portal.js +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-billing-portal.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-purchase.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-purchase.js +10 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-purchase.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral-claim.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral-claim.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral-claim.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscribe.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscribe.js +14 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscribe.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscription.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscription.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscription.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-transactions.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-transactions.js +12 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-transactions.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-usage.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-usage.js +9 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/credits-usage.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/enums.d.ts +16 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/enums.js +12 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/enums.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/env.d.ts +12 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/env.js +65 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/env.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/executions-launch.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/executions-launch.js +11 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/executions-launch.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/executions-list.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/executions-list.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/executions-list.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/executions-terminate.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/executions-terminate.js +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/executions-terminate.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-history.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-history.js +82 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-history.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-subgraph.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-subgraph.js +18 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-subgraph.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-pdf.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-pdf.js +19 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-pdf.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-render-pdf.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-render-pdf.js +65 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-render-pdf.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-stream.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-stream.js +174 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-stream.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary.js +9 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/files-list.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/files-list.js +12 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/files-list.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-disconnect.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-disconnect.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-disconnect.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-link.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-link.js +17 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-link.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-refresh-repos.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-refresh-repos.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-refresh-repos.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-status.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-status.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/github-status.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/graph-get.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/graph-get.js +15 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/graph-get.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/handler-factory.d.ts +22 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/handler-factory.js +51 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/handler-factory.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/help.d.ts +23 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/help.js +258 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/help.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/import-subgraph.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/import-subgraph.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/import-subgraph.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/index.d.ts +20 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/index.js +238 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/index.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-remove.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-remove.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-remove.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-set.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-set.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-set.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-status.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-status.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-status.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-remove.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-remove.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-remove.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-set.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-set.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-set.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/machines-list.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/machines-list.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/machines-list.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-add-parent.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-add-parent.js +10 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-add-parent.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-audit-list.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-audit-list.js +7 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-audit-list.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-branch.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-branch.js +10 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-branch.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit-new.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit-new.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit-new.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit.js +7 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-create.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-create.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-create.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete-bulk.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete-bulk.js +14 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete-bulk.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete.js +9 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-files.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-files.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-files.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-get.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-get.js +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-get.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-list.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-list.js +7 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-list.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-merge.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-merge.js +33 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-merge.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-remove-parent.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-remove-parent.js +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-remove-parent.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-ancestry.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-ancestry.js +10 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-ancestry.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-summary.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-summary.js +10 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-summary.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-tree.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-tree.js +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-tree.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-resolve-slug.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-resolve-slug.js +13 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-resolve-slug.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-get.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-get.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-get.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set-bulk.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set-bulk.js +20 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set-bulk.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set.js +10 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-summaries.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-summaries.js +11 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-summaries.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-backfill-hypothesis.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-backfill-hypothesis.js +7 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-backfill-hypothesis.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-backfill-insights.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-backfill-insights.js +7 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-backfill-insights.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-acquire.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-acquire.js +13 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-acquire.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-heartbeat.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-heartbeat.js +7 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-heartbeat.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-release.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-release.js +7 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-release.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-list.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-list.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-list.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-set.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-set.js +56 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-set.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-show.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-show.js +12 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-show.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-unset.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-unset.js +12 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/profile-unset.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/account.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/account.js +124 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/account.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/api-keys.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/api-keys.js +103 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/api-keys.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/approval.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/approval.js +101 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/approval.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/artifacts.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/artifacts.js +104 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/artifacts.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/auth.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/auth.js +37 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/auth.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/budgets.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/budgets.js +72 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/budgets.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/compute.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/compute.js +128 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/compute.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/credits.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/credits.js +134 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/credits.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/env.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/env.js +39 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/env.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/executions.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/executions.js +55 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/executions.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/export.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/export.js +88 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/export.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/github.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/github.js +60 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/github.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/graph.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/graph.js +22 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/graph.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/integrations.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/integrations.js +69 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/integrations.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/lifecycle.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/lifecycle.js +284 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/lifecycle.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/profile.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/profile.js +82 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/profile.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/resources.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/resources.js +108 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/resources.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/sharing.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/sharing.js +69 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/sharing.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/tagging.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/tagging.js +98 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/tagging.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/updates.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/updates.js +70 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/updates.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry.d.ts +25 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry.js +441 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-assign.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-assign.js +25 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-assign.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-create.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-create.js +25 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-create.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-delete.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-delete.js +11 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-delete.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-update.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-update.js +28 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/tags-update.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/types.d.ts +30 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/types.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/types.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide-all-active.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide-all-active.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide-all-active.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide.js +10 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/updates-list.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/updates-list.js +12 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/updates-list.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/utils.d.ts +10 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/utils.js +171 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/utils.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/errors.d.ts +55 -0
- package/src/runtime/vendor/flywheel-cli-dist/errors.js +51 -0
- package/src/runtime/vendor/flywheel-cli-dist/errors.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/exit-codes.d.ts +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/exit-codes.js +8 -0
- package/src/runtime/vendor/flywheel-cli-dist/exit-codes.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/grammar/globals.d.ts +26 -0
- package/src/runtime/vendor/flywheel-cli-dist/grammar/globals.js +117 -0
- package/src/runtime/vendor/flywheel-cli-dist/grammar/globals.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/grammar/parse.d.ts +17 -0
- package/src/runtime/vendor/flywheel-cli-dist/grammar/parse.js +102 -0
- package/src/runtime/vendor/flywheel-cli-dist/grammar/parse.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/client.d.ts +75 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/client.js +369 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/client.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/debug.d.ts +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/debug.js +68 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/debug.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/poll.d.ts +18 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/poll.js +57 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/poll.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/retry.d.ts +30 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/retry.js +127 -0
- package/src/runtime/vendor/flywheel-cli-dist/http/retry.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/main.d.ts +31 -0
- package/src/runtime/vendor/flywheel-cli-dist/main.js +763 -0
- package/src/runtime/vendor/flywheel-cli-dist/main.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/output/format.d.ts +9 -0
- package/src/runtime/vendor/flywheel-cli-dist/output/format.js +129 -0
- package/src/runtime/vendor/flywheel-cli-dist/output/format.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/runtime-entry.d.ts +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/runtime-entry.js +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/runtime-entry.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/version.d.ts +3 -0
- package/src/runtime/vendor/flywheel-cli-dist/version.js +31 -0
- package/src/runtime/vendor/flywheel-cli-dist/version.js.map +1 -0
- package/src/runtime/vendor/manifest.json +500 -0
- package/src/setup/command.mjs +24 -0
- package/src/setup/io/patchers/json.mjs +33 -0
- package/src/setup/io/patchers/toml.mjs +15 -0
- package/src/setup/io/patchers/yaml.mjs +33 -0
- package/src/setup/mode.mjs +113 -0
- package/src/setup/modes/cli.mjs +317 -0
- package/src/setup/modes/mcp-command.mjs +850 -0
- package/src/setup/modes/mcp.mjs +176 -0
- package/src/setup/preflight.mjs +54 -0
- package/src/setup/shared/prior-mode-detect.mjs +412 -0
- package/src/setup/shared/skill.mjs +12 -0
- package/src/setup/shared/summary.mjs +80 -0
- package/src/setup-auth.mjs +293 -178
- package/src/unified-cli.mjs +161 -0
package/README.md
CHANGED
|
@@ -1,25 +1,65 @@
|
|
|
1
1
|
# flywheel setup CLI
|
|
2
2
|
|
|
3
3
|
This package configures Flywheel MCP for supported AI coding hosts and can
|
|
4
|
-
install or refresh
|
|
4
|
+
install or refresh bundled Flywheel skills.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
`@paradigma-inc/flywheel` is the only user-facing Flywheel CLI install path and
|
|
7
|
+
owns the public `flywheel` binary surface.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
One-shot installer (macOS and Linux):
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
curl -fsSL https://flywheel.paradigma.inc/install | sh
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The script runs `npm install -g @paradigma-inc/flywheel@latest` followed by
|
|
18
|
+
`flywheel setup --mode cli`. You can read the full source at the same URL
|
|
19
|
+
without piping to `sh`.
|
|
20
|
+
|
|
21
|
+
Prefer the two-step npm recipe? It still works:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# --mode cli — installs the flywheel command, used by both you and your AI host
|
|
25
|
+
npm install -g @paradigma-inc/flywheel@latest && flywheel setup --mode cli
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
On Windows (PowerShell), use `;` instead of `&&`:
|
|
29
|
+
|
|
30
|
+
```powershell
|
|
31
|
+
npm install -g @paradigma-inc/flywheel@latest; flywheel setup --mode cli
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Configure your AI host (Claude Code, Codex, etc.) to call Flywheel over MCP:
|
|
7
35
|
|
|
8
36
|
```bash
|
|
9
|
-
|
|
37
|
+
# --mode mcp — your AI host calls Flywheel over MCP
|
|
38
|
+
npx --yes @paradigma-inc/flywheel@latest setup --mode mcp --install-skill
|
|
10
39
|
```
|
|
11
40
|
|
|
12
|
-
|
|
41
|
+
## Setup Modes
|
|
13
42
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
43
|
+
```bash
|
|
44
|
+
# canonical
|
|
45
|
+
npx --yes @paradigma-inc/flywheel setup --mode <mcp|cli>
|
|
46
|
+
|
|
47
|
+
# aliases
|
|
48
|
+
npx --yes @paradigma-inc/flywheel setup --mcp
|
|
49
|
+
npx --yes @paradigma-inc/flywheel setup --cli
|
|
50
|
+
```
|
|
20
51
|
|
|
21
|
-
|
|
22
|
-
|
|
52
|
+
Mode behavior:
|
|
53
|
+
|
|
54
|
+
- `--mode mcp` / `--mcp`: MCP config setup path (plus optional bundled skill
|
|
55
|
+
install path).
|
|
56
|
+
- `--mode cli` / `--cli`: bundled skill install path only, no MCP config writes,
|
|
57
|
+
no shell mutation.
|
|
58
|
+
|
|
59
|
+
If mode is omitted:
|
|
60
|
+
|
|
61
|
+
- interactive TTY: prompt for `mcp` or `cli` (default `mcp`)
|
|
62
|
+
- non-interactive: fails with usage error (`exit 2`)
|
|
23
63
|
|
|
24
64
|
## Public Base URL Rules
|
|
25
65
|
|
|
@@ -33,23 +73,27 @@ Use public origins such as:
|
|
|
33
73
|
Do not pass backend Fly machine hostnames (for example `*.fly.dev`) to
|
|
34
74
|
`--base-url`.
|
|
35
75
|
|
|
36
|
-
##
|
|
76
|
+
## Non-Interactive Flows
|
|
37
77
|
|
|
38
|
-
|
|
78
|
+
MCP setup (without bundled skill installation):
|
|
39
79
|
|
|
40
80
|
```bash
|
|
41
|
-
npx --yes @paradigma-inc/flywheel setup --
|
|
81
|
+
npx --yes @paradigma-inc/flywheel setup --mode mcp --skip-skill
|
|
42
82
|
```
|
|
43
83
|
|
|
44
|
-
|
|
84
|
+
MCP setup (with bundled skill installation):
|
|
45
85
|
|
|
46
86
|
```bash
|
|
47
|
-
npx --yes @paradigma-inc/flywheel setup --
|
|
87
|
+
npx --yes @paradigma-inc/flywheel setup --mode mcp --install-skill
|
|
48
88
|
```
|
|
49
89
|
|
|
50
|
-
|
|
90
|
+
CLI-only bundled skill setup:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
npx --yes @paradigma-inc/flywheel setup --mode cli
|
|
94
|
+
```
|
|
51
95
|
|
|
52
|
-
|
|
96
|
+
`--install-skill` and `--skip-skill` are mutually exclusive.
|
|
53
97
|
|
|
54
98
|
## Auth Modes And Remote Shells
|
|
55
99
|
|
|
@@ -64,72 +108,84 @@ Remote/headless example:
|
|
|
64
108
|
|
|
65
109
|
```bash
|
|
66
110
|
npx --yes @paradigma-inc/flywheel setup \
|
|
111
|
+
--mode mcp \
|
|
67
112
|
--auth-mode device \
|
|
113
|
+
--skip-skill \
|
|
68
114
|
--base-url https://flywheel.paradigma.inc
|
|
69
115
|
```
|
|
70
116
|
|
|
117
|
+
## Runtime Config Bootstrap
|
|
118
|
+
|
|
119
|
+
`setup --mode mcp` now also provisions the runtime CLI config so that
|
|
120
|
+
post-setup runtime commands (`flywheel auth:status`, `flywheel nodes:list`,
|
|
121
|
+
etc.) work immediately without manual steps.
|
|
122
|
+
|
|
123
|
+
On successful authentication, the setup writes a JSON config at:
|
|
124
|
+
|
|
125
|
+
- `FLYWHEEL_CLI_CONFIG_PATH` (when set)
|
|
126
|
+
- `$HOME/.config/flywheel-cli/config.json` (default)
|
|
127
|
+
|
|
128
|
+
The resolved runtime base URL always includes the `/api` suffix
|
|
129
|
+
(for example `https://flywheel.paradigma.inc/api`), matching the runtime
|
|
130
|
+
API mount point. The runtime command surface is documented in
|
|
131
|
+
`project/flywheel-cli/README.md`.
|
|
132
|
+
|
|
133
|
+
## Argument Syntax (Runtime Commands)
|
|
134
|
+
|
|
135
|
+
Runtime commands (`auth:*`, `nodes:*`, `artifacts:*`, `compute:*`,
|
|
136
|
+
`export:*`) use GNU-style long flags: `--key value`, `--key=value`, or
|
|
137
|
+
`--boolean_flag`. JSON payload commands accept `--payload_json=@path.json`
|
|
138
|
+
to load payloads from disk. See `project/flywheel-cli/README.md` for
|
|
139
|
+
full details.
|
|
140
|
+
|
|
71
141
|
## Scope Rules
|
|
72
142
|
|
|
73
|
-
- Default scope (no `--project`) is user-level/global
|
|
74
|
-
|
|
75
|
-
install targets user-level skill directories.
|
|
76
|
-
- `--project` is the explicit repo-local override:
|
|
77
|
-
MCP config and bundled skill install both target project-local paths.
|
|
143
|
+
- Default scope (no `--project`) is user-level/global.
|
|
144
|
+
- `--project` is the explicit repo-local override.
|
|
78
145
|
|
|
79
146
|
Examples:
|
|
80
147
|
|
|
81
148
|
```bash
|
|
82
149
|
# Global default
|
|
83
|
-
npx --yes @paradigma-inc/flywheel setup --install-skill --codex --api-key <token>
|
|
150
|
+
npx --yes @paradigma-inc/flywheel setup --mode mcp --install-skill --codex --api-key <token>
|
|
84
151
|
|
|
85
152
|
# Project-local override
|
|
86
|
-
npx --yes @paradigma-inc/flywheel setup --install-skill \
|
|
153
|
+
npx --yes @paradigma-inc/flywheel setup --mode mcp --install-skill \
|
|
87
154
|
--project --codex --api-key <token>
|
|
88
155
|
```
|
|
89
156
|
|
|
90
|
-
##
|
|
91
|
-
|
|
92
|
-
After a new release:
|
|
157
|
+
## Host Matrix
|
|
93
158
|
|
|
94
|
-
|
|
159
|
+
| Host | MCP wiring (`--mode mcp`) | CLI-mode bundled skill install (`--mode cli`) |
|
|
160
|
+
| ------------ | ------------------------- | --------------------------------------------- |
|
|
161
|
+
| Claude Code | yes | yes |
|
|
162
|
+
| OpenCode | yes | yes |
|
|
163
|
+
| Codex | yes | yes |
|
|
164
|
+
| Cursor | yes | yes |
|
|
165
|
+
| Pi (pi-mono) | yes | yes |
|
|
166
|
+
| OpenClaw | yes | yes |
|
|
167
|
+
| Hermes Agent | yes | no (MCP-only host) |
|
|
95
168
|
|
|
96
|
-
|
|
97
|
-
npx --yes @paradigma-inc/flywheel@latest setup
|
|
98
|
-
```
|
|
169
|
+
CLI mode handling for Hermes Agent:
|
|
99
170
|
|
|
100
|
-
-
|
|
171
|
+
- unsupported-only selection: command fails with usage error (`exit 2`)
|
|
172
|
+
- mixed supported + unsupported selection: command continues for supported
|
|
173
|
+
hosts and reports skipped unsupported hosts
|
|
101
174
|
|
|
102
|
-
|
|
103
|
-
npx --yes @paradigma-inc/flywheel@latest setup --install-skill
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
Reruns refresh every already-installed bundled skill in place and install any
|
|
107
|
-
newly bundled skills from the updated package. They do not create side-by-side
|
|
108
|
-
copies for the same scope and agent location.
|
|
175
|
+
## Public Update Flow
|
|
109
176
|
|
|
110
|
-
|
|
111
|
-
setup, install Flywheel locally in that project first:
|
|
177
|
+
After a new release:
|
|
112
178
|
|
|
113
179
|
```bash
|
|
114
|
-
|
|
115
|
-
npx skills experimental_sync --agent codex -y
|
|
180
|
+
npx --yes @paradigma-inc/flywheel@latest setup --mode mcp --install-skill
|
|
116
181
|
```
|
|
117
182
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
- Claude Code
|
|
121
|
-
- Codex
|
|
122
|
-
- OpenCode
|
|
123
|
-
- Cursor
|
|
124
|
-
- OpenClaw
|
|
125
|
-
- Pi (pi-mono)
|
|
126
|
-
|
|
127
|
-
Hermes Agent remains MCP-only in phase 1.
|
|
183
|
+
Reruns are idempotent and should be used as the primary recovery path for setup
|
|
184
|
+
and update issues.
|
|
128
185
|
|
|
129
186
|
## Troubleshooting
|
|
130
187
|
|
|
131
188
|
Advanced troubleshooting (optional): inspect installed skill state directly.
|
|
132
|
-
Normal users do not need to run these commands for install/update.
|
|
133
189
|
|
|
134
190
|
```bash
|
|
135
191
|
npx --yes skills ls -a codex
|
|
@@ -137,13 +193,14 @@ npx --yes skills ls -a claude-code
|
|
|
137
193
|
npx --yes skills ls -a cursor
|
|
138
194
|
```
|
|
139
195
|
|
|
140
|
-
If
|
|
141
|
-
|
|
196
|
+
If bundled skills are missing, rerun setup with explicit mode and desired skill
|
|
197
|
+
flags.
|
|
142
198
|
|
|
143
199
|
## Other Commands
|
|
144
200
|
|
|
145
|
-
- `setup`:
|
|
146
|
-
- `uninstall`: removes Flywheel MCP entries from host configs
|
|
201
|
+
- `setup`: setup flow with explicit mode routing.
|
|
202
|
+
- `uninstall`: removes Flywheel MCP entries from host configs and removes
|
|
203
|
+
bundled skills from supported hosts.
|
|
147
204
|
|
|
148
205
|
```bash
|
|
149
206
|
npx --yes @paradigma-inc/flywheel uninstall
|
package/bin/flywheel.js
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { runUnifiedCli } from "../src/unified-cli.mjs";
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
runUnifiedCli(process.argv.slice(2)).catch((error) => {
|
|
6
6
|
const message = error instanceof Error ? error.message : String(error);
|
|
7
7
|
console.error(`flywheel: ${message}`);
|
|
8
|
-
|
|
8
|
+
const exitCode =
|
|
9
|
+
error &&
|
|
10
|
+
typeof error === "object" &&
|
|
11
|
+
"exitCode" in error &&
|
|
12
|
+
Number.isInteger(error.exitCode)
|
|
13
|
+
? error.exitCode
|
|
14
|
+
: 1;
|
|
15
|
+
process.exitCode = exitCode;
|
|
9
16
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paradigma-inc/flywheel",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.51",
|
|
4
4
|
"description": "One-command setup for Flywheel MCP hosts",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -13,12 +13,16 @@
|
|
|
13
13
|
"flywheel": "bin/flywheel.js"
|
|
14
14
|
},
|
|
15
15
|
"scripts": {
|
|
16
|
+
"sync:runtime": "node scripts/sync-runtime-cli.mjs",
|
|
17
|
+
"pretest": "npm run sync:runtime",
|
|
18
|
+
"prepack": "npm run sync:runtime",
|
|
16
19
|
"test": "node --test tests/*.test.mjs"
|
|
17
20
|
},
|
|
18
21
|
"dependencies": {
|
|
19
22
|
"@inquirer/prompts": "^8.2.0",
|
|
20
23
|
"commander": "^14.0.1",
|
|
21
24
|
"js-yaml": "^4.1.0",
|
|
25
|
+
"open": "^10.2.0",
|
|
22
26
|
"ora": "^9.0.0",
|
|
23
27
|
"picocolors": "^1.1.1",
|
|
24
28
|
"skills": "1.4.7"
|
package/skills/flywheel/SKILL.md
CHANGED
|
@@ -15,10 +15,22 @@ Use this skill when the conversation is about any of the following:
|
|
|
15
15
|
- running or interpreting empirical work in Flywheel
|
|
16
16
|
- choosing between `insight` and `empirical` nodes
|
|
17
17
|
- setting up, updating, authenticating, or troubleshooting Flywheel MCP
|
|
18
|
+
- configuring hooks, hook secrets, and hook-run monitoring
|
|
18
19
|
- managed compute, local hardware, campaigns, or Flywheel Web UI navigation
|
|
19
20
|
|
|
20
21
|
If the request is ambiguous, default to experiment-design guidance before platform mechanics.
|
|
21
22
|
|
|
23
|
+
## Modes
|
|
24
|
+
|
|
25
|
+
This skill supports both Flywheel install modes:
|
|
26
|
+
|
|
27
|
+
- **`--mode mcp` install**: route via [references/flywheel-mcp-tool-map.md](references/flywheel-mcp-tool-map.md); tool calls take the form `flywheel_<tool>` (e.g., `flywheel_commit_node`).
|
|
28
|
+
- **`--mode cli` install**: `setup --mode cli` configures runtime credentials, then route via [references/flywheel-cli-tool-map.md](references/flywheel-cli-tool-map.md); tool calls take the form `flywheel <command>` (e.g., `flywheel nodes:commit`). Prerequisite for bare-binary routing: `npm install -g @paradigma-inc/flywheel`.
|
|
29
|
+
|
|
30
|
+
When switching an already-configured host between modes, rerun setup with `--force` (or uninstall first) so prior-mode artifacts are reconciled explicitly.
|
|
31
|
+
|
|
32
|
+
The Workflow and Routing Map below cite both the MCP tool name and its CLI equivalent inline at each imperative step. Pick the one matching your install mode.
|
|
33
|
+
|
|
22
34
|
## Workflow
|
|
23
35
|
|
|
24
36
|
1. Classify the request as research guidance, platform support, or mixed.
|
|
@@ -34,7 +46,7 @@ If the request is ambiguous, default to experiment-design guidance before platfo
|
|
|
34
46
|
Choose one primary file first, then add at most one supporting file only if needed:
|
|
35
47
|
|
|
36
48
|
- `references/experiment-design-protocol.md` for structured experiment design and readiness checks
|
|
37
|
-
- `references/flywheel-mcp-tool-map.md` for exact tool surface and contract behavior
|
|
49
|
+
- `references/flywheel-mcp-tool-map.md` (MCP) or `references/flywheel-cli-tool-map.md` (CLI) for exact tool surface and contract behavior in the matching install mode
|
|
38
50
|
- `getting-started/flywheel-tutorial-overview.md` for orientation and learning path
|
|
39
51
|
- `getting-started/flywheel-quickstart.md` for fastest first-use setup and auth recovery
|
|
40
52
|
- `setting-up-flywheel/` for host-specific installation and update procedures
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Participating in a Campaign
|
|
2
2
|
|
|
3
3
|
Campaigns are challenge-style Flywheel graphs where an organizer shares a root graph, defines the objective and submission contract, and may fund participant compute through campaign budgets.
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@ To participate in a campaign:
|
|
|
12
12
|
|
|
13
13
|
The practical rule is simple: the campaign root tells you the contract, and your graph is how you show your work.
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## Coming Soon
|
|
16
16
|
|
|
17
17
|
- A dedicated tutorial section for setting up a campaign as an organizer.
|
|
18
18
|
- A dedicated tutorial section for sponsoring or funding a campaign.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Managed Compute
|
|
2
2
|
|
|
3
|
-
Flywheel can provision managed GPU instances for you from providers like Lambda Labs, Modal, Vast.ai,
|
|
3
|
+
Flywheel can provision managed GPU instances for you from providers like Lambda Labs, Modal, Vast.ai, Prime Intellect, Nebius, and RunPod — directly from your agent conversation. You don't need to leave your workflow to spin up machines.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## How it works
|
|
6
6
|
|
|
7
7
|
1. **Ask your agent for compute.** When you need a GPU for an experiment, just say so:
|
|
8
8
|
|
|
@@ -23,7 +23,7 @@ For autonomous runs, agents should default to releasing only known leases
|
|
|
23
23
|
unknown active leases are detected, agents should report and skip those leases
|
|
24
24
|
by default. Use account-wide release only when the user explicitly requests it.
|
|
25
25
|
|
|
26
|
-
##
|
|
26
|
+
## Managing machines in the WebUI
|
|
27
27
|
|
|
28
28
|
In **Settings > Machines**, you can see all GPU leases across your account — including the provider, state, hourly rate, total spend, and the acquire context that originally launched each lease. You can release individual leases or all at once.
|
|
29
29
|
|
|
@@ -31,7 +31,7 @@ In **Settings > Machines**, you can see all GPU leases across your account — i
|
|
|
31
31
|
|
|
32
32
|
Inside a node, the node view focuses on compute policy and budget tracking (spent vs. hard cap). Active machines themselves are managed from the account level **Settings > Machines** view.
|
|
33
33
|
|
|
34
|
-
##
|
|
34
|
+
## Credits and billing
|
|
35
35
|
|
|
36
36
|
Compute is billed against your Flywheel credits balance, which is separate from your subscription.
|
|
37
37
|
|
|
@@ -129,6 +129,7 @@ Never display more than three total options.
|
|
|
129
129
|
### Step 8 - Require confirmation and handle acquire failure
|
|
130
130
|
|
|
131
131
|
- Wait for explicit user confirmation (or explicit user override offer id) before `flywheel_compute_acquire`.
|
|
132
|
+
- When acquiring, `requested_sku` must equal the exact selected `options[].offer_id` from `flywheel_compute_list_options` (copy verbatim, including provider prefixes like `nebius::...`; never use display names).
|
|
132
133
|
- On acquire failure due to capacity:
|
|
133
134
|
1. pick next-best candidate from the active candidate set (excluding failed offer),
|
|
134
135
|
2. same provider -> retry immediately without re-confirmation,
|
|
@@ -147,12 +148,30 @@ Fixed numeric defaults for this flow:
|
|
|
147
148
|
- Always show the recommended offer first with rationale.
|
|
148
149
|
- Then show up to two alternatives.
|
|
149
150
|
- Always wait for explicit user confirmation before calling `flywheel_compute_acquire`.
|
|
150
|
-
- If the user provides an explicit offer-id override,
|
|
151
|
+
- If the user provides an explicit offer-id override, treat it as first-class only if it exactly matches one of the current `options[].offer_id` values; then proceed after confirmation.
|
|
151
152
|
|
|
152
153
|
For persistent preference, set `preferred_offer_ids` in the node compute policy.
|
|
153
154
|
|
|
154
|
-
##
|
|
155
|
+
## Tips
|
|
155
156
|
|
|
156
157
|
- Provisioning takes a few minutes — the agent polls automatically, so you don't need to babysit it.
|
|
157
158
|
- You can walk away; Flywheel continues while the machine spins up.
|
|
158
159
|
- Release leases when you're done to save credits.
|
|
160
|
+
|
|
161
|
+
## Provider Setup (Operators)
|
|
162
|
+
|
|
163
|
+
Managed compute providers are enabled by backend environment variables. For Nebius, configure:
|
|
164
|
+
|
|
165
|
+
- `NEBIUS_SERVICE_ACCOUNT_ID`
|
|
166
|
+
- `NEBIUS_SERVICE_ACCOUNT_PUBLIC_KEY_ID`
|
|
167
|
+
- `NEBIUS_SERVICE_ACCOUNT_PRIVATE_KEY_PEM`
|
|
168
|
+
- `NEBIUS_PARENT_ID`
|
|
169
|
+
- `NEBIUS_SUBNET_ID`
|
|
170
|
+
- one of `NEBIUS_BOOT_IMAGE_ID` or `NEBIUS_BOOT_IMAGE_FAMILY`
|
|
171
|
+
- optional: `NEBIUS_BOOT_IMAGE_FAMILY_PARENT_ID`, `NEBIUS_SECURITY_GROUP_IDS`
|
|
172
|
+
|
|
173
|
+
Deploy preflight treats Nebius as a valid standalone provider bundle when all required Nebius keys are present.
|
|
174
|
+
|
|
175
|
+
NEBIUS_BOOT_IMAGE_FAMILY_PARENT_ID and NEBIUS_SECURITY_GROUP_IDS are optional runtime defaults and are not validated by deploy preflight.
|
|
176
|
+
|
|
177
|
+
These secrets must be injected via your deployment secret manager (for Fly.io backend apps, use `flyctl secrets set`). Do not commit provider secrets in repository files.
|
package/skills/flywheel/example-workflows/organizing-exploring-and-iterating-on-a-research-topic.md
CHANGED
|
@@ -34,8 +34,8 @@ A clean Flywheel graph screenshot on a white canvas. Near the upper-right is a b
|
|
|
34
34
|
|
|
35
35
|
### Likely Flywheel MCP tools for this step
|
|
36
36
|
|
|
37
|
-
- `
|
|
38
|
-
- `
|
|
37
|
+
- `mcp__flywheel__flywheel_commit_new_node` to create the root `scheduled muon` graph.
|
|
38
|
+
- `mcp__flywheel__flywheel_commit_node` to describe the overall research question and first branch.
|
|
39
39
|
- `mcp__flywheel__flywheel_branch_node` to split the root into experiment branches.
|
|
40
40
|
- `mcp__flywheel__flywheel_get_node_tree` to inspect the DAG as it starts to fill out.
|
|
41
41
|
- `mcp__flywheel__flywheel_commit_node` to persist the initial structure.
|
|
@@ -55,7 +55,7 @@ as you all know, liches are known for obsessing over muon. i make no exception.
|
|
|
55
55
|
### Likely Flywheel MCP tools for this step
|
|
56
56
|
|
|
57
57
|
- `mcp__flywheel__flywheel_branch_node` to open an insight branch for the core muon observation.
|
|
58
|
-
- `
|
|
58
|
+
- `mcp__flywheel__flywheel_commit_node` to record the singular-value flattening concern as an explicit insight or hypothesis.
|
|
59
59
|
- `mcp__flywheel__flywheel_commit_node` to preserve that observation as a traceable node.
|
|
60
60
|
|
|
61
61
|
---
|
|
@@ -73,7 +73,7 @@ in my mind, there must have been a "softer" way to interpolate between nesterov
|
|
|
73
73
|
### Likely Flywheel MCP tools for this step
|
|
74
74
|
|
|
75
75
|
- `mcp__flywheel__flywheel_branch_node` to fork a new hypothesis branch from the original muon observation.
|
|
76
|
-
- `
|
|
76
|
+
- `mcp__flywheel__flywheel_commit_node` to capture the "softer interpolation" idea between SGD and muon.
|
|
77
77
|
- `mcp__flywheel__flywheel_commit_node` to save the refined hypothesis before experimenting.
|
|
78
78
|
|
|
79
79
|
---
|
|
@@ -90,7 +90,7 @@ so, i decided to spin up my MCP host and do a bunch of experiments. as usual, it
|
|
|
90
90
|
|
|
91
91
|
### Likely Flywheel MCP tools for this step
|
|
92
92
|
|
|
93
|
-
- `
|
|
93
|
+
- `mcp__flywheel__flywheel_commit_new_node` or `mcp__flywheel__flywheel_branch_node` to turn scattered runs into explicit branches instead of an untracked run log.
|
|
94
94
|
- `mcp__flywheel__flywheel_list_nodes` to enumerate existing branches and runs.
|
|
95
95
|
- `mcp__flywheel__flywheel_get_node_tree` to inspect the structure of the experiment graph.
|
|
96
96
|
- `mcp__flywheel__flywheel_commit_node` to keep the graph auditable as new work is added.
|
|
@@ -109,7 +109,7 @@ then, [@thelokasiffers](https://x.com/thelokasiffers) released an early version
|
|
|
109
109
|
|
|
110
110
|
### Likely Flywheel MCP tools for this step
|
|
111
111
|
|
|
112
|
-
- `
|
|
112
|
+
- `mcp__flywheel__flywheel_commit_new_node` to create the root node if it did not already exist.
|
|
113
113
|
- `mcp__flywheel__flywheel_branch_node` to fan the work into separate experiment branches.
|
|
114
114
|
- `mcp__flywheel__flywheel_get_node_tree` to inspect the resulting DAG layout.
|
|
115
115
|
- `mcp__flywheel__flywheel_summarize_node_tree` to quickly understand branch progress and outcomes.
|
|
@@ -136,7 +136,7 @@ what i did was pretty simple: i started discussing with the models my intuition:
|
|
|
136
136
|
### Likely Flywheel MCP tools for this step
|
|
137
137
|
|
|
138
138
|
- `mcp__flywheel__flywheel_branch_node` to create an insight branch for the `US^pV^T` intuition.
|
|
139
|
-
- `
|
|
139
|
+
- `mcp__flywheel__flywheel_commit_node` to store the proposed fractional-power formulation.
|
|
140
140
|
- `mcp__flywheel__flywheel_commit_node` to save the idea before turning it into experiments.
|
|
141
141
|
|
|
142
142
|
---
|
|
@@ -154,7 +154,7 @@ then i realized: if we use NS to have an iteration that approximates powers of -
|
|
|
154
154
|
### Likely Flywheel MCP tools for this step
|
|
155
155
|
|
|
156
156
|
- `mcp__flywheel__flywheel_branch_node` to open a follow-up hypothesis branch around polynomial approximations.
|
|
157
|
-
- `
|
|
157
|
+
- `mcp__flywheel__flywheel_commit_node` to record the new approximation strategy.
|
|
158
158
|
- `mcp__flywheel__flywheel_commit_node` to preserve the new line of attack.
|
|
159
159
|
|
|
160
160
|
---
|
|
@@ -172,7 +172,7 @@ at this point i started testing this out, would i get really the right spectra?
|
|
|
172
172
|
### Likely Flywheel MCP tools for this step
|
|
173
173
|
|
|
174
174
|
- `mcp__flywheel__flywheel_branch_node` to create the empirical branch for the spectra sanity check.
|
|
175
|
-
- `
|
|
175
|
+
- `mcp__flywheel__flywheel_commit_node` to record the hypothesis and evaluation criteria.
|
|
176
176
|
- `mcp__flywheel__flywheel_request_compute_grant_approval`, `mcp__flywheel__flywheel_compute_acquire`, `mcp__flywheel__flywheel_compute_status`, and `mcp__flywheel__flywheel_compute_connection` to run the experiments on managed compute.
|
|
177
177
|
- `mcp__flywheel__flywheel_prepare_artifact_uploads`, raw upload to the returned signed URLs, and `mcp__flywheel__flywheel_finalize_artifact_uploads` to attach the singular-value plot as an artifact.
|
|
178
178
|
- `mcp__flywheel__flywheel_commit_node` to mark the empirical step as completed.
|
|
@@ -198,7 +198,7 @@ at this point, quite a few things were in question, what would happen if i train
|
|
|
198
198
|
### Likely Flywheel MCP tools for this step
|
|
199
199
|
|
|
200
200
|
- `mcp__flywheel__flywheel_branch_node` to fork a new investigation around schedule design.
|
|
201
|
-
- `
|
|
201
|
+
- `mcp__flywheel__flywheel_commit_node` to record the competing schedule hypotheses.
|
|
202
202
|
- `mcp__flywheel__flywheel_commit_node` to preserve the question before launching more runs.
|
|
203
203
|
|
|
204
204
|
---
|
|
@@ -216,7 +216,7 @@ but which way should we schedule? not clear. is it sgd first or muon first? how
|
|
|
216
216
|
### Likely Flywheel MCP tools for this step
|
|
217
217
|
|
|
218
218
|
- `mcp__flywheel__flywheel_branch_node` to split the root into separate schedule and learning-rate branches.
|
|
219
|
-
- `
|
|
219
|
+
- `mcp__flywheel__flywheel_commit_node` to encode the hypotheses and sweep definitions.
|
|
220
220
|
- `mcp__flywheel__flywheel_request_compute_grant_approval` and `mcp__flywheel__flywheel_list_compute_grants` to secure spend before launch.
|
|
221
221
|
- `mcp__flywheel__flywheel_compute_acquire`, `mcp__flywheel__flywheel_compute_status`, and `mcp__flywheel__flywheel_compute_connection` to provision GPUs and keep them available to the agent.
|
|
222
222
|
- `mcp__flywheel__flywheel_prepare_artifact_uploads`, raw upload to the returned signed URLs, and `mcp__flywheel__flywheel_finalize_artifact_uploads` to attach result plots and cards as branches finish.
|
|
@@ -8,9 +8,9 @@ A really interesting way of using Flywheel is to reproduce papers on a budget: I
|
|
|
8
8
|
|
|
9
9
|
### Likely Flywheel MCP tools for this step
|
|
10
10
|
|
|
11
|
-
- `
|
|
11
|
+
- `mcp__flywheel__flywheel_commit_new_node` to create the root reproduction graph or first node for the paper.
|
|
12
12
|
- `mcp__flywheel__flywheel_branch_node` to split the paper into parallel validation branches.
|
|
13
|
-
- `
|
|
13
|
+
- `mcp__flywheel__flywheel_commit_node` to capture the paper claim, reproduction plan, and budget constraint.
|
|
14
14
|
- `mcp__flywheel__flywheel_request_compute_grant_approval` to enforce the "$10 max" spend before managed compute starts.
|
|
15
15
|
- `mcp__flywheel__flywheel_commit_node` to persist the planned graph structure.
|
|
16
16
|
|
|
@@ -39,7 +39,7 @@ The model decides to play it safe: it starts by showing self-attention correlati
|
|
|
39
39
|
### Likely Flywheel MCP tools for this step
|
|
40
40
|
|
|
41
41
|
- `mcp__flywheel__flywheel_branch_node` to open the first empirical branch for the baseline correlation check.
|
|
42
|
-
- `
|
|
42
|
+
- `mcp__flywheel__flywheel_commit_node` to record the hypothesis and experiment setup.
|
|
43
43
|
- `mcp__flywheel__flywheel_compute_acquire`, `mcp__flywheel__flywheel_compute_status`, and `mcp__flywheel__flywheel_compute_connection` to provision and use the small A10 GPU.
|
|
44
44
|
- `mcp__flywheel__flywheel_prepare_artifact_uploads`, raw upload to the returned signed URLs, and `mcp__flywheel__flywheel_finalize_artifact_uploads` to attach `attn_similarity_by_layer.png`.
|
|
45
45
|
- `mcp__flywheel__flywheel_commit_node` to mark the step as a completed empirical result.
|
|
@@ -59,7 +59,7 @@ Step two is analogous: orthogonality before and after XSA.
|
|
|
59
59
|
### Likely Flywheel MCP tools for this step
|
|
60
60
|
|
|
61
61
|
- `mcp__flywheel__flywheel_branch_node` to create the next experimental branch.
|
|
62
|
-
- `
|
|
62
|
+
- `mcp__flywheel__flywheel_commit_node` to record the orthogonality hypothesis for XSA.
|
|
63
63
|
- `mcp__flywheel__flywheel_compute_acquire`, `mcp__flywheel__flywheel_compute_status`, and `mcp__flywheel__flywheel_compute_connection` to run the projection check.
|
|
64
64
|
- `mcp__flywheel__flywheel_prepare_artifact_uploads`, raw upload to the returned signed URLs, and `mcp__flywheel__flywheel_finalize_artifact_uploads` to attach `orthogonality_by_layer.png`.
|
|
65
65
|
- `mcp__flywheel__flywheel_commit_node` to finalize the branch.
|
|
@@ -79,7 +79,7 @@ Then, it moves to overhead of the orthogonal projection.
|
|
|
79
79
|
### Likely Flywheel MCP tools for this step
|
|
80
80
|
|
|
81
81
|
- `mcp__flywheel__flywheel_branch_node` to fork an efficiency-comparison branch.
|
|
82
|
-
- `
|
|
82
|
+
- `mcp__flywheel__flywheel_commit_node` to define the runtime and VRAM hypothesis.
|
|
83
83
|
- `mcp__flywheel__flywheel_compute_acquire`, `mcp__flywheel__flywheel_compute_status`, and `mcp__flywheel__flywheel_compute_connection` to run the matched SA vs XSA benchmark.
|
|
84
84
|
- `mcp__flywheel__flywheel_prepare_artifact_uploads`, raw upload to the returned signed URLs, and `mcp__flywheel__flywheel_finalize_artifact_uploads` to attach `efficiency_comparison.png`.
|
|
85
85
|
- `mcp__flywheel__flywheel_commit_node` to finalize the overhead measurement.
|
|
@@ -99,7 +99,7 @@ Up to now, no trouble. The agent then decides to train a 50M parameter model wit
|
|
|
99
99
|
### Likely Flywheel MCP tools for this step
|
|
100
100
|
|
|
101
101
|
- `mcp__flywheel__flywheel_branch_node` to create the larger training branch.
|
|
102
|
-
- `
|
|
102
|
+
- `mcp__flywheel__flywheel_commit_node` to record the 50M-parameter comparison and evaluation criteria.
|
|
103
103
|
- `mcp__flywheel__flywheel_compute_acquire`, `mcp__flywheel__flywheel_compute_status`, and `mcp__flywheel__flywheel_compute_connection` to run the longer training jobs.
|
|
104
104
|
- `mcp__flywheel__flywheel_prepare_artifact_uploads`, raw upload to the returned signed URLs, and `mcp__flywheel__flywheel_finalize_artifact_uploads` to attach `run_metrics.csv` and `quality_pairs.csv`.
|
|
105
105
|
- `mcp__flywheel__flywheel_commit_node` to record that the empirical result did not reproduce the expected gain.
|
|
@@ -120,7 +120,7 @@ Also, across sequence length, the trend seems to worsen.
|
|
|
120
120
|
|
|
121
121
|
- `mcp__flywheel__flywheel_branch_node` to spin off an analysis branch for context length.
|
|
122
122
|
- `mcp__flywheel__flywheel_get_node` and `mcp__flywheel__flywheel_list_artifacts` to gather results from the completed training branches.
|
|
123
|
-
- `
|
|
123
|
+
- `mcp__flywheel__flywheel_commit_node` to record the interpretation that the delta worsens at longer context.
|
|
124
124
|
- `mcp__flywheel__flywheel_prepare_artifact_uploads`, raw upload to the returned signed URLs, and `mcp__flywheel__flywheel_finalize_artifact_uploads` to attach `length_trend.png`.
|
|
125
125
|
- `mcp__flywheel__flywheel_commit_node` to persist the analysis.
|
|
126
126
|
|
|
@@ -139,7 +139,7 @@ At the same time, baseline seems to also win the LR sweeps.
|
|
|
139
139
|
### Likely Flywheel MCP tools for this step
|
|
140
140
|
|
|
141
141
|
- `mcp__flywheel__flywheel_branch_node` to create a robustness branch for LR sweeps and sink-style perturbations.
|
|
142
|
-
- `
|
|
142
|
+
- `mcp__flywheel__flywheel_commit_node` to capture the robustness hypothesis.
|
|
143
143
|
- `mcp__flywheel__flywheel_compute_acquire`, `mcp__flywheel__flywheel_compute_status`, and `mcp__flywheel__flywheel_compute_connection` to run the compact sweep experiments.
|
|
144
144
|
- `mcp__flywheel__flywheel_prepare_artifact_uploads`, raw upload to the returned signed URLs, and `mcp__flywheel__flywheel_finalize_artifact_uploads` to attach `robustness_deltas.png`.
|
|
145
145
|
- `mcp__flywheel__flywheel_commit_node` to finalize the robustness verdict.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
Welcome to Flywheel. Below we will cover how to install Flywheel and some tips on usage patterns.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## What is Flywheel?
|
|
10
10
|
|
|
11
11
|
Flywheel's ambition is to serve as the infrastructure upon which autonomous science will run.
|
|
12
12
|
|
|
@@ -20,6 +20,7 @@ While in SWE we use git to manage changes to code, in research we are interested
|
|
|
20
20
|
- [Setting up Flywheel](../setting-up-flywheel/installation-overview.md)
|
|
21
21
|
- [How to update Flywheel MCP](../setting-up-flywheel/updating-flywheel-mcp.md)
|
|
22
22
|
- [What to do with Flywheel](../usage-and-workflows/what-to-do-with-flywheel.md)
|
|
23
|
+
- [Hooks: node event automations](../usage-and-workflows/what-to-do-with-flywheel.md#configure-hooks-node-automations)
|
|
23
24
|
- [The Flywheel WebUI](../web-ui/the-flywheel-web-ui.md)
|
|
24
25
|
- [Managed Compute](../compute/managed-compute.md)
|
|
25
26
|
- [Credits and billing](../compute/credits-and-billing.md)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Flywheel Artifacts
|
|
2
|
+
|
|
3
|
+
Canonical artifact upload/finalize contract derived from `mcp_contract.py`.
|
|
4
|
+
|
|
5
|
+
## Upload Contract
|
|
6
|
+
|
|
7
|
+
- Prepare tool: `flywheel_prepare_artifact_uploads`.
|
|
8
|
+
- Finalize tool: `flywheel_finalize_artifact_uploads`.
|
|
9
|
+
- Raw file upload required between prepare/finalize: `True`.
|
|
10
|
+
- Upload transport step: `PUT` to `prepare.items[].upload_url`.
|
|
11
|
+
- Required headers source: `prepare.items[].upload_headers`.
|
|
12
|
+
- Upload body contract: `raw_file_bytes`.
|
|
13
|
+
- Prepare item required fields: `artifact_type`, `filename`, `media_type`.
|
|
14
|
+
- Prepare item optional fields: `title`, `execution_id`, `metadata`, `note`.
|
|
15
|
+
- Prepare item note: prepare.items[] is structured object input. The transport layer may tolerate stringified JSON as a compatibility measure; this tolerance is not contractual and may be removed.
|
|
16
|
+
- Raw upload stage success code: `202`.
|
|
17
|
+
- Stage semantics: `accepted_and_staged`.
|
|
18
|
+
- Finalize appends the batch with a single revision bump: `True`.
|
|
19
|
+
- Forbidden upload payload kinds: `json_metadata_wrapper`.
|
|
20
|
+
- Optional note field `note` applies to `artifact_metadata_record` (markdown allowed: `True`).
|
|
21
|
+
|
|
22
|
+
## Supported Artifact Types
|
|
23
|
+
|
|
24
|
+
- `text`, `table`, `json`, `image`, `banner`, `html`, `plotly_html`, `vega`, `checkpoint`, `binary`, `diff_carousel`
|
|
25
|
+
|
|
26
|
+
## Metadata Contract
|
|
27
|
+
|
|
28
|
+
- `title` required non-empty: `True`.
|
|
29
|
+
- Display label field: `title`.
|
|
30
|
+
- Title normalization priority: `explicit_title` -> `payload.title` -> `payload.name` -> `basename(payload.path|payload.filename|payload.file)` -> `basename(filename)` -> `basename(storage_path)` -> `artifact_type` -> `artifact`.
|
|
31
|
+
- Title must not derive from: `storage_url`.
|
|
32
|
+
- `storage_url` purpose: `raw_artifact_byte_read_url`.
|
|
33
|
+
- `storage_url` cannot be used as display label: `True`.
|
|
34
|
+
|
|
35
|
+
## Preview and Read Contract
|
|
36
|
+
|
|
37
|
+
- `flywheel_list_artifacts`: List node artifacts.
|
|
38
|
+
- `flywheel_get_artifact`: Get one artifact by id.
|
|
39
|
+
- No dedicated artifact preview tool exists in the current MCP operation catalog.
|
|
40
|
+
- Guidance: use flywheel_prepare_artifact_uploads, raw-file upload, and flywheel_finalize_artifact_uploads to publish experiment evidence before empirical completed commits
|
|
41
|
+
|
|
42
|
+
## Failure Causes to Handle Explicitly
|
|
43
|
+
|
|
44
|
+
- Stale `expected_revision` on mutating calls returns `409` and requires explicit reconciliation.
|
|
45
|
+
- Reusing an idempotency key with a different payload hash causes `409_conflict`.
|
|
46
|
+
- Prepare item payloads must be structured objects; stringified JSON item payloads are invalid.
|
|
47
|
+
- Uploading metadata wrappers instead of raw file bytes violates the upload contract.
|
|
48
|
+
- Finalize requires a valid prepared batch token and staged uploads from that batch.
|