@bongos/core 1.18.0 → 1.18.18

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 (553) hide show
  1. package/.bongos-core.json +1740 -640
  2. package/.claude/skills/builder-box/SKILL.md +6 -0
  3. package/.claude/skills/builder-sequence/SKILL.md +97 -0
  4. package/.claude/skills/builder-ship/SKILL.md +8 -2
  5. package/.claude/skills/builder-start/SKILL.md +11 -0
  6. package/.claude/skills/builder-sync/SKILL.md +41 -0
  7. package/.claude/skills/fix-task/SKILL.md +64 -0
  8. package/.claude/skills/goal-create/SKILL.md +158 -0
  9. package/.claude/skills/goal-review/SKILL.md +3 -1
  10. package/.claude/skills/idea-triage/SKILL.md +14 -8
  11. package/.claude/skills/merge-mode/SKILL.md +2 -2
  12. package/.claude/skills/new-project/SKILL.md +1 -0
  13. package/.claude/skills/planning-session/SKILL.md +45 -18
  14. package/.env.local.example +4 -3
  15. package/README.md +5 -3
  16. package/bin/bongos.js +1 -0
  17. package/clients/bongos-client/README.md +2 -2
  18. package/clients/bongos-client/bongos-client.global.js +82 -18
  19. package/clients/bongos-client/index.cjs +82 -18
  20. package/clients/bongos-client/index.d.ts +131 -29
  21. package/clients/bongos-client/index.mjs +82 -18
  22. package/config/branding.neutral.json +11 -2
  23. package/config/governance.neutral.json +21 -0
  24. package/docs/adr/0043-git-ssh-trust-boundary-and-rank-floor-on-permission-paths.md +24 -0
  25. package/docs/adr/0090-metic-task-authoring.md +1 -1
  26. package/docs/adr/0142-project-context-is-prose-only.md +41 -0
  27. package/docs/adr/0143-onboarding-repo-picker-oauth-scope.md +35 -0
  28. package/docs/adr/0144-devbox-rehome-onto-cloudbongos-plane.md +41 -0
  29. package/docs/adr/0144-federated-single-logout-backchannel.md +42 -0
  30. package/docs/adr/0145-devbox-app-branding-driven-module.md +44 -0
  31. package/docs/adr/0145-free-hosted-project-tier-isolation-and-domain-separation.md +62 -0
  32. package/docs/adr/0146-configurable-reward-mode-cost-plus-only.md +53 -0
  33. package/docs/adr/0147-standalone-live-docs-regen.md +39 -0
  34. package/docs/adr/0148-task-scoped-box-source-access.md +48 -0
  35. package/docs/adr/0149-bongos-dev-local-launcher.md +57 -0
  36. package/docs/adr/0150-box-first-boot-bringup-vendored-instances.md +68 -0
  37. package/docs/adr/0151-governance-permissions-as-atom-ranks-as-roles.md +229 -0
  38. package/docs/adr/0152-landing-gate-served-by-the-core-app.md +92 -0
  39. package/docs/adr/0152-metic-task-abandonment.md +67 -0
  40. package/docs/adr/0153-sequential-chain-runner.md +51 -0
  41. package/docs/adr/0154-goal-owner-criterion-authoring.md +86 -0
  42. package/docs/adr/README.md +15 -2
  43. package/docs/api/openapi.json +2648 -483
  44. package/docs/api-reference.md +73 -13
  45. package/docs/architecture.md +4 -2
  46. package/docs/branding-contract.md +3 -1
  47. package/docs/canonical-permissions.md +21 -8
  48. package/docs/file-map.md +15 -7
  49. package/docs/onboarding/diagrams/01-task-lifecycle.mmd +2 -2
  50. package/docs/onboarding/diagrams/02-rank-ladder.mmd +3 -1
  51. package/docs/onboarding/diagrams/05-versioning.mmd +1 -3
  52. package/docs/onboarding/diagrams/assertions.json +4 -7
  53. package/docs/onboarding/drachmae-and-karma.md +3 -3
  54. package/docs/onboarding/primer.md +17 -16
  55. package/docs/onboarding/slash-commands.md +124 -0
  56. package/docs/recipes/builder-box-lifecycle.md +23 -0
  57. package/docs/recipes/devbox-app-release.md +14 -4
  58. package/docs/recipes/instance-first-run.md +16 -0
  59. package/docs/recipes/local-dev.md +81 -0
  60. package/docs/recipes/ops-gotchas.md +19 -1
  61. package/docs/recipes/overnight-builder.md +1 -1
  62. package/docs/recipes/packaging-the-core.md +13 -0
  63. package/docs/recipes/parallel-goal-waves.md +174 -0
  64. package/docs/recipes/ship-and-regrade.md +2 -2
  65. package/docs/recipes/standalone-live-docs.md +48 -0
  66. package/docs/recipes/upgrading-the-core.md +5 -2
  67. package/docs/recipes/work-on-a-task-from-your-dev-box.md +108 -0
  68. package/migrations/003_pms.sql +6 -7
  69. package/migrations/006_pms_v2.sql +3 -31
  70. package/migrations/039_newcomer_friendly_column.sql +5 -0
  71. package/migrations/102_remove_box_first_provision_approval.sql +4 -0
  72. package/migrations/core_192_github_oauth_tokens.sql +33 -0
  73. package/migrations/core_193_task_needs_rebase.sql +28 -0
  74. package/migrations/core_194_confirmed_backlog_clawback.sql +63 -0
  75. package/migrations/core_195_idea_triage_provenance.sql +57 -0
  76. package/migrations/core_196_session_reward_topup.sql +69 -0
  77. package/modules/autonomy/pollers/routine-timers.js +9 -8
  78. package/modules/builder-settings/wandering-prefs.js +61 -18
  79. package/modules/dev-box/app/README.md +73 -0
  80. package/modules/dev-box/app/assets/tray/mac-alertTemplate.png +0 -0
  81. package/modules/dev-box/app/assets/tray/mac-alertTemplate@2x.png +0 -0
  82. package/modules/dev-box/app/assets/tray/mac-busyTemplate.png +0 -0
  83. package/modules/dev-box/app/assets/tray/mac-busyTemplate@2x.png +0 -0
  84. package/modules/dev-box/app/assets/tray/mac-offTemplate.png +0 -0
  85. package/modules/dev-box/app/assets/tray/mac-offTemplate@2x.png +0 -0
  86. package/modules/dev-box/app/assets/tray/mac-onTemplate.png +0 -0
  87. package/modules/dev-box/app/assets/tray/mac-onTemplate@2x.png +0 -0
  88. package/modules/dev-box/app/assets/tray/win-alert.png +0 -0
  89. package/modules/dev-box/app/assets/tray/win-busy.png +0 -0
  90. package/modules/dev-box/app/assets/tray/win-off.png +0 -0
  91. package/modules/dev-box/app/assets/tray/win-on.png +0 -0
  92. package/modules/dev-box/app/build-resources/dmg-background.png +0 -0
  93. package/modules/dev-box/app/build-resources/dmg-background@2x.png +0 -0
  94. package/modules/dev-box/app/build-resources/icon.png +0 -0
  95. package/modules/dev-box/app/electron-builder.tmpl.yml +95 -0
  96. package/modules/dev-box/app/electron-builder.yml +95 -0
  97. package/modules/dev-box/app/package-lock.json +5291 -0
  98. package/modules/dev-box/app/package.json +30 -0
  99. package/modules/dev-box/app/renderer/app.js +319 -0
  100. package/modules/dev-box/app/renderer/index.html +45 -0
  101. package/modules/dev-box/app/renderer/styles.css +246 -0
  102. package/modules/dev-box/app/renderer/theme.generated.css +16 -0
  103. package/modules/dev-box/app/scripts/apply-dmg-backdrop.sh +82 -0
  104. package/modules/dev-box/app/scripts/dmgbuild-settings.py +39 -0
  105. package/modules/dev-box/app/scripts/gen-brand.js +138 -0
  106. package/modules/dev-box/app/scripts/gen-dmg-backdrop.py +323 -0
  107. package/modules/dev-box/app/scripts/gen-icons.js +286 -0
  108. package/modules/dev-box/app/scripts/vendor-client.js +23 -0
  109. package/modules/dev-box/app/src/box-controller.js +287 -0
  110. package/modules/dev-box/app/src/brand.generated.json +13 -0
  111. package/modules/dev-box/app/src/brand.js +16 -0
  112. package/modules/dev-box/app/src/config.js +19 -0
  113. package/modules/dev-box/app/src/gds-client.js +90 -0
  114. package/modules/dev-box/app/src/main.js +610 -0
  115. package/modules/dev-box/app/src/pairing.js +57 -0
  116. package/modules/dev-box/app/src/preload.js +29 -0
  117. package/modules/dev-box/app/src/session-store.js +58 -0
  118. package/modules/dev-box/app/src/ssh-setup.js +569 -0
  119. package/modules/dev-box/app/src/task-picker.js +70 -0
  120. package/modules/dev-box/app/src/tray.js +99 -0
  121. package/modules/dev-box/app/src/updater.js +55 -0
  122. package/modules/dev-box/app/src/vendor/bongos-client.cjs +698 -0
  123. package/modules/dev-box/app/test/unit.mjs +526 -0
  124. package/modules/dev-box/box-access.js +121 -4
  125. package/modules/dev-box/boxes.js +20 -0
  126. package/modules/dev-box/module.json +1 -1
  127. package/modules/dev-box/routes/box.js +87 -3
  128. package/modules/economy/credits.js +116 -25
  129. package/modules/economy/reward.js +8 -0
  130. package/modules/economy/streak.js +2 -1
  131. package/modules/governance/CLAUDE.md +15 -0
  132. package/modules/governance/catalog.js +419 -0
  133. package/modules/governance/config.js +174 -0
  134. package/modules/governance/db.js +125 -0
  135. package/modules/governance/migrations/governance_001_tables.sql +81 -0
  136. package/modules/governance/migrations/governance_002_seed_and_backfill.sql +103 -0
  137. package/modules/governance/migrations/governance_003_task_abandon_metic.sql +28 -0
  138. package/modules/governance/migrations/governance_004_criterion_create.sql +39 -0
  139. package/modules/governance/migrations/governance_005_resync_builder_rank_roles.sql +56 -0
  140. package/modules/governance/module.json +10 -0
  141. package/modules/governance/protected-surfaces.js +88 -0
  142. package/modules/governance/protected-surfaces.json +80 -0
  143. package/modules/governance/rank-roles.js +83 -0
  144. package/modules/governance/resolver.js +221 -0
  145. package/modules/governance/routes/governance.js +89 -0
  146. package/modules/governance/routes/role-sync.js +49 -0
  147. package/modules/governance/session-scopes.js +127 -0
  148. package/modules/governance/session-scopes.json +38 -0
  149. package/modules/hall-ui/public/atlas.css +117 -0
  150. package/modules/hall-ui/public/atlas.html +3 -114
  151. package/modules/hall-ui/public/brand-apply.js +34 -6
  152. package/modules/hall-ui/public/builders.js +187 -219
  153. package/modules/hall-ui/public/diagrams.html +2 -0
  154. package/modules/hall-ui/public/dom-utils.js +27 -0
  155. package/modules/hall-ui/public/drachmae.html +2 -0
  156. package/modules/hall-ui/public/drachmae.js +54 -1
  157. package/modules/hall-ui/public/gate.css +98 -0
  158. package/modules/hall-ui/public/gate.html +3 -95
  159. package/modules/hall-ui/public/goal-inbox.js +4 -1
  160. package/modules/hall-ui/public/goals-page.js +626 -114
  161. package/modules/hall-ui/public/goals.css +79 -1
  162. package/modules/hall-ui/public/goals.html +38 -11
  163. package/modules/hall-ui/public/hall-widgets.js +62 -52
  164. package/modules/hall-ui/public/harbor.css +123 -0
  165. package/modules/hall-ui/public/harbor.html +3 -120
  166. package/modules/hall-ui/public/index.html +11 -4
  167. package/modules/hall-ui/public/instances-panel.js +4 -1
  168. package/modules/hall-ui/public/modules.css +63 -0
  169. package/modules/hall-ui/public/modules.html +3 -60
  170. package/modules/hall-ui/public/my-projects.html +78 -0
  171. package/modules/hall-ui/public/my-projects.js +142 -0
  172. package/modules/hall-ui/public/new-project-wizard.js +7 -3
  173. package/modules/hall-ui/public/not-ready.html +2 -0
  174. package/modules/hall-ui/public/pair.css +73 -0
  175. package/modules/hall-ui/public/pair.html +3 -70
  176. package/modules/hall-ui/public/palette.js +302 -0
  177. package/modules/hall-ui/public/primer.css +13 -0
  178. package/modules/hall-ui/public/primer.html +2 -0
  179. package/modules/hall-ui/public/profile.html +2 -0
  180. package/modules/hall-ui/public/ranks.html +2 -0
  181. package/modules/hall-ui/public/roadmap.css +179 -0
  182. package/modules/hall-ui/public/roadmap.html +9 -172
  183. package/modules/hall-ui/public/roadmap.js +329 -316
  184. package/modules/hall-ui/public/scouting.html +45 -0
  185. package/modules/hall-ui/public/scouting.js +73 -0
  186. package/modules/hall-ui/public/sessions.css +16 -0
  187. package/modules/hall-ui/public/sessions.html +3 -13
  188. package/modules/hall-ui/public/settings.html +2 -0
  189. package/modules/hall-ui/public/settings.js +4 -4
  190. package/modules/hall-ui/public/shell.js +143 -18
  191. package/modules/hall-ui/public/style.css +231 -39
  192. package/modules/hall-ui/public/task-detail.js +347 -26
  193. package/modules/hall-ui/public/task.html +6 -1
  194. package/modules/hall-ui/public/watch.html +2 -0
  195. package/modules/hall-ui/public/work.html +8 -6
  196. package/modules/hall-ui/public/work.js +1 -1
  197. package/modules/ideas/inbox.js +61 -11
  198. package/modules/ideas/routes/inbox.js +23 -0
  199. package/modules/lifecycle/claim-eligibility.js +72 -0
  200. package/modules/lifecycle/db.js +519 -139
  201. package/modules/lifecycle/done-when.js +18 -3
  202. package/modules/lifecycle/github-push.js +19 -2
  203. package/modules/lifecycle/goal-advisory.js +114 -0
  204. package/modules/lifecycle/goal-authz.js +62 -0
  205. package/modules/lifecycle/lifecycle.js +9 -0
  206. package/modules/lifecycle/publish-reconciler.js +109 -6
  207. package/modules/lifecycle/routes/claims.js +68 -23
  208. package/modules/lifecycle/routes/done-when.js +110 -15
  209. package/modules/lifecycle/routes/goals.js +8 -38
  210. package/modules/lifecycle/routes/tasks.js +38 -6
  211. package/modules/lifecycle/ship-card.js +6 -0
  212. package/modules/onboarding/onboarding-state.js +1 -1
  213. package/modules/platform-identity/CLAUDE.md +15 -0
  214. package/modules/platform-identity/hub-device.js +147 -0
  215. package/modules/platform-identity/hub-keys.js +151 -0
  216. package/modules/platform-identity/migrations/platform_identity_001_tables.sql +114 -0
  217. package/modules/platform-identity/migrations/platform_identity_002_client_origin_index.sql +18 -0
  218. package/modules/platform-identity/migrations/platform_identity_003_project_memberships.sql +42 -0
  219. package/modules/platform-identity/migrations/platform_identity_004_projects.sql +44 -0
  220. package/modules/platform-identity/migrations/platform_identity_005_builder_activity.sql +42 -0
  221. package/modules/platform-identity/module.json +18 -0
  222. package/modules/platform-identity/platform-identity.js +531 -0
  223. package/modules/platform-identity/pollers/code-sweep.js +43 -0
  224. package/modules/platform-identity/routes/my-projects.js +140 -0
  225. package/modules/platform-identity/routes/projects.js +107 -0
  226. package/modules/platform-identity/routes/scouting.js +35 -0
  227. package/modules/platform-identity/routes/sso.js +402 -0
  228. package/modules/platform-identity/tests/platform-identity.mjs +388 -0
  229. package/modules/platform-identity/ui/.gitkeep +0 -0
  230. package/modules/security/routes/reports.js +10 -0
  231. package/modules/sessions/db.js +166 -21
  232. package/modules/sessions/module.json +1 -1
  233. package/modules/sessions/pollers/session-reward-reconcile.js +78 -0
  234. package/modules/sessions/routes/sessions.js +33 -0
  235. package/modules/status-ui/public/explore.html +54 -0
  236. package/modules/status-ui/public/explore.js +67 -0
  237. package/package-lock.json +2 -2
  238. package/package.json +1 -1
  239. package/public-landing/assets/anim/idle/frame_00.webp +0 -0
  240. package/public-landing/assets/anim/idle/frame_01.webp +0 -0
  241. package/public-landing/assets/anim/idle/frame_02.webp +0 -0
  242. package/public-landing/assets/anim/idle/frame_03.webp +0 -0
  243. package/public-landing/assets/anim/idle/frame_04.webp +0 -0
  244. package/public-landing/assets/anim/idle/frame_05.webp +0 -0
  245. package/public-landing/assets/anim/idle/frame_06.webp +0 -0
  246. package/public-landing/assets/anim/idle/frame_07.webp +0 -0
  247. package/public-landing/assets/anim/idle/frame_08.webp +0 -0
  248. package/public-landing/assets/anim/idle/frame_09.webp +0 -0
  249. package/public-landing/assets/anim/idle/frame_10.webp +0 -0
  250. package/public-landing/assets/anim/idle/frame_11.webp +0 -0
  251. package/public-landing/assets/anim/idle/frame_12.webp +0 -0
  252. package/public-landing/assets/anim/idle/frame_13.webp +0 -0
  253. package/public-landing/assets/anim/idle/frame_14.webp +0 -0
  254. package/public-landing/assets/anim/idle/frame_15.webp +0 -0
  255. package/public-landing/assets/anim/idle/frame_16.webp +0 -0
  256. package/public-landing/assets/anim/idle/frame_17.webp +0 -0
  257. package/public-landing/assets/anim/idle/frame_18.webp +0 -0
  258. package/public-landing/assets/anim/idle/frame_19.webp +0 -0
  259. package/public-landing/assets/anim/idle/frame_20.webp +0 -0
  260. package/public-landing/assets/anim/idle/frame_21.webp +0 -0
  261. package/public-landing/assets/anim/idle/frame_22.webp +0 -0
  262. package/public-landing/assets/anim/idle/frame_23.webp +0 -0
  263. package/public-landing/assets/anim/idle/frame_24.webp +0 -0
  264. package/public-landing/assets/anim/idle/frame_25.webp +0 -0
  265. package/public-landing/assets/anim/idle/frame_26.webp +0 -0
  266. package/public-landing/assets/anim/idle/frame_27.webp +0 -0
  267. package/public-landing/assets/anim/idle/frame_28.webp +0 -0
  268. package/public-landing/assets/anim/idle/frame_29.webp +0 -0
  269. package/public-landing/assets/anim/idle/frame_30.webp +0 -0
  270. package/public-landing/assets/anim/idle/frame_31.webp +0 -0
  271. package/public-landing/assets/anim/idle/frame_32.webp +0 -0
  272. package/public-landing/assets/anim/idle/frame_33.webp +0 -0
  273. package/public-landing/assets/anim/idle/frame_34.webp +0 -0
  274. package/public-landing/assets/anim/idle/frame_35.webp +0 -0
  275. package/public-landing/assets/anim/idle/frame_36.webp +0 -0
  276. package/public-landing/assets/anim/idle/frame_37.webp +0 -0
  277. package/public-landing/assets/anim/idle/frame_38.webp +0 -0
  278. package/public-landing/assets/anim/idle/frame_39.webp +0 -0
  279. package/public-landing/assets/anim/idle/frame_40.webp +0 -0
  280. package/public-landing/assets/anim/idle/frame_41.webp +0 -0
  281. package/public-landing/assets/anim/idle/frame_42.webp +0 -0
  282. package/public-landing/assets/anim/idle/frame_43.webp +0 -0
  283. package/public-landing/create.html +252 -62
  284. package/public-landing/gate/README.md +137 -0
  285. package/public-landing/gate/dispmaps/bar.png +0 -0
  286. package/public-landing/gate/dispmaps/flat.png +0 -0
  287. package/public-landing/gate/dispmaps/key.png +0 -0
  288. package/public-landing/gate/index.html +587 -0
  289. package/public-landing/gate/previews/cloud-bongos.jpg +0 -0
  290. package/public-landing/gate/previews/off-the-boats.jpg +0 -0
  291. package/public-landing/gate/space.css +799 -0
  292. package/public-landing/gate/space.js +1826 -0
  293. package/public-landing/gate/sprites/enter.png +0 -0
  294. package/public-landing/gate/sprites/search.png +0 -0
  295. package/public-landing/gate/sprites/terminal-blank.png +0 -0
  296. package/public-landing/gate/sprites/tile.png +0 -0
  297. package/public-landing/world/assets/clouds/cloud-island-large.png +0 -0
  298. package/public-landing/world/assets/clouds/cloud-puff.png +0 -0
  299. package/public-landing/world/assets/creatures/creature-whale-cargo.png +0 -0
  300. package/public-landing/world/assets/creatures/creature-whale-glide.png +0 -0
  301. package/public-landing/world/assets/plates/plate-clouds-near.png +0 -0
  302. package/public-landing/world/assets/plates/scene-establishing.png +0 -0
  303. package/scripts/gds/abandon.js +6 -4
  304. package/scripts/gds/api.js +10 -5
  305. package/scripts/gds/api.ps1 +26 -0
  306. package/scripts/gds/api.sh +6 -0
  307. package/scripts/gds/audit-ships.js +7 -1
  308. package/scripts/gds/backfill-sessions.js +78 -18
  309. package/scripts/gds/backup.js +23 -1
  310. package/scripts/gds/box-connect-lib.js +124 -31
  311. package/scripts/gds/box-sync.js +66 -0
  312. package/scripts/gds/box.js +225 -53
  313. package/scripts/gds/cf-tunnel.js +145 -6
  314. package/scripts/gds/claim.js +34 -3
  315. package/scripts/gds/cli-lib.js +161 -21
  316. package/scripts/gds/code.js +6 -2
  317. package/scripts/gds/deploy-divergence.js +209 -0
  318. package/scripts/gds/dev-lib.js +309 -0
  319. package/scripts/gds/dev.js +322 -0
  320. package/scripts/gds/doctor.js +90 -61
  321. package/scripts/gds/fetch-art-key.js +1 -1
  322. package/scripts/gds/fetch-sound-prefs.js +2 -2
  323. package/scripts/gds/fitness.js +228 -12
  324. package/scripts/gds/gds-db-backup.service +16 -1
  325. package/scripts/gds/gds-db-offsite.service +9 -1
  326. package/scripts/gds/gen-api-client.js +1 -1
  327. package/scripts/gds/gen-api-docs.js +36 -14
  328. package/scripts/gds/gen-diagrams.js +45 -28
  329. package/scripts/gds/gen-file-map.js +2 -1
  330. package/scripts/gds/gen-freshness.js +32 -0
  331. package/scripts/gds/gen-repo-map.js +3 -2
  332. package/scripts/gds/gen-session-index.js +14 -5
  333. package/scripts/gds/hooks/pre-push.js +2 -2
  334. package/scripts/gds/init.js +60 -3
  335. package/scripts/gds/install-git-hooks.js +1 -1
  336. package/scripts/gds/key-card.js +15 -6
  337. package/scripts/gds/key-status.js +1 -1
  338. package/scripts/gds/linkify-refs.js +35 -9
  339. package/scripts/gds/lint-migrations.js +102 -0
  340. package/scripts/gds/login.js +58 -11
  341. package/scripts/gds/mirror-redact.js +5 -0
  342. package/scripts/gds/package-core.js +263 -4
  343. package/scripts/gds/paste-token.js +7 -1
  344. package/scripts/gds/preflight.js +126 -0
  345. package/scripts/gds/provision.js +268 -19
  346. package/scripts/gds/publish-manifest.js +22 -1
  347. package/scripts/gds/reauth.js +7 -3
  348. package/scripts/gds/regen-instance-docs.js +47 -0
  349. package/scripts/gds/run-unit-tests.js +42 -16
  350. package/scripts/gds/seed-bongos-v1-seo-tasks.js +104 -0
  351. package/scripts/gds/seed-bv1-profiles-tasks.js +126 -0
  352. package/scripts/gds/sequence.js +425 -0
  353. package/scripts/gds/session-cost.js +10 -1
  354. package/scripts/gds/setup.js +72 -5
  355. package/scripts/gds/shell.js +5 -3
  356. package/scripts/gds/ship.js +433 -59
  357. package/scripts/gds/smoke-gds.js +139 -8
  358. package/scripts/gds/start.js +171 -22
  359. package/scripts/gds/status.js +1 -1
  360. package/scripts/gds/triage.js +10 -9
  361. package/scripts/gds/upgrade.js +271 -7
  362. package/scripts/migrate.sh +10 -0
  363. package/scripts/status-mirror-sync.js +114 -84
  364. package/src/bongos/api-errors.js +1 -0
  365. package/src/bongos/auth.js +809 -107
  366. package/src/bongos/db-kernel.js +27 -0
  367. package/src/bongos/db.js +105 -0
  368. package/src/bongos/github-repos.js +93 -0
  369. package/src/bongos/module-scope-map.js +27 -1
  370. package/src/bongos/permission-path-check.js +136 -102
  371. package/src/bongos/repo-info.js +47 -11
  372. package/src/bongos/route-rank-check.js +429 -46
  373. package/src/bongos/routes/_helpers.js +12 -1
  374. package/src/bongos/routes/auth.js +312 -13
  375. package/src/bongos/routes/backup.js +58 -2
  376. package/src/bongos/routes/github.js +90 -0
  377. package/src/bongos/routes/instance.js +15 -3
  378. package/src/bongos/routes/me.js +35 -1
  379. package/src/bongos/routes.js +2 -0
  380. package/src/bongos/serve-internal.js +84 -15
  381. package/src/branding.js +49 -2
  382. package/src/instance-config.js +46 -0
  383. package/src/module-api.js +140 -1
  384. package/src/platform-server.js +86 -9
  385. package/tests/abandon_task.mjs +59 -3
  386. package/tests/api_cli_flags.mjs +53 -0
  387. package/tests/auth_page_gate.mjs +13 -0
  388. package/tests/backfill_sessions.mjs +127 -1
  389. package/tests/backup_cli.mjs +54 -0
  390. package/tests/bongos_box_connect.mjs +77 -0
  391. package/tests/box_access.mjs +130 -1
  392. package/tests/box_credential.mjs +125 -0
  393. package/tests/box_host_keys.mjs +24 -0
  394. package/tests/box_infra_resolve.mjs +149 -0
  395. package/tests/box_scope_session.mjs +6 -2
  396. package/tests/box_sync.mjs +55 -0
  397. package/tests/box_task_scope.mjs +99 -0
  398. package/tests/branding.mjs +41 -23
  399. package/tests/cf_ruleset_preflight.mjs +142 -0
  400. package/tests/cf_tunnel.mjs +37 -0
  401. package/tests/claim_gate_rebase.mjs +98 -0
  402. package/tests/clawback_confirmed_backlog.mjs +103 -0
  403. package/tests/cli_lib_formatters.mjs +20 -0
  404. package/tests/confirm_attribution.mjs +30 -46
  405. package/tests/credit_grant.mjs +198 -10
  406. package/tests/criterion_authoring_gate.mjs +272 -0
  407. package/tests/criterion_progress.mjs +33 -1
  408. package/tests/dev_lib.mjs +253 -0
  409. package/tests/devbox_artifact_gate.mjs +75 -0
  410. package/tests/devbox_dmg_backdrop.mjs +137 -0
  411. package/tests/devbox_icons.mjs +304 -0
  412. package/tests/devbox_installer_brand.mjs +232 -0
  413. package/tests/devbox_key_register.mjs +234 -0
  414. package/tests/docs_openapi_route.mjs +110 -0
  415. package/tests/doctor_hooks.mjs +141 -0
  416. package/tests/extract_json.mjs +140 -0
  417. package/tests/fitness.mjs +89 -0
  418. package/tests/gen_freshness.mjs +96 -0
  419. package/tests/github_repos_helpers.mjs +91 -0
  420. package/tests/github_token_store.mjs +121 -0
  421. package/tests/goal_advisory.mjs +251 -0
  422. package/tests/goal_criterion_confirm_ui.mjs +269 -0
  423. package/tests/goal_routes.mjs +59 -4
  424. package/tests/goal_tier.mjs +12 -3
  425. package/tests/governance_catalog.mjs +129 -0
  426. package/tests/governance_claim_eligibility.mjs +262 -0
  427. package/tests/governance_config.mjs +187 -0
  428. package/tests/governance_ownership_scope.mjs +410 -0
  429. package/tests/governance_page_gates.mjs +324 -0
  430. package/tests/governance_parity.mjs +336 -0
  431. package/tests/governance_principals.mjs +232 -0
  432. package/tests/governance_protected_surfaces.mjs +208 -0
  433. package/tests/governance_require_permission.mjs +223 -0
  434. package/tests/governance_resolver.mjs +84 -0
  435. package/tests/governance_role_sync.mjs +231 -0
  436. package/tests/governance_seed.mjs +127 -0
  437. package/tests/governance_session_scope.mjs +434 -0
  438. package/tests/governance_vanilla_boot.mjs +203 -0
  439. package/tests/grade_attribution.mjs +7 -7
  440. package/tests/hall_audit.mjs +223 -0
  441. package/tests/hall_nav.mjs +191 -0
  442. package/tests/hall_palette.mjs +206 -0
  443. package/tests/hall_signout.mjs +124 -0
  444. package/tests/hook_user_agents.mjs +10 -0
  445. package/tests/idea_triage.mjs +162 -0
  446. package/tests/idp_device_exchange.mjs +198 -0
  447. package/tests/idp_federation.mjs +100 -0
  448. package/tests/init.mjs +51 -0
  449. package/tests/instance_config.mjs +65 -0
  450. package/tests/instance_mismatch_guard.mjs +23 -6
  451. package/tests/instance_release_config.mjs +104 -0
  452. package/tests/linkify_refs.mjs +15 -2
  453. package/tests/migrations_forward_safe.mjs +86 -0
  454. package/tests/module_api.mjs +1 -1
  455. package/tests/module_contributions.mjs +55 -0
  456. package/tests/module_loader.mjs +10 -5
  457. package/tests/module_scope_active_claims.mjs +94 -0
  458. package/tests/needs_rebase.mjs +92 -0
  459. package/tests/one_active_claim_per_session.mjs +76 -0
  460. package/tests/override_attribution.mjs +10 -8
  461. package/tests/override_request_ownership.mjs +8 -4
  462. package/tests/package_core.mjs +246 -1
  463. package/tests/parse_cookie_decode.mjs +42 -0
  464. package/tests/pay_on_land.mjs +129 -0
  465. package/tests/platform_boot.mjs +100 -1
  466. package/tests/post_login_landing.mjs +42 -0
  467. package/tests/preflight_checks.mjs +72 -0
  468. package/tests/provision.mjs +289 -7
  469. package/tests/pruned_lockfile_integrity.mjs +79 -0
  470. package/tests/publish_branch_route.mjs +53 -0
  471. package/tests/publish_reconciler.mjs +187 -2
  472. package/tests/repo_info_binding.mjs +248 -0
  473. package/tests/reward_gate.mjs +11 -2
  474. package/tests/reward_mode_cost_plus_only.mjs +116 -0
  475. package/tests/reward_mode_surfacing.mjs +168 -0
  476. package/tests/route_permission_check.mjs +301 -0
  477. package/tests/route_rank_check.mjs +254 -12
  478. package/tests/route_validation.mjs +30 -0
  479. package/tests/sequence.mjs +267 -0
  480. package/tests/session_digest.mjs +44 -0
  481. package/tests/session_index.mjs +18 -6
  482. package/tests/session_records.mjs +39 -1
  483. package/tests/session_reward_on_land.mjs +381 -0
  484. package/tests/session_reward_reconcile.mjs +229 -0
  485. package/tests/ship_api_client_pathspec.mjs +100 -0
  486. package/tests/ship_base_flag.mjs +93 -0
  487. package/tests/ship_ci_deploy.mjs +140 -3
  488. package/tests/ship_upstream_deletion.mjs +57 -0
  489. package/tests/smoke_target.mjs +233 -0
  490. package/tests/start_env_guard.mjs +87 -0
  491. package/tests/start_rebase_warning.mjs +103 -0
  492. package/tests/status_mirror_sync.mjs +122 -0
  493. package/tests/stop_refcheck.mjs +19 -1
  494. package/tests/task_goal_link.mjs +15 -6
  495. package/tests/upgrade.mjs +393 -5
  496. package/tests/web_admission_status.mjs +162 -0
  497. package/tests/write_validation_gaps.mjs +110 -0
  498. package/.gitignore +0 -91
  499. package/docs/adr/0139-platform-history-migration-to-cloudbongos.md +0 -94
  500. package/docs/adr/0140-cloudbongos-standalone-reprovision.md +0 -43
  501. package/scripts/hall-preview/fixtures/access-requests.json +0 -20
  502. package/scripts/hall-preview/fixtures/achievements.json +0 -76
  503. package/scripts/hall-preview/fixtures/analytics__builder.json +0 -251
  504. package/scripts/hall-preview/fixtures/audit-log.json +0 -68
  505. package/scripts/hall-preview/fixtures/blockers__detail.json +0 -12
  506. package/scripts/hall-preview/fixtures/box__me.json +0 -5
  507. package/scripts/hall-preview/fixtures/boxes__cost-ledger.json +0 -69
  508. package/scripts/hall-preview/fixtures/builders__active-claims.json +0 -1
  509. package/scripts/hall-preview/fixtures/builders__directory.json +0 -81
  510. package/scripts/hall-preview/fixtures/builders__roster.json +0 -48
  511. package/scripts/hall-preview/fixtures/goals.json +0 -502
  512. package/scripts/hall-preview/fixtures/goals__25.json +0 -96
  513. package/scripts/hall-preview/fixtures/goals__26.json +0 -67
  514. package/scripts/hall-preview/fixtures/goals__3.json +0 -103
  515. package/scripts/hall-preview/fixtures/goals__35.json +0 -49
  516. package/scripts/hall-preview/fixtures/goals__conflicts.json +0 -154
  517. package/scripts/hall-preview/fixtures/goals__detail.json +0 -96
  518. package/scripts/hall-preview/fixtures/goals__inbox.json +0 -5
  519. package/scripts/hall-preview/fixtures/goals__requests.json +0 -3
  520. package/scripts/hall-preview/fixtures/grades__by-builder.json +0 -32
  521. package/scripts/hall-preview/fixtures/inbox.json +0 -330
  522. package/scripts/hall-preview/fixtures/inbox__detail.json +0 -15
  523. package/scripts/hall-preview/fixtures/instance.json +0 -124
  524. package/scripts/hall-preview/fixtures/leaderboard.json +0 -184
  525. package/scripts/hall-preview/fixtures/me.json +0 -476
  526. package/scripts/hall-preview/fixtures/me__art-key__own.json +0 -6
  527. package/scripts/hall-preview/fixtures/me__event-sound-prefs.json +0 -209
  528. package/scripts/hall-preview/fixtures/me__recent-ships.json +0 -304
  529. package/scripts/hall-preview/fixtures/me__render.json +0 -5
  530. package/scripts/hall-preview/fixtures/me__skill-prefs.json +0 -143
  531. package/scripts/hall-preview/fixtures/me__sound-prefs.json +0 -67
  532. package/scripts/hall-preview/fixtures/me__wandering.json +0 -43
  533. package/scripts/hall-preview/fixtures/override-requests.json +0 -15
  534. package/scripts/hall-preview/fixtures/provisioning__fleet.json +0 -1
  535. package/scripts/hall-preview/fixtures/provisioning__fleet__cost-ledger.json +0 -1
  536. package/scripts/hall-preview/fixtures/provisioning__instances.json +0 -1
  537. package/scripts/hall-preview/fixtures/public__analytics__ecosystem.json +0 -516
  538. package/scripts/hall-preview/fixtures/public__bounty-table.json +0 -37
  539. package/scripts/hall-preview/fixtures/public__cost-summary.json +0 -742
  540. package/scripts/hall-preview/fixtures/public__estimation-drift.json +0 -41
  541. package/scripts/hall-preview/fixtures/public__grades.json +0 -50
  542. package/scripts/hall-preview/fixtures/public__progress.json +0 -124
  543. package/scripts/hall-preview/fixtures/public__recent-shipped.json +0 -426
  544. package/scripts/hall-preview/fixtures/public__repo-health.json +0 -160
  545. package/scripts/hall-preview/fixtures/public__repo-info.json +0 -5
  546. package/scripts/hall-preview/fixtures/security__docs.json +0 -10
  547. package/scripts/hall-preview/fixtures/security__reports.json +0 -31
  548. package/scripts/hall-preview/fixtures/sessions__search.json +0 -9
  549. package/scripts/hall-preview/fixtures/tasks.json +0 -2420
  550. package/scripts/hall-preview/fixtures/tasks__claimable.json +0 -2555
  551. package/scripts/hall-preview/fixtures/tasks__detail.json +0 -111
  552. package/scripts/hall-preview/fixtures/tasks__peer-votes__feed.json +0 -330
  553. package/scripts/hall-preview/fixtures/versions.json +0 -89
@@ -0,0 +1,698 @@
1
+ // @bongos/client (CommonJS build) — GENERATED from index.mjs by
2
+ // scripts/gds/gen-api-client.js. DO NOT EDIT BY HAND. Same behavior as the ESM
3
+ // build; only the module bindings differ. For require()-based consumers.
4
+ // @bongos/client — GENERATED from the OpenAPI spec by
5
+ // scripts/gds/gen-api-client.js (task 1995 / ADR 0118). DO NOT EDIT BY HAND —
6
+ // regenerate on spec change. Zero deps; uses the platform fetch.
7
+ 'use strict';
8
+
9
+ const API_VERSION = "v1";
10
+ const DEFAULT_BASE_URL = "/api/bongos/v1";
11
+
12
+ // The one error shape (ADR 0116). A non-2xx response rejects with this.
13
+ class ApiError extends Error {
14
+ constructor(status, body) {
15
+ const env = body && body.error;
16
+ super((env && (env.message || env.code)) || ('HTTP ' + status));
17
+ this.name = 'ApiError';
18
+ this.status = status;
19
+ this.code = env && env.code;
20
+ this.details = env && env.details;
21
+ }
22
+ }
23
+
24
+ function buildPath(template, args) {
25
+ return template.replace(/\{(\w+)\}/g, (_, k) => {
26
+ if (args[k] == null) throw new Error('missing path param: ' + k);
27
+ return encodeURIComponent(args[k]);
28
+ });
29
+ }
30
+
31
+ function qs(query) {
32
+ if (!query) return '';
33
+ const parts = [];
34
+ for (const [k, v] of Object.entries(query)) {
35
+ if (v == null) continue;
36
+ parts.push(encodeURIComponent(k) + '=' + encodeURIComponent(v));
37
+ }
38
+ return parts.length ? '?' + parts.join('&') : '';
39
+ }
40
+
41
+ // createClient({ baseUrl, token, fetch, throwOnError }) — baseUrl defaults to the
42
+ // versioned same-origin base (/api/bongos/v1). Pass an absolute baseUrl for an
43
+ // external caller. token → Authorization: Bearer. fetch defaults to the platform
44
+ // fetch. throwOnError (default true): a non-2xx rejects with ApiError and a 2xx
45
+ // resolves to the parsed body. Set throwOnError:false for the internal-CLI
46
+ // contract — every call resolves to { status, ok, data } and never throws on HTTP
47
+ // status (network errors still reject), so status-inspecting callers port 1:1.
48
+ // credentials: forwarded to fetch as `credentials` (e.g. 'same-origin' / 'include')
49
+ // so a same-origin BROWSER page can authenticate by session COOKIE instead of a
50
+ // Bearer token — the hall/status web pages use this (task 1996 / R09).
51
+ function createClient(opts = {}) {
52
+ // An explicit baseUrl:'' means "paths are already absolute" — honored (not
53
+ // treated as unset), so a caller that passes full same-origin paths (e.g. the
54
+ // hall's fetch wrappers, task 1996) routes them through unchanged.
55
+ const baseUrl = (opts.baseUrl != null ? opts.baseUrl : DEFAULT_BASE_URL).replace(/\/$/, '');
56
+ const token = opts.token || null;
57
+ const credentials = opts.credentials || null;
58
+ const cache = opts.cache || null; // forwarded to fetch (e.g. 'no-store' for the public status page)
59
+ const doFetch = opts.fetch || (typeof fetch !== 'undefined' ? fetch : null);
60
+ const throwOnError = opts.throwOnError !== false;
61
+ if (!doFetch) throw new Error('no fetch available — pass opts.fetch');
62
+ async function request(method, template, spec, args) {
63
+ args = args || {};
64
+ const url = baseUrl + buildPath(template, args) + qs(args.query);
65
+ const headers = Object.assign({}, args.headers);
66
+ if (token) headers['Authorization'] = 'Bearer ' + token;
67
+ const init = { method, headers };
68
+ if (credentials) init.credentials = credentials;
69
+ if (args.cache || cache) init.cache = args.cache || cache;
70
+ if (spec.hasBody && args.body !== undefined) {
71
+ headers['Content-Type'] = 'application/json';
72
+ init.body = JSON.stringify(args.body);
73
+ }
74
+ const res = await doFetch(url, init);
75
+ const text = await res.text();
76
+ let data = null;
77
+ try { data = text ? JSON.parse(text) : null; } catch { data = null; }
78
+ if (!res.ok && throwOnError) throw new ApiError(res.status, data);
79
+ return throwOnError ? data : { status: res.status, ok: res.ok, data };
80
+ }
81
+ return {
82
+ // Generic escape hatch for a path with no generated method (an undocumented
83
+ // route or a non-API URL). request(method, path, { query, body, headers }).
84
+ // Honors the same throwOnError mode. `path` is relative to baseUrl.
85
+ request: (method, path, o) => { o = o || {}; return request(method, path, { hasBody: o.hasBody != null ? o.hasBody : o.body !== undefined }, o); },
86
+ "accessRequests": {
87
+ // GET /access-requests — rank: archon — GET /access-requests
88
+ getAccessRequests: (args) => request("GET", "/access-requests", { hasBody: false }, args),
89
+ // POST /access-requests — rank: public — POST /access-requests
90
+ postAccessRequests: (args) => request("POST", "/access-requests", { hasBody: true }, args),
91
+ // PATCH /access-requests/{id} — rank: archon — PATCH /access-requests/:id
92
+ patchAccessRequestsId: (args) => request("PATCH", "/access-requests/{id}", { hasBody: true }, args),
93
+ // GET /access-requests/status — rank: public — GET /access-requests/status
94
+ getAccessRequestsStatus: (args) => request("GET", "/access-requests/status", { hasBody: false }, args),
95
+ },
96
+ "achievements": {
97
+ // GET /achievements — rank: any-builder — GET /achievements
98
+ getAchievements: (args) => request("GET", "/achievements", { hasBody: false }, args),
99
+ },
100
+ "analytics": {
101
+ // GET /analytics/builder/{id} — rank: any-builder — GET /analytics/builder/:id
102
+ getAnalyticsBuilderId: (args) => request("GET", "/analytics/builder/{id}", { hasBody: false }, args),
103
+ },
104
+ "auditLog": {
105
+ // GET /audit-log — rank: archon — GET /audit-log
106
+ getAuditLog: (args) => request("GET", "/audit-log", { hasBody: false }, args),
107
+ },
108
+ "auth": {
109
+ // POST /auth/app-pair/approve — rank: any-builder — POST /auth/app-pair/approve
110
+ postAuthAppPairApprove: (args) => request("POST", "/auth/app-pair/approve", { hasBody: true }, args),
111
+ // GET /auth/app-pair/info — rank: any-builder — GET /auth/app-pair/info
112
+ getAuthAppPairInfo: (args) => request("GET", "/auth/app-pair/info", { hasBody: false }, args),
113
+ // POST /auth/app-pair/poll — rank: public — POST /auth/app-pair/poll
114
+ postAuthAppPairPoll: (args) => request("POST", "/auth/app-pair/poll", { hasBody: true }, args),
115
+ // POST /auth/app-pair/start — rank: public — POST /auth/app-pair/start
116
+ postAuthAppPairStart: (args) => request("POST", "/auth/app-pair/start", { hasBody: true }, args),
117
+ // POST /auth/backchannel-logout — rank: public — POST /auth/backchannel-logout
118
+ postAuthBackchannelLogout: (args) => request("POST", "/auth/backchannel-logout", { hasBody: true }, args),
119
+ // POST /auth/cli-token/issue — rank: any-builder — POST /auth/cli-token/issue
120
+ postAuthCliTokenIssue: (args) => request("POST", "/auth/cli-token/issue", { hasBody: true }, args),
121
+ // POST /auth/device/exchange — rank: public — POST /auth/device/exchange
122
+ postAuthDeviceExchange: (args) => request("POST", "/auth/device/exchange", { hasBody: true }, args),
123
+ // POST /auth/device/poll — rank: public — POST /auth/device/poll
124
+ postAuthDevicePoll: (args) => request("POST", "/auth/device/poll", { hasBody: true }, args),
125
+ // POST /auth/device/start — rank: public — POST /auth/device/start
126
+ postAuthDeviceStart: (args) => request("POST", "/auth/device/start", { hasBody: true }, args),
127
+ // GET /auth/discord/callback — rank: any-builder — GET /auth/discord/callback
128
+ getAuthDiscordCallback: (args) => request("GET", "/auth/discord/callback", { hasBody: false }, args),
129
+ // GET /auth/discord/start — rank: any-builder — GET /auth/discord/start
130
+ getAuthDiscordStart: (args) => request("GET", "/auth/discord/start", { hasBody: false }, args),
131
+ // POST /auth/discord/unlink — rank: any-builder — POST /auth/discord/unlink
132
+ postAuthDiscordUnlink: (args) => request("POST", "/auth/discord/unlink", { hasBody: true }, args),
133
+ // POST /auth/logout — rank: any-builder — POST /auth/logout
134
+ postAuthLogout: (args) => request("POST", "/auth/logout", { hasBody: true }, args),
135
+ // POST /auth/revoke — rank: archon — POST /auth/revoke
136
+ postAuthRevoke: (args) => request("POST", "/auth/revoke", { hasBody: true }, args),
137
+ // POST /auth/revoke-all — rank: archon — POST /auth/revoke-all
138
+ postAuthRevokeAll: (args) => request("POST", "/auth/revoke-all", { hasBody: true }, args),
139
+ // GET /auth/web/admission-status — rank: public — GET /auth/web/admission-status
140
+ getAuthWebAdmissionStatus: (args) => request("GET", "/auth/web/admission-status", { hasBody: false }, args),
141
+ // GET /auth/web/callback — rank: public — GET /auth/web/callback
142
+ getAuthWebCallback: (args) => request("GET", "/auth/web/callback", { hasBody: false }, args),
143
+ // GET /auth/web/start — rank: public — GET /auth/web/start
144
+ getAuthWebStart: (args) => request("GET", "/auth/web/start", { hasBody: false }, args),
145
+ },
146
+ "autonomy": {
147
+ // GET /autonomy/precheck — rank: archon — GET /autonomy/precheck
148
+ getAutonomyPrecheck: (args) => request("GET", "/autonomy/precheck", { hasBody: false }, args),
149
+ },
150
+ "backup": {
151
+ // GET /backup/status — rank: metic+archon — GET /backup/status
152
+ getBackupStatus: (args) => request("GET", "/backup/status", { hasBody: false }, args),
153
+ // POST /backup/trigger — rank: metic+archon — POST /backup/trigger
154
+ postBackupTrigger: (args) => request("POST", "/backup/trigger", { hasBody: true }, args),
155
+ },
156
+ "blockers": {
157
+ // GET /blockers — rank: public — GET /blockers
158
+ getBlockers: (args) => request("GET", "/blockers", { hasBody: false }, args),
159
+ // POST /blockers — rank: any-builder — POST /blockers
160
+ postBlockers: (args) => request("POST", "/blockers", { hasBody: true }, args),
161
+ // GET /blockers/{id} — rank: any-builder — GET /blockers/:id
162
+ getBlockersId: (args) => request("GET", "/blockers/{id}", { hasBody: false }, args),
163
+ // POST /blockers/{id}/link — rank: metic+archon — POST /blockers/:id/link
164
+ postBlockersIdLink: (args) => request("POST", "/blockers/{id}/link", { hasBody: true }, args),
165
+ // POST /blockers/{id}/resolve — rank: metic+archon — POST /blockers/:id/resolve
166
+ postBlockersIdResolve: (args) => request("POST", "/blockers/{id}/resolve", { hasBody: true }, args),
167
+ },
168
+ "box": {
169
+ // GET /box/authorized-keys — rank: any-builder — GET /box/authorized-keys
170
+ getBoxAuthorizedKeys: (args) => request("GET", "/box/authorized-keys", { hasBody: false }, args),
171
+ // POST /box/close — rank: any-builder — POST /box/close
172
+ postBoxClose: (args) => request("POST", "/box/close", { hasBody: true }, args),
173
+ // GET /box/connect — rank: public — GET /box/connect
174
+ getBoxConnect: (args) => request("GET", "/box/connect", { hasBody: false }, args),
175
+ // GET /box/connect.ps1 — rank: public — GET /box/connect.ps1
176
+ getBoxConnectPs1: (args) => request("GET", "/box/connect.ps1", { hasBody: false }, args),
177
+ // GET /box/connect.sh — rank: public — GET /box/connect.sh
178
+ getBoxConnectSh: (args) => request("GET", "/box/connect.sh", { hasBody: false }, args),
179
+ // POST /box/ensure — rank: any-builder — POST /box/ensure
180
+ postBoxEnsure: (args) => request("POST", "/box/ensure", { hasBody: true }, args),
181
+ // POST /box/heartbeat — rank: any-builder — POST /box/heartbeat
182
+ postBoxHeartbeat: (args) => request("POST", "/box/heartbeat", { hasBody: true }, args),
183
+ // POST /box/host-keys — rank: any-builder — POST /box/host-keys
184
+ postBoxHostKeys: (args) => request("POST", "/box/host-keys", { hasBody: true }, args),
185
+ // GET /box/managed-settings — rank: any-builder — GET /box/managed-settings
186
+ getBoxManagedSettings: (args) => request("GET", "/box/managed-settings", { hasBody: false }, args),
187
+ // GET /box/me — rank: any-builder — GET /box/me
188
+ getBoxMe: (args) => request("GET", "/box/me", { hasBody: false }, args),
189
+ // GET /box/scope — rank: any-builder — GET /box/scope
190
+ getBoxScope: (args) => request("GET", "/box/scope", { hasBody: false }, args),
191
+ // GET /box/source-access — rank: any-builder — GET /box/source-access
192
+ getBoxSourceAccess: (args) => request("GET", "/box/source-access", { hasBody: false }, args),
193
+ // GET /box/ssh-key — rank: any-builder — GET /box/ssh-key
194
+ getBoxSshKey: (args) => request("GET", "/box/ssh-key", { hasBody: false }, args),
195
+ // POST /box/ssh-key — rank: any-builder — POST /box/ssh-key
196
+ postBoxSshKey: (args) => request("POST", "/box/ssh-key", { hasBody: true }, args),
197
+ // DELETE /box/ssh-key/{id} — rank: any-builder — DELETE /box/ssh-key/:id
198
+ deleteBoxSshKeyId: (args) => request("DELETE", "/box/ssh-key/{id}", { hasBody: false }, args),
199
+ // GET /box/terminal — rank: any-builder — GET /box/terminal
200
+ getBoxTerminal: (args) => request("GET", "/box/terminal", { hasBody: false }, args),
201
+ // POST /box/terminal — rank: any-builder — POST /box/terminal
202
+ postBoxTerminal: (args) => request("POST", "/box/terminal", { hasBody: true }, args),
203
+ // POST /box/version — rank: any-builder — POST /box/version
204
+ postBoxVersion: (args) => request("POST", "/box/version", { hasBody: true }, args),
205
+ },
206
+ "boxes": {
207
+ // GET /boxes — rank: archon — GET /boxes
208
+ getBoxes: (args) => request("GET", "/boxes", { hasBody: false }, args),
209
+ // PATCH /boxes/{builderId}/block — rank: archon — PATCH /boxes/:builderId/block
210
+ patchBoxesBuilderIdBlock: (args) => request("PATCH", "/boxes/{builderId}/block", { hasBody: true }, args),
211
+ // POST /boxes/{builderId}/close — rank: archon — POST /boxes/:builderId/close
212
+ postBoxesBuilderIdClose: (args) => request("POST", "/boxes/{builderId}/close", { hasBody: true }, args),
213
+ // GET /boxes/cost-ledger — rank: archon — GET /boxes/cost-ledger
214
+ getBoxesCostLedger: (args) => request("GET", "/boxes/cost-ledger", { hasBody: false }, args),
215
+ },
216
+ "bugAttachments": {
217
+ // GET /bug-attachments/{name} — rank: any-builder — GET /bug-attachments/:name
218
+ getBugAttachmentsName: (args) => request("GET", "/bug-attachments/{name}", { hasBody: false }, args),
219
+ },
220
+ "builders": {
221
+ // GET /builders/{id}/active-claims — rank: archon — GET /builders/:id/active-claims
222
+ getBuildersIdActiveClaims: (args) => request("GET", "/builders/{id}/active-claims", { hasBody: false }, args),
223
+ // PATCH /builders/{id}/budget — rank: archon — PATCH /builders/:id/budget
224
+ patchBuildersIdBudget: (args) => request("PATCH", "/builders/{id}/budget", { hasBody: true }, args),
225
+ // GET /builders/{id}/onboarding — rank: public — GET /builders/:id/onboarding
226
+ getBuildersIdOnboarding: (args) => request("GET", "/builders/{id}/onboarding", { hasBody: false }, args),
227
+ // GET /builders/{id}/profile — rank: public — GET /builders/:id/profile
228
+ getBuildersIdProfile: (args) => request("GET", "/builders/{id}/profile", { hasBody: false }, args),
229
+ // PATCH /builders/{id}/rank — rank: archon — PATCH /builders/:id/rank
230
+ patchBuildersIdRank: (args) => request("PATCH", "/builders/{id}/rank", { hasBody: true }, args),
231
+ // PATCH /builders/{id}/status — rank: archon — PATCH /builders/:id/status
232
+ patchBuildersIdStatus: (args) => request("PATCH", "/builders/{id}/status", { hasBody: true }, args),
233
+ // GET /builders/directory — rank: any-builder — GET /builders/directory
234
+ getBuildersDirectory: (args) => request("GET", "/builders/directory", { hasBody: false }, args),
235
+ // GET /builders/me/pending-rank-change — rank: any-builder — GET /builders/me/pending-rank-change
236
+ getBuildersMePendingRankChange: (args) => request("GET", "/builders/me/pending-rank-change", { hasBody: false }, args),
237
+ // GET /builders/roster — rank: archon — GET /builders/roster
238
+ getBuildersRoster: (args) => request("GET", "/builders/roster", { hasBody: false }, args),
239
+ },
240
+ "claims": {
241
+ // POST /claims — rank: any-builder — POST /claims
242
+ postClaims: (args) => request("POST", "/claims", { hasBody: true }, args),
243
+ // POST /claims/{id}/release-on-behalf — rank: archon — POST /claims/:id/release-on-behalf
244
+ postClaimsIdReleaseOnBehalf: (args) => request("POST", "/claims/{id}/release-on-behalf", { hasBody: true }, args),
245
+ // POST /claims/{id}/resolve — rank: any-builder — POST /claims/:id/resolve
246
+ postClaimsIdResolve: (args) => request("POST", "/claims/{id}/resolve", { hasBody: true }, args),
247
+ // POST /claims/batch — rank: any-builder — POST /claims/batch
248
+ postClaimsBatch: (args) => request("POST", "/claims/batch", { hasBody: true }, args),
249
+ // POST /claims/batch/release — rank: any-builder — POST /claims/batch/release
250
+ postClaimsBatchRelease: (args) => request("POST", "/claims/batch/release", { hasBody: true }, args),
251
+ // POST /claims/batch/validate — rank: any-builder — POST /claims/batch/validate
252
+ postClaimsBatchValidate: (args) => request("POST", "/claims/batch/validate", { hasBody: true }, args),
253
+ },
254
+ "cost": {
255
+ // POST /cost — rank: any-builder — POST /cost
256
+ postCost: (args) => request("POST", "/cost", { hasBody: true }, args),
257
+ },
258
+ "dependencies": {
259
+ // DELETE /dependencies — rank: archon — DELETE /dependencies
260
+ deleteDependencies: (args) => request("DELETE", "/dependencies", { hasBody: false }, args),
261
+ // POST /dependencies — rank: archon — POST /dependencies
262
+ postDependencies: (args) => request("POST", "/dependencies", { hasBody: true }, args),
263
+ },
264
+ "discord": {
265
+ // GET /discord/channels/plan — rank: archon — GET /discord/channels/plan
266
+ getDiscordChannelsPlan: (args) => request("GET", "/discord/channels/plan", { hasBody: false }, args),
267
+ // POST /discord/channels/reconcile — rank: archon — POST /discord/channels/reconcile
268
+ postDiscordChannelsReconcile: (args) => request("POST", "/discord/channels/reconcile", { hasBody: true }, args),
269
+ },
270
+ "doneWhen": {
271
+ // POST /done-when/{criterionId}/satisfy — rank: metic+archon — POST /done-when/:criterionId/satisfy
272
+ postDoneWhenCriterionIdSatisfy: (args) => request("POST", "/done-when/{criterionId}/satisfy", { hasBody: true }, args),
273
+ // POST /done-when/{criterionId}/unsatisfy — rank: archon — POST /done-when/:criterionId/unsatisfy
274
+ postDoneWhenCriterionIdUnsatisfy: (args) => request("POST", "/done-when/{criterionId}/unsatisfy", { hasBody: true }, args),
275
+ // GET /done-when/pending-review — rank: metic+archon — GET /done-when/pending-review
276
+ getDoneWhenPendingReview: (args) => request("GET", "/done-when/pending-review", { hasBody: false }, args),
277
+ },
278
+ "gateApprovals": {
279
+ // GET /gate-approvals — rank: archon — GET /gate-approvals
280
+ getGateApprovals: (args) => request("GET", "/gate-approvals", { hasBody: false }, args),
281
+ // POST /gate-approvals/{pr}/approve — rank: archon — POST /gate-approvals/:pr/approve
282
+ postGateApprovalsPrApprove: (args) => request("POST", "/gate-approvals/{pr}/approve", { hasBody: true }, args),
283
+ },
284
+ "github": {
285
+ // GET /github/repos — rank: any-builder — GET /github/repos
286
+ getGithubRepos: (args) => request("GET", "/github/repos", { hasBody: false }, args),
287
+ // POST /github/repos — rank: any-builder — POST /github/repos
288
+ postGithubRepos: (args) => request("POST", "/github/repos", { hasBody: true }, args),
289
+ },
290
+ "goals": {
291
+ // GET /goals — rank: any-builder — GET /goals
292
+ getGoals: (args) => request("GET", "/goals", { hasBody: false }, args),
293
+ // POST /goals — rank: metic+archon — POST /goals
294
+ postGoals: (args) => request("POST", "/goals", { hasBody: true }, args),
295
+ // GET /goals/{id} — rank: any-builder — GET /goals/:id
296
+ getGoalsId: (args) => request("GET", "/goals/{id}", { hasBody: false }, args),
297
+ // POST /goals/{id}/archive — rank: metic+archon — POST /goals/:id/archive
298
+ postGoalsIdArchive: (args) => request("POST", "/goals/{id}/archive", { hasBody: true }, args),
299
+ // GET /goals/{id}/conflicts — rank: any-builder — GET /goals/:id/conflicts
300
+ getGoalsIdConflicts: (args) => request("GET", "/goals/{id}/conflicts", { hasBody: false }, args),
301
+ // POST /goals/{id}/conflicts/resolve — rank: any-builder — POST /goals/:id/conflicts/resolve
302
+ postGoalsIdConflictsResolve: (args) => request("POST", "/goals/{id}/conflicts/resolve", { hasBody: true }, args),
303
+ // POST /goals/{id}/invitations — rank: any-builder — POST /goals/:id/invitations
304
+ postGoalsIdInvitations: (args) => request("POST", "/goals/{id}/invitations", { hasBody: true }, args),
305
+ // POST /goals/{id}/invitations/{reqId}/respond — rank: any-builder — POST /goals/:id/invitations/:reqId/respond
306
+ postGoalsIdInvitationsReqIdRespond: (args) => request("POST", "/goals/{id}/invitations/{reqId}/respond", { hasBody: true }, args),
307
+ // POST /goals/{id}/join — rank: any-builder — POST /goals/:id/join
308
+ postGoalsIdJoin: (args) => request("POST", "/goals/{id}/join", { hasBody: true }, args),
309
+ // POST /goals/{id}/leave — rank: any-builder — POST /goals/:id/leave
310
+ postGoalsIdLeave: (args) => request("POST", "/goals/{id}/leave", { hasBody: true }, args),
311
+ // POST /goals/{id}/members — rank: any-builder — POST /goals/:id/members
312
+ postGoalsIdMembers: (args) => request("POST", "/goals/{id}/members", { hasBody: true }, args),
313
+ // PATCH /goals/{id}/members/{builderId} — rank: any-builder — PATCH /goals/:id/members/:builderId
314
+ patchGoalsIdMembersBuilderId: (args) => request("PATCH", "/goals/{id}/members/{builderId}", { hasBody: true }, args),
315
+ // POST /goals/{id}/reopen — rank: metic+archon — POST /goals/:id/reopen
316
+ postGoalsIdReopen: (args) => request("POST", "/goals/{id}/reopen", { hasBody: true }, args),
317
+ // GET /goals/{id}/requests — rank: any-builder — GET /goals/:id/requests
318
+ getGoalsIdRequests: (args) => request("GET", "/goals/{id}/requests", { hasBody: false }, args),
319
+ // POST /goals/{id}/requests — rank: any-builder — POST /goals/:id/requests
320
+ postGoalsIdRequests: (args) => request("POST", "/goals/{id}/requests", { hasBody: true }, args),
321
+ // POST /goals/{id}/requests/{reqId}/respond — rank: any-builder — POST /goals/:id/requests/:reqId/respond
322
+ postGoalsIdRequestsReqIdRespond: (args) => request("POST", "/goals/{id}/requests/{reqId}/respond", { hasBody: true }, args),
323
+ // POST /goals/{id}/requests/{reqId}/withdraw — rank: any-builder — POST /goals/:id/requests/:reqId/withdraw
324
+ postGoalsIdRequestsReqIdWithdraw: (args) => request("POST", "/goals/{id}/requests/{reqId}/withdraw", { hasBody: true }, args),
325
+ // POST /goals/{id}/scope — rank: metic+archon — POST /goals/:id/scope
326
+ postGoalsIdScope: (args) => request("POST", "/goals/{id}/scope", { hasBody: true }, args),
327
+ // GET /goals/{id}/suggest-criteria — rank: any-builder — GET /goals/:id/suggest-criteria
328
+ getGoalsIdSuggestCriteria: (args) => request("GET", "/goals/{id}/suggest-criteria", { hasBody: false }, args),
329
+ // POST /goals/{id}/tasks — rank: any-builder — POST /goals/:id/tasks
330
+ postGoalsIdTasks: (args) => request("POST", "/goals/{id}/tasks", { hasBody: true }, args),
331
+ // POST /goals/{id}/transfer — rank: any-builder — POST /goals/:id/transfer
332
+ postGoalsIdTransfer: (args) => request("POST", "/goals/{id}/transfer", { hasBody: true }, args),
333
+ // PATCH /goals/{id}/visibility — rank: any-builder — PATCH /goals/:id/visibility
334
+ patchGoalsIdVisibility: (args) => request("PATCH", "/goals/{id}/visibility", { hasBody: true }, args),
335
+ // GET /goals/inbox — rank: any-builder — GET /goals/inbox
336
+ getGoalsInbox: (args) => request("GET", "/goals/inbox", { hasBody: false }, args),
337
+ // POST /goals/reorder — rank: archon — POST /goals/reorder
338
+ postGoalsReorder: (args) => request("POST", "/goals/reorder", { hasBody: true }, args),
339
+ },
340
+ "grades": {
341
+ // GET /grades/by-builder — rank: archon — GET /grades/by-builder
342
+ getGradesByBuilder: (args) => request("GET", "/grades/by-builder", { hasBody: false }, args),
343
+ },
344
+ "healthz": {
345
+ // GET /healthz — rank: public — GET /healthz
346
+ getHealthz: (args) => request("GET", "/healthz", { hasBody: false }, args),
347
+ },
348
+ "inbox": {
349
+ // GET /inbox — rank: any-builder — GET /inbox
350
+ getInbox: (args) => request("GET", "/inbox", { hasBody: false }, args),
351
+ // POST /inbox — rank: any-builder — POST /inbox
352
+ postInbox: (args) => request("POST", "/inbox", { hasBody: true }, args),
353
+ // GET /inbox/{id} — rank: any-builder — GET /inbox/:id
354
+ getInboxId: (args) => request("GET", "/inbox/{id}", { hasBody: false }, args),
355
+ // PATCH /inbox/{id} — rank: metic+archon — PATCH /inbox/:id
356
+ patchInboxId: (args) => request("PATCH", "/inbox/{id}", { hasBody: true }, args),
357
+ // POST /inbox/{id}/ratify — rank: archon — POST /inbox/:id/ratify
358
+ postInboxIdRatify: (args) => request("POST", "/inbox/{id}/ratify", { hasBody: true }, args),
359
+ },
360
+ "instance": {
361
+ // GET /instance — rank: public — GET /instance
362
+ getInstance: (args) => request("GET", "/instance", { hasBody: false }, args),
363
+ },
364
+ "leaderboard": {
365
+ // GET /leaderboard — rank: public — GET /leaderboard
366
+ getLeaderboard: (args) => request("GET", "/leaderboard", { hasBody: false }, args),
367
+ },
368
+ "learnings": {
369
+ // GET /learnings — rank: any-builder — GET /learnings
370
+ getLearnings: (args) => request("GET", "/learnings", { hasBody: false }, args),
371
+ // POST /learnings — rank: any-builder — POST /learnings
372
+ postLearnings: (args) => request("POST", "/learnings", { hasBody: true }, args),
373
+ },
374
+ "live": {
375
+ // GET /live — rank: any-builder — GET /live
376
+ getLive: (args) => request("GET", "/live", { hasBody: false }, args),
377
+ },
378
+ "llmCache": {
379
+ // POST /llm-cache/lookup — rank: metic+archon — POST /llm-cache/lookup
380
+ postLlmCacheLookup: (args) => request("POST", "/llm-cache/lookup", { hasBody: true }, args),
381
+ // POST /llm-cache/store — rank: metic+archon — POST /llm-cache/store
382
+ postLlmCacheStore: (args) => request("POST", "/llm-cache/store", { hasBody: true }, args),
383
+ },
384
+ "me": {
385
+ // GET /me — rank: any-builder — GET /me
386
+ getMe: (args) => request("GET", "/me", { hasBody: false }, args),
387
+ // GET /me/achievements — rank: any-builder — GET /me/achievements
388
+ getMeAchievements: (args) => request("GET", "/me/achievements", { hasBody: false }, args),
389
+ // POST /me/anthropic-link — rank: any-builder — POST /me/anthropic-link
390
+ postMeAnthropicLink: (args) => request("POST", "/me/anthropic-link", { hasBody: true }, args),
391
+ // PATCH /me/disciplines — rank: any-builder — PATCH /me/disciplines
392
+ patchMeDisciplines: (args) => request("PATCH", "/me/disciplines", { hasBody: true }, args),
393
+ // GET /me/display-name — rank: any-builder — GET /me/display-name
394
+ getMeDisplayName: (args) => request("GET", "/me/display-name", { hasBody: false }, args),
395
+ // PATCH /me/display-name — rank: any-builder — PATCH /me/display-name
396
+ patchMeDisplayName: (args) => request("PATCH", "/me/display-name", { hasBody: true }, args),
397
+ // GET /me/event-sound-prefs — rank: any-builder — GET /me/event-sound-prefs
398
+ getMeEventSoundPrefs: (args) => request("GET", "/me/event-sound-prefs", { hasBody: false }, args),
399
+ // PATCH /me/event-sound-prefs — rank: any-builder — PATCH /me/event-sound-prefs
400
+ patchMeEventSoundPrefs: (args) => request("PATCH", "/me/event-sound-prefs", { hasBody: true }, args),
401
+ // GET /me/interaction — rank: any-builder — GET /me/interaction
402
+ getMeInteraction: (args) => request("GET", "/me/interaction", { hasBody: false }, args),
403
+ // PATCH /me/interaction — rank: any-builder — PATCH /me/interaction
404
+ patchMeInteraction: (args) => request("PATCH", "/me/interaction", { hasBody: true }, args),
405
+ // GET /me/model-allocation — rank: any-builder — GET /me/model-allocation
406
+ getMeModelAllocation: (args) => request("GET", "/me/model-allocation", { hasBody: false }, args),
407
+ // PATCH /me/model-allocation — rank: any-builder — PATCH /me/model-allocation
408
+ patchMeModelAllocation: (args) => request("PATCH", "/me/model-allocation", { hasBody: true }, args),
409
+ // GET /me/recent-ships — rank: any-builder — GET /me/recent-ships
410
+ getMeRecentShips: (args) => request("GET", "/me/recent-ships", { hasBody: false }, args),
411
+ // GET /me/render — rank: any-builder — GET /me/render
412
+ getMeRender: (args) => request("GET", "/me/render", { hasBody: false }, args),
413
+ // PATCH /me/render — rank: any-builder — PATCH /me/render
414
+ patchMeRender: (args) => request("PATCH", "/me/render", { hasBody: true }, args),
415
+ // GET /me/skill-prefs — rank: any-builder — GET /me/skill-prefs
416
+ getMeSkillPrefs: (args) => request("GET", "/me/skill-prefs", { hasBody: false }, args),
417
+ // PATCH /me/skill-prefs — rank: any-builder — PATCH /me/skill-prefs
418
+ patchMeSkillPrefs: (args) => request("PATCH", "/me/skill-prefs", { hasBody: true }, args),
419
+ // GET /me/sound-prefs — rank: any-builder — GET /me/sound-prefs
420
+ getMeSoundPrefs: (args) => request("GET", "/me/sound-prefs", { hasBody: false }, args),
421
+ // PATCH /me/sound-prefs — rank: any-builder — PATCH /me/sound-prefs
422
+ patchMeSoundPrefs: (args) => request("PATCH", "/me/sound-prefs", { hasBody: true }, args),
423
+ // GET /me/wandering — rank: any-builder — GET /me/wandering
424
+ getMeWandering: (args) => request("GET", "/me/wandering", { hasBody: false }, args),
425
+ // PATCH /me/wandering — rank: any-builder — PATCH /me/wandering
426
+ patchMeWandering: (args) => request("PATCH", "/me/wandering", { hasBody: true }, args),
427
+ },
428
+ "memory": {
429
+ // GET /memory/bfg/builders/{builderId}/file — rank: bfg-principal — GET /memory/bfg/builders/:builderId/file
430
+ getMemoryBfgBuildersBuilderIdFile: (args) => request("GET", "/memory/bfg/builders/{builderId}/file", { hasBody: false }, args),
431
+ // GET /memory/bfg/builders/{builderId}/files — rank: bfg-principal — GET /memory/bfg/builders/:builderId/files
432
+ getMemoryBfgBuildersBuilderIdFiles: (args) => request("GET", "/memory/bfg/builders/{builderId}/files", { hasBody: false }, args),
433
+ // POST /memory/builders/{builderId}/bfg-write — rank: bfg-principal — POST /memory/builders/:builderId/bfg-write
434
+ postMemoryBuildersBuilderIdBfgWrite: (args) => request("POST", "/memory/builders/{builderId}/bfg-write", { hasBody: true }, args),
435
+ // GET /memory/builders/{builderId}/file — rank: archon — GET /memory/builders/:builderId/file
436
+ getMemoryBuildersBuilderIdFile: (args) => request("GET", "/memory/builders/{builderId}/file", { hasBody: false }, args),
437
+ // GET /memory/builders/{builderId}/files — rank: archon — GET /memory/builders/:builderId/files
438
+ getMemoryBuildersBuilderIdFiles: (args) => request("GET", "/memory/builders/{builderId}/files", { hasBody: false }, args),
439
+ // DELETE /memory/file — rank: any-builder — DELETE /memory/file
440
+ deleteMemoryFile: (args) => request("DELETE", "/memory/file", { hasBody: true }, args),
441
+ // GET /memory/file — rank: any-builder — GET /memory/file
442
+ getMemoryFile: (args) => request("GET", "/memory/file", { hasBody: false }, args),
443
+ // GET /memory/files — rank: any-builder — GET /memory/files
444
+ getMemoryFiles: (args) => request("GET", "/memory/files", { hasBody: false }, args),
445
+ // POST /memory/sync — rank: any-builder — POST /memory/sync
446
+ postMemorySync: (args) => request("POST", "/memory/sync", { hasBody: true }, args),
447
+ },
448
+ "modules": {
449
+ // GET /modules — rank: any-builder — GET /modules
450
+ getModules: (args) => request("GET", "/modules", { hasBody: false }, args),
451
+ // POST /modules/{key}/enable — rank: metic+archon — POST /modules/:key/enable
452
+ postModulesKeyEnable: (args) => request("POST", "/modules/{key}/enable", { hasBody: true }, args),
453
+ // POST /modules/{key}/submit — rank: metic+archon — POST /modules/:key/submit
454
+ postModulesKeySubmit: (args) => request("POST", "/modules/{key}/submit", { hasBody: true }, args),
455
+ // GET /modules/submissions — rank: metic+archon — GET /modules/submissions
456
+ getModulesSubmissions: (args) => request("GET", "/modules/submissions", { hasBody: false }, args),
457
+ },
458
+ "myProjects": {
459
+ // GET /my-projects — rank: any-builder — GET /my-projects
460
+ getMyProjects: (args) => request("GET", "/my-projects", { hasBody: false }, args),
461
+ // POST /my-projects/{clientId}/leave — rank: any-builder — POST /my-projects/:clientId/leave
462
+ postMyProjectsClientIdLeave: (args) => request("POST", "/my-projects/{clientId}/leave", { hasBody: true }, args),
463
+ // GET /my-projects/invites — rank: any-builder — GET /my-projects/invites
464
+ getMyProjectsInvites: (args) => request("GET", "/my-projects/invites", { hasBody: false }, args),
465
+ // POST /my-projects/invites/{clientId}/accept — rank: any-builder — POST /my-projects/invites/:clientId/accept
466
+ postMyProjectsInvitesClientIdAccept: (args) => request("POST", "/my-projects/invites/{clientId}/accept", { hasBody: true }, args),
467
+ // POST /my-projects/invites/{clientId}/decline — rank: any-builder — POST /my-projects/invites/:clientId/decline
468
+ postMyProjectsInvitesClientIdDecline: (args) => request("POST", "/my-projects/invites/{clientId}/decline", { hasBody: true }, args),
469
+ // POST /my-projects/join — rank: any-builder — POST /my-projects/join
470
+ postMyProjectsJoin: (args) => request("POST", "/my-projects/join", { hasBody: true }, args),
471
+ },
472
+ "overrideRequests": {
473
+ // GET /override-requests — rank: archon — GET /override-requests
474
+ getOverrideRequests: (args) => request("GET", "/override-requests", { hasBody: false }, args),
475
+ // POST /override-requests/{id}/decide — rank: archon — POST /override-requests/:id/decide
476
+ postOverrideRequestsIdDecide: (args) => request("POST", "/override-requests/{id}/decide", { hasBody: true }, args),
477
+ },
478
+ "projects": {
479
+ // GET /projects — rank: archon — GET /projects
480
+ getProjects: (args) => request("GET", "/projects", { hasBody: false }, args),
481
+ // POST /projects — rank: archon — POST /projects
482
+ postProjects: (args) => request("POST", "/projects", { hasBody: true }, args),
483
+ // PATCH /projects/{id}/featured — rank: archon — PATCH /projects/:id/featured
484
+ patchProjectsIdFeatured: (args) => request("PATCH", "/projects/{id}/featured", { hasBody: true }, args),
485
+ // GET /projects/featured — rank: public — GET /projects/featured
486
+ getProjectsFeatured: (args) => request("GET", "/projects/featured", { hasBody: false }, args),
487
+ // POST /projects/invite — rank: archon — POST /projects/invite
488
+ postProjectsInvite: (args) => request("POST", "/projects/invite", { hasBody: true }, args),
489
+ },
490
+ "provisioning": {
491
+ // GET /provisioning/fleet — rank: archon — GET /provisioning/fleet
492
+ getProvisioningFleet: (args) => request("GET", "/provisioning/fleet", { hasBody: false }, args),
493
+ // GET /provisioning/fleet/cost-ledger — rank: archon — GET /provisioning/fleet/cost-ledger
494
+ getProvisioningFleetCostLedger: (args) => request("GET", "/provisioning/fleet/cost-ledger", { hasBody: false }, args),
495
+ // GET /provisioning/github-app/callback — rank: public — GET /provisioning/github-app/callback
496
+ getProvisioningGithubAppCallback: (args) => request("GET", "/provisioning/github-app/callback", { hasBody: false }, args),
497
+ // GET /provisioning/github-app/status — rank: public — GET /provisioning/github-app/status
498
+ getProvisioningGithubAppStatus: (args) => request("GET", "/provisioning/github-app/status", { hasBody: false }, args),
499
+ // GET /provisioning/health — rank: public — GET /provisioning/health
500
+ getProvisioningHealth: (args) => request("GET", "/provisioning/health", { hasBody: false }, args),
501
+ // GET /provisioning/instances — rank: any-builder — GET /provisioning/instances
502
+ getProvisioningInstances: (args) => request("GET", "/provisioning/instances", { hasBody: false }, args),
503
+ // POST /provisioning/instances — rank: any-builder — POST /provisioning/instances
504
+ postProvisioningInstances: (args) => request("POST", "/provisioning/instances", { hasBody: true }, args),
505
+ // GET /provisioning/instances/{id} — rank: any-builder — GET /provisioning/instances/:id
506
+ getProvisioningInstancesId: (args) => request("GET", "/provisioning/instances/{id}", { hasBody: false }, args),
507
+ // POST /provisioning/instances/{id}/force-teardown — rank: archon — POST /provisioning/instances/:id/force-teardown
508
+ postProvisioningInstancesIdForceTeardown: (args) => request("POST", "/provisioning/instances/{id}/force-teardown", { hasBody: true }, args),
509
+ // POST /provisioning/instances/{id}/github-app — rank: any-builder — POST /provisioning/instances/:id/github-app
510
+ postProvisioningInstancesIdGithubApp: (args) => request("POST", "/provisioning/instances/{id}/github-app", { hasBody: true }, args),
511
+ // POST /provisioning/instances/{id}/teardown — rank: any-builder — POST /provisioning/instances/:id/teardown
512
+ postProvisioningInstancesIdTeardown: (args) => request("POST", "/provisioning/instances/{id}/teardown", { hasBody: true }, args),
513
+ // GET /provisioning/onboard-plan — rank: public — GET /provisioning/onboard-plan
514
+ getProvisioningOnboardPlan: (args) => request("GET", "/provisioning/onboard-plan", { hasBody: false }, args),
515
+ // GET /provisioning/tls-check — rank: public — GET /provisioning/tls-check
516
+ getProvisioningTlsCheck: (args) => request("GET", "/provisioning/tls-check", { hasBody: false }, args),
517
+ },
518
+ "public": {
519
+ // GET /public/analytics/ecosystem — rank: public — GET /public/analytics/ecosystem
520
+ getPublicAnalyticsEcosystem: (args) => request("GET", "/public/analytics/ecosystem", { hasBody: false }, args),
521
+ // GET /public/blockers/{id} — rank: public — GET /public/blockers/:id
522
+ getPublicBlockersId: (args) => request("GET", "/public/blockers/{id}", { hasBody: false }, args),
523
+ // GET /public/bounty-table — rank: public — GET /public/bounty-table
524
+ getPublicBountyTable: (args) => request("GET", "/public/bounty-table", { hasBody: false }, args),
525
+ // GET /public/branding — rank: public — GET /public/branding
526
+ getPublicBranding: (args) => request("GET", "/public/branding", { hasBody: false }, args),
527
+ // GET /public/cost-summary — rank: public — GET /public/cost-summary
528
+ getPublicCostSummary: (args) => request("GET", "/public/cost-summary", { hasBody: false }, args),
529
+ // GET /public/estimation-drift — rank: public — GET /public/estimation-drift
530
+ getPublicEstimationDrift: (args) => request("GET", "/public/estimation-drift", { hasBody: false }, args),
531
+ // GET /public/grades — rank: public — GET /public/grades
532
+ getPublicGrades: (args) => request("GET", "/public/grades", { hasBody: false }, args),
533
+ // GET /public/ideas/{id} — rank: public — GET /public/ideas/:id
534
+ getPublicIdeasId: (args) => request("GET", "/public/ideas/{id}", { hasBody: false }, args),
535
+ // GET /public/leaderboard — rank: public — GET /public/leaderboard
536
+ getPublicLeaderboard: (args) => request("GET", "/public/leaderboard", { hasBody: false }, args),
537
+ // GET /public/modules — rank: public — GET /public/modules
538
+ getPublicModules: (args) => request("GET", "/public/modules", { hasBody: false }, args),
539
+ // GET /public/progress — rank: public — GET /public/progress
540
+ getPublicProgress: (args) => request("GET", "/public/progress", { hasBody: false }, args),
541
+ // GET /public/recent-shipped — rank: public — GET /public/recent-shipped
542
+ getPublicRecentShipped: (args) => request("GET", "/public/recent-shipped", { hasBody: false }, args),
543
+ // GET /public/ref-ids — rank: public — GET /public/ref-ids
544
+ getPublicRefIds: (args) => request("GET", "/public/ref-ids", { hasBody: false }, args),
545
+ // GET /public/repo-health — rank: public — GET /public/repo-health
546
+ getPublicRepoHealth: (args) => request("GET", "/public/repo-health", { hasBody: false }, args),
547
+ // GET /public/repo-info — rank: public — GET /public/repo-info
548
+ getPublicRepoInfo: (args) => request("GET", "/public/repo-info", { hasBody: false }, args),
549
+ // GET /public/tasks/{id} — rank: public — GET /public/tasks/:id
550
+ getPublicTasksId: (args) => request("GET", "/public/tasks/{id}", { hasBody: false }, args),
551
+ // GET /public/uptime — rank: public — GET /public/uptime
552
+ getPublicUptime: (args) => request("GET", "/public/uptime", { hasBody: false }, args),
553
+ // GET /public/versions — rank: public — GET /public/versions
554
+ getPublicVersions: (args) => request("GET", "/public/versions", { hasBody: false }, args),
555
+ },
556
+ "scouting": {
557
+ // GET /scouting — rank: archon — GET /scouting
558
+ getScouting: (args) => request("GET", "/scouting", { hasBody: false }, args),
559
+ },
560
+ "search": {
561
+ // POST /search — rank: any-builder — POST /search
562
+ postSearch: (args) => request("POST", "/search", { hasBody: true }, args),
563
+ // POST /search/mark — rank: any-builder — POST /search/mark
564
+ postSearchMark: (args) => request("POST", "/search/mark", { hasBody: true }, args),
565
+ },
566
+ "security": {
567
+ // GET /security/adr — rank: metic+archon — GET /security/adr
568
+ getSecurityAdr: (args) => request("GET", "/security/adr", { hasBody: false }, args),
569
+ // GET /security/docs — rank: archon — GET /security/docs
570
+ getSecurityDocs: (args) => request("GET", "/security/docs", { hasBody: false }, args),
571
+ // POST /security/docs — rank: archon — POST /security/docs
572
+ postSecurityDocs: (args) => request("POST", "/security/docs", { hasBody: true }, args),
573
+ // GET /security/docs/{slug} — rank: archon — GET /security/docs/:slug
574
+ getSecurityDocsSlug: (args) => request("GET", "/security/docs/{slug}", { hasBody: false }, args),
575
+ // GET /security/reports — rank: archon — GET /security/reports
576
+ getSecurityReports: (args) => request("GET", "/security/reports", { hasBody: false }, args),
577
+ // POST /security/reports — rank: metic+archon — POST /security/reports
578
+ postSecurityReports: (args) => request("POST", "/security/reports", { hasBody: true }, args),
579
+ // POST /security/reports/{id}/confirm — rank: archon — POST /security/reports/:id/confirm
580
+ postSecurityReportsIdConfirm: (args) => request("POST", "/security/reports/{id}/confirm", { hasBody: true }, args),
581
+ // POST /security/reports/{id}/dispute — rank: archon — POST /security/reports/:id/dispute
582
+ postSecurityReportsIdDispute: (args) => request("POST", "/security/reports/{id}/dispute", { hasBody: true }, args),
583
+ // POST /security/reports/{id}/fix — rank: archon — POST /security/reports/:id/fix
584
+ postSecurityReportsIdFix: (args) => request("POST", "/security/reports/{id}/fix", { hasBody: true }, args),
585
+ // POST /security/reports/{id}/link-fix — rank: archon — POST /security/reports/:id/link-fix
586
+ postSecurityReportsIdLinkFix: (args) => request("POST", "/security/reports/{id}/link-fix", { hasBody: true }, args),
587
+ },
588
+ "session": {
589
+ // POST /session/optimize — rank: any-builder — POST /session/optimize
590
+ postSessionOptimize: (args) => request("POST", "/session/optimize", { hasBody: true }, args),
591
+ },
592
+ "sessions": {
593
+ // POST /sessions — rank: any-builder — POST /sessions
594
+ postSessions: (args) => request("POST", "/sessions", { hasBody: true }, args),
595
+ // GET /sessions/{id} — rank: any-builder — GET /sessions/:id
596
+ getSessionsId: (args) => request("GET", "/sessions/{id}", { hasBody: false }, args),
597
+ // GET /sessions/mine — rank: any-builder — GET /sessions/mine
598
+ getSessionsMine: (args) => request("GET", "/sessions/mine", { hasBody: false }, args),
599
+ // GET /sessions/search — rank: archon — GET /sessions/search
600
+ getSessionsSearch: (args) => request("GET", "/sessions/search", { hasBody: false }, args),
601
+ },
602
+ "sso": {
603
+ // POST /sso/activity/rollup — rank: public — POST /sso/activity/rollup
604
+ postSsoActivityRollup: (args) => request("POST", "/sso/activity/rollup", { hasBody: true }, args),
605
+ // GET /sso/authorize — rank: public — GET /sso/authorize
606
+ getSsoAuthorize: (args) => request("GET", "/sso/authorize", { hasBody: false }, args),
607
+ // POST /sso/device/poll — rank: public — POST /sso/device/poll
608
+ postSsoDevicePoll: (args) => request("POST", "/sso/device/poll", { hasBody: true }, args),
609
+ // POST /sso/device/start — rank: public — POST /sso/device/start
610
+ postSsoDeviceStart: (args) => request("POST", "/sso/device/start", { hasBody: true }, args),
611
+ // POST /sso/membership/check-in — rank: public — POST /sso/membership/check-in
612
+ postSsoMembershipCheckIn: (args) => request("POST", "/sso/membership/check-in", { hasBody: true }, args),
613
+ // GET /sso/pubkey — rank: public — GET /sso/pubkey
614
+ getSsoPubkey: (args) => request("GET", "/sso/pubkey", { hasBody: false }, args),
615
+ // POST /sso/token — rank: public — POST /sso/token
616
+ postSsoToken: (args) => request("POST", "/sso/token", { hasBody: true }, args),
617
+ },
618
+ "tasks": {
619
+ // GET /tasks — rank: any-builder — GET /tasks
620
+ getTasks: (args) => request("GET", "/tasks", { hasBody: false }, args),
621
+ // POST /tasks — rank: metic+archon — POST /tasks
622
+ postTasks: (args) => request("POST", "/tasks", { hasBody: true }, args),
623
+ // GET /tasks/{id} — rank: any-builder — GET /tasks/:id
624
+ getTasksId: (args) => request("GET", "/tasks/{id}", { hasBody: false }, args),
625
+ // PATCH /tasks/{id} — rank: metic+archon — PATCH /tasks/:id
626
+ patchTasksId: (args) => request("PATCH", "/tasks/{id}", { hasBody: true }, args),
627
+ // POST /tasks/{id}/abandon — rank: metic+archon — POST /tasks/:id/abandon
628
+ postTasksIdAbandon: (args) => request("POST", "/tasks/{id}/abandon", { hasBody: true }, args),
629
+ // POST /tasks/{id}/attest-gate — rank: any-builder — POST /tasks/:id/attest-gate
630
+ postTasksIdAttestGate: (args) => request("POST", "/tasks/{id}/attest-gate", { hasBody: true }, args),
631
+ // POST /tasks/{id}/confirm — rank: any-builder — POST /tasks/:id/confirm
632
+ postTasksIdConfirm: (args) => request("POST", "/tasks/{id}/confirm", { hasBody: true }, args),
633
+ // GET /tasks/{id}/criteria — rank: any-builder — GET /tasks/:id/criteria
634
+ getTasksIdCriteria: (args) => request("GET", "/tasks/{id}/criteria", { hasBody: false }, args),
635
+ // POST /tasks/{id}/criteria — rank: metic+archon — POST /tasks/:id/criteria
636
+ postTasksIdCriteria: (args) => request("POST", "/tasks/{id}/criteria", { hasBody: true }, args),
637
+ // DELETE /tasks/{id}/criteria/{criterionId} — rank: metic+archon — DELETE /tasks/:id/criteria/:criterionId
638
+ deleteTasksIdCriteriaCriterionId: (args) => request("DELETE", "/tasks/{id}/criteria/{criterionId}", { hasBody: false }, args),
639
+ // POST /tasks/{id}/demote — rank: metic+archon — POST /tasks/:id/demote
640
+ postTasksIdDemote: (args) => request("POST", "/tasks/{id}/demote", { hasBody: true }, args),
641
+ // GET /tasks/{id}/dependencies — rank: any-builder — GET /tasks/:id/dependencies
642
+ getTasksIdDependencies: (args) => request("GET", "/tasks/{id}/dependencies", { hasBody: false }, args),
643
+ // POST /tasks/{id}/dependencies — rank: metic+archon — POST /tasks/:id/dependencies
644
+ postTasksIdDependencies: (args) => request("POST", "/tasks/{id}/dependencies", { hasBody: true }, args),
645
+ // PUT /tasks/{id}/dependencies — rank: metic+archon — PUT /tasks/:id/dependencies
646
+ putTasksIdDependencies: (args) => request("PUT", "/tasks/{id}/dependencies", { hasBody: true }, args),
647
+ // DELETE /tasks/{id}/dependencies/{depId} — rank: metic+archon — DELETE /tasks/:id/dependencies/:depId
648
+ deleteTasksIdDependenciesDepId: (args) => request("DELETE", "/tasks/{id}/dependencies/{depId}", { hasBody: false }, args),
649
+ // POST /tasks/{id}/grade — rank: any-builder — POST /tasks/:id/grade
650
+ postTasksIdGrade: (args) => request("POST", "/tasks/{id}/grade", { hasBody: true }, args),
651
+ // POST /tasks/{id}/override-request — rank: any-builder — POST /tasks/:id/override-request
652
+ postTasksIdOverrideRequest: (args) => request("POST", "/tasks/{id}/override-request", { hasBody: true }, args),
653
+ // POST /tasks/{id}/promote — rank: metic+archon — POST /tasks/:id/promote
654
+ postTasksIdPromote: (args) => request("POST", "/tasks/{id}/promote", { hasBody: true }, args),
655
+ // POST /tasks/{id}/publish-branch — rank: any-builder — POST /tasks/:id/publish-branch
656
+ postTasksIdPublishBranch: (args) => request("POST", "/tasks/{id}/publish-branch", { hasBody: true }, args),
657
+ // GET /tasks/{id}/publish-status — rank: any-builder — GET /tasks/:id/publish-status
658
+ getTasksIdPublishStatus: (args) => request("GET", "/tasks/{id}/publish-status", { hasBody: false }, args),
659
+ // POST /tasks/{id}/ship — rank: any-builder — POST /tasks/:id/ship
660
+ postTasksIdShip: (args) => request("POST", "/tasks/{id}/ship", { hasBody: true }, args),
661
+ // POST /tasks/{id}/vote — rank: metic+archon — POST /tasks/:id/vote
662
+ postTasksIdVote: (args) => request("POST", "/tasks/{id}/vote", { hasBody: true }, args),
663
+ // GET /tasks/claimable — rank: any-builder — GET /tasks/claimable
664
+ getTasksClaimable: (args) => request("GET", "/tasks/claimable", { hasBody: false }, args),
665
+ // GET /tasks/newcomer-floor — rank: any-builder — GET /tasks/newcomer-floor
666
+ getTasksNewcomerFloor: (args) => request("GET", "/tasks/newcomer-floor", { hasBody: false }, args),
667
+ // POST /tasks/newcomer-restock — rank: archon — POST /tasks/newcomer-restock
668
+ postTasksNewcomerRestock: (args) => request("POST", "/tasks/newcomer-restock", { hasBody: true }, args),
669
+ // GET /tasks/peer-votes/feed — rank: any-builder — GET /tasks/peer-votes/feed
670
+ getTasksPeerVotesFeed: (args) => request("GET", "/tasks/peer-votes/feed", { hasBody: false }, args),
671
+ // POST /tasks/peer-votes/tally — rank: archon — POST /tasks/peer-votes/tally
672
+ postTasksPeerVotesTally: (args) => request("POST", "/tasks/peer-votes/tally", { hasBody: true }, args),
673
+ },
674
+ "versions": {
675
+ // GET /versions — rank: public — GET /versions
676
+ getVersions: (args) => request("GET", "/versions", { hasBody: false }, args),
677
+ // POST /versions — rank: archon — POST /versions
678
+ postVersions: (args) => request("POST", "/versions", { hasBody: true }, args),
679
+ // GET /versions/{id}/done-when — rank: public — GET /versions/:id/done-when
680
+ getVersionsIdDoneWhen: (args) => request("GET", "/versions/{id}/done-when", { hasBody: false }, args),
681
+ // POST /versions/{id}/done-when — rank: metic+archon — POST /versions/:id/done-when
682
+ postVersionsIdDoneWhen: (args) => request("POST", "/versions/{id}/done-when", { hasBody: true }, args),
683
+ // GET /versions/{id}/progress — rank: public — GET /versions/:id/progress
684
+ getVersionsIdProgress: (args) => request("GET", "/versions/{id}/progress", { hasBody: false }, args),
685
+ // GET /versions/close-suggestions — rank: public — GET /versions/close-suggestions
686
+ getVersionsCloseSuggestions: (args) => request("GET", "/versions/close-suggestions", { hasBody: false }, args),
687
+ // GET /versions/progress — rank: public — GET /versions/progress
688
+ getVersionsProgress: (args) => request("GET", "/versions/progress", { hasBody: false }, args),
689
+ },
690
+ };
691
+ }
692
+
693
+
694
+ module.exports = createClient;
695
+ module.exports.createClient = createClient;
696
+ module.exports.ApiError = ApiError;
697
+ module.exports.API_VERSION = API_VERSION;
698
+ module.exports.DEFAULT_BASE_URL = DEFAULT_BASE_URL;