@bongos/core 1.19.1062 → 1.19.1063

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 CHANGED
@@ -2,22 +2,22 @@
2
2
  "artifact": "bongos-core",
3
3
  "manifest_schema": 1,
4
4
  "generator": "scripts/gds/package-core.js",
5
- "core_version": "1.19.1062",
6
- "core_contract": "1.19.1062",
7
- "source_commit": "50e8dd0c7f634e2a9b63dd35707e1a0e6bb9e224",
5
+ "core_version": "1.19.1063",
6
+ "core_contract": "1.19.1063",
7
+ "source_commit": "63e2f7bb716c0dc0961bb67e49922d15f2ed6c76",
8
8
  "source_ref": "HEAD",
9
- "built_at": "2026-09-28T13:24:10.829Z",
9
+ "built_at": "2026-09-28T14:25:56.766Z",
10
10
  "redaction": {
11
11
  "model": "docs-redacted+functional-verbatim",
12
- "docs_redacted": 543,
12
+ "docs_redacted": 544,
13
13
  "agent_docs_stubbed": 26,
14
- "functional_verbatim": 2535,
14
+ "functional_verbatim": 2542,
15
15
  "rules": 3,
16
16
  "gate_literals": 3,
17
17
  "gate": "passed"
18
18
  },
19
- "file_count": 3105,
20
- "tree_sha256": "6fb489b83e1cdeaf974f95a1adfb0bd25dd83ade9748de12f98b9bf3d9d95baa",
19
+ "file_count": 3113,
20
+ "tree_sha256": "5c8879d08015963d5d71b6092f41e0ec028b78673d0e79c0d92fb69c978309fe",
21
21
  "files": [
22
22
  {
23
23
  "path": ".claude/skills/ask-for-help/SKILL.md",
@@ -317,12 +317,12 @@
317
317
  {
318
318
  "path": "clients/bongos-client/README.md",
319
319
  "mode": "0000644",
320
- "sha256": "9459ee392b1a2db1a960411c0a41be2f9421cc398392a311cdedb57df41310c4"
320
+ "sha256": "ca931cbbd9382e0f899e5e7c2d4c2a1addb759f4457bf7cfb860c519d2e4bacd"
321
321
  },
322
322
  {
323
323
  "path": "clients/bongos-client/bongos-client.global.js",
324
324
  "mode": "0000644",
325
- "sha256": "6aaec85ca6a98a25d863b37da5785e3232cb42775a759de992cf2eb0759bc968"
325
+ "sha256": "b98f7525d1849ee33ff9f634207e91d1121d637cab6d6498d832b5873197642b"
326
326
  },
327
327
  {
328
328
  "path": "clients/bongos-client/examples/hello-world.mjs",
@@ -332,17 +332,17 @@
332
332
  {
333
333
  "path": "clients/bongos-client/index.cjs",
334
334
  "mode": "0000644",
335
- "sha256": "6c46904bcf4ae17449d693b18166ed600b922a4de7198baccbdc8c96f622619a"
335
+ "sha256": "110ea054c68274e4061a86551872c254297d42ec205de9b5962f485123070fa8"
336
336
  },
337
337
  {
338
338
  "path": "clients/bongos-client/index.d.ts",
339
339
  "mode": "0000644",
340
- "sha256": "ddfd0be094fb577bc4ec56a698a7b2745d3f9aa8b88537a8726f730a853895c7"
340
+ "sha256": "76ddcae95933b3bdd9ae458305082d8f332d6fdd11551bedd26e4854b624199c"
341
341
  },
342
342
  {
343
343
  "path": "clients/bongos-client/index.mjs",
344
344
  "mode": "0000644",
345
- "sha256": "3126818319137ce283ceb4cc6252b3de1fdb12f9f25feaa7f20ea6b2e9ef28be"
345
+ "sha256": "35d5b13ab21b55308e20c02ca61d030176ec431d9159cb852cc82af4dfdcc0c0"
346
346
  },
347
347
  {
348
348
  "path": "clients/bongos-client/package.json",
@@ -2177,12 +2177,12 @@
2177
2177
  {
2178
2178
  "path": "docs/api-reference.md",
2179
2179
  "mode": "0000644",
2180
- "sha256": "f297f09132092126cac8e6471ce3ba0cd2a1a1550d48f6f64dd0e20f1d38f806"
2180
+ "sha256": "9c2a01131f4eef126542aca1f664883af254edac3cc148f01e8486adecc1bacf"
2181
2181
  },
2182
2182
  {
2183
2183
  "path": "docs/api/openapi.json",
2184
2184
  "mode": "0000644",
2185
- "sha256": "c8fb1b6f7e3f67a81f5eaba74e7b0fab5439c7e52dd9a9a959f15a99791ce1ec"
2185
+ "sha256": "23089d5d26da4a14d98ea318d2efab582bc502b6d0ac43a1d5a2db1241a47694"
2186
2186
  },
2187
2187
  {
2188
2188
  "path": "docs/architecture.md",
@@ -2207,12 +2207,12 @@
2207
2207
  {
2208
2208
  "path": "docs/copy-inventory.md",
2209
2209
  "mode": "0000644",
2210
- "sha256": "331d32d43092d540eed68d3a5f69ca88e8b3f1caa478b78cef423710ec285763"
2210
+ "sha256": "0bfc5ea9c331d2797c45cbfaeec7e9b5e264c2feb692a2132ac3dd804d05ea15"
2211
2211
  },
2212
2212
  {
2213
2213
  "path": "docs/copy-registry.json",
2214
2214
  "mode": "0000644",
2215
- "sha256": "8721c56306ef590d8268e89e6db295ae1bed0a9025df274554714117ee727e63"
2215
+ "sha256": "2a35ebbece01958ac642faf2a3680d724b3aa7d3179d690fd9583aaf53cf9cb3"
2216
2216
  },
2217
2217
  {
2218
2218
  "path": "docs/design/apex-pass-2-direction.md",
@@ -2742,7 +2742,7 @@
2742
2742
  {
2743
2743
  "path": "docs/module-api-changelog.md",
2744
2744
  "mode": "0000644",
2745
- "sha256": "9acd9af3c17ae8a44161edb0b037e8fff138a4059e5d7ec2affda4b0ed12b735"
2745
+ "sha256": "230ca05e2cd108f5648d76a776bfc3aeea2b9628a834e6655b16d9d5f60cb280"
2746
2746
  },
2747
2747
  {
2748
2748
  "path": "docs/modules-contract.md",
@@ -2832,12 +2832,12 @@
2832
2832
  {
2833
2833
  "path": "docs/page-inventory.json",
2834
2834
  "mode": "0000644",
2835
- "sha256": "02c21f9e962d73fc05655943340ce5ef01a2d1e17cd77a9ffd074ffb979445cd"
2835
+ "sha256": "27683df3ef3062442b5a2b3d0d814a2e0d4cfb0c666bf58b96af0f8f5c4bd97e"
2836
2836
  },
2837
2837
  {
2838
2838
  "path": "docs/page-readings.json",
2839
2839
  "mode": "0000644",
2840
- "sha256": "9d33140a6b9dc8820ef0283985f57dae888a1e7045be3f7ef5922a1d7b09e97b"
2840
+ "sha256": "d5f8ac454357067ac14cb3550c9d12b2b04143e1e796facce51f0510900f0795"
2841
2841
  },
2842
2842
  {
2843
2843
  "path": "docs/project-context.template.md",
@@ -4142,12 +4142,12 @@
4142
4142
  {
4143
4143
  "path": "modules/copy-desk/page-status.js",
4144
4144
  "mode": "0000644",
4145
- "sha256": "fe85e899abb8524b36ef7187a8a2b5b127ea87342c378a32b95a644d18a83021"
4145
+ "sha256": "e54fe2358641ab6bf157f3a434131a48eda175309480fa402290d8d4e6a431d1"
4146
4146
  },
4147
4147
  {
4148
4148
  "path": "modules/copy-desk/pages.js",
4149
4149
  "mode": "0000644",
4150
- "sha256": "7cb248a536b49794409bb74c8bed19109b842195c9fb97093250218c3a58f101"
4150
+ "sha256": "76141638d80c0f7ba2046fa84f4e1309e020f065ef39c893d77da04ff2a2da73"
4151
4151
  },
4152
4152
  {
4153
4153
  "path": "modules/copy-desk/proposals.js",
@@ -4162,7 +4162,7 @@
4162
4162
  {
4163
4163
  "path": "modules/copy-desk/routes/copy-desk.js",
4164
4164
  "mode": "0000644",
4165
- "sha256": "4aaa64c6ec0cc6b63353659007cd3ed1b2daf1f0df77c8e7c98ba63217a1c719"
4165
+ "sha256": "aab0b4221b092333ac6bc502d1bb45229410c270957025c8af20b4e33c776304"
4166
4166
  },
4167
4167
  {
4168
4168
  "path": "modules/copy-desk/tests/copy_docx.mjs",
@@ -5619,6 +5619,31 @@
5619
5619
  "mode": "0000644",
5620
5620
  "sha256": "0d17be2800724ca4130197f222222fcdad167bde24c068739f5ad4bfb6d6ccd8"
5621
5621
  },
5622
+ {
5623
+ "path": "modules/hall-ui/public/tweak-editor-lib.js",
5624
+ "mode": "0000644",
5625
+ "sha256": "cb71d8aedb579c644b5043a838dedcc50a4c24623e281aa2e8db3fd36e7c0ecc"
5626
+ },
5627
+ {
5628
+ "path": "modules/hall-ui/public/tweak-editor.css",
5629
+ "mode": "0000644",
5630
+ "sha256": "a5685c2bada1eb56e4458c9cfca1da7d5035cc0d7bb4e18e8f83e78514346c97"
5631
+ },
5632
+ {
5633
+ "path": "modules/hall-ui/public/tweak-editor.html",
5634
+ "mode": "0000644",
5635
+ "sha256": "b4ad8e1525b4e5352b00b778d2f3e7666d38b96fa655d7959c9e55e77e067d90"
5636
+ },
5637
+ {
5638
+ "path": "modules/hall-ui/public/tweak-editor.js",
5639
+ "mode": "0000644",
5640
+ "sha256": "f8c2097f6c4fb782321f9238622097cd5642d8afacddd431b4a0d2f97e235562"
5641
+ },
5642
+ {
5643
+ "path": "modules/hall-ui/public/tweak-editor.states.json",
5644
+ "mode": "0000644",
5645
+ "sha256": "ced94f02c2c79cb1bdf030e0a86804acabec5bda30378f37f6cf313a6a1b14a0"
5646
+ },
5622
5647
  {
5623
5648
  "path": "modules/hall-ui/public/watch.css",
5624
5649
  "mode": "0000644",
@@ -5719,6 +5744,11 @@
5719
5744
  "mode": "0000644",
5720
5745
  "sha256": "01ea4e44ed380695fa90708fd388dfc3f48e65b17e22941e1542abcc979d1e0b"
5721
5746
  },
5747
+ {
5748
+ "path": "modules/hall-ui/records/tweak-editor.md",
5749
+ "mode": "0000644",
5750
+ "sha256": "21276ee938dac7204e11630eba569ba34a47d7096cdcc57d99157bc55bfd0a6f"
5751
+ },
5722
5752
  {
5723
5753
  "path": "modules/ideas/CLAUDE.md",
5724
5754
  "mode": "0000644",
@@ -8547,12 +8577,12 @@
8547
8577
  {
8548
8578
  "path": "package-lock.json",
8549
8579
  "mode": "0000644",
8550
- "sha256": "e7d5ed448c2fa5c6fb22742c4be710109c9fbe6755dd57d6fffd286b7a194cb3"
8580
+ "sha256": "387505d96f16db9259bd3c62fd2420949eabc4b34795f2e2121c5244e39e4a15"
8551
8581
  },
8552
8582
  {
8553
8583
  "path": "package.json",
8554
8584
  "mode": "0000644",
8555
- "sha256": "ac4e84c9db583e987e75010a264f325a9ff10f4c1440aad5bfe6b22048e81688"
8585
+ "sha256": "b86d5a9a682c2c94476f5f629e35ca12060cc5ec743b436dd558c061966632ac"
8556
8586
  },
8557
8587
  {
8558
8588
  "path": "public-docs/index.html",
@@ -8572,7 +8602,7 @@
8572
8602
  {
8573
8603
  "path": "release-notes.json",
8574
8604
  "mode": "0000644",
8575
- "sha256": "5b76f8faa6dc8215c2720ca937015f3968689700b842c1bb7e103fc66f17ddc8"
8605
+ "sha256": "bf828c5a5c41c77a922c60057c989f08e668c7e166b5dc2add801094248862ec"
8576
8606
  },
8577
8607
  {
8578
8608
  "path": "scripts/bongos-mcp.js",
@@ -10242,7 +10272,7 @@
10242
10272
  {
10243
10273
  "path": "scripts/hall-preview/server.js",
10244
10274
  "mode": "0000644",
10245
- "sha256": "5c2c480bea8acc9d74d17a27d60312ae8ef9dc2cb7bd18a776ea3bab8ca49ecc"
10275
+ "sha256": "1e1aa2e636b388c791eccd8c4bf8ad2b1365820594258579b945858fa1646831"
10246
10276
  },
10247
10277
  {
10248
10278
  "path": "scripts/hall-preview/task-visual.js",
@@ -10627,7 +10657,7 @@
10627
10657
  {
10628
10658
  "path": "src/bongos/serve-internal.js",
10629
10659
  "mode": "0000644",
10630
- "sha256": "cb840dc6bff2664c644770e7c2fcb004beb9dd48011635c1851e12161e7d9c3a"
10660
+ "sha256": "d55251183e8f0c6e210136be886c98c2adb6ea77f374fd375c2b7d44d7e59b48"
10631
10661
  },
10632
10662
  {
10633
10663
  "path": "src/bongos/software-update.js",
@@ -10657,7 +10687,7 @@
10657
10687
  {
10658
10688
  "path": "src/module-api.js",
10659
10689
  "mode": "0000644",
10660
- "sha256": "5d2d121a71ed87875920963e2dd09b8116a7657e47d76429e921509089919e0c"
10690
+ "sha256": "3bb2c146ee72b0f97bf1c6fa9a02fe90bb7d32cbe5bc1e28d40d2998aff2f187"
10661
10691
  },
10662
10692
  {
10663
10693
  "path": "src/module-loader/catalog.js",
@@ -11619,6 +11649,11 @@
11619
11649
  "mode": "0000644",
11620
11650
  "sha256": "e25485728f161b8610f57db11b387f5f7807afb41d0badd2f7a32776eaf97283"
11621
11651
  },
11652
+ {
11653
+ "path": "tests/copy_desk_page_editor.mjs",
11654
+ "mode": "0000644",
11655
+ "sha256": "25878366349548061763c31dd2e1c4a81642a033956d5ac8ec45596e49a17ccd"
11656
+ },
11622
11657
  {
11623
11658
  "path": "tests/copy_desk_page_next.mjs",
11624
11659
  "mode": "0000644",
@@ -12717,7 +12752,7 @@
12717
12752
  {
12718
12753
  "path": "tests/hall_audit.mjs",
12719
12754
  "mode": "0000644",
12720
- "sha256": "a1fd70d0ffa56e95bf0e4a75a70563943850e3099894a6df178baf62a36aef8a"
12755
+ "sha256": "56a0822be45f279aa2be982ff17d405ac059a1db0199a3cf1febec20dd92c699"
12721
12756
  },
12722
12757
  {
12723
12758
  "path": "tests/hall_board_world.mjs",
@@ -12777,7 +12812,7 @@
12777
12812
  {
12778
12813
  "path": "tests/hall_page_gate_map.mjs",
12779
12814
  "mode": "0000644",
12780
- "sha256": "69298b95f35817cedd85d12e074bd673fcd06383499613b194a0c786983ef755"
12815
+ "sha256": "af1877acb1cbfaabea5bc59dd4992043a510f948f0617e0bedb1ac820fa6b65c"
12781
12816
  },
12782
12817
  {
12783
12818
  "path": "tests/hall_palette.mjs",
@@ -12864,6 +12899,11 @@
12864
12899
  "mode": "0000644",
12865
12900
  "sha256": "a1da5c5c009acd1286d1f0862c9c57c29b80e5dd6f2f1e3effb459f849b38740"
12866
12901
  },
12902
+ {
12903
+ "path": "tests/hall_tweak_editor.mjs",
12904
+ "mode": "0000644",
12905
+ "sha256": "516da07f8646ce2c0e3755db6cfc58a5c3799a051258b9fff8ce4cf03773c2b9"
12906
+ },
12867
12907
  {
12868
12908
  "path": "tests/handle_machinery.mjs",
12869
12909
  "mode": "0000644",
@@ -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
- - 453 operations across 68 resource groups
8
+ - 454 operations across 68 resource groups
9
9
 
10
10
  ## Use it from your project
11
11
 
@@ -353,6 +353,8 @@ function createClient(opts = {}) {
353
353
  postCopyDeskPagesPageIdAsks: (args) => request("POST", "/copy-desk/pages/{pageId}/asks", { hasBody: true }, args),
354
354
  // POST /copy-desk/pages/{pageId}/claim — rank: any-builder — POST /copy-desk/pages/:pageId/claim
355
355
  postCopyDeskPagesPageIdClaim: (args) => request("POST", "/copy-desk/pages/{pageId}/claim", { hasBody: true }, args),
356
+ // GET /copy-desk/pages/{pageId}/draft — rank: any-builder — GET /copy-desk/pages/:pageId/draft
357
+ getCopyDeskPagesPageIdDraft: (args) => request("GET", "/copy-desk/pages/{pageId}/draft", { hasBody: false }, args),
356
358
  // PUT /copy-desk/pages/{pageId}/draft — rank: any-builder — PUT /copy-desk/pages/:pageId/draft
357
359
  putCopyDeskPagesPageIdDraft: (args) => request("PUT", "/copy-desk/pages/{pageId}/draft", { hasBody: true }, args),
358
360
  // GET /copy-desk/pages/{pageId}/draft.docx — rank: any-builder — GET /copy-desk/pages/:pageId/draft.docx
@@ -352,6 +352,8 @@ function createClient(opts = {}) {
352
352
  postCopyDeskPagesPageIdAsks: (args) => request("POST", "/copy-desk/pages/{pageId}/asks", { hasBody: true }, args),
353
353
  // POST /copy-desk/pages/{pageId}/claim — rank: any-builder — POST /copy-desk/pages/:pageId/claim
354
354
  postCopyDeskPagesPageIdClaim: (args) => request("POST", "/copy-desk/pages/{pageId}/claim", { hasBody: true }, args),
355
+ // GET /copy-desk/pages/{pageId}/draft — rank: any-builder — GET /copy-desk/pages/:pageId/draft
356
+ getCopyDeskPagesPageIdDraft: (args) => request("GET", "/copy-desk/pages/{pageId}/draft", { hasBody: false }, args),
355
357
  // PUT /copy-desk/pages/{pageId}/draft — rank: any-builder — PUT /copy-desk/pages/:pageId/draft
356
358
  putCopyDeskPagesPageIdDraft: (args) => request("PUT", "/copy-desk/pages/{pageId}/draft", { hasBody: true }, args),
357
359
  // GET /copy-desk/pages/{pageId}/draft.docx — rank: any-builder — GET /copy-desk/pages/:pageId/draft.docx
@@ -773,6 +773,8 @@ export interface BongosClient {
773
773
  postCopyDeskPagesPageIdAsks(args: RequestArgs & { body: PostCopyDeskPagesPageIdAsksRequest }): Promise<ApiResponse>;
774
774
  /** POST /copy-desk/pages/{pageId}/claim — rank: any-builder */
775
775
  postCopyDeskPagesPageIdClaim(args?: RequestArgs): Promise<ApiResponse>;
776
+ /** GET /copy-desk/pages/{pageId}/draft — rank: any-builder */
777
+ getCopyDeskPagesPageIdDraft(args?: RequestArgs): Promise<ApiResponse>;
776
778
  /** PUT /copy-desk/pages/{pageId}/draft — rank: any-builder */
777
779
  putCopyDeskPagesPageIdDraft(args: RequestArgs & { body: PutCopyDeskPagesPageIdDraftRequest }): Promise<PutCopyDeskPagesPageIdDraftResponse>;
778
780
  /** GET /copy-desk/pages/{pageId}/draft.docx — rank: any-builder */
@@ -349,6 +349,8 @@ export function createClient(opts = {}) {
349
349
  postCopyDeskPagesPageIdAsks: (args) => request("POST", "/copy-desk/pages/{pageId}/asks", { hasBody: true }, args),
350
350
  // POST /copy-desk/pages/{pageId}/claim — rank: any-builder — POST /copy-desk/pages/:pageId/claim
351
351
  postCopyDeskPagesPageIdClaim: (args) => request("POST", "/copy-desk/pages/{pageId}/claim", { hasBody: true }, args),
352
+ // GET /copy-desk/pages/{pageId}/draft — rank: any-builder — GET /copy-desk/pages/:pageId/draft
353
+ getCopyDeskPagesPageIdDraft: (args) => request("GET", "/copy-desk/pages/{pageId}/draft", { hasBody: false }, args),
352
354
  // PUT /copy-desk/pages/{pageId}/draft — rank: any-builder — PUT /copy-desk/pages/:pageId/draft
353
355
  putCopyDeskPagesPageIdDraft: (args) => request("PUT", "/copy-desk/pages/{pageId}/draft", { hasBody: true }, args),
354
356
  // GET /copy-desk/pages/{pageId}/draft.docx — rank: any-builder — GET /copy-desk/pages/:pageId/draft.docx
@@ -5312,6 +5312,49 @@
5312
5312
  }
5313
5313
  },
5314
5314
  "/copy-desk/pages/{pageId}/draft": {
5315
+ "get": {
5316
+ "operationId": "get_copy_desk_pages_pageId_draft",
5317
+ "tags": [
5318
+ "copy-desk"
5319
+ ],
5320
+ "summary": "GET /copy-desk/pages/:pageId/draft",
5321
+ "description": "------------------------------------------------------------------------- GET /copy-desk/pages/:pageId/draft — what the tweak editor opens on (task 1004321 / BV2.TW10, ADR 0341 D4): every line of the page reading in page order with its margin note, the open round and whether the caller holds it, and the saved draft (only on the current reading). The read the PUT below saves over, and the .docx download's own data as JSON. rank: any signed-in builder, as the download: the words are the page's own and the draft sits on a task every builder can read. -------------------------------------------------------------------------\n\n**Rank:** `any-builder` — Any authenticated builder (row-level ownership enforced in-handler).",
5322
+ "x-rank": "any-builder",
5323
+ "x-source": "modules/copy-desk/routes/copy-desk.js",
5324
+ "parameters": [
5325
+ {
5326
+ "name": "pageId",
5327
+ "in": "path",
5328
+ "required": true,
5329
+ "schema": {
5330
+ "type": "string"
5331
+ },
5332
+ "description": "Path parameter `pageId`."
5333
+ }
5334
+ ],
5335
+ "responses": {
5336
+ "200": {
5337
+ "description": "Success."
5338
+ },
5339
+ "400": {
5340
+ "$ref": "#/components/responses/BadRequest"
5341
+ },
5342
+ "401": {
5343
+ "$ref": "#/components/responses/Unauthorized"
5344
+ },
5345
+ "403": {
5346
+ "$ref": "#/components/responses/Forbidden"
5347
+ },
5348
+ "404": {
5349
+ "$ref": "#/components/responses/NotFound"
5350
+ }
5351
+ },
5352
+ "security": [
5353
+ {
5354
+ "builderSession": []
5355
+ }
5356
+ ]
5357
+ },
5315
5358
  "put": {
5316
5359
  "operationId": "put_copy_desk_pages_pageId_draft",
5317
5360
  "tags": [
@@ -28675,7 +28718,7 @@
28675
28718
  "description": "A required dependency/feature is not configured or is temporarily down."
28676
28719
  }
28677
28720
  },
28678
- "x-endpoint-count": 453,
28721
+ "x-endpoint-count": 454,
28679
28722
  "x-schema-count": 487,
28680
28723
  "x-undocumented-bodies": 10,
28681
28724
  "x-response-schemas": 333,
@@ -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. 453 endpoints across 76 route files.
5
+ > **Generated from the live route files** — the route file is authoritative. 454 endpoints across 76 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`.
@@ -210,7 +210,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
210
210
  | GET | `/api/bongos/connections/requests` | `any-builder` | — | MY pending requests, both directions (own data). |
211
211
  | GET | `/api/bongos/connections/suggestions` | `any-builder` | — | "builders you may know" (R21, task 1002297; ADR 0202 D5). |
212
212
 
213
- ## `copy-desk` (15)
213
+ ## `copy-desk` (16)
214
214
 
215
215
  | Method | Path | Rank | Body | Description |
216
216
  |---|---|---|---|---|
@@ -221,6 +221,7 @@ Base path: `/api/bongos`. Ranks (enforced server-side, [ADR 0016](adr/0016-trust
221
221
  | GET | `/api/bongos/copy-desk/pages/:pageId` | `any-builder` | — | ------------------------------------------------------------------------- GET /copy-desk/pages/:pageId — one page: status, changelog, the… |
222
222
  | POST | `/api/bongos/copy-desk/pages/:pageId/asks` | `any-builder` | `reason` | ------------------------------------------------------------------------- POST /copy-desk/pages/:pageId/asks — ask for a page (task 10043… |
223
223
  | POST | `/api/bongos/copy-desk/pages/:pageId/claim` | `any-builder` | validated | ------------------------------------------------------------------------- POST /copy-desk/pages/:pageId/claim — claim a page's tweak (tas… |
224
+ | GET | `/api/bongos/copy-desk/pages/:pageId/draft` | `any-builder` | — | ------------------------------------------------------------------------- GET /copy-desk/pages/:pageId/draft — what the tweak editor open… |
224
225
  | PUT | `/api/bongos/copy-desk/pages/:pageId/draft` | `any-builder` | `reading_hash`, `lines` | ------------------------------------------------------------------------- PUT /copy-desk/pages/:pageId/draft — autosave the artist's draf… |
225
226
  | GET | `/api/bongos/copy-desk/pages/:pageId/draft.docx` | `any-builder` | — | ------------------------------------------------------------------------- GET /copy-desk/pages/:pageId/draft.docx — download the page's w… |
226
227
  | POST | `/api/bongos/copy-desk/pages/:pageId/draft.docx` | `any-builder` | _undocumented_ | ------------------------------------------------------------------------- POST /copy-desk/pages/:pageId/draft.docx — upload the Word file… |