@bongos/core 1.18.3 → 1.18.19

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 (471) hide show
  1. package/.bongos-core.json +1576 -286
  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 +4 -2
  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 +6 -1
  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/0144-devbox-rehome-onto-cloudbongos-plane.md +41 -0
  27. package/docs/adr/0144-federated-single-logout-backchannel.md +42 -0
  28. package/docs/adr/0145-devbox-app-branding-driven-module.md +44 -0
  29. package/docs/adr/0145-free-hosted-project-tier-isolation-and-domain-separation.md +62 -0
  30. package/docs/adr/0146-configurable-reward-mode-cost-plus-only.md +53 -0
  31. package/docs/adr/0147-standalone-live-docs-regen.md +39 -0
  32. package/docs/adr/0148-task-scoped-box-source-access.md +48 -0
  33. package/docs/adr/0149-bongos-dev-local-launcher.md +57 -0
  34. package/docs/adr/0150-box-first-boot-bringup-vendored-instances.md +68 -0
  35. package/docs/adr/0151-governance-permissions-as-atom-ranks-as-roles.md +229 -0
  36. package/docs/adr/0152-landing-gate-served-by-the-core-app.md +92 -0
  37. package/docs/adr/0152-metic-task-abandonment.md +67 -0
  38. package/docs/adr/0153-sequential-chain-runner.md +51 -0
  39. package/docs/adr/0154-goal-owner-criterion-authoring.md +86 -0
  40. package/docs/adr/README.md +10 -0
  41. package/docs/api/openapi.json +843 -17
  42. package/docs/api-reference.md +23 -10
  43. package/docs/architecture.md +4 -2
  44. package/docs/branding-contract.md +3 -1
  45. package/docs/canonical-permissions.md +21 -8
  46. package/docs/file-map.md +8 -0
  47. package/docs/onboarding/diagrams/01-task-lifecycle.mmd +2 -2
  48. package/docs/onboarding/diagrams/02-rank-ladder.mmd +3 -1
  49. package/docs/onboarding/diagrams/05-versioning.mmd +1 -3
  50. package/docs/onboarding/diagrams/assertions.json +4 -7
  51. package/docs/onboarding/drachmae-and-karma.md +3 -3
  52. package/docs/onboarding/primer.md +17 -16
  53. package/docs/onboarding/slash-commands.md +124 -0
  54. package/docs/recipes/builder-box-lifecycle.md +23 -0
  55. package/docs/recipes/devbox-app-release.md +14 -4
  56. package/docs/recipes/instance-first-run.md +16 -0
  57. package/docs/recipes/local-dev.md +81 -0
  58. package/docs/recipes/ops-gotchas.md +19 -1
  59. package/docs/recipes/overnight-builder.md +1 -1
  60. package/docs/recipes/parallel-goal-waves.md +174 -0
  61. package/docs/recipes/ship-and-regrade.md +2 -2
  62. package/docs/recipes/standalone-live-docs.md +48 -0
  63. package/docs/recipes/work-on-a-task-from-your-dev-box.md +108 -0
  64. package/migrations/003_pms.sql +6 -7
  65. package/migrations/006_pms_v2.sql +3 -31
  66. package/migrations/core_193_task_needs_rebase.sql +28 -0
  67. package/migrations/core_194_confirmed_backlog_clawback.sql +63 -0
  68. package/migrations/core_195_idea_triage_provenance.sql +57 -0
  69. package/migrations/core_196_session_reward_topup.sql +69 -0
  70. package/modules/autonomy/pollers/routine-timers.js +9 -8
  71. package/modules/builder-settings/wandering-prefs.js +61 -18
  72. package/modules/dev-box/app/README.md +73 -0
  73. package/modules/dev-box/app/assets/tray/mac-alertTemplate.png +0 -0
  74. package/modules/dev-box/app/assets/tray/mac-alertTemplate@2x.png +0 -0
  75. package/modules/dev-box/app/assets/tray/mac-busyTemplate.png +0 -0
  76. package/modules/dev-box/app/assets/tray/mac-busyTemplate@2x.png +0 -0
  77. package/modules/dev-box/app/assets/tray/mac-offTemplate.png +0 -0
  78. package/modules/dev-box/app/assets/tray/mac-offTemplate@2x.png +0 -0
  79. package/modules/dev-box/app/assets/tray/mac-onTemplate.png +0 -0
  80. package/modules/dev-box/app/assets/tray/mac-onTemplate@2x.png +0 -0
  81. package/modules/dev-box/app/assets/tray/win-alert.png +0 -0
  82. package/modules/dev-box/app/assets/tray/win-busy.png +0 -0
  83. package/modules/dev-box/app/assets/tray/win-off.png +0 -0
  84. package/modules/dev-box/app/assets/tray/win-on.png +0 -0
  85. package/modules/dev-box/app/build-resources/dmg-background.png +0 -0
  86. package/modules/dev-box/app/build-resources/dmg-background@2x.png +0 -0
  87. package/modules/dev-box/app/build-resources/icon.png +0 -0
  88. package/modules/dev-box/app/electron-builder.tmpl.yml +95 -0
  89. package/modules/dev-box/app/electron-builder.yml +95 -0
  90. package/modules/dev-box/app/package-lock.json +5291 -0
  91. package/modules/dev-box/app/package.json +30 -0
  92. package/modules/dev-box/app/renderer/app.js +319 -0
  93. package/modules/dev-box/app/renderer/index.html +45 -0
  94. package/modules/dev-box/app/renderer/styles.css +246 -0
  95. package/modules/dev-box/app/renderer/theme.generated.css +16 -0
  96. package/modules/dev-box/app/scripts/apply-dmg-backdrop.sh +82 -0
  97. package/modules/dev-box/app/scripts/dmgbuild-settings.py +39 -0
  98. package/modules/dev-box/app/scripts/gen-brand.js +138 -0
  99. package/modules/dev-box/app/scripts/gen-dmg-backdrop.py +323 -0
  100. package/modules/dev-box/app/scripts/gen-icons.js +286 -0
  101. package/modules/dev-box/app/scripts/vendor-client.js +23 -0
  102. package/modules/dev-box/app/src/box-controller.js +287 -0
  103. package/modules/dev-box/app/src/brand.generated.json +13 -0
  104. package/modules/dev-box/app/src/brand.js +16 -0
  105. package/modules/dev-box/app/src/config.js +19 -0
  106. package/modules/dev-box/app/src/gds-client.js +90 -0
  107. package/modules/dev-box/app/src/main.js +610 -0
  108. package/modules/dev-box/app/src/pairing.js +57 -0
  109. package/modules/dev-box/app/src/preload.js +29 -0
  110. package/modules/dev-box/app/src/session-store.js +58 -0
  111. package/modules/dev-box/app/src/ssh-setup.js +569 -0
  112. package/modules/dev-box/app/src/task-picker.js +70 -0
  113. package/modules/dev-box/app/src/tray.js +99 -0
  114. package/modules/dev-box/app/src/updater.js +55 -0
  115. package/modules/dev-box/app/src/vendor/bongos-client.cjs +698 -0
  116. package/modules/dev-box/app/test/unit.mjs +526 -0
  117. package/modules/dev-box/box-access.js +121 -4
  118. package/modules/dev-box/boxes.js +20 -0
  119. package/modules/dev-box/module.json +1 -1
  120. package/modules/dev-box/routes/box.js +87 -3
  121. package/modules/economy/credits.js +116 -25
  122. package/modules/economy/reward.js +8 -0
  123. package/modules/economy/streak.js +2 -1
  124. package/modules/governance/CLAUDE.md +15 -0
  125. package/modules/governance/catalog.js +419 -0
  126. package/modules/governance/config.js +174 -0
  127. package/modules/governance/db.js +125 -0
  128. package/modules/governance/migrations/governance_001_tables.sql +81 -0
  129. package/modules/governance/migrations/governance_002_seed_and_backfill.sql +103 -0
  130. package/modules/governance/migrations/governance_003_task_abandon_metic.sql +28 -0
  131. package/modules/governance/migrations/governance_004_criterion_create.sql +39 -0
  132. package/modules/governance/migrations/governance_005_resync_builder_rank_roles.sql +56 -0
  133. package/modules/governance/module.json +10 -0
  134. package/modules/governance/protected-surfaces.js +88 -0
  135. package/modules/governance/protected-surfaces.json +80 -0
  136. package/modules/governance/rank-roles.js +83 -0
  137. package/modules/governance/resolver.js +221 -0
  138. package/modules/governance/routes/governance.js +89 -0
  139. package/modules/governance/routes/role-sync.js +49 -0
  140. package/modules/governance/session-scopes.js +127 -0
  141. package/modules/governance/session-scopes.json +38 -0
  142. package/modules/hall-ui/public/atlas.css +117 -0
  143. package/modules/hall-ui/public/atlas.html +3 -114
  144. package/modules/hall-ui/public/brand-apply.js +34 -6
  145. package/modules/hall-ui/public/builders.js +187 -219
  146. package/modules/hall-ui/public/diagrams.html +2 -0
  147. package/modules/hall-ui/public/dom-utils.js +27 -0
  148. package/modules/hall-ui/public/drachmae.html +2 -0
  149. package/modules/hall-ui/public/drachmae.js +54 -1
  150. package/modules/hall-ui/public/gate.css +98 -0
  151. package/modules/hall-ui/public/gate.html +3 -95
  152. package/modules/hall-ui/public/goal-inbox.js +4 -1
  153. package/modules/hall-ui/public/goals-page.js +626 -114
  154. package/modules/hall-ui/public/goals.css +79 -1
  155. package/modules/hall-ui/public/goals.html +38 -11
  156. package/modules/hall-ui/public/hall-widgets.js +62 -52
  157. package/modules/hall-ui/public/harbor.css +123 -0
  158. package/modules/hall-ui/public/harbor.html +3 -120
  159. package/modules/hall-ui/public/index.html +11 -4
  160. package/modules/hall-ui/public/instances-panel.js +4 -1
  161. package/modules/hall-ui/public/modules.css +63 -0
  162. package/modules/hall-ui/public/modules.html +3 -60
  163. package/modules/hall-ui/public/new-project-wizard.js +7 -3
  164. package/modules/hall-ui/public/not-ready.html +2 -0
  165. package/modules/hall-ui/public/pair.css +73 -0
  166. package/modules/hall-ui/public/pair.html +3 -70
  167. package/modules/hall-ui/public/palette.js +302 -0
  168. package/modules/hall-ui/public/primer.css +13 -0
  169. package/modules/hall-ui/public/primer.html +2 -0
  170. package/modules/hall-ui/public/profile.html +2 -0
  171. package/modules/hall-ui/public/ranks.html +2 -0
  172. package/modules/hall-ui/public/roadmap.css +179 -0
  173. package/modules/hall-ui/public/roadmap.html +9 -172
  174. package/modules/hall-ui/public/roadmap.js +329 -316
  175. package/modules/hall-ui/public/sessions.css +16 -0
  176. package/modules/hall-ui/public/sessions.html +3 -13
  177. package/modules/hall-ui/public/settings.html +2 -0
  178. package/modules/hall-ui/public/settings.js +4 -4
  179. package/modules/hall-ui/public/shell.js +143 -18
  180. package/modules/hall-ui/public/style.css +231 -39
  181. package/modules/hall-ui/public/task-detail.js +347 -26
  182. package/modules/hall-ui/public/task.html +6 -1
  183. package/modules/hall-ui/public/watch.html +2 -0
  184. package/modules/hall-ui/public/work.html +8 -6
  185. package/modules/hall-ui/public/work.js +1 -1
  186. package/modules/ideas/inbox.js +61 -11
  187. package/modules/ideas/routes/inbox.js +23 -0
  188. package/modules/lifecycle/claim-eligibility.js +72 -0
  189. package/modules/lifecycle/db.js +519 -139
  190. package/modules/lifecycle/done-when.js +18 -3
  191. package/modules/lifecycle/github-push.js +19 -2
  192. package/modules/lifecycle/goal-advisory.js +114 -0
  193. package/modules/lifecycle/goal-authz.js +62 -0
  194. package/modules/lifecycle/lifecycle.js +9 -0
  195. package/modules/lifecycle/publish-reconciler.js +109 -6
  196. package/modules/lifecycle/routes/claims.js +68 -23
  197. package/modules/lifecycle/routes/done-when.js +110 -15
  198. package/modules/lifecycle/routes/goals.js +8 -38
  199. package/modules/lifecycle/routes/tasks.js +38 -6
  200. package/modules/lifecycle/ship-card.js +6 -0
  201. package/modules/onboarding/onboarding-state.js +1 -1
  202. package/modules/platform-identity/CLAUDE.md +15 -0
  203. package/modules/platform-identity/hub-device.js +147 -0
  204. package/modules/platform-identity/hub-keys.js +151 -0
  205. package/modules/platform-identity/migrations/platform_identity_001_tables.sql +114 -0
  206. package/modules/platform-identity/migrations/platform_identity_002_client_origin_index.sql +18 -0
  207. package/modules/platform-identity/migrations/platform_identity_003_project_memberships.sql +42 -0
  208. package/modules/platform-identity/migrations/platform_identity_004_projects.sql +44 -0
  209. package/modules/platform-identity/migrations/platform_identity_005_builder_activity.sql +42 -0
  210. package/modules/platform-identity/module.json +18 -0
  211. package/modules/platform-identity/platform-identity.js +531 -0
  212. package/modules/platform-identity/pollers/code-sweep.js +43 -0
  213. package/modules/platform-identity/routes/my-projects.js +140 -0
  214. package/modules/platform-identity/routes/projects.js +107 -0
  215. package/modules/platform-identity/routes/scouting.js +35 -0
  216. package/modules/platform-identity/routes/sso.js +402 -0
  217. package/modules/platform-identity/tests/platform-identity.mjs +388 -0
  218. package/modules/platform-identity/ui/.gitkeep +0 -0
  219. package/modules/security/routes/reports.js +10 -0
  220. package/modules/sessions/db.js +166 -21
  221. package/modules/sessions/module.json +1 -1
  222. package/modules/sessions/pollers/session-reward-reconcile.js +78 -0
  223. package/modules/sessions/routes/sessions.js +33 -0
  224. package/package-lock.json +2 -2
  225. package/package.json +1 -1
  226. package/public-landing/assets/anim/idle/frame_00.webp +0 -0
  227. package/public-landing/assets/anim/idle/frame_01.webp +0 -0
  228. package/public-landing/assets/anim/idle/frame_02.webp +0 -0
  229. package/public-landing/assets/anim/idle/frame_03.webp +0 -0
  230. package/public-landing/assets/anim/idle/frame_04.webp +0 -0
  231. package/public-landing/assets/anim/idle/frame_05.webp +0 -0
  232. package/public-landing/assets/anim/idle/frame_06.webp +0 -0
  233. package/public-landing/assets/anim/idle/frame_07.webp +0 -0
  234. package/public-landing/assets/anim/idle/frame_08.webp +0 -0
  235. package/public-landing/assets/anim/idle/frame_09.webp +0 -0
  236. package/public-landing/assets/anim/idle/frame_10.webp +0 -0
  237. package/public-landing/assets/anim/idle/frame_11.webp +0 -0
  238. package/public-landing/assets/anim/idle/frame_12.webp +0 -0
  239. package/public-landing/assets/anim/idle/frame_13.webp +0 -0
  240. package/public-landing/assets/anim/idle/frame_14.webp +0 -0
  241. package/public-landing/assets/anim/idle/frame_15.webp +0 -0
  242. package/public-landing/assets/anim/idle/frame_16.webp +0 -0
  243. package/public-landing/assets/anim/idle/frame_17.webp +0 -0
  244. package/public-landing/assets/anim/idle/frame_18.webp +0 -0
  245. package/public-landing/assets/anim/idle/frame_19.webp +0 -0
  246. package/public-landing/assets/anim/idle/frame_20.webp +0 -0
  247. package/public-landing/assets/anim/idle/frame_21.webp +0 -0
  248. package/public-landing/assets/anim/idle/frame_22.webp +0 -0
  249. package/public-landing/assets/anim/idle/frame_23.webp +0 -0
  250. package/public-landing/assets/anim/idle/frame_24.webp +0 -0
  251. package/public-landing/assets/anim/idle/frame_25.webp +0 -0
  252. package/public-landing/assets/anim/idle/frame_26.webp +0 -0
  253. package/public-landing/assets/anim/idle/frame_27.webp +0 -0
  254. package/public-landing/assets/anim/idle/frame_28.webp +0 -0
  255. package/public-landing/assets/anim/idle/frame_29.webp +0 -0
  256. package/public-landing/assets/anim/idle/frame_30.webp +0 -0
  257. package/public-landing/assets/anim/idle/frame_31.webp +0 -0
  258. package/public-landing/assets/anim/idle/frame_32.webp +0 -0
  259. package/public-landing/assets/anim/idle/frame_33.webp +0 -0
  260. package/public-landing/assets/anim/idle/frame_34.webp +0 -0
  261. package/public-landing/assets/anim/idle/frame_35.webp +0 -0
  262. package/public-landing/assets/anim/idle/frame_36.webp +0 -0
  263. package/public-landing/assets/anim/idle/frame_37.webp +0 -0
  264. package/public-landing/assets/anim/idle/frame_38.webp +0 -0
  265. package/public-landing/assets/anim/idle/frame_39.webp +0 -0
  266. package/public-landing/assets/anim/idle/frame_40.webp +0 -0
  267. package/public-landing/assets/anim/idle/frame_41.webp +0 -0
  268. package/public-landing/assets/anim/idle/frame_42.webp +0 -0
  269. package/public-landing/assets/anim/idle/frame_43.webp +0 -0
  270. package/public-landing/create.html +51 -58
  271. package/public-landing/gate/README.md +137 -0
  272. package/public-landing/gate/dispmaps/bar.png +0 -0
  273. package/public-landing/gate/dispmaps/flat.png +0 -0
  274. package/public-landing/gate/dispmaps/key.png +0 -0
  275. package/public-landing/gate/index.html +587 -0
  276. package/public-landing/gate/previews/cloud-bongos.jpg +0 -0
  277. package/public-landing/gate/previews/off-the-boats.jpg +0 -0
  278. package/public-landing/gate/space.css +799 -0
  279. package/public-landing/gate/space.js +1826 -0
  280. package/public-landing/gate/sprites/enter.png +0 -0
  281. package/public-landing/gate/sprites/search.png +0 -0
  282. package/public-landing/gate/sprites/terminal-blank.png +0 -0
  283. package/public-landing/gate/sprites/tile.png +0 -0
  284. package/public-landing/world/assets/clouds/cloud-island-large.png +0 -0
  285. package/public-landing/world/assets/clouds/cloud-puff.png +0 -0
  286. package/public-landing/world/assets/creatures/creature-whale-cargo.png +0 -0
  287. package/public-landing/world/assets/creatures/creature-whale-glide.png +0 -0
  288. package/public-landing/world/assets/plates/plate-clouds-near.png +0 -0
  289. package/public-landing/world/assets/plates/scene-establishing.png +0 -0
  290. package/scripts/gds/abandon.js +6 -4
  291. package/scripts/gds/api.js +10 -5
  292. package/scripts/gds/api.ps1 +26 -0
  293. package/scripts/gds/api.sh +6 -0
  294. package/scripts/gds/audit-ships.js +7 -1
  295. package/scripts/gds/backfill-sessions.js +78 -18
  296. package/scripts/gds/backup.js +23 -1
  297. package/scripts/gds/box-connect-lib.js +124 -31
  298. package/scripts/gds/box-sync.js +66 -0
  299. package/scripts/gds/box.js +225 -53
  300. package/scripts/gds/cf-tunnel.js +145 -6
  301. package/scripts/gds/claim.js +34 -3
  302. package/scripts/gds/cli-lib.js +161 -27
  303. package/scripts/gds/code.js +6 -2
  304. package/scripts/gds/deploy-divergence.js +209 -0
  305. package/scripts/gds/dev-lib.js +309 -0
  306. package/scripts/gds/dev.js +322 -0
  307. package/scripts/gds/doctor.js +90 -61
  308. package/scripts/gds/fetch-art-key.js +1 -1
  309. package/scripts/gds/fetch-sound-prefs.js +2 -2
  310. package/scripts/gds/fitness.js +228 -12
  311. package/scripts/gds/gds-db-backup.service +16 -1
  312. package/scripts/gds/gds-db-offsite.service +9 -1
  313. package/scripts/gds/gen-api-client.js +1 -1
  314. package/scripts/gds/gen-api-docs.js +36 -14
  315. package/scripts/gds/gen-diagrams.js +45 -28
  316. package/scripts/gds/gen-file-map.js +2 -1
  317. package/scripts/gds/gen-freshness.js +32 -0
  318. package/scripts/gds/gen-repo-map.js +3 -2
  319. package/scripts/gds/gen-session-index.js +14 -5
  320. package/scripts/gds/hooks/pre-push.js +2 -2
  321. package/scripts/gds/init.js +60 -3
  322. package/scripts/gds/install-git-hooks.js +1 -1
  323. package/scripts/gds/key-card.js +15 -6
  324. package/scripts/gds/key-status.js +1 -1
  325. package/scripts/gds/linkify-refs.js +35 -9
  326. package/scripts/gds/login.js +16 -1
  327. package/scripts/gds/paste-token.js +7 -1
  328. package/scripts/gds/preflight.js +126 -0
  329. package/scripts/gds/provision.js +123 -12
  330. package/scripts/gds/publish-manifest.js +7 -1
  331. package/scripts/gds/reauth.js +7 -3
  332. package/scripts/gds/regen-instance-docs.js +47 -0
  333. package/scripts/gds/run-unit-tests.js +4 -2
  334. package/scripts/gds/seed-bongos-v1-seo-tasks.js +104 -0
  335. package/scripts/gds/seed-bv1-profiles-tasks.js +126 -0
  336. package/scripts/gds/sequence.js +425 -0
  337. package/scripts/gds/session-cost.js +10 -1
  338. package/scripts/gds/setup.js +31 -5
  339. package/scripts/gds/shell.js +5 -3
  340. package/scripts/gds/ship.js +319 -29
  341. package/scripts/gds/smoke-gds.js +139 -8
  342. package/scripts/gds/start.js +171 -22
  343. package/scripts/gds/status.js +1 -1
  344. package/scripts/gds/triage.js +10 -9
  345. package/scripts/gds/upgrade.js +124 -2
  346. package/scripts/migrate.sh +99 -14
  347. package/scripts/status-mirror-sync.js +114 -84
  348. package/src/bongos/api-errors.js +1 -0
  349. package/src/bongos/auth.js +447 -102
  350. package/src/bongos/db-kernel.js +27 -0
  351. package/src/bongos/db.js +39 -0
  352. package/src/bongos/module-scope-map.js +27 -1
  353. package/src/bongos/permission-path-check.js +136 -102
  354. package/src/bongos/repo-info.js +47 -11
  355. package/src/bongos/route-rank-check.js +429 -46
  356. package/src/bongos/routes/_helpers.js +12 -1
  357. package/src/bongos/routes/auth.js +219 -2
  358. package/src/bongos/routes/backup.js +58 -2
  359. package/src/bongos/routes/me.js +35 -1
  360. package/src/bongos/serve-internal.js +84 -15
  361. package/src/branding.js +32 -0
  362. package/src/instance-config.js +30 -0
  363. package/src/module-api.js +124 -1
  364. package/src/platform-server.js +86 -9
  365. package/tests/abandon_task.mjs +59 -3
  366. package/tests/api_cli_flags.mjs +53 -0
  367. package/tests/auth_page_gate.mjs +13 -0
  368. package/tests/backfill_sessions.mjs +127 -1
  369. package/tests/backup_cli.mjs +54 -0
  370. package/tests/bongos_box_connect.mjs +77 -0
  371. package/tests/box_access.mjs +130 -1
  372. package/tests/box_credential.mjs +125 -0
  373. package/tests/box_host_keys.mjs +24 -0
  374. package/tests/box_infra_resolve.mjs +149 -0
  375. package/tests/box_scope_session.mjs +6 -2
  376. package/tests/box_sync.mjs +55 -0
  377. package/tests/box_task_scope.mjs +99 -0
  378. package/tests/branding.mjs +12 -0
  379. package/tests/cf_ruleset_preflight.mjs +142 -0
  380. package/tests/cf_tunnel.mjs +37 -0
  381. package/tests/claim_gate_rebase.mjs +98 -0
  382. package/tests/clawback_confirmed_backlog.mjs +103 -0
  383. package/tests/cli_lib_formatters.mjs +20 -0
  384. package/tests/confirm_attribution.mjs +30 -46
  385. package/tests/credit_grant.mjs +198 -10
  386. package/tests/criterion_authoring_gate.mjs +272 -0
  387. package/tests/criterion_progress.mjs +33 -1
  388. package/tests/dev_lib.mjs +253 -0
  389. package/tests/devbox_artifact_gate.mjs +75 -0
  390. package/tests/devbox_dmg_backdrop.mjs +137 -0
  391. package/tests/devbox_icons.mjs +304 -0
  392. package/tests/devbox_installer_brand.mjs +232 -0
  393. package/tests/devbox_key_register.mjs +234 -0
  394. package/tests/docs_openapi_route.mjs +110 -0
  395. package/tests/doctor_hooks.mjs +141 -0
  396. package/tests/extract_json.mjs +140 -0
  397. package/tests/fitness.mjs +89 -0
  398. package/tests/gen_freshness.mjs +96 -0
  399. package/tests/goal_advisory.mjs +251 -0
  400. package/tests/goal_criterion_confirm_ui.mjs +269 -0
  401. package/tests/goal_routes.mjs +59 -4
  402. package/tests/goal_tier.mjs +12 -3
  403. package/tests/governance_catalog.mjs +129 -0
  404. package/tests/governance_claim_eligibility.mjs +262 -0
  405. package/tests/governance_config.mjs +187 -0
  406. package/tests/governance_ownership_scope.mjs +410 -0
  407. package/tests/governance_page_gates.mjs +324 -0
  408. package/tests/governance_parity.mjs +336 -0
  409. package/tests/governance_principals.mjs +232 -0
  410. package/tests/governance_protected_surfaces.mjs +208 -0
  411. package/tests/governance_require_permission.mjs +223 -0
  412. package/tests/governance_resolver.mjs +84 -0
  413. package/tests/governance_role_sync.mjs +231 -0
  414. package/tests/governance_seed.mjs +127 -0
  415. package/tests/governance_session_scope.mjs +434 -0
  416. package/tests/governance_vanilla_boot.mjs +203 -0
  417. package/tests/grade_attribution.mjs +7 -7
  418. package/tests/hall_audit.mjs +223 -0
  419. package/tests/hall_nav.mjs +191 -0
  420. package/tests/hall_palette.mjs +206 -0
  421. package/tests/hall_signout.mjs +124 -0
  422. package/tests/hook_user_agents.mjs +10 -0
  423. package/tests/idea_triage.mjs +162 -0
  424. package/tests/idp_device_exchange.mjs +93 -0
  425. package/tests/init.mjs +51 -0
  426. package/tests/instance_config.mjs +65 -0
  427. package/tests/instance_mismatch_guard.mjs +23 -6
  428. package/tests/instance_release_config.mjs +104 -0
  429. package/tests/linkify_refs.mjs +15 -2
  430. package/tests/migrate_root_resolution.mjs +124 -1
  431. package/tests/module_contributions.mjs +55 -0
  432. package/tests/module_loader.mjs +10 -5
  433. package/tests/module_scope_active_claims.mjs +94 -0
  434. package/tests/needs_rebase.mjs +92 -0
  435. package/tests/one_active_claim_per_session.mjs +76 -0
  436. package/tests/override_attribution.mjs +10 -8
  437. package/tests/override_request_ownership.mjs +8 -4
  438. package/tests/parse_cookie_decode.mjs +42 -0
  439. package/tests/pay_on_land.mjs +129 -0
  440. package/tests/platform_boot.mjs +100 -1
  441. package/tests/post_login_landing.mjs +42 -0
  442. package/tests/preflight_checks.mjs +72 -0
  443. package/tests/provision.mjs +132 -7
  444. package/tests/publish_branch_route.mjs +53 -0
  445. package/tests/publish_reconciler.mjs +187 -2
  446. package/tests/repo_info_binding.mjs +248 -0
  447. package/tests/reward_gate.mjs +11 -2
  448. package/tests/reward_mode_cost_plus_only.mjs +116 -0
  449. package/tests/reward_mode_surfacing.mjs +168 -0
  450. package/tests/route_permission_check.mjs +301 -0
  451. package/tests/route_rank_check.mjs +254 -12
  452. package/tests/route_validation.mjs +30 -0
  453. package/tests/sequence.mjs +267 -0
  454. package/tests/session_digest.mjs +44 -0
  455. package/tests/session_index.mjs +18 -6
  456. package/tests/session_records.mjs +39 -1
  457. package/tests/session_reward_on_land.mjs +381 -0
  458. package/tests/session_reward_reconcile.mjs +229 -0
  459. package/tests/ship_api_client_pathspec.mjs +100 -0
  460. package/tests/ship_base_flag.mjs +93 -0
  461. package/tests/ship_ci_deploy.mjs +80 -3
  462. package/tests/ship_upstream_deletion.mjs +57 -0
  463. package/tests/smoke_target.mjs +233 -0
  464. package/tests/start_env_guard.mjs +87 -0
  465. package/tests/start_rebase_warning.mjs +103 -0
  466. package/tests/status_mirror_sync.mjs +122 -0
  467. package/tests/stop_refcheck.mjs +19 -1
  468. package/tests/task_goal_link.mjs +15 -6
  469. package/tests/upgrade.mjs +139 -0
  470. package/tests/web_admission_status.mjs +162 -0
  471. package/tests/write_validation_gaps.mjs +110 -0
@@ -114,8 +114,12 @@ function createClient(opts = {}) {
114
114
  postAuthAppPairPoll: (args) => request("POST", "/auth/app-pair/poll", { hasBody: true }, args),
115
115
  // POST /auth/app-pair/start — rank: public — POST /auth/app-pair/start
116
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),
117
119
  // POST /auth/cli-token/issue — rank: any-builder — POST /auth/cli-token/issue
118
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),
119
123
  // POST /auth/device/poll — rank: public — POST /auth/device/poll
120
124
  postAuthDevicePoll: (args) => request("POST", "/auth/device/poll", { hasBody: true }, args),
121
125
  // POST /auth/device/start — rank: public — POST /auth/device/start
@@ -132,6 +136,8 @@ function createClient(opts = {}) {
132
136
  postAuthRevoke: (args) => request("POST", "/auth/revoke", { hasBody: true }, args),
133
137
  // POST /auth/revoke-all — rank: archon — POST /auth/revoke-all
134
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),
135
141
  // GET /auth/web/callback — rank: public — GET /auth/web/callback
136
142
  getAuthWebCallback: (args) => request("GET", "/auth/web/callback", { hasBody: false }, args),
137
143
  // GET /auth/web/start — rank: public — GET /auth/web/start
@@ -180,6 +186,8 @@ function createClient(opts = {}) {
180
186
  getBoxManagedSettings: (args) => request("GET", "/box/managed-settings", { hasBody: false }, args),
181
187
  // GET /box/me — rank: any-builder — GET /box/me
182
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),
183
191
  // GET /box/source-access — rank: any-builder — GET /box/source-access
184
192
  getBoxSourceAccess: (args) => request("GET", "/box/source-access", { hasBody: false }, args),
185
193
  // GET /box/ssh-key — rank: any-builder — GET /box/ssh-key
@@ -247,12 +255,6 @@ function createClient(opts = {}) {
247
255
  // POST /cost — rank: any-builder — POST /cost
248
256
  postCost: (args) => request("POST", "/cost", { hasBody: true }, args),
249
257
  },
250
- "demo": {
251
- // GET /demo/health — rank: public — GET /demo/health
252
- getDemoHealth: (args) => request("GET", "/demo/health", { hasBody: false }, args),
253
- // POST /demo/ping — rank: metic+archon — POST /demo/ping
254
- postDemoPing: (args) => request("POST", "/demo/ping", { hasBody: true }, args),
255
- },
256
258
  "dependencies": {
257
259
  // DELETE /dependencies — rank: archon — DELETE /dependencies
258
260
  deleteDependencies: (args) => request("DELETE", "/dependencies", { hasBody: false }, args),
@@ -279,6 +281,12 @@ function createClient(opts = {}) {
279
281
  // POST /gate-approvals/{pr}/approve — rank: archon — POST /gate-approvals/:pr/approve
280
282
  postGateApprovalsPrApprove: (args) => request("POST", "/gate-approvals/{pr}/approve", { hasBody: true }, args),
281
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
+ },
282
290
  "goals": {
283
291
  // GET /goals — rank: any-builder — GET /goals
284
292
  getGoals: (args) => request("GET", "/goals", { hasBody: false }, args),
@@ -346,6 +354,8 @@ function createClient(opts = {}) {
346
354
  getInboxId: (args) => request("GET", "/inbox/{id}", { hasBody: false }, args),
347
355
  // PATCH /inbox/{id} — rank: metic+archon — PATCH /inbox/:id
348
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),
349
359
  },
350
360
  "instance": {
351
361
  // GET /instance — rank: public — GET /instance
@@ -378,16 +388,6 @@ function createClient(opts = {}) {
378
388
  getMeAchievements: (args) => request("GET", "/me/achievements", { hasBody: false }, args),
379
389
  // POST /me/anthropic-link — rank: any-builder — POST /me/anthropic-link
380
390
  postMeAnthropicLink: (args) => request("POST", "/me/anthropic-link", { hasBody: true }, args),
381
- // GET /me/art-key — rank: any-builder — GET /me/art-key
382
- getMeArtKey: (args) => request("GET", "/me/art-key", { hasBody: false }, args),
383
- // DELETE /me/art-key/own — rank: any-builder — DELETE /me/art-key/own
384
- deleteMeArtKeyOwn: (args) => request("DELETE", "/me/art-key/own", { hasBody: false }, args),
385
- // GET /me/art-key/own — rank: any-builder — GET /me/art-key/own
386
- getMeArtKeyOwn: (args) => request("GET", "/me/art-key/own", { hasBody: false }, args),
387
- // PUT /me/art-key/own — rank: any-builder — PUT /me/art-key/own
388
- putMeArtKeyOwn: (args) => request("PUT", "/me/art-key/own", { hasBody: true }, args),
389
- // POST /me/art-key/storage-init — rank: archon — POST /me/art-key/storage-init
390
- postMeArtKeyStorageInit: (args) => request("POST", "/me/art-key/storage-init", { hasBody: true }, args),
391
391
  // PATCH /me/disciplines — rank: any-builder — PATCH /me/disciplines
392
392
  patchMeDisciplines: (args) => request("PATCH", "/me/disciplines", { hasBody: true }, args),
393
393
  // GET /me/display-name — rank: any-builder — GET /me/display-name
@@ -432,6 +432,10 @@ function createClient(opts = {}) {
432
432
  getMemoryBfgBuildersBuilderIdFiles: (args) => request("GET", "/memory/bfg/builders/{builderId}/files", { hasBody: false }, args),
433
433
  // POST /memory/builders/{builderId}/bfg-write — rank: bfg-principal — POST /memory/builders/:builderId/bfg-write
434
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),
435
439
  // DELETE /memory/file — rank: any-builder — DELETE /memory/file
436
440
  deleteMemoryFile: (args) => request("DELETE", "/memory/file", { hasBody: true }, args),
437
441
  // GET /memory/file — rank: any-builder — GET /memory/file
@@ -451,12 +455,38 @@ function createClient(opts = {}) {
451
455
  // GET /modules/submissions — rank: metic+archon — GET /modules/submissions
452
456
  getModulesSubmissions: (args) => request("GET", "/modules/submissions", { hasBody: false }, args),
453
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
+ },
454
472
  "overrideRequests": {
455
473
  // GET /override-requests — rank: archon — GET /override-requests
456
474
  getOverrideRequests: (args) => request("GET", "/override-requests", { hasBody: false }, args),
457
475
  // POST /override-requests/{id}/decide — rank: archon — POST /override-requests/:id/decide
458
476
  postOverrideRequestsIdDecide: (args) => request("POST", "/override-requests/{id}/decide", { hasBody: true }, args),
459
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
+ },
460
490
  "provisioning": {
461
491
  // GET /provisioning/fleet — rank: archon — GET /provisioning/fleet
462
492
  getProvisioningFleet: (args) => request("GET", "/provisioning/fleet", { hasBody: false }, args),
@@ -523,6 +553,10 @@ function createClient(opts = {}) {
523
553
  // GET /public/versions — rank: public — GET /public/versions
524
554
  getPublicVersions: (args) => request("GET", "/public/versions", { hasBody: false }, args),
525
555
  },
556
+ "scouting": {
557
+ // GET /scouting — rank: archon — GET /scouting
558
+ getScouting: (args) => request("GET", "/scouting", { hasBody: false }, args),
559
+ },
526
560
  "search": {
527
561
  // POST /search — rank: any-builder — POST /search
528
562
  postSearch: (args) => request("POST", "/search", { hasBody: true }, args),
@@ -530,12 +564,26 @@ function createClient(opts = {}) {
530
564
  postSearchMark: (args) => request("POST", "/search/mark", { hasBody: true }, args),
531
565
  },
532
566
  "security": {
567
+ // GET /security/adr — rank: metic+archon — GET /security/adr
568
+ getSecurityAdr: (args) => request("GET", "/security/adr", { hasBody: false }, args),
533
569
  // GET /security/docs — rank: archon — GET /security/docs
534
570
  getSecurityDocs: (args) => request("GET", "/security/docs", { hasBody: false }, args),
535
571
  // POST /security/docs — rank: archon — POST /security/docs
536
572
  postSecurityDocs: (args) => request("POST", "/security/docs", { hasBody: true }, args),
537
573
  // GET /security/docs/{slug} — rank: archon — GET /security/docs/:slug
538
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),
539
587
  },
540
588
  "session": {
541
589
  // POST /session/optimize — rank: any-builder — POST /session/optimize
@@ -551,6 +599,22 @@ function createClient(opts = {}) {
551
599
  // GET /sessions/search — rank: archon — GET /sessions/search
552
600
  getSessionsSearch: (args) => request("GET", "/sessions/search", { hasBody: false }, args),
553
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
+ },
554
618
  "tasks": {
555
619
  // GET /tasks — rank: any-builder — GET /tasks
556
620
  getTasks: (args) => request("GET", "/tasks", { hasBody: false }, args),
@@ -560,7 +624,7 @@ function createClient(opts = {}) {
560
624
  getTasksId: (args) => request("GET", "/tasks/{id}", { hasBody: false }, args),
561
625
  // PATCH /tasks/{id} — rank: metic+archon — PATCH /tasks/:id
562
626
  patchTasksId: (args) => request("PATCH", "/tasks/{id}", { hasBody: true }, args),
563
- // POST /tasks/{id}/abandon — rank: archon — POST /tasks/:id/abandon
627
+ // POST /tasks/{id}/abandon — rank: metic+archon — POST /tasks/:id/abandon
564
628
  postTasksIdAbandon: (args) => request("POST", "/tasks/{id}/abandon", { hasBody: true }, args),
565
629
  // POST /tasks/{id}/attest-gate — rank: any-builder — POST /tasks/:id/attest-gate
566
630
  postTasksIdAttestGate: (args) => request("POST", "/tasks/{id}/attest-gate", { hasBody: true }, args),
@@ -614,7 +678,7 @@ function createClient(opts = {}) {
614
678
  postVersions: (args) => request("POST", "/versions", { hasBody: true }, args),
615
679
  // GET /versions/{id}/done-when — rank: public — GET /versions/:id/done-when
616
680
  getVersionsIdDoneWhen: (args) => request("GET", "/versions/{id}/done-when", { hasBody: false }, args),
617
- // POST /versions/{id}/done-when — rank: archon — POST /versions/:id/done-when
681
+ // POST /versions/{id}/done-when — rank: metic+archon — POST /versions/:id/done-when
618
682
  postVersionsIdDoneWhen: (args) => request("POST", "/versions/{id}/done-when", { hasBody: true }, args),
619
683
  // GET /versions/{id}/progress — rank: public — GET /versions/:id/progress
620
684
  getVersionsIdProgress: (args) => request("GET", "/versions/{id}/progress", { hasBody: false }, args),
@@ -16,7 +16,8 @@ export interface GetAccessRequestsStatusResponse { github_login: unknown; status
16
16
  export interface GetAchievementsResponse { achievements: unknown }
17
17
  export interface GetAuditLogResponse { rows: unknown; page: unknown }
18
18
  export interface GetAuthAppPairInfoResponse { pair_code: unknown; device_name: unknown; platform: unknown; status: unknown }
19
- export interface GetBackupStatusResponse { backup_dir: unknown; db_name: unknown; latest_dump: unknown; trigger_running: unknown }
19
+ export interface GetAuthWebAdmissionStatusResponse { admitted: boolean }
20
+ export interface GetBackupStatusResponse { backup_dir: unknown; db_name: unknown; latest_dump: unknown; stale: unknown; age_hours: unknown; trigger_running: unknown }
20
21
  export interface GetBlockersIdResponse { blocker: unknown }
21
22
  export interface GetBlockersResponse { blockers: unknown; page: unknown }
22
23
  export interface GetBoxMeResponse { box: unknown; open_intent: unknown; cost: unknown }
@@ -30,9 +31,9 @@ export interface GetBuildersIdOnboardingResponse { builder_id: unknown; onboardi
30
31
  export interface GetBuildersIdProfileResponse { builder: unknown; shipped_count: unknown; recent_ships: unknown; achievements: unknown }
31
32
  export interface GetBuildersMePendingRankChangeResponse { change: unknown; greeting?: unknown }
32
33
  export interface GetBuildersRosterResponse { builders: unknown; stale_hours: unknown }
33
- export interface GetDemoHealthResponse { module: unknown; ok: boolean; coreVersion: unknown }
34
34
  export interface GetDiscordChannelsPlanResponse { ok: boolean; guild_id: unknown; op_count: unknown; ops: unknown; warnings: unknown }
35
35
  export interface GetDoneWhenPendingReviewResponse { criteria: unknown; count: unknown }
36
+ export interface GetGithubReposResponse { repos: unknown }
36
37
  export interface GetGoalsIdConflictsResponse { ok: boolean; goal_id: unknown; conflicts: unknown; cross_goals_considered: unknown }
37
38
  export interface GetGoalsIdRequestsResponse { requests: unknown }
38
39
  export interface GetGoalsIdResponse { goal: unknown; members: unknown; criteria: unknown; dependencies: unknown }
@@ -45,7 +46,6 @@ export interface GetInboxResponse { ideas: unknown; open_count: unknown }
45
46
  export interface GetLeaderboardResponse { leaderboard: unknown; page: unknown }
46
47
  export interface GetLearningsResponse { learnings: unknown }
47
48
  export interface GetMeAchievementsResponse { unlocked: unknown }
48
- export interface GetMeArtKeyOwnResponse { set: unknown; last4: unknown; set_at: unknown; storage_configured: unknown }
49
49
  export interface GetMeDisplayNameResponse { display_name: unknown; max_length: unknown }
50
50
  export interface GetMeEventSoundPrefsResponse { prefs: unknown; effective: unknown; effective_wav: unknown; events: unknown }
51
51
  export interface GetMeRecentShipsResponse { ships: unknown }
@@ -53,11 +53,17 @@ export interface GetMeSkillPrefsResponse { prefs: unknown; effective: unknown; d
53
53
  export interface GetMeSoundPrefsResponse { prefs: unknown; effective: unknown; effective_map: unknown; volume: unknown; defaults: unknown; known_sounds: unknown }
54
54
  export interface GetMemoryBfgBuildersBuilderIdFileResponse { builder_id: unknown; bfg_read: boolean; path: unknown; content: unknown; sha256: unknown; byte_len: unknown; mtime: unknown; updated_at: unknown; created_at: unknown }
55
55
  export interface GetMemoryBfgBuildersBuilderIdFilesResponse { builder_id: unknown; bfg_read: boolean; count: unknown; files: unknown }
56
+ export interface GetMemoryBuildersBuilderIdFileResponse { builder_id: unknown; forensic: boolean; path: unknown; content: unknown; sha256: unknown; byte_len: unknown; mtime: unknown; updated_at: unknown; created_at: unknown }
57
+ export interface GetMemoryBuildersBuilderIdFilesResponse { builder_id: unknown; forensic: boolean; count: unknown; files: unknown }
56
58
  export interface GetMemoryFileResponse { builder_id: unknown; path: unknown; content: unknown; sha256: unknown; byte_len: unknown; mtime: unknown; updated_at: unknown; created_at: unknown }
57
59
  export interface GetMemoryFilesResponse { builder_id: unknown; count: unknown; files: unknown }
58
60
  export interface GetModulesResponse { modules: unknown; own_built: unknown; core_loaded: unknown; submit_pipeline_live: boolean }
59
61
  export interface GetModulesSubmissionsResponse { submissions: unknown }
62
+ export interface GetMyProjectsInvitesResponse { invites: unknown }
63
+ export interface GetMyProjectsResponse { owned: unknown; building: unknown }
60
64
  export interface GetOverrideRequestsResponse { requests: unknown }
65
+ export interface GetProjectsFeaturedResponse { projects: unknown }
66
+ export interface GetProjectsResponse { projects: unknown }
61
67
  export interface GetProvisioningFleetResponse { instances: unknown }
62
68
  export interface GetProvisioningGithubAppStatusResponse { ok: boolean; status: unknown; ready: unknown; terminal: unknown; domain: unknown; instance_status: unknown }
63
69
  export interface GetProvisioningHealthResponse { module: unknown; ok: boolean; coreVersion: unknown }
@@ -77,11 +83,14 @@ export interface GetPublicRepoInfoResponse { blob_base: unknown; tree_base: unkn
77
83
  export interface GetPublicTasksIdResponse { task: unknown }
78
84
  export interface GetPublicUptimeResponse { services: unknown }
79
85
  export interface GetPublicVersionsResponse { versions: unknown; page: PageInfo }
86
+ export interface GetScoutingResponse { builders: unknown }
80
87
  export interface GetSecurityDocsResponse { docs: unknown }
81
88
  export interface GetSecurityDocsSlugResponse { doc: unknown }
89
+ export interface GetSecurityReportsResponse { reports: unknown; bounty_table: unknown; statuses: unknown }
82
90
  export interface GetSessionsIdResponse { session: unknown }
83
91
  export interface GetSessionsMineResponse { sessions: unknown; count: unknown }
84
92
  export interface GetSessionsSearchResponse { sessions: unknown; count: unknown; total: unknown; totals: unknown; limit: unknown; offset: unknown }
93
+ export interface GetSsoPubkeyResponse { alg: unknown; format: unknown; public_key_b64: unknown }
85
94
  export interface GetTasksClaimableResponse { claimable: unknown; active_claims: unknown }
86
95
  export interface GetTasksIdCriteriaResponse { criteria: unknown }
87
96
  export interface GetTasksIdDependenciesResponse { dependencies: unknown; dependents: unknown }
@@ -106,7 +115,7 @@ export interface PatchGoalsIdMembersBuilderIdRequest { role: string }
106
115
  export interface PatchGoalsIdMembersBuilderIdResponse { ok: boolean; member: unknown; changed: boolean }
107
116
  export interface PatchGoalsIdVisibilityRequest { visibility: string }
108
117
  export interface PatchGoalsIdVisibilityResponse { ok: boolean; goal: unknown }
109
- export interface PatchInboxIdRequest { status?: "open" | "promoted" | "discarded" | "merged"; kind?: string; promoted_to_task_id?: number; reviewed_at?: unknown }
118
+ export interface PatchInboxIdRequest { status?: "open" | "promoted" | "discarded" | "merged"; kind?: string; promoted_to_task_id?: number; reviewed_at?: unknown; merged_into_idea_id?: number; triage_note?: string }
110
119
  export interface PatchInboxIdResponse { idea: unknown }
111
120
  export interface PatchMeDisciplinesRequest { preferred_disciplines: string[] }
112
121
  export interface PatchMeDisciplinesResponse { builder: unknown; onboarding: unknown }
@@ -114,6 +123,8 @@ export interface PatchMeDisplayNameResponse { display_name: unknown; max_length:
114
123
  export interface PatchMeEventSoundPrefsResponse { prefs: unknown; effective: unknown; effective_wav: unknown; events: unknown }
115
124
  export interface PatchMeSkillPrefsResponse { prefs: unknown; effective: unknown; defaults: unknown; known_skills: unknown; allowed_models: unknown }
116
125
  export interface PatchMeSoundPrefsResponse { prefs: unknown; effective: unknown; effective_map: unknown; volume: unknown; defaults: unknown; known_sounds: unknown }
126
+ export interface PatchProjectsIdFeaturedRequest { featured: boolean }
127
+ export interface PatchProjectsIdFeaturedResponse { project: unknown }
117
128
  export interface PatchTasksIdRequest { kind?: string; discipline?: string; requires_rank?: string; module_key?: string; goal_id?: number; parent_task_id?: StringifiableId; parallel_safe?: unknown; newcomer_friendly?: boolean; xenos_claimable?: boolean; security_sensitive?: boolean; automation_tag?: string }
118
129
  export interface PostAccessRequestsRequest { github_login: string; display_name?: string; note?: string }
119
130
  export interface PostAccessRequestsResponse { ok: boolean; request?: unknown; already_pending?: boolean }
@@ -122,7 +133,11 @@ export interface PostAuthAppPairApproveResponse { ok: boolean }
122
133
  export interface PostAuthAppPairPollRequest { poll_token: string }
123
134
  export interface PostAuthAppPairStartRequest { device_name?: string; platform?: string }
124
135
  export interface PostAuthAppPairStartResponse { pair_code: unknown; poll_token: unknown; verify_path: unknown; verify_url: unknown; expires_in: unknown; interval: unknown }
136
+ export interface PostAuthBackchannelLogoutRequest { logout_token: string }
137
+ export interface PostAuthBackchannelLogoutResponse { ok: boolean }
125
138
  export interface PostAuthCliTokenIssueResponse { ok: boolean; token: unknown; expires_at: unknown; builder_login: unknown; paste_command: unknown }
139
+ export interface PostAuthDeviceExchangeRequest { assertion: string }
140
+ export interface PostAuthDeviceExchangeResponse { token: unknown; builder: unknown }
126
141
  export interface PostAuthDevicePollRequest { device_code: string }
127
142
  export interface PostAuthDiscordUnlinkResponse { ok: boolean; unlinked: unknown }
128
143
  export interface PostAuthLogoutResponse { ok: boolean }
@@ -157,17 +172,17 @@ export interface PostClaimsBatchValidateRequest { task_ids: unknown[] }
157
172
  export interface PostClaimsIdReleaseOnBehalfRequest { reason: string }
158
173
  export interface PostClaimsIdResolveRequest { outcome: "shipped" | "abandoned" | "partial"; notes_md?: string; value_summary?: string; verification?: Record<string, unknown>; force?: boolean; committed_files?: string[]; sandbox_review?: Record<string, unknown> }
159
174
  export interface PostClaimsRequest { task_id: StringifiableId; worktree_name?: string; head_sha?: string; bind_session?: boolean; enforce_touches?: boolean }
160
- export interface PostClaimsResponse { claim: unknown; task: unknown; just_unlocked: unknown; overlap_warning: unknown }
175
+ export interface PostClaimsResponse { claim: unknown; task: unknown; just_unlocked: unknown; overlap_warning: unknown; reward: unknown }
161
176
  export interface PostCostRequest { task_id?: number; amount_usd: number; category: string; description?: string; source?: string; source_ref?: string; recorded_at?: string; fresh_input_usd?: number; cache_read_usd?: number; cache_write_usd?: number; output_usd?: number; builder_id?: number; skill_name?: string }
162
177
  export interface PostCostResponse { skipped?: boolean; reason?: unknown; id?: unknown; recorded_at?: unknown }
163
- export interface PostDemoPingRequest { note?: string }
164
- export interface PostDemoPingResponse { module: unknown; ok: boolean; ping: unknown }
165
178
  export interface PostDependenciesResponse { ok: boolean; dependency: unknown }
166
179
  export interface PostDiscordChannelsReconcileResponse { ok: boolean; applied: unknown; failed: unknown; total: unknown; warnings: unknown }
167
180
  export interface PostDoneWhenCriterionIdSatisfyRequest { satisfied_by_task_id?: number }
168
181
  export interface PostDoneWhenCriterionIdSatisfyResponse { criterion: unknown; goal_achieved: unknown; goal: unknown }
169
182
  export interface PostDoneWhenCriterionIdUnsatisfyResponse { criterion: unknown }
170
183
  export interface PostGateApprovalsPrApproveResponse { ok: boolean; pr: unknown; already_clear?: boolean; message: unknown; head_sha?: unknown; status_set?: boolean; recheck?: unknown }
184
+ export interface PostGithubReposRequest { name: string }
185
+ export interface PostGithubReposResponse { repo: unknown }
171
186
  export interface PostGoalsIdArchiveResponse { ok: boolean; goal: unknown }
172
187
  export interface PostGoalsIdConflictsResolveRequest { action: string; note?: string; touches?: string[]; first_task_id?: StringifiableId; then_task_id?: StringifiableId; task_id?: StringifiableId }
173
188
  export interface PostGoalsIdConflictsResolveResponse { ok: boolean; action: unknown; first_task_id?: unknown; then_task_id?: unknown; dependencies?: unknown; claim?: unknown; task_id?: unknown; touches?: unknown; requires_rank?: unknown }
@@ -195,17 +210,17 @@ export interface PostGoalsReorderRequest { version_id: string; ordered_ids: numb
195
210
  export interface PostGoalsReorderResponse { ok: boolean; goals: unknown }
196
211
  export interface PostGoalsRequest { version_id: string; title: string; description?: string; scope_modules?: string[]; succeeds_goal_id?: number }
197
212
  export interface PostGoalsResponse { ok: boolean; goal: unknown; succeeds_goal_id: unknown }
213
+ export interface PostInboxIdRatifyRequest { notes_md?: string }
198
214
  export interface PostInboxRequest { title: string; body_md?: string; kind?: string; suggested_version?: string; suggested_priority?: number }
199
215
  export interface PostInboxResponse { idea: unknown; open_count: unknown; kind_auto: unknown }
200
216
  export interface PostLearningsRequest { title: string; body_md: string; tags?: string[]; related_files?: string[]; source?: string; source_ref?: string; task_id?: number }
201
217
  export interface PostLearningsResponse { skipped?: boolean; reason?: unknown; learning?: unknown }
202
218
  export interface PostLlmCacheLookupRequest { cache_key?: unknown; tokens_saved_est?: unknown }
203
- export interface PostLlmCacheLookupResponse { hit: unknown; result: unknown }
219
+ export interface PostLlmCacheLookupResponse { hit: boolean; result: unknown }
204
220
  export interface PostLlmCacheStoreRequest { spec?: unknown; result_stdout?: unknown; result_cost_usd?: unknown }
205
- export interface PostLlmCacheStoreResponse { stored: unknown; result_cost_usd?: unknown }
221
+ export interface PostLlmCacheStoreResponse { stored: boolean; result_cost_usd?: unknown }
206
222
  export interface PostMeAnthropicLinkRequest { anthropic_email: string; anthropic_user_id: string }
207
223
  export interface PostMeAnthropicLinkResponse { linked: unknown }
208
- export interface PostMeArtKeyStorageInitResponse { ok: boolean; created: unknown; reason: unknown; storage_configured: unknown }
209
224
  export interface PostMemoryBuildersBuilderIdBfgWriteRequest { kind?: string; slug?: string; title?: string; body_md?: string; rationale?: string; karma_delta?: unknown }
210
225
  export interface PostMemoryBuildersBuilderIdBfgWriteResponse { ok: boolean; builder_id: unknown; path: unknown; kind: unknown; author: unknown; audit_id: unknown; karma_id: unknown; sha256: unknown; byte_len: unknown; updated_at: unknown }
211
226
  export interface PostMemorySyncRequest { files?: unknown[] }
@@ -213,7 +228,15 @@ export interface PostModulesKeyEnableRequest { enabled?: unknown }
213
228
  export interface PostModulesKeyEnableResponse { ok: boolean; key: unknown; enabled: unknown; note: unknown }
214
229
  export interface PostModulesKeySubmitRequest { signed_by?: string }
215
230
  export interface PostModulesKeySubmitResponse { ok: boolean; submission: unknown }
231
+ export interface PostMyProjectsClientIdLeaveResponse { ok: boolean; left: unknown }
232
+ export interface PostMyProjectsInvitesClientIdAcceptResponse { ok: boolean; accepted: boolean }
233
+ export interface PostMyProjectsInvitesClientIdDeclineResponse { ok: boolean; accepted: boolean }
234
+ export interface PostMyProjectsJoinRequest { origin: string }
235
+ export interface PostMyProjectsJoinResponse { ok: boolean; status: unknown; project: unknown; message: unknown }
216
236
  export interface PostOverrideRequestsIdDecideRequest { decision: string; note?: string }
237
+ export interface PostProjectsInviteRequest { client_id: string; github_login: string }
238
+ export interface PostProjectsRequest { origin: string; name: string; tagline?: string; art_url?: string }
239
+ export interface PostProjectsResponse { project: unknown }
217
240
  export interface PostProvisioningInstancesIdForceTeardownResponse { ok: boolean; queued: unknown; action: unknown; status: unknown; message: unknown }
218
241
  export interface PostProvisioningInstancesIdGithubAppRequest { account?: string }
219
242
  export interface PostProvisioningInstancesIdGithubAppResponse { state: unknown; account: unknown; post_url: unknown; personal_url: unknown; org_url: unknown; org_login: unknown; manifest: unknown; redirect_url: unknown; expires_at: unknown }
@@ -224,9 +247,25 @@ export interface PostSearchRequest { expand?: unknown; q?: string; source_kind?:
224
247
  export interface PostSearchResponse { expand?: unknown; chunk?: unknown; query?: unknown; count?: unknown; total_full_tokens?: unknown; results?: unknown }
225
248
  export interface PostSecurityDocsRequest { slug: string; title: string; content_md: string }
226
249
  export interface PostSecurityDocsResponse { ok: boolean; doc: unknown }
250
+ export interface PostSecurityReportsIdConfirmRequest { drachmae_awarded?: unknown }
251
+ export interface PostSecurityReportsIdConfirmResponse { report: unknown }
252
+ export interface PostSecurityReportsIdDisputeResponse { report: unknown }
253
+ export interface PostSecurityReportsIdFixResponse { report: unknown }
254
+ export interface PostSecurityReportsIdLinkFixRequest { task_id: StringifiableId }
255
+ export interface PostSecurityReportsIdLinkFixResponse { report: unknown }
256
+ export interface PostSecurityReportsRequest { target: string; severity: string; title: string; description?: string; repro_steps_md?: string }
257
+ export interface PostSecurityReportsResponse { ok: boolean; report: unknown; bounty_table: unknown }
227
258
  export interface PostSessionOptimizeRequest { mode?: string; time_budget_min?: unknown; max_parallel?: unknown }
228
259
  export interface PostSessionsRequest { session_id: string; task_ids?: number[]; total_tokens?: number; duration_seconds?: number; started_at?: string; ended_at?: string; detail?: unknown[]; metrics?: Record<string, unknown>; model_usage?: Record<string, unknown> }
229
260
  export interface PostSessionsResponse { skipped?: boolean; reason?: unknown; session?: unknown; token_reward?: unknown }
261
+ export interface PostSsoActivityRollupRequest { client_id: string; client_secret: string; github_id: StringifiableId; credits?: number; tasks_shipped?: number; karma?: number; rank?: string; disciplines?: unknown }
262
+ export interface PostSsoActivityRollupResponse { ok: boolean }
263
+ export interface PostSsoDevicePollRequest { device_code: string }
264
+ export interface PostSsoDeviceStartRequest { origin: string }
265
+ export interface PostSsoMembershipCheckInRequest { client_id: string; client_secret: string; github_id: StringifiableId; github_login: string; display_name?: string; avatar_url?: string; role?: string }
266
+ export interface PostSsoMembershipCheckInResponse { ok: boolean }
267
+ export interface PostSsoTokenRequest { client_id: string; client_secret: string; code: string; redirect_uri: string }
268
+ export interface PostSsoTokenResponse { github_id: unknown; github_login: unknown; display_name: unknown; avatar_url: unknown }
230
269
  export interface PostTasksIdAbandonRequest { reason?: string }
231
270
  export interface PostTasksIdAttestGateRequest { head_sha: string }
232
271
  export interface PostTasksIdAttestGateResponse { ok: boolean; attested: unknown; reason: unknown }
@@ -250,7 +289,6 @@ export interface PostVersionsIdDoneWhenRequest { criterion_id: string; criterion
250
289
  export interface PostVersionsIdDoneWhenResponse { ok: boolean; criterion: unknown }
251
290
  export interface PostVersionsRequest { id: string; name: string; status?: string; done_when?: string; scope_doc_path?: string; criteria?: unknown[] }
252
291
  export interface PostVersionsResponse { version: unknown; criteria: unknown }
253
- export interface PutMeArtKeyOwnRequest { key: string }
254
292
  export interface PutTasksIdDependenciesRequest { depends_on_task_ids: unknown[] }
255
293
  export interface PutTasksIdDependenciesResponse { ok: boolean; written: unknown; dependencies: unknown }
256
294
  export type StringifiableId = number | string;
@@ -298,8 +336,12 @@ export interface BongosClient {
298
336
  postAuthAppPairPoll(args: RequestArgs & { body: PostAuthAppPairPollRequest }): Promise<ApiResponse>;
299
337
  /** POST /auth/app-pair/start — rank: public */
300
338
  postAuthAppPairStart(args?: RequestArgs & { body?: PostAuthAppPairStartRequest }): Promise<PostAuthAppPairStartResponse>;
339
+ /** POST /auth/backchannel-logout — rank: public */
340
+ postAuthBackchannelLogout(args: RequestArgs & { body: PostAuthBackchannelLogoutRequest }): Promise<PostAuthBackchannelLogoutResponse>;
301
341
  /** POST /auth/cli-token/issue — rank: any-builder */
302
342
  postAuthCliTokenIssue(args?: RequestArgs): Promise<PostAuthCliTokenIssueResponse>;
343
+ /** POST /auth/device/exchange — rank: public */
344
+ postAuthDeviceExchange(args: RequestArgs & { body: PostAuthDeviceExchangeRequest }): Promise<PostAuthDeviceExchangeResponse>;
303
345
  /** POST /auth/device/poll — rank: public */
304
346
  postAuthDevicePoll(args: RequestArgs & { body: PostAuthDevicePollRequest }): Promise<ApiResponse>;
305
347
  /** POST /auth/device/start — rank: public */
@@ -316,6 +358,8 @@ export interface BongosClient {
316
358
  postAuthRevoke(args?: RequestArgs & { body?: PostAuthRevokeRequest }): Promise<PostAuthRevokeResponse>;
317
359
  /** POST /auth/revoke-all — rank: archon */
318
360
  postAuthRevokeAll(args?: RequestArgs & { body?: PostAuthRevokeAllRequest }): Promise<PostAuthRevokeAllResponse>;
361
+ /** GET /auth/web/admission-status — rank: public */
362
+ getAuthWebAdmissionStatus(args?: RequestArgs): Promise<GetAuthWebAdmissionStatusResponse>;
319
363
  /** GET /auth/web/callback — rank: public */
320
364
  getAuthWebCallback(args?: RequestArgs): Promise<ApiResponse>;
321
365
  /** GET /auth/web/start — rank: public */
@@ -364,6 +408,8 @@ export interface BongosClient {
364
408
  getBoxManagedSettings(args?: RequestArgs): Promise<ApiResponse>;
365
409
  /** GET /box/me — rank: any-builder */
366
410
  getBoxMe(args?: RequestArgs): Promise<GetBoxMeResponse>;
411
+ /** GET /box/scope — rank: any-builder */
412
+ getBoxScope(args?: RequestArgs): Promise<ApiResponse>;
367
413
  /** GET /box/source-access — rank: any-builder */
368
414
  getBoxSourceAccess(args?: RequestArgs): Promise<GetBoxSourceAccessResponse>;
369
415
  /** GET /box/ssh-key — rank: any-builder */
@@ -431,12 +477,6 @@ export interface BongosClient {
431
477
  /** POST /cost — rank: any-builder */
432
478
  postCost(args: RequestArgs & { body: PostCostRequest }): Promise<PostCostResponse>;
433
479
  };
434
- "demo": {
435
- /** GET /demo/health — rank: public */
436
- getDemoHealth(args?: RequestArgs): Promise<GetDemoHealthResponse>;
437
- /** POST /demo/ping — rank: metic+archon */
438
- postDemoPing(args?: RequestArgs & { body?: PostDemoPingRequest }): Promise<PostDemoPingResponse>;
439
- };
440
480
  "dependencies": {
441
481
  /** DELETE /dependencies — rank: archon */
442
482
  deleteDependencies(args?: RequestArgs): Promise<DeleteDependenciesResponse>;
@@ -463,6 +503,12 @@ export interface BongosClient {
463
503
  /** POST /gate-approvals/{pr}/approve — rank: archon */
464
504
  postGateApprovalsPrApprove(args?: RequestArgs): Promise<PostGateApprovalsPrApproveResponse>;
465
505
  };
506
+ "github": {
507
+ /** GET /github/repos — rank: any-builder */
508
+ getGithubRepos(args?: RequestArgs): Promise<GetGithubReposResponse>;
509
+ /** POST /github/repos — rank: any-builder */
510
+ postGithubRepos(args: RequestArgs & { body: PostGithubReposRequest }): Promise<PostGithubReposResponse>;
511
+ };
466
512
  "goals": {
467
513
  /** GET /goals — rank: any-builder */
468
514
  getGoals(args?: RequestArgs): Promise<GetGoalsResponse>;
@@ -530,6 +576,8 @@ export interface BongosClient {
530
576
  getInboxId(args?: RequestArgs): Promise<GetInboxIdResponse>;
531
577
  /** PATCH /inbox/{id} — rank: metic+archon */
532
578
  patchInboxId(args?: RequestArgs & { body?: PatchInboxIdRequest }): Promise<PatchInboxIdResponse>;
579
+ /** POST /inbox/{id}/ratify — rank: archon */
580
+ postInboxIdRatify(args?: RequestArgs & { body?: PostInboxIdRatifyRequest }): Promise<ApiResponse>;
533
581
  };
534
582
  "instance": {
535
583
  /** GET /instance — rank: public */
@@ -562,16 +610,6 @@ export interface BongosClient {
562
610
  getMeAchievements(args?: RequestArgs): Promise<GetMeAchievementsResponse>;
563
611
  /** POST /me/anthropic-link — rank: any-builder */
564
612
  postMeAnthropicLink(args: RequestArgs & { body: PostMeAnthropicLinkRequest }): Promise<PostMeAnthropicLinkResponse>;
565
- /** GET /me/art-key — rank: any-builder */
566
- getMeArtKey(args?: RequestArgs): Promise<ApiResponse>;
567
- /** DELETE /me/art-key/own — rank: any-builder */
568
- deleteMeArtKeyOwn(args?: RequestArgs): Promise<ApiResponse>;
569
- /** GET /me/art-key/own — rank: any-builder */
570
- getMeArtKeyOwn(args?: RequestArgs): Promise<GetMeArtKeyOwnResponse>;
571
- /** PUT /me/art-key/own — rank: any-builder */
572
- putMeArtKeyOwn(args: RequestArgs & { body: PutMeArtKeyOwnRequest }): Promise<ApiResponse>;
573
- /** POST /me/art-key/storage-init — rank: archon */
574
- postMeArtKeyStorageInit(args?: RequestArgs): Promise<PostMeArtKeyStorageInitResponse>;
575
613
  /** PATCH /me/disciplines — rank: any-builder */
576
614
  patchMeDisciplines(args: RequestArgs & { body: PatchMeDisciplinesRequest }): Promise<PatchMeDisciplinesResponse>;
577
615
  /** GET /me/display-name — rank: any-builder */
@@ -616,6 +654,10 @@ export interface BongosClient {
616
654
  getMemoryBfgBuildersBuilderIdFiles(args?: RequestArgs): Promise<GetMemoryBfgBuildersBuilderIdFilesResponse>;
617
655
  /** POST /memory/builders/{builderId}/bfg-write — rank: bfg-principal */
618
656
  postMemoryBuildersBuilderIdBfgWrite(args?: RequestArgs & { body?: PostMemoryBuildersBuilderIdBfgWriteRequest }): Promise<PostMemoryBuildersBuilderIdBfgWriteResponse>;
657
+ /** GET /memory/builders/{builderId}/file — rank: archon */
658
+ getMemoryBuildersBuilderIdFile(args?: RequestArgs): Promise<GetMemoryBuildersBuilderIdFileResponse>;
659
+ /** GET /memory/builders/{builderId}/files — rank: archon */
660
+ getMemoryBuildersBuilderIdFiles(args?: RequestArgs): Promise<GetMemoryBuildersBuilderIdFilesResponse>;
619
661
  /** DELETE /memory/file — rank: any-builder */
620
662
  deleteMemoryFile(args?: RequestArgs): Promise<DeleteMemoryFileResponse>;
621
663
  /** GET /memory/file — rank: any-builder */
@@ -635,12 +677,38 @@ export interface BongosClient {
635
677
  /** GET /modules/submissions — rank: metic+archon */
636
678
  getModulesSubmissions(args?: RequestArgs): Promise<GetModulesSubmissionsResponse>;
637
679
  };
680
+ "myProjects": {
681
+ /** GET /my-projects — rank: any-builder */
682
+ getMyProjects(args?: RequestArgs): Promise<GetMyProjectsResponse>;
683
+ /** POST /my-projects/{clientId}/leave — rank: any-builder */
684
+ postMyProjectsClientIdLeave(args?: RequestArgs): Promise<PostMyProjectsClientIdLeaveResponse>;
685
+ /** GET /my-projects/invites — rank: any-builder */
686
+ getMyProjectsInvites(args?: RequestArgs): Promise<GetMyProjectsInvitesResponse>;
687
+ /** POST /my-projects/invites/{clientId}/accept — rank: any-builder */
688
+ postMyProjectsInvitesClientIdAccept(args?: RequestArgs): Promise<PostMyProjectsInvitesClientIdAcceptResponse>;
689
+ /** POST /my-projects/invites/{clientId}/decline — rank: any-builder */
690
+ postMyProjectsInvitesClientIdDecline(args?: RequestArgs): Promise<PostMyProjectsInvitesClientIdDeclineResponse>;
691
+ /** POST /my-projects/join — rank: any-builder */
692
+ postMyProjectsJoin(args: RequestArgs & { body: PostMyProjectsJoinRequest }): Promise<PostMyProjectsJoinResponse>;
693
+ };
638
694
  "overrideRequests": {
639
695
  /** GET /override-requests — rank: archon */
640
696
  getOverrideRequests(args?: RequestArgs): Promise<GetOverrideRequestsResponse>;
641
697
  /** POST /override-requests/{id}/decide — rank: archon */
642
698
  postOverrideRequestsIdDecide(args: RequestArgs & { body: PostOverrideRequestsIdDecideRequest }): Promise<ApiResponse>;
643
699
  };
700
+ "projects": {
701
+ /** GET /projects — rank: archon */
702
+ getProjects(args?: RequestArgs): Promise<GetProjectsResponse>;
703
+ /** POST /projects — rank: archon */
704
+ postProjects(args: RequestArgs & { body: PostProjectsRequest }): Promise<PostProjectsResponse>;
705
+ /** PATCH /projects/{id}/featured — rank: archon */
706
+ patchProjectsIdFeatured(args: RequestArgs & { body: PatchProjectsIdFeaturedRequest }): Promise<PatchProjectsIdFeaturedResponse>;
707
+ /** GET /projects/featured — rank: public */
708
+ getProjectsFeatured(args?: RequestArgs): Promise<GetProjectsFeaturedResponse>;
709
+ /** POST /projects/invite — rank: archon */
710
+ postProjectsInvite(args: RequestArgs & { body: PostProjectsInviteRequest }): Promise<ApiResponse>;
711
+ };
644
712
  "provisioning": {
645
713
  /** GET /provisioning/fleet — rank: archon */
646
714
  getProvisioningFleet(args?: RequestArgs): Promise<GetProvisioningFleetResponse>;
@@ -707,6 +775,10 @@ export interface BongosClient {
707
775
  /** GET /public/versions — rank: public */
708
776
  getPublicVersions(args?: RequestArgs): Promise<GetPublicVersionsResponse>;
709
777
  };
778
+ "scouting": {
779
+ /** GET /scouting — rank: archon */
780
+ getScouting(args?: RequestArgs): Promise<GetScoutingResponse>;
781
+ };
710
782
  "search": {
711
783
  /** POST /search — rank: any-builder */
712
784
  postSearch(args?: RequestArgs & { body?: PostSearchRequest }): Promise<PostSearchResponse>;
@@ -714,12 +786,26 @@ export interface BongosClient {
714
786
  postSearchMark(args?: RequestArgs & { body?: PostSearchMarkRequest }): Promise<ApiResponse>;
715
787
  };
716
788
  "security": {
789
+ /** GET /security/adr — rank: metic+archon */
790
+ getSecurityAdr(args?: RequestArgs): Promise<ApiResponse>;
717
791
  /** GET /security/docs — rank: archon */
718
792
  getSecurityDocs(args?: RequestArgs): Promise<GetSecurityDocsResponse>;
719
793
  /** POST /security/docs — rank: archon */
720
794
  postSecurityDocs(args: RequestArgs & { body: PostSecurityDocsRequest }): Promise<PostSecurityDocsResponse>;
721
795
  /** GET /security/docs/{slug} — rank: archon */
722
796
  getSecurityDocsSlug(args?: RequestArgs): Promise<GetSecurityDocsSlugResponse>;
797
+ /** GET /security/reports — rank: archon */
798
+ getSecurityReports(args?: RequestArgs): Promise<GetSecurityReportsResponse>;
799
+ /** POST /security/reports — rank: metic+archon */
800
+ postSecurityReports(args: RequestArgs & { body: PostSecurityReportsRequest }): Promise<PostSecurityReportsResponse>;
801
+ /** POST /security/reports/{id}/confirm — rank: archon */
802
+ postSecurityReportsIdConfirm(args?: RequestArgs & { body?: PostSecurityReportsIdConfirmRequest }): Promise<PostSecurityReportsIdConfirmResponse>;
803
+ /** POST /security/reports/{id}/dispute — rank: archon */
804
+ postSecurityReportsIdDispute(args?: RequestArgs): Promise<PostSecurityReportsIdDisputeResponse>;
805
+ /** POST /security/reports/{id}/fix — rank: archon */
806
+ postSecurityReportsIdFix(args?: RequestArgs): Promise<PostSecurityReportsIdFixResponse>;
807
+ /** POST /security/reports/{id}/link-fix — rank: archon */
808
+ postSecurityReportsIdLinkFix(args: RequestArgs & { body: PostSecurityReportsIdLinkFixRequest }): Promise<PostSecurityReportsIdLinkFixResponse>;
723
809
  };
724
810
  "session": {
725
811
  /** POST /session/optimize — rank: any-builder */
@@ -735,6 +821,22 @@ export interface BongosClient {
735
821
  /** GET /sessions/search — rank: archon */
736
822
  getSessionsSearch(args?: RequestArgs): Promise<GetSessionsSearchResponse>;
737
823
  };
824
+ "sso": {
825
+ /** POST /sso/activity/rollup — rank: public */
826
+ postSsoActivityRollup(args: RequestArgs & { body: PostSsoActivityRollupRequest }): Promise<PostSsoActivityRollupResponse>;
827
+ /** GET /sso/authorize — rank: public */
828
+ getSsoAuthorize(args?: RequestArgs): Promise<ApiResponse>;
829
+ /** POST /sso/device/poll — rank: public */
830
+ postSsoDevicePoll(args: RequestArgs & { body: PostSsoDevicePollRequest }): Promise<ApiResponse>;
831
+ /** POST /sso/device/start — rank: public */
832
+ postSsoDeviceStart(args: RequestArgs & { body: PostSsoDeviceStartRequest }): Promise<ApiResponse>;
833
+ /** POST /sso/membership/check-in — rank: public */
834
+ postSsoMembershipCheckIn(args: RequestArgs & { body: PostSsoMembershipCheckInRequest }): Promise<PostSsoMembershipCheckInResponse>;
835
+ /** GET /sso/pubkey — rank: public */
836
+ getSsoPubkey(args?: RequestArgs): Promise<GetSsoPubkeyResponse>;
837
+ /** POST /sso/token — rank: public */
838
+ postSsoToken(args: RequestArgs & { body: PostSsoTokenRequest }): Promise<PostSsoTokenResponse>;
839
+ };
738
840
  "tasks": {
739
841
  /** GET /tasks — rank: any-builder */
740
842
  getTasks(args?: RequestArgs): Promise<GetTasksResponse>;
@@ -744,7 +846,7 @@ export interface BongosClient {
744
846
  getTasksId(args?: RequestArgs): Promise<ApiResponse>;
745
847
  /** PATCH /tasks/{id} — rank: metic+archon */
746
848
  patchTasksId(args?: RequestArgs & { body?: PatchTasksIdRequest }): Promise<ApiResponse>;
747
- /** POST /tasks/{id}/abandon — rank: archon */
849
+ /** POST /tasks/{id}/abandon — rank: metic+archon */
748
850
  postTasksIdAbandon(args?: RequestArgs & { body?: PostTasksIdAbandonRequest }): Promise<ApiResponse>;
749
851
  /** POST /tasks/{id}/attest-gate — rank: any-builder */
750
852
  postTasksIdAttestGate(args: RequestArgs & { body: PostTasksIdAttestGateRequest }): Promise<PostTasksIdAttestGateResponse>;
@@ -798,7 +900,7 @@ export interface BongosClient {
798
900
  postVersions(args: RequestArgs & { body: PostVersionsRequest }): Promise<PostVersionsResponse>;
799
901
  /** GET /versions/{id}/done-when — rank: public */
800
902
  getVersionsIdDoneWhen(args?: RequestArgs): Promise<GetVersionsIdDoneWhenResponse>;
801
- /** POST /versions/{id}/done-when — rank: archon */
903
+ /** POST /versions/{id}/done-when — rank: metic+archon */
802
904
  postVersionsIdDoneWhen(args: RequestArgs & { body: PostVersionsIdDoneWhenRequest }): Promise<PostVersionsIdDoneWhenResponse>;
803
905
  /** GET /versions/{id}/progress — rank: public */
804
906
  getVersionsIdProgress(args?: RequestArgs): Promise<ApiResponse>;