@bongos/core 1.19.442 → 1.19.444

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 (168) hide show
  1. package/.bongos-core.json +470 -455
  2. package/config/branding.neutral.json +1 -1
  3. package/docs/adr/0054-session-token-reward-cost-plus.md +14 -0
  4. package/docs/adr/0218-the-apex-root-web-surface.md +55 -0
  5. package/docs/adr/README.md +1 -0
  6. package/docs/architecture.md +2 -1
  7. package/docs/copy-inventory.md +360 -360
  8. package/docs/copy-registry.json +456 -456
  9. package/docs/design/mocks/hub/mine.html +1 -1
  10. package/docs/design/mocks/hub/picker.html +1 -1
  11. package/docs/design/mocks/hub/planets.html +1 -1
  12. package/docs/design/mocks/hub/v1.html +3 -3
  13. package/docs/design/mocks/hub/v2.html +2 -2
  14. package/docs/design/mocks/hub/v3.html +5 -5
  15. package/docs/design/mocks/hub/wizard.html +1 -1
  16. package/docs/design/mocks/landing/v1.html +1 -1
  17. package/docs/design/mocks/landing/v2.html +1 -1
  18. package/docs/design/mocks/landing/v3.html +1 -1
  19. package/docs/design/mocks/landing-page-mock.html +3 -3
  20. package/docs/design/mocks/projects-hub-mock.html +1 -1
  21. package/docs/design/mocks/projects-hub-variants.html +1 -1
  22. package/docs/design/mocks/projects-page-mock.html +1 -1
  23. package/docs/file-map.md +3 -3
  24. package/docs/module-api-changelog.md +4 -0
  25. package/docs/modules-contract.md +9 -2
  26. package/docs/recipes/ui-look-before-you-ship.md +4 -4
  27. package/modules/copy-desk/tests/copy_flags.mjs +4 -4
  28. package/modules/public-landing/CLAUDE.md +15 -0
  29. package/modules/public-landing/module.json +15 -0
  30. package/modules/ui-design/kit/lib.js +2 -2
  31. package/modules/ui-design/kit/render.js +1 -1
  32. package/modules/ui-design/kit/serve.js +3 -3
  33. package/package-lock.json +2 -2
  34. package/package.json +1 -1
  35. package/scripts/gds/copy-inventory.js +3 -3
  36. package/scripts/gds/fitness-checks-identity.js +18 -1
  37. package/scripts/gds/publish-manifest.js +1 -1
  38. package/scripts/gds/session-digest-build.js +49 -17
  39. package/scripts/gds/session-digest.js +11 -1
  40. package/scripts/gds/ship-session-upload.js +102 -12
  41. package/scripts/gds/ship.js +7 -1
  42. package/src/bongos/module-scope-map.js +9 -7
  43. package/src/bongos/serve-internal.js +13 -1
  44. package/src/module-api.js +1 -1
  45. package/src/module-loader/loader.js +34 -17
  46. package/src/module-loader/manifest-schema.js +16 -8
  47. package/src/platform-server.js +50 -18
  48. package/tests/copy_inventory.mjs +0 -0
  49. package/tests/cosmos_token_contrast.mjs +6 -6
  50. package/tests/credit_grant.mjs +236 -0
  51. package/tests/fitness.mjs +20 -0
  52. package/tests/landing_legal_pages.mjs +2 -1
  53. package/tests/landing_page.mjs +7 -5
  54. package/tests/module-scope-map.mjs +2 -2
  55. package/tests/module_loader.mjs +4 -1
  56. package/tests/onboard.mjs +5 -5
  57. package/tests/projects_hub.mjs +22 -20
  58. package/tests/projects_hub_pre_uat.mjs +5 -3
  59. package/tests/public_landing_projects.mjs +2 -2
  60. package/tests/terms_acceptance.mjs +1 -1
  61. package/tests/ui_design_kit.mjs +3 -3
  62. package/tests/world_tokens.mjs +3 -2
  63. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_00.webp +0 -0
  64. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_01.webp +0 -0
  65. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_02.webp +0 -0
  66. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_03.webp +0 -0
  67. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_04.webp +0 -0
  68. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_05.webp +0 -0
  69. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_06.webp +0 -0
  70. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_07.webp +0 -0
  71. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_08.webp +0 -0
  72. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_09.webp +0 -0
  73. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_10.webp +0 -0
  74. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_11.webp +0 -0
  75. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_12.webp +0 -0
  76. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_13.webp +0 -0
  77. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_14.webp +0 -0
  78. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_15.webp +0 -0
  79. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_16.webp +0 -0
  80. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_17.webp +0 -0
  81. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_18.webp +0 -0
  82. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_19.webp +0 -0
  83. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_20.webp +0 -0
  84. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_21.webp +0 -0
  85. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_22.webp +0 -0
  86. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_23.webp +0 -0
  87. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_24.webp +0 -0
  88. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_25.webp +0 -0
  89. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_26.webp +0 -0
  90. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_27.webp +0 -0
  91. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_28.webp +0 -0
  92. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_29.webp +0 -0
  93. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_30.webp +0 -0
  94. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_31.webp +0 -0
  95. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_32.webp +0 -0
  96. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_33.webp +0 -0
  97. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_34.webp +0 -0
  98. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_35.webp +0 -0
  99. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_36.webp +0 -0
  100. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_37.webp +0 -0
  101. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_38.webp +0 -0
  102. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_39.webp +0 -0
  103. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_40.webp +0 -0
  104. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_41.webp +0 -0
  105. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_42.webp +0 -0
  106. /package/{public-landing → modules/public-landing/public}/assets/anim/idle/frame_43.webp +0 -0
  107. /package/{public-landing → modules/public-landing/public}/assets/cosmos.css +0 -0
  108. /package/{public-landing → modules/public-landing/public}/assets/verro-medallion.png +0 -0
  109. /package/{public-landing → modules/public-landing/public}/assets/world/og-card.jpg +0 -0
  110. /package/{public-landing → modules/public-landing/public}/assets/world/r2-bongos-chrome-a-cut.webp +0 -0
  111. /package/{public-landing → modules/public-landing/public}/assets/world/r2-bongos-chrome-a-cut.webp.json +0 -0
  112. /package/{public-landing → modules/public-landing/public}/assets/world/r2-bongos-chrome-b.jpg +0 -0
  113. /package/{public-landing → modules/public-landing/public}/assets/world/r2-bongos-chrome-b.jpg.json +0 -0
  114. /package/{public-landing → modules/public-landing/public}/assets/world/r2-chrome-blob-one-cut.webp +0 -0
  115. /package/{public-landing → modules/public-landing/public}/assets/world/r2-chrome-blob-one-cut.webp.json +0 -0
  116. /package/{public-landing → modules/public-landing/public}/assets/world/r2-chrome-blob-one.jpg +0 -0
  117. /package/{public-landing → modules/public-landing/public}/assets/world/r2-chrome-blob-one.jpg.json +0 -0
  118. /package/{public-landing → modules/public-landing/public}/assets/world/r2-chrome-blobs-set-cut.webp +0 -0
  119. /package/{public-landing → modules/public-landing/public}/assets/world/r2-chrome-blobs-set-cut.webp.json +0 -0
  120. /package/{public-landing → modules/public-landing/public}/assets/world/r2-chrome-blobs-set.jpg +0 -0
  121. /package/{public-landing → modules/public-landing/public}/assets/world/r2-chrome-blobs-set.jpg.json +0 -0
  122. /package/{public-landing → modules/public-landing/public}/assets/world/r3-frost-bead-cut.webp +0 -0
  123. /package/{public-landing → modules/public-landing/public}/assets/world/r3-frost-bead-cut.webp.json +0 -0
  124. /package/{public-landing → modules/public-landing/public}/assets/world/r3-frost-blob-cut.webp +0 -0
  125. /package/{public-landing → modules/public-landing/public}/assets/world/r3-frost-blob-cut.webp.json +0 -0
  126. /package/{public-landing → modules/public-landing/public}/assets/world/r3-frost-pair-cut.webp +0 -0
  127. /package/{public-landing → modules/public-landing/public}/assets/world/r3-frost-pair-cut.webp.json +0 -0
  128. /package/{public-landing → modules/public-landing/public}/assets/world/r3-gold-bead-cut.webp +0 -0
  129. /package/{public-landing → modules/public-landing/public}/assets/world/r3-gold-bead-cut.webp.json +0 -0
  130. /package/{public-landing → modules/public-landing/public}/assets/world/r3-gold-blob-cut.webp +0 -0
  131. /package/{public-landing → modules/public-landing/public}/assets/world/r3-gold-blob-cut.webp.json +0 -0
  132. /package/{public-landing → modules/public-landing/public}/assets/world/r3-gold-pair-cut.webp +0 -0
  133. /package/{public-landing → modules/public-landing/public}/assets/world/r3-gold-pair-cut.webp.json +0 -0
  134. /package/{public-landing → modules/public-landing/public}/assets/world/r3-obsidian-bead-cut.webp +0 -0
  135. /package/{public-landing → modules/public-landing/public}/assets/world/r3-obsidian-bead-cut.webp.json +0 -0
  136. /package/{public-landing → modules/public-landing/public}/assets/world/r3-obsidian-blob-cut.webp +0 -0
  137. /package/{public-landing → modules/public-landing/public}/assets/world/r3-obsidian-blob-cut.webp.json +0 -0
  138. /package/{public-landing → modules/public-landing/public}/assets/world/r3-obsidian-pair-cut.webp +0 -0
  139. /package/{public-landing → modules/public-landing/public}/assets/world/r3-obsidian-pair-cut.webp.json +0 -0
  140. /package/{public-landing → modules/public-landing/public}/assets/world/r3-space-nebula.jpg +0 -0
  141. /package/{public-landing → modules/public-landing/public}/assets/world/r3-space-nebula.jpg.json +0 -0
  142. /package/{public-landing → modules/public-landing/public}/assets/world/r4-card-chrome.jpg +0 -0
  143. /package/{public-landing → modules/public-landing/public}/assets/world/r4-card-chrome.jpg.json +0 -0
  144. /package/{public-landing → modules/public-landing/public}/assets/world/r4-card-deepfield.jpg +0 -0
  145. /package/{public-landing → modules/public-landing/public}/assets/world/r4-card-deepfield.jpg.json +0 -0
  146. /package/{public-landing → modules/public-landing/public}/assets/world/r4-card-dust.jpg +0 -0
  147. /package/{public-landing → modules/public-landing/public}/assets/world/r4-card-dust.jpg.json +0 -0
  148. /package/{public-landing → modules/public-landing/public}/assets/world/r4-card-nebula.jpg +0 -0
  149. /package/{public-landing → modules/public-landing/public}/assets/world/r4-card-nebula.jpg.json +0 -0
  150. /package/{public-landing → modules/public-landing/public}/assets/world.css +0 -0
  151. /package/{public-landing → modules/public-landing/public}/buddha.png +0 -0
  152. /package/{public-landing → modules/public-landing/public}/contact.html +0 -0
  153. /package/{public-landing → modules/public-landing/public}/index.html +0 -0
  154. /package/{public-landing → modules/public-landing/public}/index.probes.json +0 -0
  155. /package/{public-landing → modules/public-landing/public}/index.states.json +0 -0
  156. /package/{public-landing → modules/public-landing/public}/privacy.html +0 -0
  157. /package/{public-landing → modules/public-landing/public}/projects-empty.states.json +0 -0
  158. /package/{public-landing → modules/public-landing/public}/projects-floor.states.json +0 -0
  159. /package/{public-landing → modules/public-landing/public}/projects.html +0 -0
  160. /package/{public-landing → modules/public-landing/public}/projects.probes.json +0 -0
  161. /package/{public-landing → modules/public-landing/public}/projects.states.json +0 -0
  162. /package/{public-landing → modules/public-landing/public}/terms.html +0 -0
  163. /package/{public-landing → modules/public-landing/public}/world/assets/clouds/cloud-island-large.png +0 -0
  164. /package/{public-landing → modules/public-landing/public}/world/assets/clouds/cloud-puff.png +0 -0
  165. /package/{public-landing → modules/public-landing/public}/world/assets/creatures/creature-whale-cargo.png +0 -0
  166. /package/{public-landing → modules/public-landing/public}/world/assets/creatures/creature-whale-glide.png +0 -0
  167. /package/{public-landing → modules/public-landing/public}/world/assets/plates/plate-clouds-near.png +0 -0
  168. /package/{public-landing → modules/public-landing/public}/world/assets/plates/scene-establishing.png +0 -0
@@ -34,7 +34,8 @@ import path from 'node:path';
34
34
  import { fileURLToPath } from 'node:url';
35
35
 
36
36
  const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
37
- const LANDING = path.join(ROOT, 'public-landing');
37
+ // the front door is a module since task 1003322 (ADR 0218) — one constant, so the path moves once
38
+ const LANDING = path.join(ROOT, 'modules', 'public-landing', 'public');
38
39
  const CSS = path.join(LANDING, 'assets', 'world.css');
39
40
  const src = fs.readFileSync(CSS, 'utf8');
40
41
  const PAGE = fs.readFileSync(path.join(LANDING, 'index.html'), 'utf8');
@@ -239,7 +240,7 @@ test('every plate is root-absolute and the file is there', () => {
239
240
  for (const u of urls) {
240
241
  if (!u.startsWith('/')) { bad.push(`${u} is not root-absolute`); continue; }
241
242
  const abs = path.join(LANDING, u.replace(/^\//, ''));
242
- if (!fs.existsSync(abs)) bad.push(`${u} does not exist under public-landing/`);
243
+ if (!fs.existsSync(abs)) bad.push(`${u} does not exist under the landing surface`);
243
244
  }
244
245
  assert.deepEqual(bad, [], `\n ${bad.join('\n ')}\n`);
245
246
  // the pairs the world promises: a black-ground plate for dark, its alpha cutout