@paradigma-inc/flywheel 0.1.35 → 0.1.52

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.
Files changed (551) hide show
  1. package/README.md +117 -60
  2. package/bin/flywheel.js +10 -3
  3. package/package.json +5 -1
  4. package/skills/flywheel/SKILL.md +13 -1
  5. package/skills/flywheel/campaigns/participating-in-a-campaign.md +2 -2
  6. package/skills/flywheel/compute/managed-compute.md +26 -7
  7. package/skills/flywheel/getting-started/flywheel-tutorial-overview.md +2 -1
  8. package/skills/flywheel/references/INTERFACES.md +2 -0
  9. package/skills/flywheel/references/flywheel-cli-tool-map.md +244 -0
  10. package/skills/flywheel/references/flywheel-mcp-tool-map.md +39 -5
  11. package/skills/flywheel/setting-up-flywheel/claude-code-cli-installation.md +1 -1
  12. package/skills/flywheel/setting-up-flywheel/codex-cli-installation.md +1 -1
  13. package/skills/flywheel/setting-up-flywheel/how-can-i-get-an-authorized-client_id-for-the-oauth-flow.md +3 -3
  14. package/skills/flywheel/setting-up-flywheel/installation-overview.md +19 -4
  15. package/skills/flywheel/setting-up-flywheel/other-hosts-installation.md +1 -1
  16. package/skills/flywheel/usage-and-workflows/what-to-do-with-flywheel.md +28 -1
  17. package/skills/flywheel/web-ui/the-flywheel-web-ui.md +1 -1
  18. package/skills/flywheel-auto/SKILL.md +23 -12
  19. package/skills/flywheel-auto/references/INTERFACES.md +2 -0
  20. package/skills/flywheel-auto/references/flywheel-cli-tool-map.md +244 -0
  21. package/skills/flywheel-auto/references/flywheel-mcp-tool-map.md +6 -5
  22. package/skills/flywheel-lookahead/SKILL.md +22 -11
  23. package/skills/flywheel-lookahead/references/INTERFACES.md +2 -0
  24. package/skills/flywheel-lookahead/references/flywheel-cli-tool-map.md +244 -0
  25. package/skills/flywheel-lookahead/references/flywheel-mcp-tool-map.md +6 -5
  26. package/skills/flywheel-prove/SKILL.md +9 -0
  27. package/skills/flywheel-reproduce/SKILL.md +23 -12
  28. package/skills/flywheel-reproduce/references/INTERFACES.md +2 -0
  29. package/skills/flywheel-reproduce/references/flywheel-cli-tool-map.md +244 -0
  30. package/skills/flywheel-reproduce/references/flywheel-mcp-tool-map.md +6 -5
  31. package/skills/flywheel-to-graph/SKILL.md +20 -9
  32. package/skills/flywheel-to-graph/references/INTERFACES.md +2 -0
  33. package/skills/flywheel-to-graph/references/flywheel-cli-tool-map.md +244 -0
  34. package/skills/flywheel-to-graph/references/flywheel-mcp-tool-map.md +6 -5
  35. package/skills/flywheel-tree/SKILL.md +9 -0
  36. package/src/cli.mjs +284 -598
  37. package/src/mcp-writer.mjs +2 -2
  38. package/src/runtime/delegate.mjs +21 -0
  39. package/src/runtime/required-runtime-commands.json +117 -0
  40. package/src/runtime/runtime-config.mjs +84 -0
  41. package/src/runtime/vendor/.gitkeep +1 -0
  42. package/src/runtime/vendor/flywheel-cli-dist/auth/active-key-id.d.ts +1 -0
  43. package/src/runtime/vendor/flywheel-cli-dist/auth/active-key-id.js +22 -0
  44. package/src/runtime/vendor/flywheel-cli-dist/auth/active-key-id.js.map +1 -0
  45. package/src/runtime/vendor/flywheel-cli-dist/auth/baseurl.d.ts +35 -0
  46. package/src/runtime/vendor/flywheel-cli-dist/auth/baseurl.js +64 -0
  47. package/src/runtime/vendor/flywheel-cli-dist/auth/baseurl.js.map +1 -0
  48. package/src/runtime/vendor/flywheel-cli-dist/auth/config.d.ts +34 -0
  49. package/src/runtime/vendor/flywheel-cli-dist/auth/config.js +92 -0
  50. package/src/runtime/vendor/flywheel-cli-dist/auth/config.js.map +1 -0
  51. package/src/runtime/vendor/flywheel-cli-dist/auth/fingerprint.d.ts +5 -0
  52. package/src/runtime/vendor/flywheel-cli-dist/auth/fingerprint.js +12 -0
  53. package/src/runtime/vendor/flywheel-cli-dist/auth/fingerprint.js.map +1 -0
  54. package/src/runtime/vendor/flywheel-cli-dist/auth/keychain.d.ts +4 -0
  55. package/src/runtime/vendor/flywheel-cli-dist/auth/keychain.js +31 -0
  56. package/src/runtime/vendor/flywheel-cli-dist/auth/keychain.js.map +1 -0
  57. package/src/runtime/vendor/flywheel-cli-dist/auth/login.d.ts +23 -0
  58. package/src/runtime/vendor/flywheel-cli-dist/auth/login.js +387 -0
  59. package/src/runtime/vendor/flywheel-cli-dist/auth/login.js.map +1 -0
  60. package/src/runtime/vendor/flywheel-cli-dist/auth/profile.d.ts +15 -0
  61. package/src/runtime/vendor/flywheel-cli-dist/auth/profile.js +150 -0
  62. package/src/runtime/vendor/flywheel-cli-dist/auth/profile.js.map +1 -0
  63. package/src/runtime/vendor/flywheel-cli-dist/auth/profiles.d.ts +26 -0
  64. package/src/runtime/vendor/flywheel-cli-dist/auth/profiles.js +27 -0
  65. package/src/runtime/vendor/flywheel-cli-dist/auth/profiles.js.map +1 -0
  66. package/src/runtime/vendor/flywheel-cli-dist/commands/_artifacts-upload-helpers.d.ts +32 -0
  67. package/src/runtime/vendor/flywheel-cli-dist/commands/_artifacts-upload-helpers.js +171 -0
  68. package/src/runtime/vendor/flywheel-cli-dist/commands/_artifacts-upload-helpers.js.map +1 -0
  69. package/src/runtime/vendor/flywheel-cli-dist/commands/_open-url.d.ts +2 -0
  70. package/src/runtime/vendor/flywheel-cli-dist/commands/_open-url.js +26 -0
  71. package/src/runtime/vendor/flywheel-cli-dist/commands/_open-url.js.map +1 -0
  72. package/src/runtime/vendor/flywheel-cli-dist/commands/_stream-writer.d.ts +34 -0
  73. package/src/runtime/vendor/flywheel-cli-dist/commands/_stream-writer.js +63 -0
  74. package/src/runtime/vendor/flywheel-cli-dist/commands/_stream-writer.js.map +1 -0
  75. package/src/runtime/vendor/flywheel-cli-dist/commands/_wait-polling.d.ts +29 -0
  76. package/src/runtime/vendor/flywheel-cli-dist/commands/_wait-polling.js +75 -0
  77. package/src/runtime/vendor/flywheel-cli-dist/commands/_wait-polling.js.map +1 -0
  78. package/src/runtime/vendor/flywheel-cli-dist/commands/account-detach.d.ts +2 -0
  79. package/src/runtime/vendor/flywheel-cli-dist/commands/account-detach.js +13 -0
  80. package/src/runtime/vendor/flywheel-cli-dist/commands/account-detach.js.map +1 -0
  81. package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-add.d.ts +2 -0
  82. package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-add.js +6 -0
  83. package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-add.js.map +1 -0
  84. package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-remove.d.ts +2 -0
  85. package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-remove.js +6 -0
  86. package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-remove.js.map +1 -0
  87. package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-set-primary.d.ts +2 -0
  88. package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-set-primary.js +6 -0
  89. package/src/runtime/vendor/flywheel-cli-dist/commands/account-emails-set-primary.js.map +1 -0
  90. package/src/runtime/vendor/flywheel-cli-dist/commands/account-get.d.ts +1 -0
  91. package/src/runtime/vendor/flywheel-cli-dist/commands/account-get.js +6 -0
  92. package/src/runtime/vendor/flywheel-cli-dist/commands/account-get.js.map +1 -0
  93. package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-preview.d.ts +2 -0
  94. package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-preview.js +6 -0
  95. package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-preview.js.map +1 -0
  96. package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-proof.d.ts +2 -0
  97. package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-proof.js +8 -0
  98. package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge-proof.js.map +1 -0
  99. package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge.d.ts +2 -0
  100. package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge.js +11 -0
  101. package/src/runtime/vendor/flywheel-cli-dist/commands/account-merge.js.map +1 -0
  102. package/src/runtime/vendor/flywheel-cli-dist/commands/aliases.d.ts +13 -0
  103. package/src/runtime/vendor/flywheel-cli-dist/commands/aliases.js +13 -0
  104. package/src/runtime/vendor/flywheel-cli-dist/commands/aliases.js.map +1 -0
  105. package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-create.d.ts +2 -0
  106. package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-create.js +12 -0
  107. package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-create.js.map +1 -0
  108. package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-delete.d.ts +2 -0
  109. package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-delete.js +20 -0
  110. package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-delete.js.map +1 -0
  111. package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-list.d.ts +1 -0
  112. package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-list.js +6 -0
  113. package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-list.js.map +1 -0
  114. package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-rotate.d.ts +2 -0
  115. package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-rotate.js +21 -0
  116. package/src/runtime/vendor/flywheel-cli-dist/commands/api-keys-rotate.js.map +1 -0
  117. package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-expire.d.ts +2 -0
  118. package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-expire.js +8 -0
  119. package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-expire.js.map +1 -0
  120. package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-heartbeat.d.ts +2 -0
  121. package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-heartbeat.js +29 -0
  122. package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-heartbeat.js.map +1 -0
  123. package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-list.d.ts +2 -0
  124. package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-list.js +10 -0
  125. package/src/runtime/vendor/flywheel-cli-dist/commands/approval-sessions-list.js.map +1 -0
  126. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-delete.d.ts +2 -0
  127. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-delete.js +8 -0
  128. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-delete.js.map +1 -0
  129. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-get.d.ts +2 -0
  130. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-get.js +7 -0
  131. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-get.js.map +1 -0
  132. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-list.d.ts +2 -0
  133. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-list.js +8 -0
  134. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-list.js.map +1 -0
  135. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-note-set.d.ts +2 -0
  136. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-note-set.js +9 -0
  137. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-note-set.js.map +1 -0
  138. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-finalize.d.ts +2 -0
  139. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-finalize.js +7 -0
  140. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-finalize.js.map +1 -0
  141. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-prepare.d.ts +2 -0
  142. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-prepare.js +15 -0
  143. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload-prepare.js.map +1 -0
  144. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload.d.ts +2 -0
  145. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload.js +5 -0
  146. package/src/runtime/vendor/flywheel-cli-dist/commands/artifacts-upload.js.map +1 -0
  147. package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-clear.d.ts +2 -0
  148. package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-clear.js +8 -0
  149. package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-clear.js.map +1 -0
  150. package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-set.d.ts +2 -0
  151. package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-set.js +30 -0
  152. package/src/runtime/vendor/flywheel-cli-dist/commands/auth-keychain-set.js.map +1 -0
  153. package/src/runtime/vendor/flywheel-cli-dist/commands/auth-login.d.ts +2 -0
  154. package/src/runtime/vendor/flywheel-cli-dist/commands/auth-login.js +34 -0
  155. package/src/runtime/vendor/flywheel-cli-dist/commands/auth-login.js.map +1 -0
  156. package/src/runtime/vendor/flywheel-cli-dist/commands/auth-status.d.ts +2 -0
  157. package/src/runtime/vendor/flywheel-cli-dist/commands/auth-status.js +4 -0
  158. package/src/runtime/vendor/flywheel-cli-dist/commands/auth-status.js.map +1 -0
  159. package/src/runtime/vendor/flywheel-cli-dist/commands/blobs-get.d.ts +2 -0
  160. package/src/runtime/vendor/flywheel-cli-dist/commands/blobs-get.js +18 -0
  161. package/src/runtime/vendor/flywheel-cli-dist/commands/blobs-get.js.map +1 -0
  162. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-create.d.ts +2 -0
  163. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-create.js +11 -0
  164. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-create.js.map +1 -0
  165. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-list.d.ts +1 -0
  166. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-list.js +6 -0
  167. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-list.js.map +1 -0
  168. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-revoke.d.ts +1 -0
  169. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-revoke.js +6 -0
  170. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-revoke.js.map +1 -0
  171. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-update.d.ts +2 -0
  172. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-update.js +22 -0
  173. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-budgets-update.js.map +1 -0
  174. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-snapshot.d.ts +1 -0
  175. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-snapshot.js +6 -0
  176. package/src/runtime/vendor/flywheel-cli-dist/commands/campaign-snapshot.js.map +1 -0
  177. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-acquire.d.ts +2 -0
  178. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-acquire.js +39 -0
  179. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-acquire.js.map +1 -0
  180. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-budgets.d.ts +2 -0
  181. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-budgets.js +14 -0
  182. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-budgets.js.map +1 -0
  183. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-connection.d.ts +2 -0
  184. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-connection.js +13 -0
  185. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-connection.js.map +1 -0
  186. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-funding.d.ts +2 -0
  187. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-funding.js +10 -0
  188. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-funding.js.map +1 -0
  189. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-list.d.ts +2 -0
  190. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-list.js +13 -0
  191. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-list.js.map +1 -0
  192. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-request-approval.d.ts +2 -0
  193. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-request-approval.js +53 -0
  194. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-grants-request-approval.js.map +1 -0
  195. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-options.d.ts +2 -0
  196. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-options.js +17 -0
  197. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-options.js.map +1 -0
  198. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-policy-get.d.ts +1 -0
  199. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-policy-get.js +6 -0
  200. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-policy-get.js.map +1 -0
  201. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-policy-set.d.ts +2 -0
  202. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-policy-set.js +19 -0
  203. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-policy-set.js.map +1 -0
  204. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release-all.d.ts +2 -0
  205. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release-all.js +39 -0
  206. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release-all.js.map +1 -0
  207. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release.d.ts +2 -0
  208. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release.js +28 -0
  209. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-release.js.map +1 -0
  210. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-status.d.ts +2 -0
  211. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-status.js +8 -0
  212. package/src/runtime/vendor/flywheel-cli-dist/commands/compute-status.js.map +1 -0
  213. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-balance.d.ts +1 -0
  214. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-balance.js +6 -0
  215. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-balance.js.map +1 -0
  216. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-billing-portal.d.ts +2 -0
  217. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-billing-portal.js +8 -0
  218. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-billing-portal.js.map +1 -0
  219. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-purchase.d.ts +2 -0
  220. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-purchase.js +10 -0
  221. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-purchase.js.map +1 -0
  222. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral-claim.d.ts +2 -0
  223. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral-claim.js +6 -0
  224. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral-claim.js.map +1 -0
  225. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral.d.ts +1 -0
  226. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral.js +6 -0
  227. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-referral.js.map +1 -0
  228. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscribe.d.ts +2 -0
  229. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscribe.js +14 -0
  230. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscribe.js.map +1 -0
  231. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscription.d.ts +1 -0
  232. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscription.js +6 -0
  233. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-subscription.js.map +1 -0
  234. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-transactions.d.ts +2 -0
  235. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-transactions.js +12 -0
  236. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-transactions.js.map +1 -0
  237. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-usage.d.ts +2 -0
  238. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-usage.js +9 -0
  239. package/src/runtime/vendor/flywheel-cli-dist/commands/credits-usage.js.map +1 -0
  240. package/src/runtime/vendor/flywheel-cli-dist/commands/enums.d.ts +16 -0
  241. package/src/runtime/vendor/flywheel-cli-dist/commands/enums.js +12 -0
  242. package/src/runtime/vendor/flywheel-cli-dist/commands/enums.js.map +1 -0
  243. package/src/runtime/vendor/flywheel-cli-dist/commands/env.d.ts +12 -0
  244. package/src/runtime/vendor/flywheel-cli-dist/commands/env.js +65 -0
  245. package/src/runtime/vendor/flywheel-cli-dist/commands/env.js.map +1 -0
  246. package/src/runtime/vendor/flywheel-cli-dist/commands/executions-launch.d.ts +2 -0
  247. package/src/runtime/vendor/flywheel-cli-dist/commands/executions-launch.js +11 -0
  248. package/src/runtime/vendor/flywheel-cli-dist/commands/executions-launch.js.map +1 -0
  249. package/src/runtime/vendor/flywheel-cli-dist/commands/executions-list.d.ts +1 -0
  250. package/src/runtime/vendor/flywheel-cli-dist/commands/executions-list.js +6 -0
  251. package/src/runtime/vendor/flywheel-cli-dist/commands/executions-list.js.map +1 -0
  252. package/src/runtime/vendor/flywheel-cli-dist/commands/executions-terminate.d.ts +2 -0
  253. package/src/runtime/vendor/flywheel-cli-dist/commands/executions-terminate.js +8 -0
  254. package/src/runtime/vendor/flywheel-cli-dist/commands/executions-terminate.js.map +1 -0
  255. package/src/runtime/vendor/flywheel-cli-dist/commands/export-history.d.ts +2 -0
  256. package/src/runtime/vendor/flywheel-cli-dist/commands/export-history.js +82 -0
  257. package/src/runtime/vendor/flywheel-cli-dist/commands/export-history.js.map +1 -0
  258. package/src/runtime/vendor/flywheel-cli-dist/commands/export-subgraph.d.ts +2 -0
  259. package/src/runtime/vendor/flywheel-cli-dist/commands/export-subgraph.js +18 -0
  260. package/src/runtime/vendor/flywheel-cli-dist/commands/export-subgraph.js.map +1 -0
  261. package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-pdf.d.ts +2 -0
  262. package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-pdf.js +19 -0
  263. package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-pdf.js.map +1 -0
  264. package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-render-pdf.d.ts +2 -0
  265. package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-render-pdf.js +65 -0
  266. package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-render-pdf.js.map +1 -0
  267. package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-stream.d.ts +2 -0
  268. package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-stream.js +174 -0
  269. package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary-stream.js.map +1 -0
  270. package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary.d.ts +2 -0
  271. package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary.js +9 -0
  272. package/src/runtime/vendor/flywheel-cli-dist/commands/export-summary.js.map +1 -0
  273. package/src/runtime/vendor/flywheel-cli-dist/commands/files-list.d.ts +2 -0
  274. package/src/runtime/vendor/flywheel-cli-dist/commands/files-list.js +12 -0
  275. package/src/runtime/vendor/flywheel-cli-dist/commands/files-list.js.map +1 -0
  276. package/src/runtime/vendor/flywheel-cli-dist/commands/github-disconnect.d.ts +1 -0
  277. package/src/runtime/vendor/flywheel-cli-dist/commands/github-disconnect.js +6 -0
  278. package/src/runtime/vendor/flywheel-cli-dist/commands/github-disconnect.js.map +1 -0
  279. package/src/runtime/vendor/flywheel-cli-dist/commands/github-link.d.ts +2 -0
  280. package/src/runtime/vendor/flywheel-cli-dist/commands/github-link.js +17 -0
  281. package/src/runtime/vendor/flywheel-cli-dist/commands/github-link.js.map +1 -0
  282. package/src/runtime/vendor/flywheel-cli-dist/commands/github-refresh-repos.d.ts +1 -0
  283. package/src/runtime/vendor/flywheel-cli-dist/commands/github-refresh-repos.js +6 -0
  284. package/src/runtime/vendor/flywheel-cli-dist/commands/github-refresh-repos.js.map +1 -0
  285. package/src/runtime/vendor/flywheel-cli-dist/commands/github-status.d.ts +1 -0
  286. package/src/runtime/vendor/flywheel-cli-dist/commands/github-status.js +6 -0
  287. package/src/runtime/vendor/flywheel-cli-dist/commands/github-status.js.map +1 -0
  288. package/src/runtime/vendor/flywheel-cli-dist/commands/graph-get.d.ts +2 -0
  289. package/src/runtime/vendor/flywheel-cli-dist/commands/graph-get.js +15 -0
  290. package/src/runtime/vendor/flywheel-cli-dist/commands/graph-get.js.map +1 -0
  291. package/src/runtime/vendor/flywheel-cli-dist/commands/handler-factory.d.ts +22 -0
  292. package/src/runtime/vendor/flywheel-cli-dist/commands/handler-factory.js +51 -0
  293. package/src/runtime/vendor/flywheel-cli-dist/commands/handler-factory.js.map +1 -0
  294. package/src/runtime/vendor/flywheel-cli-dist/commands/help.d.ts +23 -0
  295. package/src/runtime/vendor/flywheel-cli-dist/commands/help.js +258 -0
  296. package/src/runtime/vendor/flywheel-cli-dist/commands/help.js.map +1 -0
  297. package/src/runtime/vendor/flywheel-cli-dist/commands/import-subgraph.d.ts +2 -0
  298. package/src/runtime/vendor/flywheel-cli-dist/commands/import-subgraph.js +6 -0
  299. package/src/runtime/vendor/flywheel-cli-dist/commands/import-subgraph.js.map +1 -0
  300. package/src/runtime/vendor/flywheel-cli-dist/commands/index.d.ts +20 -0
  301. package/src/runtime/vendor/flywheel-cli-dist/commands/index.js +238 -0
  302. package/src/runtime/vendor/flywheel-cli-dist/commands/index.js.map +1 -0
  303. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-remove.d.ts +1 -0
  304. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-remove.js +6 -0
  305. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-remove.js.map +1 -0
  306. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-set.d.ts +2 -0
  307. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-set.js +6 -0
  308. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-huggingface-set.js.map +1 -0
  309. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-status.d.ts +1 -0
  310. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-status.js +6 -0
  311. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-status.js.map +1 -0
  312. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-remove.d.ts +1 -0
  313. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-remove.js +6 -0
  314. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-remove.js.map +1 -0
  315. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-set.d.ts +2 -0
  316. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-set.js +6 -0
  317. package/src/runtime/vendor/flywheel-cli-dist/commands/integrations-wandb-set.js.map +1 -0
  318. package/src/runtime/vendor/flywheel-cli-dist/commands/machines-list.d.ts +1 -0
  319. package/src/runtime/vendor/flywheel-cli-dist/commands/machines-list.js +6 -0
  320. package/src/runtime/vendor/flywheel-cli-dist/commands/machines-list.js.map +1 -0
  321. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-add-parent.d.ts +2 -0
  322. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-add-parent.js +10 -0
  323. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-add-parent.js.map +1 -0
  324. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-audit-list.d.ts +2 -0
  325. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-audit-list.js +7 -0
  326. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-audit-list.js.map +1 -0
  327. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-branch.d.ts +2 -0
  328. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-branch.js +10 -0
  329. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-branch.js.map +1 -0
  330. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit-new.d.ts +2 -0
  331. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit-new.js +6 -0
  332. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit-new.js.map +1 -0
  333. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit.d.ts +2 -0
  334. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit.js +7 -0
  335. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-commit.js.map +1 -0
  336. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-create.d.ts +2 -0
  337. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-create.js +6 -0
  338. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-create.js.map +1 -0
  339. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete-bulk.d.ts +2 -0
  340. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete-bulk.js +14 -0
  341. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete-bulk.js.map +1 -0
  342. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete.d.ts +2 -0
  343. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete.js +9 -0
  344. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-delete.js.map +1 -0
  345. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-files.d.ts +1 -0
  346. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-files.js +6 -0
  347. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-files.js.map +1 -0
  348. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-get.d.ts +2 -0
  349. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-get.js +8 -0
  350. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-get.js.map +1 -0
  351. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-list.d.ts +2 -0
  352. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-list.js +7 -0
  353. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-list.js.map +1 -0
  354. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-merge.d.ts +2 -0
  355. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-merge.js +33 -0
  356. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-merge.js.map +1 -0
  357. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-remove-parent.d.ts +2 -0
  358. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-remove-parent.js +8 -0
  359. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-remove-parent.js.map +1 -0
  360. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-ancestry.d.ts +2 -0
  361. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-ancestry.js +10 -0
  362. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-ancestry.js.map +1 -0
  363. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-summary.d.ts +2 -0
  364. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-summary.js +10 -0
  365. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-summary.js.map +1 -0
  366. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-tree.d.ts +2 -0
  367. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-tree.js +8 -0
  368. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-render-tree.js.map +1 -0
  369. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-resolve-slug.d.ts +2 -0
  370. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-resolve-slug.js +13 -0
  371. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-resolve-slug.js.map +1 -0
  372. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-get.d.ts +1 -0
  373. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-get.js +6 -0
  374. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-get.js.map +1 -0
  375. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set-bulk.d.ts +2 -0
  376. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set-bulk.js +20 -0
  377. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set-bulk.js.map +1 -0
  378. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set.d.ts +2 -0
  379. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set.js +10 -0
  380. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-set.js.map +1 -0
  381. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-summaries.d.ts +2 -0
  382. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-summaries.js +11 -0
  383. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-sharing-summaries.js.map +1 -0
  384. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-backfill-hypothesis.d.ts +2 -0
  385. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-backfill-hypothesis.js +7 -0
  386. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-backfill-hypothesis.js.map +1 -0
  387. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-backfill-insights.d.ts +2 -0
  388. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-backfill-insights.js +7 -0
  389. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-backfill-insights.js.map +1 -0
  390. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-acquire.d.ts +2 -0
  391. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-acquire.js +13 -0
  392. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-acquire.js.map +1 -0
  393. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-heartbeat.d.ts +2 -0
  394. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-heartbeat.js +7 -0
  395. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-heartbeat.js.map +1 -0
  396. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-release.d.ts +2 -0
  397. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-release.js +7 -0
  398. package/src/runtime/vendor/flywheel-cli-dist/commands/nodes-stage-lease-release.js.map +1 -0
  399. package/src/runtime/vendor/flywheel-cli-dist/commands/profile-list.d.ts +2 -0
  400. package/src/runtime/vendor/flywheel-cli-dist/commands/profile-list.js +6 -0
  401. package/src/runtime/vendor/flywheel-cli-dist/commands/profile-list.js.map +1 -0
  402. package/src/runtime/vendor/flywheel-cli-dist/commands/profile-set.d.ts +2 -0
  403. package/src/runtime/vendor/flywheel-cli-dist/commands/profile-set.js +56 -0
  404. package/src/runtime/vendor/flywheel-cli-dist/commands/profile-set.js.map +1 -0
  405. package/src/runtime/vendor/flywheel-cli-dist/commands/profile-show.d.ts +2 -0
  406. package/src/runtime/vendor/flywheel-cli-dist/commands/profile-show.js +12 -0
  407. package/src/runtime/vendor/flywheel-cli-dist/commands/profile-show.js.map +1 -0
  408. package/src/runtime/vendor/flywheel-cli-dist/commands/profile-unset.d.ts +2 -0
  409. package/src/runtime/vendor/flywheel-cli-dist/commands/profile-unset.js +12 -0
  410. package/src/runtime/vendor/flywheel-cli-dist/commands/profile-unset.js.map +1 -0
  411. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/account.d.ts +2 -0
  412. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/account.js +124 -0
  413. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/account.js.map +1 -0
  414. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/api-keys.d.ts +2 -0
  415. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/api-keys.js +103 -0
  416. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/api-keys.js.map +1 -0
  417. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/approval.d.ts +2 -0
  418. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/approval.js +101 -0
  419. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/approval.js.map +1 -0
  420. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/artifacts.d.ts +2 -0
  421. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/artifacts.js +104 -0
  422. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/artifacts.js.map +1 -0
  423. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/auth.d.ts +2 -0
  424. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/auth.js +37 -0
  425. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/auth.js.map +1 -0
  426. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/budgets.d.ts +2 -0
  427. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/budgets.js +72 -0
  428. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/budgets.js.map +1 -0
  429. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/compute.d.ts +2 -0
  430. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/compute.js +128 -0
  431. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/compute.js.map +1 -0
  432. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/credits.d.ts +2 -0
  433. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/credits.js +134 -0
  434. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/credits.js.map +1 -0
  435. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/env.d.ts +2 -0
  436. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/env.js +39 -0
  437. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/env.js.map +1 -0
  438. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/executions.d.ts +2 -0
  439. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/executions.js +55 -0
  440. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/executions.js.map +1 -0
  441. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/export.d.ts +2 -0
  442. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/export.js +88 -0
  443. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/export.js.map +1 -0
  444. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/github.d.ts +2 -0
  445. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/github.js +60 -0
  446. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/github.js.map +1 -0
  447. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/graph.d.ts +2 -0
  448. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/graph.js +22 -0
  449. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/graph.js.map +1 -0
  450. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/integrations.d.ts +2 -0
  451. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/integrations.js +69 -0
  452. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/integrations.js.map +1 -0
  453. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/lifecycle.d.ts +2 -0
  454. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/lifecycle.js +284 -0
  455. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/lifecycle.js.map +1 -0
  456. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/profile.d.ts +2 -0
  457. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/profile.js +82 -0
  458. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/profile.js.map +1 -0
  459. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/resources.d.ts +2 -0
  460. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/resources.js +108 -0
  461. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/resources.js.map +1 -0
  462. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/sharing.d.ts +2 -0
  463. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/sharing.js +69 -0
  464. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/sharing.js.map +1 -0
  465. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/tagging.d.ts +2 -0
  466. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/tagging.js +98 -0
  467. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/tagging.js.map +1 -0
  468. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/updates.d.ts +2 -0
  469. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/updates.js +70 -0
  470. package/src/runtime/vendor/flywheel-cli-dist/commands/registry/updates.js.map +1 -0
  471. package/src/runtime/vendor/flywheel-cli-dist/commands/registry.d.ts +25 -0
  472. package/src/runtime/vendor/flywheel-cli-dist/commands/registry.js +441 -0
  473. package/src/runtime/vendor/flywheel-cli-dist/commands/registry.js.map +1 -0
  474. package/src/runtime/vendor/flywheel-cli-dist/commands/tags-assign.d.ts +2 -0
  475. package/src/runtime/vendor/flywheel-cli-dist/commands/tags-assign.js +25 -0
  476. package/src/runtime/vendor/flywheel-cli-dist/commands/tags-assign.js.map +1 -0
  477. package/src/runtime/vendor/flywheel-cli-dist/commands/tags-create.d.ts +2 -0
  478. package/src/runtime/vendor/flywheel-cli-dist/commands/tags-create.js +25 -0
  479. package/src/runtime/vendor/flywheel-cli-dist/commands/tags-create.js.map +1 -0
  480. package/src/runtime/vendor/flywheel-cli-dist/commands/tags-delete.d.ts +2 -0
  481. package/src/runtime/vendor/flywheel-cli-dist/commands/tags-delete.js +11 -0
  482. package/src/runtime/vendor/flywheel-cli-dist/commands/tags-delete.js.map +1 -0
  483. package/src/runtime/vendor/flywheel-cli-dist/commands/tags-update.d.ts +2 -0
  484. package/src/runtime/vendor/flywheel-cli-dist/commands/tags-update.js +28 -0
  485. package/src/runtime/vendor/flywheel-cli-dist/commands/tags-update.js.map +1 -0
  486. package/src/runtime/vendor/flywheel-cli-dist/commands/types.d.ts +30 -0
  487. package/src/runtime/vendor/flywheel-cli-dist/commands/types.js +6 -0
  488. package/src/runtime/vendor/flywheel-cli-dist/commands/types.js.map +1 -0
  489. package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide-all-active.d.ts +1 -0
  490. package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide-all-active.js +6 -0
  491. package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide-all-active.js.map +1 -0
  492. package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide.d.ts +2 -0
  493. package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide.js +10 -0
  494. package/src/runtime/vendor/flywheel-cli-dist/commands/updates-hide.js.map +1 -0
  495. package/src/runtime/vendor/flywheel-cli-dist/commands/updates-list.d.ts +2 -0
  496. package/src/runtime/vendor/flywheel-cli-dist/commands/updates-list.js +12 -0
  497. package/src/runtime/vendor/flywheel-cli-dist/commands/updates-list.js.map +1 -0
  498. package/src/runtime/vendor/flywheel-cli-dist/commands/utils.d.ts +10 -0
  499. package/src/runtime/vendor/flywheel-cli-dist/commands/utils.js +171 -0
  500. package/src/runtime/vendor/flywheel-cli-dist/commands/utils.js.map +1 -0
  501. package/src/runtime/vendor/flywheel-cli-dist/errors.d.ts +55 -0
  502. package/src/runtime/vendor/flywheel-cli-dist/errors.js +51 -0
  503. package/src/runtime/vendor/flywheel-cli-dist/errors.js.map +1 -0
  504. package/src/runtime/vendor/flywheel-cli-dist/exit-codes.d.ts +8 -0
  505. package/src/runtime/vendor/flywheel-cli-dist/exit-codes.js +8 -0
  506. package/src/runtime/vendor/flywheel-cli-dist/exit-codes.js.map +1 -0
  507. package/src/runtime/vendor/flywheel-cli-dist/grammar/globals.d.ts +26 -0
  508. package/src/runtime/vendor/flywheel-cli-dist/grammar/globals.js +117 -0
  509. package/src/runtime/vendor/flywheel-cli-dist/grammar/globals.js.map +1 -0
  510. package/src/runtime/vendor/flywheel-cli-dist/grammar/parse.d.ts +17 -0
  511. package/src/runtime/vendor/flywheel-cli-dist/grammar/parse.js +102 -0
  512. package/src/runtime/vendor/flywheel-cli-dist/grammar/parse.js.map +1 -0
  513. package/src/runtime/vendor/flywheel-cli-dist/http/client.d.ts +75 -0
  514. package/src/runtime/vendor/flywheel-cli-dist/http/client.js +369 -0
  515. package/src/runtime/vendor/flywheel-cli-dist/http/client.js.map +1 -0
  516. package/src/runtime/vendor/flywheel-cli-dist/http/debug.d.ts +2 -0
  517. package/src/runtime/vendor/flywheel-cli-dist/http/debug.js +68 -0
  518. package/src/runtime/vendor/flywheel-cli-dist/http/debug.js.map +1 -0
  519. package/src/runtime/vendor/flywheel-cli-dist/http/poll.d.ts +18 -0
  520. package/src/runtime/vendor/flywheel-cli-dist/http/poll.js +57 -0
  521. package/src/runtime/vendor/flywheel-cli-dist/http/poll.js.map +1 -0
  522. package/src/runtime/vendor/flywheel-cli-dist/http/retry.d.ts +30 -0
  523. package/src/runtime/vendor/flywheel-cli-dist/http/retry.js +127 -0
  524. package/src/runtime/vendor/flywheel-cli-dist/http/retry.js.map +1 -0
  525. package/src/runtime/vendor/flywheel-cli-dist/main.d.ts +31 -0
  526. package/src/runtime/vendor/flywheel-cli-dist/main.js +763 -0
  527. package/src/runtime/vendor/flywheel-cli-dist/main.js.map +1 -0
  528. package/src/runtime/vendor/flywheel-cli-dist/output/format.d.ts +9 -0
  529. package/src/runtime/vendor/flywheel-cli-dist/output/format.js +129 -0
  530. package/src/runtime/vendor/flywheel-cli-dist/output/format.js.map +1 -0
  531. package/src/runtime/vendor/flywheel-cli-dist/runtime-entry.d.ts +1 -0
  532. package/src/runtime/vendor/flywheel-cli-dist/runtime-entry.js +2 -0
  533. package/src/runtime/vendor/flywheel-cli-dist/runtime-entry.js.map +1 -0
  534. package/src/runtime/vendor/flywheel-cli-dist/version.d.ts +3 -0
  535. package/src/runtime/vendor/flywheel-cli-dist/version.js +31 -0
  536. package/src/runtime/vendor/flywheel-cli-dist/version.js.map +1 -0
  537. package/src/runtime/vendor/manifest.json +500 -0
  538. package/src/setup/command.mjs +24 -0
  539. package/src/setup/io/patchers/json.mjs +33 -0
  540. package/src/setup/io/patchers/toml.mjs +15 -0
  541. package/src/setup/io/patchers/yaml.mjs +33 -0
  542. package/src/setup/mode.mjs +113 -0
  543. package/src/setup/modes/cli.mjs +317 -0
  544. package/src/setup/modes/mcp-command.mjs +850 -0
  545. package/src/setup/modes/mcp.mjs +176 -0
  546. package/src/setup/preflight.mjs +54 -0
  547. package/src/setup/shared/prior-mode-detect.mjs +412 -0
  548. package/src/setup/shared/skill.mjs +12 -0
  549. package/src/setup/shared/summary.mjs +80 -0
  550. package/src/setup-auth.mjs +293 -178
  551. package/src/unified-cli.mjs +161 -0
@@ -69,7 +69,7 @@ function stripTomlInlineComment(valueText) {
69
69
  return valueText.trim();
70
70
  }
71
71
 
72
- function parseTomlStringValue(valueText) {
72
+ export function parseTomlStringValue(valueText) {
73
73
  const stripped = stripTomlInlineComment(valueText);
74
74
  if (!stripped) {
75
75
  return null;
@@ -98,7 +98,7 @@ function parseTomlStringValue(valueText) {
98
98
  return stripped;
99
99
  }
100
100
 
101
- function parseTomlSectionName(lineText) {
101
+ export function parseTomlSectionName(lineText) {
102
102
  const withoutComment = stripTomlInlineComment(String(lineText || "").trim());
103
103
  const sectionMatch = withoutComment.match(/^\[(.+)\]$/);
104
104
  return sectionMatch ? sectionMatch[1] : null;
@@ -0,0 +1,21 @@
1
+ import path from "node:path";
2
+ import { fileURLToPath, pathToFileURL } from "node:url";
3
+
4
+ // import.meta.dirname is only available on Node v20.11.0+. fileURLToPath +
5
+ // path.dirname is portable across the full Node 20 range the package
6
+ // declares (engines.node >= 20).
7
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
8
+ const RUNTIME_ENTRY_PATH = path.join(
9
+ __dirname,
10
+ "vendor",
11
+ "flywheel-cli-dist",
12
+ "runtime-entry.js",
13
+ );
14
+
15
+ export async function runRuntimeCli(argv) {
16
+ const runtimeModule = await import(pathToFileURL(RUNTIME_ENTRY_PATH).href);
17
+ if (typeof runtimeModule.runCli !== "function") {
18
+ throw new Error("Runtime CLI entrypoint does not export runCli.");
19
+ }
20
+ return await runtimeModule.runCli(argv, {});
21
+ }
@@ -0,0 +1,117 @@
1
+ [
2
+ "auth:status",
3
+ "auth:login",
4
+ "nodes:list",
5
+ "nodes:get",
6
+ "nodes:commit-new",
7
+ "nodes:stage:lease:acquire",
8
+ "nodes:commit",
9
+ "nodes:delete",
10
+ "nodes:render:tree",
11
+ "artifacts:list",
12
+ "artifacts:get",
13
+ "compute:status",
14
+ "export:subgraph",
15
+ "profile:list",
16
+ "profile:show",
17
+ "profile:set",
18
+ "profile:unset",
19
+ "tags:create",
20
+ "tags:update",
21
+ "tags:delete",
22
+ "tags:assign",
23
+ "nodes:sharing:get",
24
+ "nodes:sharing:set",
25
+ "nodes:sharing:set-bulk",
26
+ "nodes:sharing:summaries",
27
+ "nodes:resolve-slug",
28
+ "nodes:audit:list",
29
+ "nodes:render:ancestry",
30
+ "nodes:render:summary",
31
+ "nodes:add-parent",
32
+ "nodes:remove-parent",
33
+ "nodes:branch",
34
+ "nodes:merge",
35
+ "nodes:delete-bulk",
36
+ "nodes:files",
37
+ "nodes:stage:lease:heartbeat",
38
+ "nodes:stage:lease:release",
39
+ "campaign:snapshot",
40
+ "nodes:create",
41
+ "nodes:stage:backfill:hypothesis",
42
+ "nodes:stage:backfill:insights",
43
+ "artifacts:upload:prepare",
44
+ "artifacts:upload:finalize",
45
+ "artifacts:upload",
46
+ "artifacts:delete",
47
+ "artifacts:note:set",
48
+ "compute:options",
49
+ "compute:funding",
50
+ "compute:connection",
51
+ "compute:acquire",
52
+ "compute:release",
53
+ "compute:release-all",
54
+ "executions:launch",
55
+ "executions:list",
56
+ "executions:terminate",
57
+ "approval-sessions:heartbeat",
58
+ "approval-sessions:list",
59
+ "approval-sessions:expire",
60
+ "compute-grants:list",
61
+ "compute-grants:request-approval",
62
+ "campaign-budgets:list",
63
+ "campaign-budgets:create",
64
+ "campaign-budgets:update",
65
+ "campaign-budgets:revoke",
66
+ "import:subgraph",
67
+ "export:summary",
68
+ "export:summary:stream",
69
+ "export:summary:pdf",
70
+ "export:summary:render-pdf",
71
+ "updates:list",
72
+ "updates:hide",
73
+ "updates:hide-all-active",
74
+ "updates:unhide",
75
+ "graph:get",
76
+ "account:get",
77
+ "account:merge:proof",
78
+ "account:merge:preview",
79
+ "account:merge",
80
+ "account:detach",
81
+ "account:emails:add",
82
+ "account:emails:remove",
83
+ "account:emails:set-primary",
84
+ "credits:balance",
85
+ "credits:transactions",
86
+ "credits:usage",
87
+ "credits:purchase",
88
+ "credits:subscribe",
89
+ "credits:billing-portal",
90
+ "credits:subscription",
91
+ "credits:referral",
92
+ "credits:referral:claim",
93
+ "github:status",
94
+ "github:link",
95
+ "github:refresh-repos",
96
+ "github:disconnect",
97
+ "integrations:status",
98
+ "integrations:wandb:set",
99
+ "integrations:wandb:remove",
100
+ "integrations:huggingface:set",
101
+ "integrations:huggingface:remove",
102
+ "api-keys:list",
103
+ "api-keys:create",
104
+ "api-keys:delete",
105
+ "api-keys:rotate",
106
+ "blobs:get",
107
+ "files:list",
108
+ "export:history",
109
+ "compute:policy:get",
110
+ "compute:policy:set",
111
+ "compute:budgets",
112
+ "machines:list",
113
+ "auth:keychain:set",
114
+ "auth:keychain:clear",
115
+ "env:list",
116
+ "env:switch"
117
+ ]
@@ -0,0 +1,84 @@
1
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
2
+ import os from "node:os";
3
+ import path from "node:path";
4
+
5
+ const RUNTIME_BASE_URL_SUFFIX = "/api";
6
+
7
+ export function resolveRuntimeConfigPath({
8
+ env = process.env,
9
+ homeDir = os.homedir(),
10
+ } = {}) {
11
+ const override = env.FLYWHEEL_CLI_CONFIG_PATH?.trim();
12
+ if (override) {
13
+ return override;
14
+ }
15
+ return path.join(homeDir, ".config", "flywheel-cli", "config.json");
16
+ }
17
+
18
+ export function normalizeRuntimeBaseUrl(origin) {
19
+ const trimmed = String(origin || "").trim();
20
+ if (!trimmed) {
21
+ throw new Error("Runtime base URL origin cannot be empty.");
22
+ }
23
+
24
+ let parsed;
25
+ try {
26
+ parsed = new URL(trimmed);
27
+ } catch {
28
+ throw new Error(
29
+ `Runtime base URL must be a valid absolute URL: ${trimmed}`,
30
+ );
31
+ }
32
+
33
+ const cleanPath = parsed.pathname.replace(/\/+$/, "");
34
+ if (cleanPath === "" || cleanPath === RUNTIME_BASE_URL_SUFFIX) {
35
+ return `${parsed.origin}${RUNTIME_BASE_URL_SUFFIX}`;
36
+ }
37
+ return `${parsed.origin}${cleanPath}${RUNTIME_BASE_URL_SUFFIX}`;
38
+ }
39
+
40
+ /**
41
+ * Read the existing runtime-config JSON, returning an empty object if
42
+ * the file is missing or malformed. `setup --mode cli` is the recovery
43
+ * path — throwing on a corrupted file would be a worse user experience
44
+ * than overwriting it with a fresh valid write.
45
+ */
46
+ async function readExistingRuntimeConfig(configPath) {
47
+ try {
48
+ const raw = await readFile(configPath, "utf8");
49
+ const parsed = JSON.parse(raw);
50
+ return parsed && typeof parsed === "object" && !Array.isArray(parsed)
51
+ ? parsed
52
+ : {};
53
+ } catch {
54
+ return {};
55
+ }
56
+ }
57
+
58
+ /**
59
+ * Merge-write the runtime config.
60
+ *
61
+ * The writer owns only `baseUrl` and `apiKey` — every other top-level
62
+ * key (`activeProfile`, `profileKeys`, user-authored notes) is merged
63
+ * from the existing file so re-running `flywheel setup --mode cli`
64
+ * after a user has configured profile-based auth does not silently
65
+ * clobber that state. Mirrors the merge-write semantics of the CLI's
66
+ * own `saveAuthConfig`.
67
+ */
68
+ export async function writeRuntimeConfig({
69
+ origin,
70
+ apiKey,
71
+ configPath = resolveRuntimeConfigPath(),
72
+ }) {
73
+ const trimmedKey = String(apiKey || "").trim();
74
+ if (trimmedKey.length === 0) {
75
+ throw new Error("Runtime config requires a non-empty API key.");
76
+ }
77
+
78
+ const baseUrl = normalizeRuntimeBaseUrl(origin);
79
+ await mkdir(path.dirname(configPath), { recursive: true });
80
+ const existing = await readExistingRuntimeConfig(configPath);
81
+ const merged = { ...existing, baseUrl, apiKey: trimmedKey };
82
+ await writeFile(configPath, `${JSON.stringify(merged, null, 2)}\n`, "utf8");
83
+ return { configPath, baseUrl };
84
+ }
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+ export declare function activeKeyIdFromToken(token: string | undefined): string | null;
@@ -0,0 +1,22 @@
1
+ // Parse the active MCP API key's key_id from the bearer token held by the
2
+ // CLI. Server token format is `fwk_<uuid_hex_no_dashes>.<secret>` (see
3
+ // project/flywheel-server/server/mcp_api_keys.py::_parse_api_key_token).
4
+ // Returning the canonical UUID string (with dashes) matches the `key_id`
5
+ // field on listing and rotate/delete responses, so the CLI can compare
6
+ // directly without an extra server round-trip.
7
+ const API_KEY_PREFIX = 'fwk_';
8
+ export function activeKeyIdFromToken(token) {
9
+ if (!token || !token.startsWith(API_KEY_PREFIX))
10
+ return null;
11
+ const body = token.slice(API_KEY_PREFIX.length);
12
+ const dot = body.indexOf('.');
13
+ if (dot <= 0)
14
+ return null;
15
+ const hex = body.slice(0, dot);
16
+ if (!/^[0-9a-fA-F]{32}$/.test(hex))
17
+ return null;
18
+ // Canonical UUID layout: 8-4-4-4-12.
19
+ return (`${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-` +
20
+ `${hex.slice(16, 20)}-${hex.slice(20, 32)}`).toLowerCase();
21
+ }
22
+ //# sourceMappingURL=active-key-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-key-id.js","sourceRoot":"","sources":["../../src/auth/active-key-id.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,uEAAuE;AACvE,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,+CAA+C;AAE/C,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC5D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,qCAAqC;IACrC,OAAO,CACL,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG;QAC9D,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAC5C,CAAC,WAAW,EAAE,CAAC;AAClB,CAAC"}
@@ -0,0 +1,35 @@
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;
@@ -0,0 +1,64 @@
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 function canonicalizeBaseUrl(raw) {
30
+ if (typeof raw !== 'string')
31
+ return null;
32
+ const trimmed = raw.trim();
33
+ if (!trimmed)
34
+ return null;
35
+ let parsed;
36
+ try {
37
+ parsed = new URL(trimmed);
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ // `URL.host` already normalises host case and drops default ports for
43
+ // well-known schemes (https:443, http:80, etc.) per WHATWG URL.
44
+ const host = parsed.host;
45
+ const protocol = parsed.protocol; // e.g. "https:"
46
+ // Strip trailing slashes so `/api` and `/api/` collapse to the same key.
47
+ const path = parsed.pathname.replace(/\/+$/, '');
48
+ return `${protocol}//${host}${path}`;
49
+ }
50
+ /**
51
+ * Returns true iff both inputs canonicalise to the same baseUrl. Returns
52
+ * false for any input the canonicaliser rejects (null/undefined/garbage),
53
+ * because an unparseable URL has no provable identity to compare against.
54
+ */
55
+ export function baseUrlsEqual(a, b) {
56
+ const ca = canonicalizeBaseUrl(a);
57
+ if (ca === null)
58
+ return false;
59
+ const cb = canonicalizeBaseUrl(b);
60
+ if (cb === null)
61
+ return false;
62
+ return ca === cb;
63
+ }
64
+ //# sourceMappingURL=baseurl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseurl.js","sourceRoot":"","sources":["../../src/auth/baseurl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAA8B;IAE9B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,sEAAsE;IACtE,gEAAgE;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB;IAClD,yEAAyE;IACzE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,OAAO,GAAG,QAAQ,KAAK,IAAI,GAAG,IAAI,EAAE,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,CAA4B,EAC5B,CAA4B;IAE5B,MAAM,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9B,MAAM,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
@@ -0,0 +1,34 @@
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>;
@@ -0,0 +1,92 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,5 @@
1
+ export interface Fingerprint {
2
+ short: string;
3
+ full: string;
4
+ }
5
+ export declare function fingerprint(token: string): Fingerprint;
@@ -0,0 +1,12 @@
1
+ import { createHash } from 'node:crypto';
2
+ export function fingerprint(token) {
3
+ if (!token) {
4
+ throw new Error('cannot fingerprint empty token');
5
+ }
6
+ const full = createHash('sha256').update(token, 'utf8').digest('hex');
7
+ return {
8
+ full,
9
+ short: full.slice(0, 12),
10
+ };
11
+ }
12
+ //# sourceMappingURL=fingerprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../src/auth/fingerprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;KACzB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
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;
@@ -0,0 +1,31 @@
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}`);
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
@@ -0,0 +1 @@
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,CAC/H,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"}
@@ -0,0 +1,23 @@
1
+ import type { HttpMethod } from '../http/client.js';
2
+ import type { AuthConfigDelta } from './config.js';
3
+ interface RequestOptions {
4
+ body?: unknown;
5
+ }
6
+ type RequestJson = <T>(method: HttpMethod, path: string, options?: RequestOptions) => Promise<T>;
7
+ export interface AuthLoginArgs {
8
+ baseUrl: string;
9
+ params: Record<string, string | boolean>;
10
+ requestJson: RequestJson;
11
+ saveConfig: (filePath: string, config: AuthConfigDelta) => Promise<void>;
12
+ configPath: string;
13
+ openBrowser?: (url: string) => Promise<void>;
14
+ sleep?: (seconds: number) => Promise<void>;
15
+ now?: () => number;
16
+ writeStdout?: (chunk: string) => void;
17
+ }
18
+ export interface AuthLoginResult {
19
+ key_id: string | null;
20
+ exit_code: 0 | 1 | 3;
21
+ }
22
+ export declare function runAuthLogin(args: AuthLoginArgs): Promise<AuthLoginResult>;
23
+ export {};