@bongos/core 1.24.11 → 1.24.13
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 +160 -85
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +6 -0
- package/clients/bongos-client/index.cjs +6 -0
- package/clients/bongos-client/index.d.ts +8 -0
- package/clients/bongos-client/index.mjs +6 -0
- package/docs/adr/0371-auto-pickup-applies-a-submitted-tweak-on-the-runner.md +1 -0
- package/docs/api/openapi.json +175 -3
- package/docs/api-reference.md +5 -2
- package/docs/copy-inventory.md +92 -20
- package/docs/copy-registry.json +777 -33
- package/docs/module-api-changelog.md +4 -0
- package/docs/page-inventory.json +68 -4
- package/docs/page-readings.json +856 -802
- package/migrations/core_288_credit_log_idea_unique.sql +51 -0
- package/modules/economy/credits.js +6 -5
- package/modules/hall-ui/public/ai-studio.html +1 -1
- package/modules/hall-ui/public/atlas.html +1 -1
- package/modules/hall-ui/public/blockers.html +1 -1
- package/modules/hall-ui/public/board-room.html +1 -1
- package/modules/hall-ui/public/city.html +1 -1
- package/modules/hall-ui/public/collab.html +1 -1
- package/modules/hall-ui/public/commands.html +1 -1
- package/modules/hall-ui/public/copy-desk.html +1 -1
- package/modules/hall-ui/public/craft-mode.js +2 -2
- package/modules/hall-ui/public/deploy.html +1 -1
- package/modules/hall-ui/public/diagrams.html +1 -1
- package/modules/hall-ui/public/drachmae.html +1 -1
- package/modules/hall-ui/public/fleet.html +1 -1
- package/modules/hall-ui/public/gate.html +1 -1
- package/modules/hall-ui/public/goal-map.html +1 -1
- package/modules/hall-ui/public/goals.html +1 -1
- package/modules/hall-ui/public/government.html +1 -1
- package/modules/hall-ui/public/idea.html +1 -1
- package/modules/hall-ui/public/ideas.html +1 -1
- package/modules/hall-ui/public/index.html +1 -1
- package/modules/hall-ui/public/market-watch-item.html +83 -0
- package/modules/hall-ui/public/market-watch-item.js +150 -0
- package/modules/hall-ui/public/market-watch-item.states.json +143 -0
- package/modules/hall-ui/public/market-watch-lib.js +243 -0
- package/modules/hall-ui/public/market-watch-rules.html +1 -1
- package/modules/hall-ui/public/market-watch-settings.html +1 -1
- package/modules/hall-ui/public/market-watch.css +169 -0
- package/modules/hall-ui/public/market-watch.html +111 -0
- package/modules/hall-ui/public/market-watch.js +129 -0
- package/modules/hall-ui/public/market-watch.states.json +14 -0
- package/modules/hall-ui/public/modules.html +1 -1
- package/modules/hall-ui/public/my-agents.html +1 -1
- package/modules/hall-ui/public/primer.html +1 -1
- package/modules/hall-ui/public/profile.html +1 -1
- package/modules/hall-ui/public/project-settings.html +1 -1
- package/modules/hall-ui/public/project-settings.js +2 -2
- package/modules/hall-ui/public/ranks.html +1 -1
- package/modules/hall-ui/public/roadmap.html +1 -1
- package/modules/hall-ui/public/roster.html +1 -1
- package/modules/hall-ui/public/sessions.html +1 -1
- package/modules/hall-ui/public/settings.html +1 -1
- package/modules/hall-ui/public/shell.js +3 -2
- package/modules/hall-ui/public/street.html +1 -1
- package/modules/hall-ui/public/studio.html +1 -1
- package/modules/hall-ui/public/task.html +1 -1
- package/modules/hall-ui/public/thinking.html +1 -1
- package/modules/hall-ui/public/tweak-editor.html +1 -1
- package/modules/hall-ui/public/watch.html +1 -1
- package/modules/hall-ui/public/work.html +1 -1
- package/modules/hall-ui/records/market-watch.md +40 -0
- package/modules/lifecycle/autopickup.js +46 -24
- package/modules/lifecycle/db-claims.js +1 -1
- package/modules/lifecycle/routes/project-settings.js +24 -16
- package/modules/market-watch/db.js +15 -10
- package/modules/market-watch/module.json +2 -1
- package/modules/market-watch/pages.js +323 -0
- package/modules/market-watch/proposals.js +66 -4
- package/modules/market-watch/research.js +27 -0
- package/modules/market-watch/routes/pages.js +116 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +20 -0
- package/scripts/bongos/run-unit-tests.js +4 -0
- package/src/bongos/module-scope-map.js +1 -0
- package/src/bongos/project-settings.js +2 -2
- package/src/module-api.js +1 -1
- package/tests/autopickup_cap.mjs +122 -60
- package/tests/credit_log_idea_unique_db.mjs +98 -0
- package/tests/fixtures/market-watch-seed-rows.cjs +60 -0
- package/tests/hall_nav.mjs +4 -1
- package/tests/hall_page_gate_map.mjs +4 -0
- package/tests/market_watch_data_db.mjs +1 -0
- package/tests/market_watch_module.mjs +2 -1
- package/tests/market_watch_pages.mjs +356 -0
- package/tests/market_watch_rules.mjs +63 -3
- package/tests/market_watch_run.mjs +44 -0
- package/tests/nav_permission_atoms.mjs +1 -1
|
@@ -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
|
+
- 652 operations across 81 resource groups
|
|
9
9
|
|
|
10
10
|
## Use it from your project
|
|
11
11
|
|
|
@@ -763,6 +763,12 @@ function createClient(opts = {}) {
|
|
|
763
763
|
getMarketWatchAsk: (args) => request("GET", "/market-watch/ask", { hasBody: false }, args),
|
|
764
764
|
// POST /market-watch/ask/answer — rank: any-builder — POST /market-watch/ask/answer
|
|
765
765
|
postMarketWatchAskAnswer: (args) => request("POST", "/market-watch/ask/answer", { hasBody: true }, args),
|
|
766
|
+
// GET /market-watch/home — rank: any-builder — GET /market-watch/home
|
|
767
|
+
getMarketWatchHome: (args) => request("GET", "/market-watch/home", { hasBody: false }, args),
|
|
768
|
+
// GET /market-watch/items/{id} — rank: any-builder — GET /market-watch/items/:id
|
|
769
|
+
getMarketWatchItemsId: (args) => request("GET", "/market-watch/items/{id}", { hasBody: false }, args),
|
|
770
|
+
// POST /market-watch/proposals — rank: any-builder — POST /market-watch/proposals
|
|
771
|
+
postMarketWatchProposals: (args) => request("POST", "/market-watch/proposals", { hasBody: true }, args),
|
|
766
772
|
// POST /market-watch/proposals/{id}/decide — rank: any-builder — POST /market-watch/proposals/:id/decide
|
|
767
773
|
postMarketWatchProposalsIdDecide: (args) => request("POST", "/market-watch/proposals/{id}/decide", { hasBody: true }, args),
|
|
768
774
|
// POST /market-watch/proposals/{id}/vote — rank: metic+archon — POST /market-watch/proposals/:id/vote
|
|
@@ -762,6 +762,12 @@ function createClient(opts = {}) {
|
|
|
762
762
|
getMarketWatchAsk: (args) => request("GET", "/market-watch/ask", { hasBody: false }, args),
|
|
763
763
|
// POST /market-watch/ask/answer — rank: any-builder — POST /market-watch/ask/answer
|
|
764
764
|
postMarketWatchAskAnswer: (args) => request("POST", "/market-watch/ask/answer", { hasBody: true }, args),
|
|
765
|
+
// GET /market-watch/home — rank: any-builder — GET /market-watch/home
|
|
766
|
+
getMarketWatchHome: (args) => request("GET", "/market-watch/home", { hasBody: false }, args),
|
|
767
|
+
// GET /market-watch/items/{id} — rank: any-builder — GET /market-watch/items/:id
|
|
768
|
+
getMarketWatchItemsId: (args) => request("GET", "/market-watch/items/{id}", { hasBody: false }, args),
|
|
769
|
+
// POST /market-watch/proposals — rank: any-builder — POST /market-watch/proposals
|
|
770
|
+
postMarketWatchProposals: (args) => request("POST", "/market-watch/proposals", { hasBody: true }, args),
|
|
765
771
|
// POST /market-watch/proposals/{id}/decide — rank: any-builder — POST /market-watch/proposals/:id/decide
|
|
766
772
|
postMarketWatchProposalsIdDecide: (args) => request("POST", "/market-watch/proposals/{id}/decide", { hasBody: true }, args),
|
|
767
773
|
// POST /market-watch/proposals/{id}/vote — rank: metic+archon — POST /market-watch/proposals/:id/vote
|
|
@@ -470,6 +470,8 @@ export interface PostLlmCacheStoreResponse { stored: boolean; result_cost_usd?:
|
|
|
470
470
|
export interface PostMarketWatchAskAnswerRequest { week_of?: string; picks?: unknown[]; names?: unknown[]; nothing?: boolean; builder_id?: number }
|
|
471
471
|
export interface PostMarketWatchProposalsIdDecideRequest { decision: "approve" | "decline" }
|
|
472
472
|
export interface PostMarketWatchProposalsIdVoteResponse { ok: boolean; matter_id: unknown; item_id: unknown }
|
|
473
|
+
export interface PostMarketWatchProposalsRequest { kind: string; reason?: string; item_id?: StringifiableId; dimension?: string; value?: unknown; url?: string; log_entry_id?: StringifiableId; scout?: string; name?: string }
|
|
474
|
+
export interface PostMarketWatchProposalsResponse { proposal: unknown }
|
|
473
475
|
export interface PostMarketWatchRulesProposalsRequest { step: string; change: Record<string, unknown>; reason: string }
|
|
474
476
|
export interface PostMarketWatchRulesProposalsResponse { ok: boolean; proposal: unknown }
|
|
475
477
|
export interface PostMeAnthropicLinkRequest { anthropic_email: string; anthropic_user_id: string }
|
|
@@ -1392,6 +1394,12 @@ export interface BongosClient {
|
|
|
1392
1394
|
getMarketWatchAsk(args?: RequestArgs): Promise<GetMarketWatchAskResponse>;
|
|
1393
1395
|
/** POST /market-watch/ask/answer — rank: any-builder */
|
|
1394
1396
|
postMarketWatchAskAnswer(args?: RequestArgs & { body?: PostMarketWatchAskAnswerRequest }): Promise<ApiResponse>;
|
|
1397
|
+
/** GET /market-watch/home — rank: any-builder */
|
|
1398
|
+
getMarketWatchHome(args?: RequestArgs): Promise<ApiResponse>;
|
|
1399
|
+
/** GET /market-watch/items/{id} — rank: any-builder */
|
|
1400
|
+
getMarketWatchItemsId(args?: RequestArgs): Promise<ApiResponse>;
|
|
1401
|
+
/** POST /market-watch/proposals — rank: any-builder */
|
|
1402
|
+
postMarketWatchProposals(args: RequestArgs & { body: PostMarketWatchProposalsRequest }): Promise<PostMarketWatchProposalsResponse>;
|
|
1395
1403
|
/** POST /market-watch/proposals/{id}/decide — rank: any-builder */
|
|
1396
1404
|
postMarketWatchProposalsIdDecide(args: RequestArgs & { body: PostMarketWatchProposalsIdDecideRequest }): Promise<ApiResponse>;
|
|
1397
1405
|
/** POST /market-watch/proposals/{id}/vote — rank: metic+archon */
|
|
@@ -759,6 +759,12 @@ export function createClient(opts = {}) {
|
|
|
759
759
|
getMarketWatchAsk: (args) => request("GET", "/market-watch/ask", { hasBody: false }, args),
|
|
760
760
|
// POST /market-watch/ask/answer — rank: any-builder — POST /market-watch/ask/answer
|
|
761
761
|
postMarketWatchAskAnswer: (args) => request("POST", "/market-watch/ask/answer", { hasBody: true }, args),
|
|
762
|
+
// GET /market-watch/home — rank: any-builder — GET /market-watch/home
|
|
763
|
+
getMarketWatchHome: (args) => request("GET", "/market-watch/home", { hasBody: false }, args),
|
|
764
|
+
// GET /market-watch/items/{id} — rank: any-builder — GET /market-watch/items/:id
|
|
765
|
+
getMarketWatchItemsId: (args) => request("GET", "/market-watch/items/{id}", { hasBody: false }, args),
|
|
766
|
+
// POST /market-watch/proposals — rank: any-builder — POST /market-watch/proposals
|
|
767
|
+
postMarketWatchProposals: (args) => request("POST", "/market-watch/proposals", { hasBody: true }, args),
|
|
762
768
|
// POST /market-watch/proposals/{id}/decide — rank: any-builder — POST /market-watch/proposals/:id/decide
|
|
763
769
|
postMarketWatchProposalsIdDecide: (args) => request("POST", "/market-watch/proposals/{id}/decide", { hasBody: true }, args),
|
|
764
770
|
// POST /market-watch/proposals/{id}/vote — rank: metic+archon — POST /market-watch/proposals/:id/vote
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
- **Builds on:** [ADR 0341](0341-the-page-is-the-unit-of-tweak-mode.md) (Tweak Mode; D7 nothing ships without the artist's approval), [ADR 0307](0307-autobongos-a-deterministic-supervisor-and-agentic-workers.md) (Autobongos: one supervisor, one headless worker per task, a DB fence), [ADR 0369](0369-ship-mode-decides-who-starts-a-ship-not-how-it-lands.md) (a live knob in `project_settings` behind one resolver)
|
|
7
7
|
- **Decided with:** the owner, 2026-09-27 ("queue now, auto later") and 2026-10-08 (write the design now, without waiting for the live artist proof, task 1004329)
|
|
8
8
|
- **Amended:** 2026-10-29, [task 1005003](https://cloudbongos.com/builders#/task/1005003) — the owner raised the D5 default cap from 20 to **200** rounds a month (decision on [task 1004971](https://cloudbongos.com/builders#/task/1004971), Q7). A project can set its own cap and one cap per builder rank (`tweak.autopickup_rank_cap.<rank>`, one row per rank so two edits never overwrite each other) on the settings page. The cap for a marked claim is the claimer's rank cap when the project set one, else the project cap; it is measured against the one project-wide monthly count, under the same lock.
|
|
9
|
+
- **Amended:** 2026-10-30, [task 1005019](https://cloudbongos.com/builders#/task/1005019) — the owner ruled that a rank cap is a **per-person** allowance: each builder of that rank may have that many marked claims of their own this month, counted from their own claims under the same lock. The project cap still bounds the total across everyone, checked first. A rank with no cap has only the project cap. The refusal says which limit was hit (`cap_from`: `project` or `rank`).
|
|
9
10
|
|
|
10
11
|
## Context
|
|
11
12
|
|
package/docs/api/openapi.json
CHANGED
|
@@ -14082,6 +14082,131 @@
|
|
|
14082
14082
|
]
|
|
14083
14083
|
}
|
|
14084
14084
|
},
|
|
14085
|
+
"/market-watch/home": {
|
|
14086
|
+
"get": {
|
|
14087
|
+
"operationId": "get_market_watch_home",
|
|
14088
|
+
"tags": [
|
|
14089
|
+
"market-watch"
|
|
14090
|
+
],
|
|
14091
|
+
"summary": "GET /market-watch/home",
|
|
14092
|
+
"description": "every member reads the desk.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
14093
|
+
"x-rank": "any-builder",
|
|
14094
|
+
"x-source": "modules/market-watch/routes/pages.js",
|
|
14095
|
+
"responses": {
|
|
14096
|
+
"200": {
|
|
14097
|
+
"description": "Success."
|
|
14098
|
+
},
|
|
14099
|
+
"400": {
|
|
14100
|
+
"$ref": "#/components/responses/BadRequest"
|
|
14101
|
+
},
|
|
14102
|
+
"401": {
|
|
14103
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
14104
|
+
},
|
|
14105
|
+
"403": {
|
|
14106
|
+
"$ref": "#/components/responses/Forbidden"
|
|
14107
|
+
}
|
|
14108
|
+
},
|
|
14109
|
+
"security": [
|
|
14110
|
+
{
|
|
14111
|
+
"builderSession": []
|
|
14112
|
+
}
|
|
14113
|
+
]
|
|
14114
|
+
}
|
|
14115
|
+
},
|
|
14116
|
+
"/market-watch/items/{id}": {
|
|
14117
|
+
"get": {
|
|
14118
|
+
"operationId": "get_market_watch_items_id",
|
|
14119
|
+
"tags": [
|
|
14120
|
+
"market-watch"
|
|
14121
|
+
],
|
|
14122
|
+
"summary": "GET /market-watch/items/:id",
|
|
14123
|
+
"description": "every member reads an item's case file.\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
14124
|
+
"x-rank": "any-builder",
|
|
14125
|
+
"x-source": "modules/market-watch/routes/pages.js",
|
|
14126
|
+
"parameters": [
|
|
14127
|
+
{
|
|
14128
|
+
"name": "id",
|
|
14129
|
+
"in": "path",
|
|
14130
|
+
"required": true,
|
|
14131
|
+
"schema": {
|
|
14132
|
+
"type": "string"
|
|
14133
|
+
},
|
|
14134
|
+
"description": "Path parameter `id`."
|
|
14135
|
+
}
|
|
14136
|
+
],
|
|
14137
|
+
"responses": {
|
|
14138
|
+
"200": {
|
|
14139
|
+
"description": "Success."
|
|
14140
|
+
},
|
|
14141
|
+
"400": {
|
|
14142
|
+
"$ref": "#/components/responses/BadRequest"
|
|
14143
|
+
},
|
|
14144
|
+
"401": {
|
|
14145
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
14146
|
+
},
|
|
14147
|
+
"403": {
|
|
14148
|
+
"$ref": "#/components/responses/Forbidden"
|
|
14149
|
+
},
|
|
14150
|
+
"404": {
|
|
14151
|
+
"$ref": "#/components/responses/NotFound"
|
|
14152
|
+
}
|
|
14153
|
+
},
|
|
14154
|
+
"security": [
|
|
14155
|
+
{
|
|
14156
|
+
"builderSession": []
|
|
14157
|
+
}
|
|
14158
|
+
]
|
|
14159
|
+
}
|
|
14160
|
+
},
|
|
14161
|
+
"/market-watch/proposals": {
|
|
14162
|
+
"post": {
|
|
14163
|
+
"operationId": "post_market_watch_proposals",
|
|
14164
|
+
"tags": [
|
|
14165
|
+
"market-watch"
|
|
14166
|
+
],
|
|
14167
|
+
"summary": "POST /market-watch/proposals",
|
|
14168
|
+
"description": "every member may propose; the government decides (task 1004941).\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
|
|
14169
|
+
"x-rank": "any-builder",
|
|
14170
|
+
"x-source": "modules/market-watch/routes/pages.js",
|
|
14171
|
+
"requestBody": {
|
|
14172
|
+
"required": true,
|
|
14173
|
+
"content": {
|
|
14174
|
+
"application/json": {
|
|
14175
|
+
"schema": {
|
|
14176
|
+
"$ref": "#/components/schemas/PostMarketWatchProposalsRequest"
|
|
14177
|
+
}
|
|
14178
|
+
}
|
|
14179
|
+
},
|
|
14180
|
+
"x-validated": true
|
|
14181
|
+
},
|
|
14182
|
+
"responses": {
|
|
14183
|
+
"200": {
|
|
14184
|
+
"description": "Success.",
|
|
14185
|
+
"content": {
|
|
14186
|
+
"application/json": {
|
|
14187
|
+
"schema": {
|
|
14188
|
+
"$ref": "#/components/schemas/PostMarketWatchProposalsResponse"
|
|
14189
|
+
}
|
|
14190
|
+
}
|
|
14191
|
+
}
|
|
14192
|
+
},
|
|
14193
|
+
"400": {
|
|
14194
|
+
"$ref": "#/components/responses/ValidationFailed"
|
|
14195
|
+
},
|
|
14196
|
+
"401": {
|
|
14197
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
14198
|
+
},
|
|
14199
|
+
"403": {
|
|
14200
|
+
"$ref": "#/components/responses/Forbidden"
|
|
14201
|
+
}
|
|
14202
|
+
},
|
|
14203
|
+
"security": [
|
|
14204
|
+
{
|
|
14205
|
+
"builderSession": []
|
|
14206
|
+
}
|
|
14207
|
+
]
|
|
14208
|
+
}
|
|
14209
|
+
},
|
|
14085
14210
|
"/market-watch/proposals/{id}/decide": {
|
|
14086
14211
|
"post": {
|
|
14087
14212
|
"operationId": "post_market_watch_proposals_id_decide",
|
|
@@ -37270,6 +37395,53 @@
|
|
|
37270
37395
|
"item_id"
|
|
37271
37396
|
]
|
|
37272
37397
|
},
|
|
37398
|
+
"PostMarketWatchProposalsRequest": {
|
|
37399
|
+
"type": "object",
|
|
37400
|
+
"properties": {
|
|
37401
|
+
"kind": {
|
|
37402
|
+
"type": "string"
|
|
37403
|
+
},
|
|
37404
|
+
"reason": {
|
|
37405
|
+
"type": "string",
|
|
37406
|
+
"maxLength": 2000
|
|
37407
|
+
},
|
|
37408
|
+
"item_id": {
|
|
37409
|
+
"$ref": "#/components/schemas/StringifiableId"
|
|
37410
|
+
},
|
|
37411
|
+
"dimension": {
|
|
37412
|
+
"type": "string",
|
|
37413
|
+
"maxLength": 60
|
|
37414
|
+
},
|
|
37415
|
+
"value": {},
|
|
37416
|
+
"url": {
|
|
37417
|
+
"type": "string",
|
|
37418
|
+
"maxLength": 2000
|
|
37419
|
+
},
|
|
37420
|
+
"log_entry_id": {
|
|
37421
|
+
"$ref": "#/components/schemas/StringifiableId"
|
|
37422
|
+
},
|
|
37423
|
+
"scout": {
|
|
37424
|
+
"type": "string"
|
|
37425
|
+
},
|
|
37426
|
+
"name": {
|
|
37427
|
+
"type": "string",
|
|
37428
|
+
"maxLength": 2000
|
|
37429
|
+
}
|
|
37430
|
+
},
|
|
37431
|
+
"required": [
|
|
37432
|
+
"kind"
|
|
37433
|
+
],
|
|
37434
|
+
"additionalProperties": false
|
|
37435
|
+
},
|
|
37436
|
+
"PostMarketWatchProposalsResponse": {
|
|
37437
|
+
"type": "object",
|
|
37438
|
+
"properties": {
|
|
37439
|
+
"proposal": {}
|
|
37440
|
+
},
|
|
37441
|
+
"required": [
|
|
37442
|
+
"proposal"
|
|
37443
|
+
]
|
|
37444
|
+
},
|
|
37273
37445
|
"PostMarketWatchRulesProposalsRequest": {
|
|
37274
37446
|
"type": "object",
|
|
37275
37447
|
"properties": {
|
|
@@ -41107,9 +41279,9 @@
|
|
|
41107
41279
|
"description": "A required dependency/feature is not configured or is temporarily down."
|
|
41108
41280
|
}
|
|
41109
41281
|
},
|
|
41110
|
-
"x-endpoint-count":
|
|
41111
|
-
"x-schema-count":
|
|
41282
|
+
"x-endpoint-count": 652,
|
|
41283
|
+
"x-schema-count": 698,
|
|
41112
41284
|
"x-undocumented-bodies": 12,
|
|
41113
|
-
"x-response-schemas":
|
|
41285
|
+
"x-response-schemas": 447,
|
|
41114
41286
|
"x-generated-by": "scripts/bongos/gen-api-docs.js"
|
|
41115
41287
|
}
|
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. 652 endpoints across 109 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,12 +520,15 @@ 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` (13)
|
|
524
524
|
|
|
525
525
|
| Method | Path | Rank | Body | Description |
|
|
526
526
|
|---|---|---|---|---|
|
|
527
527
|
| GET | `/api/bongos/market-watch/ask` | `any-builder` | — | every member reads their own card; nobody else's (isMember in gate()). |
|
|
528
528
|
| POST | `/api/bongos/market-watch/ask/answer` | `any-builder` | `week_of`, `picks`, `names`, `nothing`, `builder_id` | a member answers for themselves only (isMember in gate()). |
|
|
529
|
+
| GET | `/api/bongos/market-watch/home` | `any-builder` | — | every member reads the desk. |
|
|
530
|
+
| GET | `/api/bongos/market-watch/items/:id` | `any-builder` | — | every member reads an item's case file. |
|
|
531
|
+
| POST | `/api/bongos/market-watch/proposals` | `any-builder` | `kind`, `reason`, `item_id`, `dimension`, `value`, `url`, `log_entry_id`, `scout`, `name` | every member may propose; the government decides (task 1004941). |
|
|
529
532
|
| POST | `/api/bongos/market-watch/proposals/:id/decide` | `any-builder` | `decision` | THE OWNER'S DECISION. |
|
|
530
533
|
| POST | `/api/bongos/market-watch/proposals/:id/vote` | `metic+archon` | — | PUT TO A VOTE. |
|
|
531
534
|
| GET | `/api/bongos/market-watch/rules` | `any-builder` | — | every member reads the rules (the task); the read grants nothing. |
|