@dreamboard-games/sdk 0.4.0-alpha.8 → 0.4.0-alpha.9

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 (111) hide show
  1. package/REFERENCE.md +1067 -164
  2. package/dist/authoring/index.d.ts +4 -9
  3. package/dist/authoring/index.js +11 -547
  4. package/dist/authoring/index.js.map +1 -1
  5. package/dist/authoring-compiler.d.ts +27 -0
  6. package/dist/authoring-compiler.js +12 -0
  7. package/dist/authoring-compiler.js.map +1 -0
  8. package/dist/authoring-materialize-cli.d.ts +1 -0
  9. package/dist/authoring-materialize-cli.js +46 -0
  10. package/dist/authoring-materialize-cli.js.map +1 -0
  11. package/dist/browser-interaction.d.ts +1 -1
  12. package/dist/{chunk-3BLN5POZ.js → chunk-3PFDHTR7.js} +16 -6
  13. package/dist/chunk-3PFDHTR7.js.map +1 -0
  14. package/dist/chunk-45P5CEGH.js +176 -0
  15. package/dist/chunk-45P5CEGH.js.map +1 -0
  16. package/dist/chunk-5XTAQ4EQ.js +32 -0
  17. package/dist/chunk-5XTAQ4EQ.js.map +1 -0
  18. package/dist/chunk-7ADPYKFT.js +532 -0
  19. package/dist/chunk-7ADPYKFT.js.map +1 -0
  20. package/dist/{chunk-44N3T2A5.js → chunk-BUOODBVO.js} +2 -2
  21. package/dist/{chunk-ZYONCTZ2.js → chunk-GMOBG7Y7.js} +4 -4
  22. package/dist/{chunk-VTK4TIXC.js → chunk-JRGP6W4V.js} +3 -3
  23. package/dist/chunk-L3W2FPRQ.js +1793 -0
  24. package/dist/chunk-L3W2FPRQ.js.map +1 -0
  25. package/dist/{chunk-XV27IQHA.js → chunk-NGYFBNBP.js} +3 -3
  26. package/dist/chunk-P6IJ5YVY.js +154 -0
  27. package/dist/chunk-P6IJ5YVY.js.map +1 -0
  28. package/dist/{chunk-IYX5OO2K.js → chunk-QQNL4WTX.js} +15 -2
  29. package/dist/chunk-QQNL4WTX.js.map +1 -0
  30. package/dist/{chunk-2TAKLJJD.js → chunk-SACZWUA6.js} +139 -46
  31. package/dist/chunk-SACZWUA6.js.map +1 -0
  32. package/dist/{chunk-VTNEWMWJ.js → chunk-SFOAY5H4.js} +2 -2
  33. package/dist/{chunk-VTNEWMWJ.js.map → chunk-SFOAY5H4.js.map} +1 -1
  34. package/dist/chunk-UNVCT5Z7.js +73 -0
  35. package/dist/chunk-UNVCT5Z7.js.map +1 -0
  36. package/dist/{chunk-YGQTL63W.js → chunk-WDR7SKBM.js} +2 -2
  37. package/dist/chunk-XDGRC6OR.js +7039 -0
  38. package/dist/chunk-XDGRC6OR.js.map +1 -0
  39. package/dist/chunk-XLHLFTLI.js +399 -0
  40. package/dist/chunk-XLHLFTLI.js.map +1 -0
  41. package/dist/{chunk-B2YBS3SG.js → chunk-YNW3KBDE.js} +41 -13
  42. package/dist/chunk-YNW3KBDE.js.map +1 -0
  43. package/dist/codegen.js +1 -1
  44. package/dist/{components-BTwSIjXj.d.ts → components-BPzsSRs8.d.ts} +1 -1
  45. package/dist/definitions-0kjPV9wh.d.ts +294 -0
  46. package/dist/{diagnostics-1BWjRo6-.d.ts → diagnostics-DIi3ina7.d.ts} +2 -1
  47. package/dist/{index-CFTjJIXd.d.ts → index-CWzWpQzM.d.ts} +1 -1
  48. package/dist/{index.d-C0PKOVbh.d.ts → index.d-C7Ztirg6.d.ts} +211 -3
  49. package/dist/index.js +2 -2
  50. package/dist/package-set.d.ts +2 -2
  51. package/dist/package-set.js +2 -2
  52. package/dist/{protocol-nS2ojsGr.d.ts → protocol-B2LWcqB4.d.ts} +9 -0
  53. package/dist/reducer/advanced.d.ts +4 -4
  54. package/dist/reducer/advanced.js +7 -26
  55. package/dist/reducer/advanced.js.map +1 -1
  56. package/dist/reducer-contract.d.ts +1 -1
  57. package/dist/reducer-contract.js +2 -2
  58. package/dist/reducer.d.ts +17 -11
  59. package/dist/reducer.js +28 -6050
  60. package/dist/reducer.js.map +1 -1
  61. package/dist/reference-game-compiler.d.ts +45 -0
  62. package/dist/reference-game-compiler.js +25 -0
  63. package/dist/reference-game-compiler.js.map +1 -0
  64. package/dist/reference-game-source-manifest-cli.d.ts +1 -0
  65. package/dist/reference-game-source-manifest-cli.js +84 -0
  66. package/dist/reference-game-source-manifest-cli.js.map +1 -0
  67. package/dist/reference-games/index.d.ts +7 -217
  68. package/dist/reference-games/index.js +28 -208
  69. package/dist/reference-games/index.js.map +1 -1
  70. package/dist/runtime/primitives.d.ts +3 -3
  71. package/dist/runtime/primitives.js +3 -3
  72. package/dist/runtime/runtime-api.d.ts +1 -1
  73. package/dist/runtime/workspace-contract.d.ts +4 -4
  74. package/dist/runtime/workspace-contract.js +4 -4
  75. package/dist/{runtime-Dkfm1x2r.d.ts → runtime-B_w9AO2n.d.ts} +60 -5
  76. package/dist/{runtime-api-C6aWo9c0.d.ts → runtime-api-xCWLMQRT.d.ts} +2 -0
  77. package/dist/runtime.d.ts +7 -7
  78. package/dist/runtime.js +12 -12
  79. package/dist/schema-9jZzlEWZ.d.ts +220 -0
  80. package/dist/{stale-contract-artifact-error-C5AaZPJ8.d.ts → stale-contract-artifact-error-XLaweZtF.d.ts} +1 -1
  81. package/dist/testing-compiler.d.ts +36 -0
  82. package/dist/testing-compiler.js +236 -0
  83. package/dist/testing-compiler.js.map +1 -0
  84. package/dist/testing-runtime.d.ts +97 -21
  85. package/dist/testing-runtime.js +154 -95
  86. package/dist/testing-runtime.js.map +1 -1
  87. package/dist/testing.d.ts +178 -60
  88. package/dist/testing.js +641 -26
  89. package/dist/testing.js.map +1 -1
  90. package/dist/types-Bvptkukh.d.ts +122 -0
  91. package/dist/{types-CTeN_QAk.d.ts → types-_zfC_7CD.d.ts} +1 -1
  92. package/dist/ui/components.d.ts +2 -2
  93. package/dist/ui/plugin-styles.css +1 -1
  94. package/dist/{ui-contract-Ue6SywvO.d.ts → ui-contract-CUC7Lyoc.d.ts} +1 -1
  95. package/dist/ui.d.ts +3 -3
  96. package/dist/{views-Qx-EHBP8.d.ts → views-DE2eZxPz.d.ts} +15 -3
  97. package/package.json +22 -2
  98. package/dist/chunk-2TAKLJJD.js.map +0 -1
  99. package/dist/chunk-3BLN5POZ.js.map +0 -1
  100. package/dist/chunk-3OZMHZK3.js +0 -40
  101. package/dist/chunk-3OZMHZK3.js.map +0 -1
  102. package/dist/chunk-5CQIJHGF.js +0 -663
  103. package/dist/chunk-5CQIJHGF.js.map +0 -1
  104. package/dist/chunk-B2YBS3SG.js.map +0 -1
  105. package/dist/chunk-IYX5OO2K.js.map +0 -1
  106. package/dist/types-B_3pObUV.d.ts +0 -192
  107. /package/dist/{chunk-44N3T2A5.js.map → chunk-BUOODBVO.js.map} +0 -0
  108. /package/dist/{chunk-ZYONCTZ2.js.map → chunk-GMOBG7Y7.js.map} +0 -0
  109. /package/dist/{chunk-VTK4TIXC.js.map → chunk-JRGP6W4V.js.map} +0 -0
  110. /package/dist/{chunk-XV27IQHA.js.map → chunk-NGYFBNBP.js.map} +0 -0
  111. /package/dist/{chunk-YGQTL63W.js.map → chunk-WDR7SKBM.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  // src/authoring/generated-metadata.ts
2
2
  var GENERATED_AUTHORING_METADATA = {
3
- sdkVersion: "0.4.0-alpha.8",
3
+ sdkVersion: "0.4.0-alpha.9",
4
4
  codegenVersion: "0.3.0-alpha.0",
5
5
  manifestSchemaVersion: 2,
6
6
  generatedArtifactSchemaVersion: 1
@@ -9,4 +9,4 @@ var GENERATED_AUTHORING_METADATA = {
9
9
  export {
10
10
  GENERATED_AUTHORING_METADATA
11
11
  };
12
- //# sourceMappingURL=chunk-VTNEWMWJ.js.map
12
+ //# sourceMappingURL=chunk-SFOAY5H4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/authoring/generated-metadata.ts"],"sourcesContent":["// Generated by scripts/generate-authoring-metadata.mjs. Do not edit by hand.\nimport type { GeneratedAuthoringMetadataV1 } from \"./types.js\";\n\nexport const GENERATED_AUTHORING_METADATA = {\n sdkVersion: \"0.4.0-alpha.8\",\n codegenVersion: \"0.3.0-alpha.0\",\n manifestSchemaVersion: 2,\n generatedArtifactSchemaVersion: 1,\n} as const satisfies GeneratedAuthoringMetadataV1;\n"],"mappings":";AAGO,IAAM,+BAA+B;AAAA,EAC1C,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,uBAAuB;AAAA,EACvB,gCAAgC;AAClC;","names":[]}
1
+ {"version":3,"sources":["../src/authoring/generated-metadata.ts"],"sourcesContent":["// Generated by scripts/generate-authoring-metadata.mjs. Do not edit by hand.\nimport type { GeneratedAuthoringMetadataV1 } from \"./types.js\";\n\nexport const GENERATED_AUTHORING_METADATA = {\n sdkVersion: \"0.4.0-alpha.9\",\n codegenVersion: \"0.3.0-alpha.0\",\n manifestSchemaVersion: 2,\n generatedArtifactSchemaVersion: 1,\n} as const satisfies GeneratedAuthoringMetadataV1;\n"],"mappings":";AAGO,IAAM,+BAA+B;AAAA,EAC1C,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,uBAAuB;AAAA,EACvB,gCAAgC;AAClC;","names":[]}
@@ -0,0 +1,73 @@
1
+ // src/reference-games/canonical.ts
2
+ import { sha256 } from "@noble/hashes/sha2.js";
3
+ import { bytesToHex, utf8ToBytes } from "@noble/hashes/utils.js";
4
+ function computeReferenceGameSourceFingerprint(payload) {
5
+ const canonical = canonicalizeReferenceGameSourcePayload(payload);
6
+ const encoded = JSON.stringify(canonical);
7
+ return `sha256:${bytesToHex(sha256(utf8ToBytes(encoded)))}`;
8
+ }
9
+ function canonicalizeReferenceGameSourcePayload(payload) {
10
+ return canonicalizeJson({
11
+ ...payload,
12
+ games: [...payload.games].sort(
13
+ (left, right) => compareReferenceGameCanonicalStrings(left.id, right.id)
14
+ ),
15
+ objects: [...payload.objects].sort(
16
+ (left, right) => compareReferenceGameCanonicalStrings(left.path, right.path)
17
+ ),
18
+ inventoryPolicy: {
19
+ ...payload.inventoryPolicy,
20
+ excludedGameRelativePaths: [
21
+ ...payload.inventoryPolicy.excludedGameRelativePaths
22
+ ].sort(),
23
+ excludedGameRelativePrefixes: [
24
+ ...payload.inventoryPolicy.excludedGameRelativePrefixes
25
+ ].sort()
26
+ }
27
+ });
28
+ }
29
+ function compareReferenceGameCanonicalStrings(left, right) {
30
+ return left < right ? -1 : left > right ? 1 : 0;
31
+ }
32
+ function canonicalizeJson(value) {
33
+ if (value === null || typeof value === "boolean") {
34
+ return value;
35
+ }
36
+ if (typeof value === "string") {
37
+ return value.normalize("NFC");
38
+ }
39
+ if (typeof value === "number") {
40
+ if (!Number.isFinite(value)) {
41
+ throw new Error(
42
+ "reference game source JSON contains a non-finite number"
43
+ );
44
+ }
45
+ return value;
46
+ }
47
+ if (Array.isArray(value)) {
48
+ return value.map((item) => canonicalizeJson(item));
49
+ }
50
+ if (typeof value === "object") {
51
+ const entries = Object.entries(value);
52
+ for (const [, item] of entries) {
53
+ if (item === void 0) {
54
+ throw new Error("reference game source JSON contains undefined");
55
+ }
56
+ }
57
+ return Object.fromEntries(
58
+ entries.map(([key, item]) => [key.normalize("NFC"), item]).sort(
59
+ ([left], [right]) => compareReferenceGameCanonicalStrings(left, right)
60
+ ).map(([key, item]) => [key, canonicalizeJson(item)])
61
+ );
62
+ }
63
+ throw new Error(
64
+ `reference game source JSON contains unsupported ${typeof value} value`
65
+ );
66
+ }
67
+
68
+ export {
69
+ computeReferenceGameSourceFingerprint,
70
+ canonicalizeReferenceGameSourcePayload,
71
+ compareReferenceGameCanonicalStrings
72
+ };
73
+ //# sourceMappingURL=chunk-UNVCT5Z7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/reference-games/canonical.ts"],"sourcesContent":["import { sha256 } from \"@noble/hashes/sha2.js\";\nimport { bytesToHex, utf8ToBytes } from \"@noble/hashes/utils.js\";\n\nimport type { ReferenceGameSourceManifestPayload } from \"./schema.js\";\n\ntype CanonicalReferenceGameJson =\n | null\n | boolean\n | number\n | string\n | CanonicalReferenceGameJson[]\n | { [key: string]: CanonicalReferenceGameJson };\n\nexport function computeReferenceGameSourceFingerprint(\n payload: ReferenceGameSourceManifestPayload,\n): `sha256:${string}` {\n const canonical = canonicalizeReferenceGameSourcePayload(payload);\n const encoded = JSON.stringify(canonical);\n return `sha256:${bytesToHex(sha256(utf8ToBytes(encoded)))}`;\n}\n\nexport function canonicalizeReferenceGameSourcePayload(\n payload: ReferenceGameSourceManifestPayload,\n): CanonicalReferenceGameJson {\n return canonicalizeJson({\n ...payload,\n games: [...payload.games].sort((left, right) =>\n compareReferenceGameCanonicalStrings(left.id, right.id),\n ),\n objects: [...payload.objects].sort((left, right) =>\n compareReferenceGameCanonicalStrings(left.path, right.path),\n ),\n inventoryPolicy: {\n ...payload.inventoryPolicy,\n excludedGameRelativePaths: [\n ...payload.inventoryPolicy.excludedGameRelativePaths,\n ].sort(),\n excludedGameRelativePrefixes: [\n ...payload.inventoryPolicy.excludedGameRelativePrefixes,\n ].sort(),\n },\n });\n}\n\n/** Locale-independent UTF-16 code-unit order, equivalent to Java String.compareTo. */\nexport function compareReferenceGameCanonicalStrings(\n left: string,\n right: string,\n): number {\n return left < right ? -1 : left > right ? 1 : 0;\n}\n\nfunction canonicalizeJson(value: unknown): CanonicalReferenceGameJson {\n if (value === null || typeof value === \"boolean\") {\n return value;\n }\n if (typeof value === \"string\") {\n return value.normalize(\"NFC\");\n }\n if (typeof value === \"number\") {\n if (!Number.isFinite(value)) {\n throw new Error(\n \"reference game source JSON contains a non-finite number\",\n );\n }\n return value;\n }\n if (Array.isArray(value)) {\n return value.map((item) => canonicalizeJson(item));\n }\n if (typeof value === \"object\") {\n const entries = Object.entries(value as Record<string, unknown>);\n for (const [, item] of entries) {\n if (item === undefined) {\n throw new Error(\"reference game source JSON contains undefined\");\n }\n }\n return Object.fromEntries(\n entries\n .map(([key, item]) => [key.normalize(\"NFC\"), item] as const)\n .sort(([left], [right]) =>\n compareReferenceGameCanonicalStrings(left, right),\n )\n .map(([key, item]) => [key, canonicalizeJson(item)]),\n );\n }\n throw new Error(\n `reference game source JSON contains unsupported ${typeof value} value`,\n );\n}\n"],"mappings":";AAAA,SAAS,cAAc;AACvB,SAAS,YAAY,mBAAmB;AAYjC,SAAS,sCACd,SACoB;AACpB,QAAM,YAAY,uCAAuC,OAAO;AAChE,QAAM,UAAU,KAAK,UAAU,SAAS;AACxC,SAAO,UAAU,WAAW,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC;AAC3D;AAEO,SAAS,uCACd,SAC4B;AAC5B,SAAO,iBAAiB;AAAA,IACtB,GAAG;AAAA,IACH,OAAO,CAAC,GAAG,QAAQ,KAAK,EAAE;AAAA,MAAK,CAAC,MAAM,UACpC,qCAAqC,KAAK,IAAI,MAAM,EAAE;AAAA,IACxD;AAAA,IACA,SAAS,CAAC,GAAG,QAAQ,OAAO,EAAE;AAAA,MAAK,CAAC,MAAM,UACxC,qCAAqC,KAAK,MAAM,MAAM,IAAI;AAAA,IAC5D;AAAA,IACA,iBAAiB;AAAA,MACf,GAAG,QAAQ;AAAA,MACX,2BAA2B;AAAA,QACzB,GAAG,QAAQ,gBAAgB;AAAA,MAC7B,EAAE,KAAK;AAAA,MACP,8BAA8B;AAAA,QAC5B,GAAG,QAAQ,gBAAgB;AAAA,MAC7B,EAAE,KAAK;AAAA,IACT;AAAA,EACF,CAAC;AACH;AAGO,SAAS,qCACd,MACA,OACQ;AACR,SAAO,OAAO,QAAQ,KAAK,OAAO,QAAQ,IAAI;AAChD;AAEA,SAAS,iBAAiB,OAA4C;AACpE,MAAI,UAAU,QAAQ,OAAO,UAAU,WAAW;AAChD,WAAO;AAAA,EACT;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO,MAAM,UAAU,KAAK;AAAA,EAC9B;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,CAAC,OAAO,SAAS,KAAK,GAAG;AAC3B,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,WAAO,MAAM,IAAI,CAAC,SAAS,iBAAiB,IAAI,CAAC;AAAA,EACnD;AACA,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,UAAU,OAAO,QAAQ,KAAgC;AAC/D,eAAW,CAAC,EAAE,IAAI,KAAK,SAAS;AAC9B,UAAI,SAAS,QAAW;AACtB,cAAM,IAAI,MAAM,+CAA+C;AAAA,MACjE;AAAA,IACF;AACA,WAAO,OAAO;AAAA,MACZ,QACG,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,UAAU,KAAK,GAAG,IAAI,CAAU,EAC1D;AAAA,QAAK,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,MACnB,qCAAqC,MAAM,KAAK;AAAA,MAClD,EACC,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,iBAAiB,IAAI,CAAC,CAAC;AAAA,IACvD;AAAA,EACF;AACA,QAAM,IAAI;AAAA,IACR,mDAAmD,OAAO,KAAK;AAAA,EACjE;AACF;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  GENERATED_AUTHORING_METADATA
3
- } from "./chunk-VTNEWMWJ.js";
3
+ } from "./chunk-SFOAY5H4.js";
4
4
 
5
5
  // src/package-set.ts
6
6
  var DREAMBOARD_SDK_VERSION = GENERATED_AUTHORING_METADATA.sdkVersion;
@@ -18,4 +18,4 @@ export {
18
18
  DREAMBOARD_SDK_PACKAGES,
19
19
  DREAMBOARD_SDK_PACKAGE_SET
20
20
  };
21
- //# sourceMappingURL=chunk-YGQTL63W.js.map
21
+ //# sourceMappingURL=chunk-WDR7SKBM.js.map