@bongos/core 1.24.9 → 1.24.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.bongos-core.json +146 -86
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +14 -0
- package/clients/bongos-client/index.cjs +14 -0
- package/clients/bongos-client/index.d.ts +20 -1
- package/clients/bongos-client/index.mjs +14 -0
- package/docs/api/openapi.json +308 -5
- package/docs/api-reference.md +15 -4
- package/docs/architecture.md +4 -0
- package/docs/copy-inventory.md +109 -75
- package/docs/copy-registry.json +425 -89
- package/docs/module-api-changelog.md +4 -0
- package/docs/page-inventory.json +34 -4
- package/docs/page-readings.json +301 -244
- package/modules/government/decision-rules.js +1 -0
- package/modules/hall-ui/public/ai-studio.html +2 -2
- package/modules/hall-ui/public/atlas.html +2 -2
- package/modules/hall-ui/public/blockers.html +2 -2
- package/modules/hall-ui/public/board-room.html +2 -2
- package/modules/hall-ui/public/city.html +2 -2
- package/modules/hall-ui/public/collab.html +2 -2
- package/modules/hall-ui/public/commands.html +2 -2
- package/modules/hall-ui/public/copy-desk.html +2 -2
- package/modules/hall-ui/public/craft-mode.js +1 -1
- package/modules/hall-ui/public/deploy.html +2 -2
- package/modules/hall-ui/public/diagrams.html +2 -2
- package/modules/hall-ui/public/drachmae.html +2 -2
- package/modules/hall-ui/public/fleet.html +2 -2
- package/modules/hall-ui/public/gate.html +2 -2
- package/modules/hall-ui/public/goal-map.html +2 -2
- package/modules/hall-ui/public/goals.html +2 -2
- package/modules/hall-ui/public/government.html +2 -2
- package/modules/hall-ui/public/idea.html +2 -2
- package/modules/hall-ui/public/ideas.html +2 -2
- package/modules/hall-ui/public/index.html +2 -2
- package/modules/hall-ui/public/market-watch-rules.html +2 -2
- package/modules/hall-ui/public/market-watch-settings.css +217 -0
- package/modules/hall-ui/public/market-watch-settings.html +113 -0
- package/modules/hall-ui/public/market-watch-settings.js +230 -0
- package/modules/hall-ui/public/market-watch-settings.states.json +14 -0
- package/modules/hall-ui/public/modules.html +2 -2
- package/modules/hall-ui/public/my-agents.html +2 -2
- package/modules/hall-ui/public/primer.html +2 -2
- package/modules/hall-ui/public/profile.html +2 -2
- package/modules/hall-ui/public/project-settings.css +12 -0
- package/modules/hall-ui/public/project-settings.html +2 -2
- package/modules/hall-ui/public/project-settings.js +63 -1
- package/modules/hall-ui/public/ranks.html +2 -2
- package/modules/hall-ui/public/roadmap.html +2 -2
- package/modules/hall-ui/public/roster.html +2 -2
- package/modules/hall-ui/public/sessions.html +2 -2
- package/modules/hall-ui/public/settings.html +2 -2
- package/modules/hall-ui/public/shell.js +3 -0
- package/modules/hall-ui/public/street.html +2 -2
- package/modules/hall-ui/public/studio.html +2 -2
- package/modules/hall-ui/public/task.html +2 -2
- package/modules/hall-ui/public/task.js +34 -1
- package/modules/hall-ui/public/thinking.html +2 -2
- package/modules/hall-ui/public/tweak-editor.html +2 -2
- package/modules/hall-ui/public/watch.html +2 -2
- package/modules/hall-ui/public/work.html +2 -2
- package/modules/hall-ui/records/market-watch-settings.md +11 -0
- package/modules/lifecycle/migrations/lifecycle_018_pay_terms.sql +64 -0
- package/modules/lifecycle/pay-terms.js +171 -0
- package/modules/lifecycle/routes/project-settings.js +94 -0
- package/modules/lifecycle/routes/task-write-routes.js +35 -4
- package/modules/market-watch/module.json +3 -2
- package/modules/market-watch/routes/settings.js +128 -0
- package/modules/market-watch/settings.js +207 -0
- package/modules/provisioning/starter-bundles.js +11 -6
- package/modules/ui-design/kit/serve.js +1 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +12 -0
- package/scripts/bongos/government-walk.js +1 -0
- package/scripts/bongos/run-unit-tests.js +4 -0
- package/scripts/bongos/start.js +42 -2
- package/src/bongos/module-scope-map.js +1 -0
- package/src/bongos/serve-internal.js +2 -2
- package/src/module-api.js +1 -1
- package/tests/government_act_alone_buildings.mjs +1 -0
- package/tests/hall_nav.mjs +4 -2
- package/tests/hall_page_gate_map.mjs +4 -0
- package/tests/market_watch_data_db.mjs +27 -0
- package/tests/market_watch_module.mjs +8 -4
- package/tests/market_watch_settings.mjs +392 -0
- package/tests/nav_permission_atoms.mjs +3 -2
- package/tests/patch_gate_ordering.mjs +3 -0
- package/tests/pay_terms.mjs +254 -0
- package/tests/pay_terms_db.mjs +86 -0
- package/tests/project_settings_page.mjs +25 -6
|
@@ -5,7 +5,7 @@ A **generated**, zero-dependency typed client for the Bongos API — produced fr
|
|
|
5
5
|
by hand; it regenerates when the spec changes, so it can never drift from the routes.
|
|
6
6
|
|
|
7
7
|
- API version: **v1** (served at `/api/bongos/v1`)
|
|
8
|
-
-
|
|
8
|
+
- 649 operations across 81 resource groups
|
|
9
9
|
|
|
10
10
|
## Use it from your project
|
|
11
11
|
|
|
@@ -771,6 +771,14 @@ function createClient(opts = {}) {
|
|
|
771
771
|
getMarketWatchRules: (args) => request("GET", "/market-watch/rules", { hasBody: false }, args),
|
|
772
772
|
// POST /market-watch/rules/proposals — rank: any-builder — POST /market-watch/rules/proposals
|
|
773
773
|
postMarketWatchRulesProposals: (args) => request("POST", "/market-watch/rules/proposals", { hasBody: true }, args),
|
|
774
|
+
// GET /market-watch/settings — rank: metic+archon — GET /market-watch/settings
|
|
775
|
+
getMarketWatchSettings: (args) => request("GET", "/market-watch/settings", { hasBody: false }, args),
|
|
776
|
+
// PATCH /market-watch/settings — rank: metic+archon — PATCH /market-watch/settings
|
|
777
|
+
patchMarketWatchSettings: (args) => request("PATCH", "/market-watch/settings", { hasBody: true }, args),
|
|
778
|
+
// DELETE /market-watch/settings/key — rank: metic+archon — DELETE /market-watch/settings/key
|
|
779
|
+
deleteMarketWatchSettingsKey: (args) => request("DELETE", "/market-watch/settings/key", { hasBody: false }, args),
|
|
780
|
+
// PUT /market-watch/settings/key — rank: metic+archon — PUT /market-watch/settings/key
|
|
781
|
+
putMarketWatchSettingsKey: (args) => request("PUT", "/market-watch/settings/key", { hasBody: true }, args),
|
|
774
782
|
},
|
|
775
783
|
"me": {
|
|
776
784
|
// GET /me — rank: any-builder — GET /me
|
|
@@ -1004,6 +1012,10 @@ function createClient(opts = {}) {
|
|
|
1004
1012
|
// GET /page-notes/site — rank: any-builder — GET /page-notes/site
|
|
1005
1013
|
getPageNotesSite: (args) => request("GET", "/page-notes/site", { hasBody: false }, args),
|
|
1006
1014
|
},
|
|
1015
|
+
"payTerms": {
|
|
1016
|
+
// GET /pay-terms — rank: any-builder — GET /pay-terms
|
|
1017
|
+
getPayTerms: (args) => request("GET", "/pay-terms", { hasBody: false }, args),
|
|
1018
|
+
},
|
|
1007
1019
|
"payouts": {
|
|
1008
1020
|
// POST /payouts/age-records — rank: archon — POST /payouts/age-records
|
|
1009
1021
|
postPayoutsAgeRecords: (args) => request("POST", "/payouts/age-records", { hasBody: true }, args),
|
|
@@ -1049,6 +1061,8 @@ function createClient(opts = {}) {
|
|
|
1049
1061
|
"projectSettings": {
|
|
1050
1062
|
// GET /project-settings — rank: metic+archon — GET /project-settings
|
|
1051
1063
|
getProjectSettings: (args) => request("GET", "/project-settings", { hasBody: false }, args),
|
|
1064
|
+
// PATCH /project-settings/pay-terms — rank: metic+archon — PATCH /project-settings/pay-terms
|
|
1065
|
+
patchProjectSettingsPayTerms: (args) => request("PATCH", "/project-settings/pay-terms", { hasBody: true }, args),
|
|
1052
1066
|
// PATCH /project-settings/rot-days — rank: metic+archon — PATCH /project-settings/rot-days
|
|
1053
1067
|
patchProjectSettingsRotDays: (args) => request("PATCH", "/project-settings/rot-days", { hasBody: true }, args),
|
|
1054
1068
|
// GET /project-settings/ship-mode — rank: any-builder — GET /project-settings/ship-mode
|
|
@@ -770,6 +770,14 @@ function createClient(opts = {}) {
|
|
|
770
770
|
getMarketWatchRules: (args) => request("GET", "/market-watch/rules", { hasBody: false }, args),
|
|
771
771
|
// POST /market-watch/rules/proposals — rank: any-builder — POST /market-watch/rules/proposals
|
|
772
772
|
postMarketWatchRulesProposals: (args) => request("POST", "/market-watch/rules/proposals", { hasBody: true }, args),
|
|
773
|
+
// GET /market-watch/settings — rank: metic+archon — GET /market-watch/settings
|
|
774
|
+
getMarketWatchSettings: (args) => request("GET", "/market-watch/settings", { hasBody: false }, args),
|
|
775
|
+
// PATCH /market-watch/settings — rank: metic+archon — PATCH /market-watch/settings
|
|
776
|
+
patchMarketWatchSettings: (args) => request("PATCH", "/market-watch/settings", { hasBody: true }, args),
|
|
777
|
+
// DELETE /market-watch/settings/key — rank: metic+archon — DELETE /market-watch/settings/key
|
|
778
|
+
deleteMarketWatchSettingsKey: (args) => request("DELETE", "/market-watch/settings/key", { hasBody: false }, args),
|
|
779
|
+
// PUT /market-watch/settings/key — rank: metic+archon — PUT /market-watch/settings/key
|
|
780
|
+
putMarketWatchSettingsKey: (args) => request("PUT", "/market-watch/settings/key", { hasBody: true }, args),
|
|
773
781
|
},
|
|
774
782
|
"me": {
|
|
775
783
|
// GET /me — rank: any-builder — GET /me
|
|
@@ -1003,6 +1011,10 @@ function createClient(opts = {}) {
|
|
|
1003
1011
|
// GET /page-notes/site — rank: any-builder — GET /page-notes/site
|
|
1004
1012
|
getPageNotesSite: (args) => request("GET", "/page-notes/site", { hasBody: false }, args),
|
|
1005
1013
|
},
|
|
1014
|
+
"payTerms": {
|
|
1015
|
+
// GET /pay-terms — rank: any-builder — GET /pay-terms
|
|
1016
|
+
getPayTerms: (args) => request("GET", "/pay-terms", { hasBody: false }, args),
|
|
1017
|
+
},
|
|
1006
1018
|
"payouts": {
|
|
1007
1019
|
// POST /payouts/age-records — rank: archon — POST /payouts/age-records
|
|
1008
1020
|
postPayoutsAgeRecords: (args) => request("POST", "/payouts/age-records", { hasBody: true }, args),
|
|
@@ -1048,6 +1060,8 @@ function createClient(opts = {}) {
|
|
|
1048
1060
|
"projectSettings": {
|
|
1049
1061
|
// GET /project-settings — rank: metic+archon — GET /project-settings
|
|
1050
1062
|
getProjectSettings: (args) => request("GET", "/project-settings", { hasBody: false }, args),
|
|
1063
|
+
// PATCH /project-settings/pay-terms — rank: metic+archon — PATCH /project-settings/pay-terms
|
|
1064
|
+
patchProjectSettingsPayTerms: (args) => request("PATCH", "/project-settings/pay-terms", { hasBody: true }, args),
|
|
1051
1065
|
// PATCH /project-settings/rot-days — rank: metic+archon — PATCH /project-settings/rot-days
|
|
1052
1066
|
patchProjectSettingsRotDays: (args) => request("PATCH", "/project-settings/rot-days", { hasBody: true }, args),
|
|
1053
1067
|
// GET /project-settings/ship-mode — rank: any-builder — GET /project-settings/ship-mode
|
|
@@ -141,6 +141,7 @@ export interface GetPageNotesIdResponse { note: unknown; images: unknown; ideas:
|
|
|
141
141
|
export interface GetPageNotesIdeasResponse { page_path: unknown; ideas: unknown }
|
|
142
142
|
export interface GetPageNotesResponse { page_id: unknown; notes: unknown }
|
|
143
143
|
export interface GetPageNotesSiteResponse { notes: unknown }
|
|
144
|
+
export interface GetPayTermsResponse { pay_terms: unknown }
|
|
144
145
|
export interface GetPayoutsApprovalsResponse { approvals: unknown }
|
|
145
146
|
export interface GetPayoutsGatesBuilderIdResponse { gate: unknown }
|
|
146
147
|
export interface GetPayoutsRulesResponse { rules: unknown }
|
|
@@ -243,6 +244,7 @@ export interface PatchInboxIdBodyRequest { body_md: string }
|
|
|
243
244
|
export interface PatchInboxIdBodyResponse { ok: boolean; idea: unknown; delta: unknown; unchanged: unknown }
|
|
244
245
|
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 }
|
|
245
246
|
export interface PatchInboxIdResponse { idea: unknown }
|
|
247
|
+
export interface PatchMarketWatchSettingsRequest { enabled?: unknown; monthly_cap_usd?: unknown; cadence?: unknown }
|
|
246
248
|
export interface PatchMeCoreMoveSeenRequest { id: string }
|
|
247
249
|
export interface PatchMeCoreMoveSeenResponse { ok: boolean; seen: unknown }
|
|
248
250
|
export interface PatchMeCrossProjectRequest { hide_stats?: boolean; account_visibility?: string; recruiter_discoverable?: boolean }
|
|
@@ -263,6 +265,8 @@ export interface PatchNotesIdRequest { kind: string }
|
|
|
263
265
|
export interface PatchNotesIdResponse { ok: boolean; note: unknown }
|
|
264
266
|
export interface PatchPageNotesIdRequest { body_md: string }
|
|
265
267
|
export interface PatchPageNotesIdResponse { ok: boolean; updated_at: unknown }
|
|
268
|
+
export interface PatchProjectSettingsPayTermsRequest { terms: unknown }
|
|
269
|
+
export interface PatchProjectSettingsPayTermsResponse { ok: boolean; row: unknown }
|
|
266
270
|
export interface PatchProjectSettingsRotDaysRequest { days: number }
|
|
267
271
|
export interface PatchProjectSettingsRotDaysResponse { ok: boolean; rot_days: unknown; source: unknown; describe: unknown }
|
|
268
272
|
export interface PatchProjectSettingsShipModeRequest { mode: string }
|
|
@@ -284,7 +288,7 @@ export interface PatchSpecialitiesIdRequest { name?: string; summary?: string; c
|
|
|
284
288
|
export interface PatchSpecialitiesIdResponse { speciality: unknown }
|
|
285
289
|
export interface PatchTaskRecommendationsIdRequest { status: "declined" | "withdrawn" }
|
|
286
290
|
export interface PatchTaskRecommendationsIdResponse { ok: boolean; recommendation: unknown }
|
|
287
|
-
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; needs?: unknown; needs_migration?: boolean; description?: string; title?: string; priority?: unknown; value_summary?: string; status?: unknown }
|
|
291
|
+
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; needs?: unknown; needs_migration?: boolean; description?: string; title?: string; priority?: unknown; value_summary?: string; status?: unknown; pay_terms?: unknown }
|
|
288
292
|
export interface PostAccessRequestsInviteRequest { github_login: string; note?: string }
|
|
289
293
|
export interface PostAccessRequestsInviteResponse { ok: boolean; already_invited?: boolean; github_login?: unknown; request?: unknown }
|
|
290
294
|
export interface PostAccessRequestsRequest { github_login: string; display_name?: string; note?: string }
|
|
@@ -680,6 +684,7 @@ export interface PutDoneWhenCriterionIdBackendOnlyResponse { ok: boolean; criter
|
|
|
680
684
|
export interface PutGovernmentAsksMatterIdResponse { ok: boolean; matter_id: unknown; ask: unknown }
|
|
681
685
|
export interface PutGovernmentRanksRankKeyPermissionsPermissionKeyResponse { ok: boolean; rank_key: unknown; permission_key: unknown; granted: unknown }
|
|
682
686
|
export interface PutGovernmentTreasuryPotsGoalIdRequest { budget_usd?: unknown }
|
|
687
|
+
export interface PutMarketWatchSettingsKeyRequest { key: string }
|
|
683
688
|
export interface PutMingleOptInRequest { opted_in: boolean }
|
|
684
689
|
export interface PutMingleOptInResponse { opted_in: unknown; updated_at: unknown }
|
|
685
690
|
export interface PutMingleProjectRequest { enabled: boolean }
|
|
@@ -1395,6 +1400,14 @@ export interface BongosClient {
|
|
|
1395
1400
|
getMarketWatchRules(args?: RequestArgs): Promise<ApiResponse>;
|
|
1396
1401
|
/** POST /market-watch/rules/proposals — rank: any-builder */
|
|
1397
1402
|
postMarketWatchRulesProposals(args: RequestArgs & { body: PostMarketWatchRulesProposalsRequest }): Promise<PostMarketWatchRulesProposalsResponse>;
|
|
1403
|
+
/** GET /market-watch/settings — rank: metic+archon */
|
|
1404
|
+
getMarketWatchSettings(args?: RequestArgs): Promise<ApiResponse>;
|
|
1405
|
+
/** PATCH /market-watch/settings — rank: metic+archon */
|
|
1406
|
+
patchMarketWatchSettings(args?: RequestArgs & { body?: PatchMarketWatchSettingsRequest }): Promise<ApiResponse>;
|
|
1407
|
+
/** DELETE /market-watch/settings/key — rank: metic+archon */
|
|
1408
|
+
deleteMarketWatchSettingsKey(args?: RequestArgs): Promise<ApiResponse>;
|
|
1409
|
+
/** PUT /market-watch/settings/key — rank: metic+archon */
|
|
1410
|
+
putMarketWatchSettingsKey(args: RequestArgs & { body: PutMarketWatchSettingsKeyRequest }): Promise<ApiResponse>;
|
|
1398
1411
|
};
|
|
1399
1412
|
"me": {
|
|
1400
1413
|
/** GET /me — rank: any-builder */
|
|
@@ -1628,6 +1641,10 @@ export interface BongosClient {
|
|
|
1628
1641
|
/** GET /page-notes/site — rank: any-builder */
|
|
1629
1642
|
getPageNotesSite(args?: RequestArgs): Promise<GetPageNotesSiteResponse>;
|
|
1630
1643
|
};
|
|
1644
|
+
"payTerms": {
|
|
1645
|
+
/** GET /pay-terms — rank: any-builder */
|
|
1646
|
+
getPayTerms(args?: RequestArgs): Promise<GetPayTermsResponse>;
|
|
1647
|
+
};
|
|
1631
1648
|
"payouts": {
|
|
1632
1649
|
/** POST /payouts/age-records — rank: archon */
|
|
1633
1650
|
postPayoutsAgeRecords(args: RequestArgs & { body: PostPayoutsAgeRecordsRequest }): Promise<PostPayoutsAgeRecordsResponse>;
|
|
@@ -1673,6 +1690,8 @@ export interface BongosClient {
|
|
|
1673
1690
|
"projectSettings": {
|
|
1674
1691
|
/** GET /project-settings — rank: metic+archon */
|
|
1675
1692
|
getProjectSettings(args?: RequestArgs): Promise<GetProjectSettingsResponse>;
|
|
1693
|
+
/** PATCH /project-settings/pay-terms — rank: metic+archon */
|
|
1694
|
+
patchProjectSettingsPayTerms(args: RequestArgs & { body: PatchProjectSettingsPayTermsRequest }): Promise<PatchProjectSettingsPayTermsResponse>;
|
|
1676
1695
|
/** PATCH /project-settings/rot-days — rank: metic+archon */
|
|
1677
1696
|
patchProjectSettingsRotDays(args: RequestArgs & { body: PatchProjectSettingsRotDaysRequest }): Promise<PatchProjectSettingsRotDaysResponse>;
|
|
1678
1697
|
/** GET /project-settings/ship-mode — rank: any-builder */
|
|
@@ -767,6 +767,14 @@ export function createClient(opts = {}) {
|
|
|
767
767
|
getMarketWatchRules: (args) => request("GET", "/market-watch/rules", { hasBody: false }, args),
|
|
768
768
|
// POST /market-watch/rules/proposals — rank: any-builder — POST /market-watch/rules/proposals
|
|
769
769
|
postMarketWatchRulesProposals: (args) => request("POST", "/market-watch/rules/proposals", { hasBody: true }, args),
|
|
770
|
+
// GET /market-watch/settings — rank: metic+archon — GET /market-watch/settings
|
|
771
|
+
getMarketWatchSettings: (args) => request("GET", "/market-watch/settings", { hasBody: false }, args),
|
|
772
|
+
// PATCH /market-watch/settings — rank: metic+archon — PATCH /market-watch/settings
|
|
773
|
+
patchMarketWatchSettings: (args) => request("PATCH", "/market-watch/settings", { hasBody: true }, args),
|
|
774
|
+
// DELETE /market-watch/settings/key — rank: metic+archon — DELETE /market-watch/settings/key
|
|
775
|
+
deleteMarketWatchSettingsKey: (args) => request("DELETE", "/market-watch/settings/key", { hasBody: false }, args),
|
|
776
|
+
// PUT /market-watch/settings/key — rank: metic+archon — PUT /market-watch/settings/key
|
|
777
|
+
putMarketWatchSettingsKey: (args) => request("PUT", "/market-watch/settings/key", { hasBody: true }, args),
|
|
770
778
|
},
|
|
771
779
|
"me": {
|
|
772
780
|
// GET /me — rank: any-builder — GET /me
|
|
@@ -1000,6 +1008,10 @@ export function createClient(opts = {}) {
|
|
|
1000
1008
|
// GET /page-notes/site — rank: any-builder — GET /page-notes/site
|
|
1001
1009
|
getPageNotesSite: (args) => request("GET", "/page-notes/site", { hasBody: false }, args),
|
|
1002
1010
|
},
|
|
1011
|
+
"payTerms": {
|
|
1012
|
+
// GET /pay-terms — rank: any-builder — GET /pay-terms
|
|
1013
|
+
getPayTerms: (args) => request("GET", "/pay-terms", { hasBody: false }, args),
|
|
1014
|
+
},
|
|
1003
1015
|
"payouts": {
|
|
1004
1016
|
// POST /payouts/age-records — rank: archon — POST /payouts/age-records
|
|
1005
1017
|
postPayoutsAgeRecords: (args) => request("POST", "/payouts/age-records", { hasBody: true }, args),
|
|
@@ -1045,6 +1057,8 @@ export function createClient(opts = {}) {
|
|
|
1045
1057
|
"projectSettings": {
|
|
1046
1058
|
// GET /project-settings — rank: metic+archon — GET /project-settings
|
|
1047
1059
|
getProjectSettings: (args) => request("GET", "/project-settings", { hasBody: false }, args),
|
|
1060
|
+
// PATCH /project-settings/pay-terms — rank: metic+archon — PATCH /project-settings/pay-terms
|
|
1061
|
+
patchProjectSettingsPayTerms: (args) => request("PATCH", "/project-settings/pay-terms", { hasBody: true }, args),
|
|
1048
1062
|
// PATCH /project-settings/rot-days — rank: metic+archon — PATCH /project-settings/rot-days
|
|
1049
1063
|
patchProjectSettingsRotDays: (args) => request("PATCH", "/project-settings/rot-days", { hasBody: true }, args),
|
|
1050
1064
|
// GET /project-settings/ship-mode — rank: any-builder — GET /project-settings/ship-mode
|
package/docs/api/openapi.json
CHANGED
|
@@ -241,6 +241,10 @@
|
|
|
241
241
|
"name": "page-notes",
|
|
242
242
|
"description": "Endpoints under `/api/bongos/page-notes`."
|
|
243
243
|
},
|
|
244
|
+
{
|
|
245
|
+
"name": "pay-terms",
|
|
246
|
+
"description": "Endpoints under `/api/bongos/pay-terms`."
|
|
247
|
+
},
|
|
244
248
|
{
|
|
245
249
|
"name": "payouts",
|
|
246
250
|
"description": "Endpoints under `/api/bongos/payouts`."
|
|
@@ -14269,6 +14273,160 @@
|
|
|
14269
14273
|
]
|
|
14270
14274
|
}
|
|
14271
14275
|
},
|
|
14276
|
+
"/market-watch/settings": {
|
|
14277
|
+
"get": {
|
|
14278
|
+
"operationId": "get_market_watch_settings",
|
|
14279
|
+
"tags": [
|
|
14280
|
+
"market-watch"
|
|
14281
|
+
],
|
|
14282
|
+
"summary": "GET /market-watch/settings",
|
|
14283
|
+
"description": "**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.settings.manage` (all required).",
|
|
14284
|
+
"x-rank": "metic+archon",
|
|
14285
|
+
"x-source": "modules/market-watch/routes/settings.js",
|
|
14286
|
+
"x-permissions": [
|
|
14287
|
+
"project.settings.manage"
|
|
14288
|
+
],
|
|
14289
|
+
"responses": {
|
|
14290
|
+
"200": {
|
|
14291
|
+
"description": "Success."
|
|
14292
|
+
},
|
|
14293
|
+
"400": {
|
|
14294
|
+
"$ref": "#/components/responses/BadRequest"
|
|
14295
|
+
},
|
|
14296
|
+
"401": {
|
|
14297
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
14298
|
+
},
|
|
14299
|
+
"403": {
|
|
14300
|
+
"$ref": "#/components/responses/Forbidden"
|
|
14301
|
+
}
|
|
14302
|
+
},
|
|
14303
|
+
"security": [
|
|
14304
|
+
{
|
|
14305
|
+
"builderSession": []
|
|
14306
|
+
}
|
|
14307
|
+
]
|
|
14308
|
+
},
|
|
14309
|
+
"patch": {
|
|
14310
|
+
"operationId": "patch_market_watch_settings",
|
|
14311
|
+
"tags": [
|
|
14312
|
+
"market-watch"
|
|
14313
|
+
],
|
|
14314
|
+
"summary": "PATCH /market-watch/settings",
|
|
14315
|
+
"description": "**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.settings.manage` (all required).",
|
|
14316
|
+
"x-rank": "metic+archon",
|
|
14317
|
+
"x-source": "modules/market-watch/routes/settings.js",
|
|
14318
|
+
"x-permissions": [
|
|
14319
|
+
"project.settings.manage"
|
|
14320
|
+
],
|
|
14321
|
+
"requestBody": {
|
|
14322
|
+
"required": false,
|
|
14323
|
+
"content": {
|
|
14324
|
+
"application/json": {
|
|
14325
|
+
"schema": {
|
|
14326
|
+
"$ref": "#/components/schemas/PatchMarketWatchSettingsRequest"
|
|
14327
|
+
}
|
|
14328
|
+
}
|
|
14329
|
+
},
|
|
14330
|
+
"x-validated": true
|
|
14331
|
+
},
|
|
14332
|
+
"responses": {
|
|
14333
|
+
"200": {
|
|
14334
|
+
"description": "Success."
|
|
14335
|
+
},
|
|
14336
|
+
"400": {
|
|
14337
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
14338
|
+
},
|
|
14339
|
+
"401": {
|
|
14340
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
14341
|
+
},
|
|
14342
|
+
"403": {
|
|
14343
|
+
"$ref": "#/components/responses/Forbidden"
|
|
14344
|
+
}
|
|
14345
|
+
},
|
|
14346
|
+
"security": [
|
|
14347
|
+
{
|
|
14348
|
+
"builderSession": []
|
|
14349
|
+
}
|
|
14350
|
+
]
|
|
14351
|
+
}
|
|
14352
|
+
},
|
|
14353
|
+
"/market-watch/settings/key": {
|
|
14354
|
+
"put": {
|
|
14355
|
+
"operationId": "put_market_watch_settings_key",
|
|
14356
|
+
"tags": [
|
|
14357
|
+
"market-watch"
|
|
14358
|
+
],
|
|
14359
|
+
"summary": "PUT /market-watch/settings/key",
|
|
14360
|
+
"description": "**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.settings.manage` (all required).",
|
|
14361
|
+
"x-rank": "metic+archon",
|
|
14362
|
+
"x-source": "modules/market-watch/routes/settings.js",
|
|
14363
|
+
"x-permissions": [
|
|
14364
|
+
"project.settings.manage"
|
|
14365
|
+
],
|
|
14366
|
+
"requestBody": {
|
|
14367
|
+
"required": true,
|
|
14368
|
+
"content": {
|
|
14369
|
+
"application/json": {
|
|
14370
|
+
"schema": {
|
|
14371
|
+
"$ref": "#/components/schemas/PutMarketWatchSettingsKeyRequest"
|
|
14372
|
+
}
|
|
14373
|
+
}
|
|
14374
|
+
},
|
|
14375
|
+
"x-validated": true
|
|
14376
|
+
},
|
|
14377
|
+
"responses": {
|
|
14378
|
+
"200": {
|
|
14379
|
+
"description": "Success."
|
|
14380
|
+
},
|
|
14381
|
+
"400": {
|
|
14382
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
14383
|
+
},
|
|
14384
|
+
"401": {
|
|
14385
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
14386
|
+
},
|
|
14387
|
+
"403": {
|
|
14388
|
+
"$ref": "#/components/responses/Forbidden"
|
|
14389
|
+
}
|
|
14390
|
+
},
|
|
14391
|
+
"security": [
|
|
14392
|
+
{
|
|
14393
|
+
"builderSession": []
|
|
14394
|
+
}
|
|
14395
|
+
]
|
|
14396
|
+
},
|
|
14397
|
+
"delete": {
|
|
14398
|
+
"operationId": "delete_market_watch_settings_key",
|
|
14399
|
+
"tags": [
|
|
14400
|
+
"market-watch"
|
|
14401
|
+
],
|
|
14402
|
+
"summary": "DELETE /market-watch/settings/key",
|
|
14403
|
+
"description": "**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.settings.manage` (all required).",
|
|
14404
|
+
"x-rank": "metic+archon",
|
|
14405
|
+
"x-source": "modules/market-watch/routes/settings.js",
|
|
14406
|
+
"x-permissions": [
|
|
14407
|
+
"project.settings.manage"
|
|
14408
|
+
],
|
|
14409
|
+
"responses": {
|
|
14410
|
+
"200": {
|
|
14411
|
+
"description": "Success."
|
|
14412
|
+
},
|
|
14413
|
+
"400": {
|
|
14414
|
+
"$ref": "#/components/responses/BadRequest"
|
|
14415
|
+
},
|
|
14416
|
+
"401": {
|
|
14417
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
14418
|
+
},
|
|
14419
|
+
"403": {
|
|
14420
|
+
"$ref": "#/components/responses/Forbidden"
|
|
14421
|
+
}
|
|
14422
|
+
},
|
|
14423
|
+
"security": [
|
|
14424
|
+
{
|
|
14425
|
+
"builderSession": []
|
|
14426
|
+
}
|
|
14427
|
+
]
|
|
14428
|
+
}
|
|
14429
|
+
},
|
|
14272
14430
|
"/me": {
|
|
14273
14431
|
"get": {
|
|
14274
14432
|
"operationId": "get_me",
|
|
@@ -18959,6 +19117,44 @@
|
|
|
18959
19117
|
]
|
|
18960
19118
|
}
|
|
18961
19119
|
},
|
|
19120
|
+
"/pay-terms": {
|
|
19121
|
+
"get": {
|
|
19122
|
+
"operationId": "get_pay_terms",
|
|
19123
|
+
"tags": [
|
|
19124
|
+
"pay-terms"
|
|
19125
|
+
],
|
|
19126
|
+
"summary": "GET /pay-terms",
|
|
19127
|
+
"description": "GET /pay-terms?task_ids=1,2,3 — what each task pays, in the project's words (task 1004990, ADR 0385 D3), for a list of tasks in one read: the hall task page and `bongos start` show it so a builder sees the pay BEFORE claiming. Each entry is { source: 'task' | 'project' | 'none', terms, set_by, set_at }; a task with none of its own shows the project's standing terms (set below), and a self-managed term carries its \"Bongos does not move or guarantee this money\" label. Records only — no amount here is a Bongos figure. It lives beside the standing-terms write because both serve the one pay-terms table pair. rank: any-builder — the same task metadata GET /tasks/:id serves; nothing changed.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
19128
|
+
"x-rank": "any-builder",
|
|
19129
|
+
"x-source": "modules/lifecycle/routes/project-settings.js",
|
|
19130
|
+
"responses": {
|
|
19131
|
+
"200": {
|
|
19132
|
+
"description": "Success.",
|
|
19133
|
+
"content": {
|
|
19134
|
+
"application/json": {
|
|
19135
|
+
"schema": {
|
|
19136
|
+
"$ref": "#/components/schemas/GetPayTermsResponse"
|
|
19137
|
+
}
|
|
19138
|
+
}
|
|
19139
|
+
}
|
|
19140
|
+
},
|
|
19141
|
+
"400": {
|
|
19142
|
+
"$ref": "#/components/responses/BadRequest"
|
|
19143
|
+
},
|
|
19144
|
+
"401": {
|
|
19145
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
19146
|
+
},
|
|
19147
|
+
"403": {
|
|
19148
|
+
"$ref": "#/components/responses/Forbidden"
|
|
19149
|
+
}
|
|
19150
|
+
},
|
|
19151
|
+
"security": [
|
|
19152
|
+
{
|
|
19153
|
+
"builderSession": []
|
|
19154
|
+
}
|
|
19155
|
+
]
|
|
19156
|
+
}
|
|
19157
|
+
},
|
|
18962
19158
|
"/payouts/age-records": {
|
|
18963
19159
|
"post": {
|
|
18964
19160
|
"operationId": "post_payouts_age_records",
|
|
@@ -19896,6 +20092,58 @@
|
|
|
19896
20092
|
]
|
|
19897
20093
|
}
|
|
19898
20094
|
},
|
|
20095
|
+
"/project-settings/pay-terms": {
|
|
20096
|
+
"patch": {
|
|
20097
|
+
"operationId": "patch_project_settings_pay_terms",
|
|
20098
|
+
"tags": [
|
|
20099
|
+
"project-settings"
|
|
20100
|
+
],
|
|
20101
|
+
"summary": "PATCH /project-settings/pay-terms",
|
|
20102
|
+
"description": "PATCH /project-settings/pay-terms — body { terms: [{ pay_type, amount?, unit?, note? }] } (task 1004990; ADR 0385 decision 3 and the owner's 2026-10-29 ruling). The project's STANDING pay terms: what a builder is shown on any task that carries none of its own. The whole list replaces the current set; [] means none. Every change is a new row naming who set it and when, and the old sets stay, so the table is the audit trail the owner asked for. Bongos fills nothing in. rank: project.settings.manage (metic+, government_010), the same atom as the other writes on this page.\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `project.settings.manage` (all required).",
|
|
20103
|
+
"x-rank": "metic+archon",
|
|
20104
|
+
"x-source": "modules/lifecycle/routes/project-settings.js",
|
|
20105
|
+
"x-permissions": [
|
|
20106
|
+
"project.settings.manage"
|
|
20107
|
+
],
|
|
20108
|
+
"requestBody": {
|
|
20109
|
+
"required": true,
|
|
20110
|
+
"content": {
|
|
20111
|
+
"application/json": {
|
|
20112
|
+
"schema": {
|
|
20113
|
+
"$ref": "#/components/schemas/PatchProjectSettingsPayTermsRequest"
|
|
20114
|
+
}
|
|
20115
|
+
}
|
|
20116
|
+
},
|
|
20117
|
+
"x-validated": true
|
|
20118
|
+
},
|
|
20119
|
+
"responses": {
|
|
20120
|
+
"200": {
|
|
20121
|
+
"description": "Success.",
|
|
20122
|
+
"content": {
|
|
20123
|
+
"application/json": {
|
|
20124
|
+
"schema": {
|
|
20125
|
+
"$ref": "#/components/schemas/PatchProjectSettingsPayTermsResponse"
|
|
20126
|
+
}
|
|
20127
|
+
}
|
|
20128
|
+
}
|
|
20129
|
+
},
|
|
20130
|
+
"400": {
|
|
20131
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
20132
|
+
},
|
|
20133
|
+
"401": {
|
|
20134
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
20135
|
+
},
|
|
20136
|
+
"403": {
|
|
20137
|
+
"$ref": "#/components/responses/Forbidden"
|
|
20138
|
+
}
|
|
20139
|
+
},
|
|
20140
|
+
"security": [
|
|
20141
|
+
{
|
|
20142
|
+
"builderSession": []
|
|
20143
|
+
}
|
|
20144
|
+
]
|
|
20145
|
+
}
|
|
20146
|
+
},
|
|
19899
20147
|
"/project-settings/rot-days": {
|
|
19900
20148
|
"patch": {
|
|
19901
20149
|
"operationId": "patch_project_settings_rot_days",
|
|
@@ -27668,7 +27916,7 @@
|
|
|
27668
27916
|
"tasks"
|
|
27669
27917
|
],
|
|
27670
27918
|
"summary": "POST /tasks",
|
|
27671
|
-
"description": "Task create/promote/edit (plan/scope mutation) is Metic+ as of ADR 0090 (owner decision 2026-06-26): a Metic who can run idea-triage may also seed + shape tasks. Was Archon-only (task task 106 / ADR 0016; three-rank model task 360 / ADR 0018). A Xenos/Thetes still cannot author — they file ideas. Setting rank and closing versions stay Archon. The every-route audit is task task 231 (V3.R06). rank: metic+archon — create work (plan/scope mutation); ADR 0090 (was ADR 0016/0018 archon).\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `task.create` (all required).",
|
|
27919
|
+
"description": "Task create/promote/edit (plan/scope mutation) is Metic+ as of ADR 0090 (owner decision 2026-06-26): a Metic who can run idea-triage may also seed + shape tasks. Was Archon-only (task task 106 / ADR 0016; three-rank model task 360 / ADR 0018). A Xenos/Thetes still cannot author — they file ideas. Setting rank and closing versions stay Archon. The every-route audit is task task 231 (V3.R06). NO pay_terms HERE, on purpose (task 1004990): the task's rule is that only someone who may EDIT a task sets its pay terms, and this route is gated on task.create, not task.edit — so terms are set with PATCH /tasks/:id right after create, under that route's task.edit gate. The strict validator refuses the field here rather than letting a create quietly widen who may set pay. rank: metic+archon — create work (plan/scope mutation); ADR 0090 (was ADR 0016/0018 archon).\n\n**Rank:** `metic+archon` — Metic or Archon rank (review/triage powers).\n\n**Permissions:** `task.create` (all required).",
|
|
27672
27920
|
"x-rank": "metic+archon",
|
|
27673
27921
|
"x-source": "modules/lifecycle/routes/task-write-routes.js",
|
|
27674
27922
|
"x-permissions": [
|
|
@@ -31898,6 +32146,15 @@
|
|
|
31898
32146
|
"notes"
|
|
31899
32147
|
]
|
|
31900
32148
|
},
|
|
32149
|
+
"GetPayTermsResponse": {
|
|
32150
|
+
"type": "object",
|
|
32151
|
+
"properties": {
|
|
32152
|
+
"pay_terms": {}
|
|
32153
|
+
},
|
|
32154
|
+
"required": [
|
|
32155
|
+
"pay_terms"
|
|
32156
|
+
]
|
|
32157
|
+
},
|
|
31901
32158
|
"GetPayoutsApprovalsResponse": {
|
|
31902
32159
|
"type": "object",
|
|
31903
32160
|
"properties": {
|
|
@@ -33196,6 +33453,15 @@
|
|
|
33196
33453
|
"idea"
|
|
33197
33454
|
]
|
|
33198
33455
|
},
|
|
33456
|
+
"PatchMarketWatchSettingsRequest": {
|
|
33457
|
+
"type": "object",
|
|
33458
|
+
"properties": {
|
|
33459
|
+
"enabled": {},
|
|
33460
|
+
"monthly_cap_usd": {},
|
|
33461
|
+
"cadence": {}
|
|
33462
|
+
},
|
|
33463
|
+
"additionalProperties": false
|
|
33464
|
+
},
|
|
33199
33465
|
"PatchMeCoreMoveSeenRequest": {
|
|
33200
33466
|
"type": "object",
|
|
33201
33467
|
"properties": {
|
|
@@ -33478,6 +33744,29 @@
|
|
|
33478
33744
|
"updated_at"
|
|
33479
33745
|
]
|
|
33480
33746
|
},
|
|
33747
|
+
"PatchProjectSettingsPayTermsRequest": {
|
|
33748
|
+
"type": "object",
|
|
33749
|
+
"properties": {
|
|
33750
|
+
"terms": {}
|
|
33751
|
+
},
|
|
33752
|
+
"required": [
|
|
33753
|
+
"terms"
|
|
33754
|
+
],
|
|
33755
|
+
"additionalProperties": false
|
|
33756
|
+
},
|
|
33757
|
+
"PatchProjectSettingsPayTermsResponse": {
|
|
33758
|
+
"type": "object",
|
|
33759
|
+
"properties": {
|
|
33760
|
+
"ok": {
|
|
33761
|
+
"type": "boolean"
|
|
33762
|
+
},
|
|
33763
|
+
"row": {}
|
|
33764
|
+
},
|
|
33765
|
+
"required": [
|
|
33766
|
+
"ok",
|
|
33767
|
+
"row"
|
|
33768
|
+
]
|
|
33769
|
+
},
|
|
33481
33770
|
"PatchProjectSettingsRotDaysRequest": {
|
|
33482
33771
|
"type": "object",
|
|
33483
33772
|
"properties": {
|
|
@@ -33863,7 +34152,8 @@
|
|
|
33863
34152
|
"minLength": 1,
|
|
33864
34153
|
"maxLength": 1000
|
|
33865
34154
|
},
|
|
33866
|
-
"status": {}
|
|
34155
|
+
"status": {},
|
|
34156
|
+
"pay_terms": {}
|
|
33867
34157
|
},
|
|
33868
34158
|
"additionalProperties": false
|
|
33869
34159
|
},
|
|
@@ -40503,6 +40793,19 @@
|
|
|
40503
40793
|
},
|
|
40504
40794
|
"additionalProperties": false
|
|
40505
40795
|
},
|
|
40796
|
+
"PutMarketWatchSettingsKeyRequest": {
|
|
40797
|
+
"type": "object",
|
|
40798
|
+
"properties": {
|
|
40799
|
+
"key": {
|
|
40800
|
+
"type": "string",
|
|
40801
|
+
"maxLength": 512
|
|
40802
|
+
}
|
|
40803
|
+
},
|
|
40804
|
+
"required": [
|
|
40805
|
+
"key"
|
|
40806
|
+
],
|
|
40807
|
+
"additionalProperties": false
|
|
40808
|
+
},
|
|
40506
40809
|
"PutMingleOptInRequest": {
|
|
40507
40810
|
"type": "object",
|
|
40508
40811
|
"properties": {
|
|
@@ -40804,9 +41107,9 @@
|
|
|
40804
41107
|
"description": "A required dependency/feature is not configured or is temporarily down."
|
|
40805
41108
|
}
|
|
40806
41109
|
},
|
|
40807
|
-
"x-endpoint-count":
|
|
40808
|
-
"x-schema-count":
|
|
41110
|
+
"x-endpoint-count": 649,
|
|
41111
|
+
"x-schema-count": 696,
|
|
40809
41112
|
"x-undocumented-bodies": 12,
|
|
40810
|
-
"x-response-schemas":
|
|
41113
|
+
"x-response-schemas": 446,
|
|
40811
41114
|
"x-generated-by": "scripts/bongos/gen-api-docs.js"
|
|
40812
41115
|
}
|
package/docs/api-reference.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Bongos API reference
|
|
4
4
|
|
|
5
|
-
> **Generated from the live route files** — the route file is authoritative.
|
|
5
|
+
> **Generated from the live route files** — the route file is authoritative. 649 endpoints across 108 route files.
|
|
6
6
|
> Machine-readable spec: [`docs/api/openapi.json`](api/openapi.json) (OpenAPI 3.1). Rendered docs site: **`/docs`** (e.g. `cloudbongos.com/docs`).
|
|
7
7
|
|
|
8
8
|
Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust-boundary-server-enforced-permissions.md)): `public` < `any-builder` < `metic+archon` < `archon`.
|
|
@@ -520,7 +520,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
520
520
|
| POST | `/api/bongos/llm-cache/lookup` | `metic+archon` | `cache_key`, `tokens_saved_est` | POST /llm-cache/lookup — hit/miss + atomic hit_count bump. |
|
|
521
521
|
| POST | `/api/bongos/llm-cache/store` | `metic+archon` | `spec`, `result_stdout`, `result_cost_usd` | POST /llm-cache/store — upsert a freshly-produced result. |
|
|
522
522
|
|
|
523
|
-
## `market-watch` (
|
|
523
|
+
## `market-watch` (10)
|
|
524
524
|
|
|
525
525
|
| Method | Path | Rank | Body | Description |
|
|
526
526
|
|---|---|---|---|---|
|
|
@@ -530,6 +530,10 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
530
530
|
| POST | `/api/bongos/market-watch/proposals/:id/vote` | `metic+archon` | — | PUT TO A VOTE. |
|
|
531
531
|
| GET | `/api/bongos/market-watch/rules` | `any-builder` | — | every member reads the rules (the task); the read grants nothing. |
|
|
532
532
|
| POST | `/api/bongos/market-watch/rules/proposals` | `any-builder` | `step`, `change`, `reason` | Any signed-in member may propose (the task: "every member can read the page and can propose"). |
|
|
533
|
+
| GET | `/api/bongos/market-watch/settings` | `metic+archon` | — | |
|
|
534
|
+
| PATCH | `/api/bongos/market-watch/settings` | `metic+archon` | `enabled`, `monthly_cap_usd`, `cadence` | |
|
|
535
|
+
| PUT | `/api/bongos/market-watch/settings/key` | `metic+archon` | `key` | |
|
|
536
|
+
| DELETE | `/api/bongos/market-watch/settings/key` | `metic+archon` | — | |
|
|
533
537
|
|
|
534
538
|
## `me` (55)
|
|
535
539
|
|
|
@@ -687,6 +691,12 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
687
691
|
| GET | `/api/bongos/page-notes/images/:id` | `any-builder` | — | |
|
|
688
692
|
| GET | `/api/bongos/page-notes/site` | `any-builder` | — | The public site's reviews (task 1004499), for the Studio's list. |
|
|
689
693
|
|
|
694
|
+
## `pay-terms` (1)
|
|
695
|
+
|
|
696
|
+
| Method | Path | Rank | Body | Description |
|
|
697
|
+
|---|---|---|---|---|
|
|
698
|
+
| GET | `/api/bongos/pay-terms` | `any-builder` | — | GET /pay-terms?task_ids=1,2,3 — what each task pays, in the project's words (task 1004990, ADR 0385 D3), for a list of tasks in one read:… |
|
|
699
|
+
|
|
690
700
|
## `payouts` (16)
|
|
691
701
|
|
|
692
702
|
| Method | Path | Rank | Body | Description |
|
|
@@ -720,11 +730,12 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
720
730
|
|---|---|---|---|---|
|
|
721
731
|
| GET | `/api/bongos/project/manage-link` | `archon` | — | GET /project/manage-link — the hub's page for THIS project, where its owner takes it offline or disconnects it (task 1004570). |
|
|
722
732
|
|
|
723
|
-
## `project-settings` (
|
|
733
|
+
## `project-settings` (8)
|
|
724
734
|
|
|
725
735
|
| Method | Path | Rank | Body | Description |
|
|
726
736
|
|---|---|---|---|---|
|
|
727
737
|
| GET | `/api/bongos/project-settings` | `metic+archon` | — | GET /project-settings — all five rows in ONE read. |
|
|
738
|
+
| PATCH | `/api/bongos/project-settings/pay-terms` | `metic+archon` | `terms` | PATCH /project-settings/pay-terms — body { terms: [{ pay_type, amount?, unit?, note? }] } (task 1004990; ADR 0385 decision 3 and the owne… |
|
|
728
739
|
| PATCH | `/api/bongos/project-settings/rot-days` | `metic+archon` | `days` | PATCH /project-settings/rot-days — body { days }. |
|
|
729
740
|
| GET | `/api/bongos/project-settings/ship-mode` | `any-builder` | — | GET /project-settings/ship-mode — the ship mode alone, for the CLI and the AI. |
|
|
730
741
|
| PATCH | `/api/bongos/project-settings/ship-mode` | `metic+archon` | `mode` | PATCH /project-settings/ship-mode — body { mode: 'auto' \| 'manual' }. |
|
|
@@ -993,7 +1004,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
|
|
|
993
1004
|
| GET | `/api/bongos/tasks` | `any-builder` | — | |
|
|
994
1005
|
| POST | `/api/bongos/tasks` | `metic+archon` | `version_id`, `title`, `description`, `status`, `touches`, `est_minutes`, `est_cost_usd`, `manual_degree`, `priority`, `automation_tag`, `credits_reward`, `source`, `source_ref`, `value_summary`, `kind`, `discipline`, `parallel_safe`, `newcomer_friendly`, `security_sensitive`, `requires_rank`, `needs`, `auto_detect_touches`, `criterion_ids`, `module_key`, `goal_id` | Task create/promote/edit (plan/scope mutation) is Metic+ as of ADR 0090 (owner decision 2026-06-26): a Metic who can run idea-triage may … |
|
|
995
1006
|
| GET | `/api/bongos/tasks/:id` | `any-builder` | — | single-task read; preserved per CRITICAL §4 (supervisor hot path). |
|
|
996
|
-
| PATCH | `/api/bongos/tasks/:id` | `metic+archon` | `kind`, `discipline`, `requires_rank`, `module_key`, `goal_id`, `parent_task_id`, `parallel_safe`, `newcomer_friendly`, `xenos_claimable`, `security_sensitive`, `automation_tag`, `needs`, `needs_migration`, `description`, `title`, `priority`, `value_summary`, `status` | PATCH /tasks/:id — supports body.parent_task_id (V2 C2), body.kind (V2 B1), body.discipline (mig 014), body.parallel_safe (mig 028), and … |
|
|
1007
|
+
| PATCH | `/api/bongos/tasks/:id` | `metic+archon` | `kind`, `discipline`, `requires_rank`, `module_key`, `goal_id`, `parent_task_id`, `parallel_safe`, `newcomer_friendly`, `xenos_claimable`, `security_sensitive`, `automation_tag`, `needs`, `needs_migration`, `description`, `title`, `priority`, `value_summary`, `status`, `pay_terms` | PATCH /tasks/:id — supports body.parent_task_id (V2 C2), body.kind (V2 B1), body.discipline (mig 014), body.parallel_safe (mig 028), and … |
|
|
997
1008
|
| POST | `/api/bongos/tasks/:id/abandon` | `any-builder` | — | POST /tasks/:id/abandon — terminal "retire this task" transition (task 987). |
|
|
998
1009
|
| POST | `/api/bongos/tasks/:id/attest-gate` | `any-builder` | `head_sha` | POST /tasks/:id/attest-gate — body: { head_sha }. |
|
|
999
1010
|
| POST | `/api/bongos/tasks/:id/confirm` | `any-builder` | `verified` | |
|