@dreamboard-games/sdk 0.4.0-alpha.1 → 0.4.0-alpha.2

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 (78) hide show
  1. package/REFERENCE.md +1215 -125
  2. package/dist/{ResourceCounter-BTXklCEZ.d.ts → ResourceCounter-BuiNstXs.d.ts} +5 -1
  3. package/dist/{ThemeProvider-DvMl17Ny.d.ts → ThemeProvider-B1sIoBlX.d.ts} +1 -1
  4. package/dist/{attributes-BrZtP9az.d.ts → attributes-DbvyMbXw.d.ts} +17 -2
  5. package/dist/authoring/index.d.ts +66 -0
  6. package/dist/authoring/index.js +560 -0
  7. package/dist/authoring/index.js.map +1 -0
  8. package/dist/browser-interaction.d.ts +205 -5
  9. package/dist/browser-interaction.js +14 -2
  10. package/dist/{chunk-7W6TQO3X.js → chunk-45FI6XII.js} +613 -366
  11. package/dist/chunk-45FI6XII.js.map +1 -0
  12. package/dist/{chunk-3K362ZKR.js → chunk-6JQFGSLD.js} +202 -38
  13. package/dist/chunk-6JQFGSLD.js.map +1 -0
  14. package/dist/{chunk-XXBSIPJX.js → chunk-CP35NPPY.js} +131 -59
  15. package/dist/chunk-CP35NPPY.js.map +1 -0
  16. package/dist/{chunk-XJYUSD5F.js → chunk-FWVV2X74.js} +2 -2
  17. package/dist/{chunk-IUGKW2GS.js → chunk-HWJS3VOJ.js} +6 -2
  18. package/dist/chunk-HWJS3VOJ.js.map +1 -0
  19. package/dist/chunk-K5ZRJTZZ.js +328 -0
  20. package/dist/chunk-K5ZRJTZZ.js.map +1 -0
  21. package/dist/{chunk-7LZZEI25.js → chunk-N6ZDIMRB.js} +1 -1
  22. package/dist/chunk-N6ZDIMRB.js.map +1 -0
  23. package/dist/chunk-O6M6PN4E.js +1225 -0
  24. package/dist/chunk-O6M6PN4E.js.map +1 -0
  25. package/dist/{chunk-AEUXCFGM.js → chunk-PF7L4BMG.js} +1 -8
  26. package/dist/{chunk-AEUXCFGM.js.map → chunk-PF7L4BMG.js.map} +1 -1
  27. package/dist/{chunk-CZMFAS3E.js → chunk-WOWFONLZ.js} +517 -1274
  28. package/dist/chunk-WOWFONLZ.js.map +1 -0
  29. package/dist/{chunk-MALRKLRR.js → chunk-WUIVY2KE.js} +301 -12
  30. package/dist/chunk-WUIVY2KE.js.map +1 -0
  31. package/dist/chunk-ZAS2SENW.js +12 -0
  32. package/dist/chunk-ZAS2SENW.js.map +1 -0
  33. package/dist/codegen.d.ts +11 -3
  34. package/dist/codegen.js +1 -1
  35. package/dist/{components-Dqr_LuZJ.d.ts → components-BbWPnZCF.d.ts} +37 -6
  36. package/dist/{hex-board-view-UCUjMALd.d.ts → hex-board-view-Kz9Q_zsv.d.ts} +1 -1
  37. package/dist/index.js +2 -1
  38. package/dist/package-set.d.ts +2 -2
  39. package/dist/package-set.js +2 -1
  40. package/dist/player-state-Cqpyeql0.d.ts +371 -0
  41. package/dist/protocol-BP193lva.d.ts +267 -0
  42. package/dist/reducer/advanced.js +1 -1
  43. package/dist/reducer-contract.js +1 -1
  44. package/dist/reducer.js +2 -2
  45. package/dist/reducer.js.map +1 -1
  46. package/dist/runtime/primitives.d.ts +10 -10
  47. package/dist/runtime/primitives.js +9 -7
  48. package/dist/runtime/runtime-api.d.ts +2 -2
  49. package/dist/runtime/workspace-contract.d.ts +23 -12
  50. package/dist/runtime/workspace-contract.js +7 -6
  51. package/dist/runtime-api-BJharVaj.d.ts +198 -0
  52. package/dist/runtime-api-C6aWo9c0.d.ts +95 -0
  53. package/dist/runtime.d.ts +35 -31
  54. package/dist/runtime.js +87 -797
  55. package/dist/runtime.js.map +1 -1
  56. package/dist/testing.d.ts +254 -140
  57. package/dist/testing.js +964 -149
  58. package/dist/testing.js.map +1 -1
  59. package/dist/types-CYeN0wLK.d.ts +29 -0
  60. package/dist/{types-BqzHkNMA.d.ts → types-DJj5MJkl.d.ts} +32 -5
  61. package/dist/types.d.ts +13 -8
  62. package/dist/ui/components.d.ts +4 -5
  63. package/dist/ui/components.js +19 -1
  64. package/dist/ui/player-state.d.ts +2 -365
  65. package/dist/{ui-contract-W2-kxObe.d.ts → ui-contract-CY7cxsCC.d.ts} +16 -26
  66. package/dist/ui.d.ts +7 -8
  67. package/dist/ui.js +20 -2
  68. package/package.json +25 -19
  69. package/dist/chunk-3K362ZKR.js.map +0 -1
  70. package/dist/chunk-7LZZEI25.js.map +0 -1
  71. package/dist/chunk-7W6TQO3X.js.map +0 -1
  72. package/dist/chunk-CZMFAS3E.js.map +0 -1
  73. package/dist/chunk-IUGKW2GS.js.map +0 -1
  74. package/dist/chunk-MALRKLRR.js.map +0 -1
  75. package/dist/chunk-XXBSIPJX.js.map +0 -1
  76. package/dist/hex-color-MhOyuY-o.d.ts +0 -8
  77. package/dist/runtime-api-BXd70c2e.d.ts +0 -490
  78. /package/dist/{chunk-XJYUSD5F.js.map → chunk-FWVV2X74.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/authoring/adapter.ts","../../src/authoring/manifest-conformance-cases.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport type {\n GameTopologyManifest,\n JsonValue,\n} from \"@dreamboard-games/sdk-types\";\nimport {\n AUTHORITATIVE_GENERATED_FILES,\n SEED_FILES,\n SEED_FILE_PATTERNS,\n generateAuthoritativeFiles,\n generateSeedFiles,\n materializeManifestTable,\n validateManifestAuthoring,\n} from \"@dreamboard-games/workspace-codegen\";\nimport { GENERATED_AUTHORING_METADATA } from \"./generated-metadata.js\";\nimport {\n createManifestConformanceCases,\n diagnosticCodesForValidationErrors,\n} from \"./manifest-conformance-cases.js\";\nimport type {\n AuthoringValidationResultV1,\n GenerateTestArtifactsInputV1,\n GeneratedArtifactV1,\n ProjectAuthoringAdapterV1,\n} from \"./types.js\";\n\nconst PLAYER_IDS = [\"player-1\", \"player-2\"] as const;\n\nfunction stableJson(value: unknown): string {\n if (value === undefined) {\n return \"null\";\n }\n if (value === null || typeof value !== \"object\") {\n return JSON.stringify(value);\n }\n if (Array.isArray(value)) {\n return `[${value.map((item) => stableJson(item)).join(\",\")}]`;\n }\n return `{${Object.entries(value as Record<string, unknown>)\n .filter(([, entry]) => entry !== undefined)\n .sort(([left], [right]) => left.localeCompare(right))\n .map(([key, entry]) => `${JSON.stringify(key)}:${stableJson(entry)}`)\n .join(\",\")}}`;\n}\n\nexport function sha256(value: string): string {\n return createHash(\"sha256\").update(value).digest(\"hex\");\n}\n\nfunction assertManifest(manifest: unknown): GameTopologyManifest {\n if (!manifest || typeof manifest !== \"object\") {\n throw new Error(\"Expected a manifest object.\");\n }\n return manifest as GameTopologyManifest;\n}\n\nfunction normalizeArtifact(\n path: string,\n content: string,\n ownership: GeneratedArtifactV1[\"ownership\"],\n): GeneratedArtifactV1 {\n if (\n path.length === 0 ||\n path.startsWith(\"/\") ||\n path.includes(\"\\\\\") ||\n path\n .split(\"/\")\n .some((segment) => !segment || segment === \".\" || segment === \"..\")\n ) {\n throw new Error(`Generated artifact path '${path}' is not normalized.`);\n }\n return {\n path,\n ownership,\n content,\n contentSha256: sha256(content),\n };\n}\n\nfunction normalizeArtifacts(\n entries: Record<string, string>,\n ownership: GeneratedArtifactV1[\"ownership\"],\n): GeneratedArtifactV1[] {\n return Object.entries(entries)\n .map(([path, content]) => normalizeArtifact(path, content, ownership))\n .sort((left, right) => left.path.localeCompare(right.path));\n}\n\nfunction validateNoDuplicateArtifactPaths(\n artifacts: readonly GeneratedArtifactV1[],\n): void {\n const seen = new Set<string>();\n for (const artifact of artifacts) {\n if (seen.has(artifact.path)) {\n throw new Error(\n `Generated artifact path '${artifact.path}' was emitted twice.`,\n );\n }\n seen.add(artifact.path);\n if (artifact.contentSha256 !== sha256(artifact.content)) {\n throw new Error(\n `Generated artifact '${artifact.path}' has a stale hash.`,\n );\n }\n }\n}\n\nexport function validateManifest(\n manifest: unknown,\n): AuthoringValidationResultV1 {\n try {\n const gameManifest = assertManifest(manifest);\n const result = validateManifestAuthoring(gameManifest);\n const errors = [...result.errors];\n if (errors.length === 0) {\n try {\n materializeManifest(gameManifest);\n } catch (error) {\n errors.push(error instanceof Error ? error.message : String(error));\n }\n }\n return {\n valid: errors.length === 0,\n errors,\n warnings: result.warnings,\n };\n } catch (error) {\n return {\n valid: false,\n errors: [error instanceof Error ? error.message : String(error)],\n warnings: [],\n };\n }\n}\n\nexport function materializeManifest(manifest: unknown): JsonValue {\n return materializeManifestTable({\n manifest: assertManifest(manifest),\n playerIds: PLAYER_IDS,\n shuffleItems: (values) => [...values],\n }) as JsonValue;\n}\n\nexport function generateWorkspaceArtifacts(\n manifest: unknown,\n): readonly GeneratedArtifactV1[] {\n const gameManifest = assertManifest(manifest);\n const artifacts = [\n ...normalizeArtifacts(\n generateAuthoritativeFiles(gameManifest),\n \"authoritative\",\n ),\n ...normalizeArtifacts(generateSeedFiles(gameManifest), \"seed\"),\n ].sort((left, right) => left.path.localeCompare(right.path));\n validateNoDuplicateArtifactPaths(artifacts);\n return artifacts;\n}\n\nexport function generateTestArtifacts(\n input: GenerateTestArtifactsInputV1,\n): readonly GeneratedArtifactV1[] {\n const materialized = materializeManifest(input.manifest);\n return [\n normalizeArtifact(\n \"test/generated/base-state.json\",\n `${stableJson(materialized)}\\n`,\n \"derived-test\",\n ),\n ];\n}\n\nexport const GENERATED_WORKSPACE_PATHS = [\n ...AUTHORITATIVE_GENERATED_FILES,\n ...SEED_FILES,\n \"test/generated/base-state.json\",\n] as const;\n\nexport const GENERATED_WORKSPACE_PATH_PATTERNS = SEED_FILE_PATTERNS;\n\nexport const MANIFEST_CONFORMANCE_CASES = createManifestConformanceCases();\n\nexport const projectAuthoringAdapter: ProjectAuthoringAdapterV1 = {\n protocolVersion: 1,\n metadata: GENERATED_AUTHORING_METADATA,\n generatedPaths: GENERATED_WORKSPACE_PATHS,\n generatedPathPatterns: GENERATED_WORKSPACE_PATH_PATTERNS,\n manifestConformanceCases: MANIFEST_CONFORMANCE_CASES,\n validateManifest,\n materializeManifest,\n generateWorkspaceArtifacts,\n generateTestArtifacts,\n};\n\nexport { diagnosticCodesForValidationErrors, stableJson };\n","import type {\n BoardCard,\n BoardSpec,\n ComponentHomeSpec,\n GameTopologyManifest,\n PieceSeedSpec,\n PieceTypeSpec,\n ZoneSpec,\n} from \"@dreamboard-games/sdk-types\";\nimport type { AuthoringManifestConformanceCaseV1 } from \"./types.js\";\n\nfunction baseManifest(\n cardSet: GameTopologyManifest[\"cardSets\"][number],\n overrides: Partial<GameTopologyManifest> = {},\n): GameTopologyManifest {\n return {\n players: {\n minPlayers: 2,\n maxPlayers: 2,\n optimalPlayers: 2,\n },\n cardSets: [cardSet],\n zones: [],\n boardTemplates: [],\n boards: [],\n pieceTypes: [],\n pieceSeeds: [],\n dieTypes: [],\n dieSeeds: [],\n resources: [],\n setupOptions: [],\n setupProfiles: [],\n ...overrides,\n };\n}\n\nfunction manualCardSet(\n id: string,\n defaultHome: ComponentHomeSpec,\n cards: BoardCard[],\n): GameTopologyManifest[\"cardSets\"][number] {\n const cardSet = {\n id,\n name: id,\n type: \"manual\",\n cardSchema: { properties: {} },\n defaultHome,\n cards,\n };\n return cardSet as unknown as GameTopologyManifest[\"cardSets\"][number];\n}\n\nconst sharedZone: ZoneSpec = {\n id: \"shared-zone\",\n name: \"Shared Zone\",\n scope: \"shared\",\n allowedCardSetIds: [\"cards\"],\n};\n\nconst sharedBoard: BoardSpec = {\n id: \"square-board\",\n name: \"Square Board\",\n layout: \"square\",\n scope: \"shared\",\n spaces: [\n { id: \"a1\", row: 0, col: 0 },\n { id: \"a2\", row: 0, col: 1 },\n { id: \"b1\", row: 1, col: 0 },\n { id: \"b2\", row: 1, col: 1 },\n ],\n relations: [],\n containers: [\n {\n id: \"display-row\",\n name: \"Display Row\",\n host: { type: \"board\" },\n },\n ],\n edges: [],\n vertices: [],\n};\n\nconst sharedTopology: Partial<GameTopologyManifest> = {\n boards: [sharedBoard],\n pieceTypes: [\n {\n id: \"holder\",\n name: \"Holder\",\n slots: [{ id: \"pocket\" }],\n },\n ] satisfies PieceTypeSpec[],\n pieceSeeds: [{ id: \"holder-a\", typeId: \"holder\" }] satisfies PieceSeedSpec[],\n};\n\nconst fixtures = [\n {\n id: \"manual-default-detached\",\n manifest: baseManifest(\n manualCardSet(\"cards\", { type: \"detached\" }, [\n { type: \"marker\", name: \"Marker\", count: 1, properties: {} },\n ]),\n ),\n expected: {\n valid: true,\n transportValid: true,\n materializedSha256:\n \"ed6f7ce2ff4fbe697e49134f1d59157cf146e202db29a77be50e8326585f535c\",\n },\n },\n {\n id: \"manual-default-shared-zone\",\n manifest: baseManifest(\n manualCardSet(\"cards\", { type: \"zone\", zoneId: \"shared-zone\" }, [\n { type: \"coin\", name: \"Coin\", count: 2, properties: {} },\n ]),\n { zones: [sharedZone] },\n ),\n expected: {\n valid: true,\n transportValid: true,\n materializedSha256:\n \"75028d28dbc415c81db5e2d780d55b04c4db36378a149bc02b0194d94a8cc2b9\",\n },\n },\n {\n id: \"preset-default-shared-zone\",\n manifest: baseManifest(\n {\n id: \"cards\",\n name: \"Preset Cards\",\n type: \"preset\",\n presetId: \"standard_52_deck\",\n defaultHome: { type: \"zone\", zoneId: \"shared-zone\" },\n },\n { zones: [sharedZone] },\n ),\n expected: {\n valid: true,\n transportValid: true,\n materializedSha256:\n \"b3471c577ed266667b16799f75aa9b7358100a94108aa46a31ad16a0291f67ca\",\n },\n },\n {\n id: \"manual-per-card-detached-override\",\n manifest: baseManifest(\n manualCardSet(\"cards\", { type: \"zone\", zoneId: \"shared-zone\" }, [\n {\n type: \"removed\",\n name: \"Removed\",\n count: 1,\n home: { type: \"detached\" },\n properties: {},\n },\n ]),\n { zones: [sharedZone] },\n ),\n expected: {\n valid: true,\n transportValid: true,\n materializedSha256:\n \"fdcb2de78fc391e11aca1f266fd8bbb348a82faa0fbbac1d8eb1defd8697a0e9\",\n },\n },\n {\n id: \"manual-per-card-shared-zone-override\",\n manifest: baseManifest(\n manualCardSet(\"cards\", { type: \"detached\" }, [\n {\n type: \"dealt\",\n name: \"Dealt\",\n count: 1,\n home: { type: \"zone\", zoneId: \"shared-zone\" },\n properties: {},\n },\n ]),\n { zones: [sharedZone] },\n ),\n expected: {\n valid: true,\n transportValid: true,\n materializedSha256:\n \"b6bee1db85f16e8a12a7136c7d524591f925427c8ec04d64b07905c5bc859d7a\",\n },\n },\n {\n id: \"manual-compatible-zones-no-inference\",\n manifest: baseManifest(\n manualCardSet(\"cards\", { type: \"detached\" }, [\n { type: \"token\", name: \"Token\", count: 1, properties: {} },\n ]),\n {\n zones: [\n sharedZone,\n {\n ...sharedZone,\n id: \"second-compatible-zone\",\n name: \"Second Compatible Zone\",\n },\n ],\n },\n ),\n expected: {\n valid: true,\n transportValid: true,\n materializedSha256:\n \"2727728ba3743d2b1874b2bc573b48c88f962fdcbdcdf20c62bed551d6d955c4\",\n },\n },\n {\n id: \"manual-per-player-zone-rejected\",\n manifest: baseManifest(\n manualCardSet(\"cards\", { type: \"zone\", zoneId: \"hand\" }, [\n { type: \"secret\", name: \"Secret\", count: 1, properties: {} },\n ]),\n {\n zones: [\n {\n id: \"hand\",\n name: \"Hand\",\n scope: \"perPlayer\",\n allowedCardSetIds: [\"cards\"],\n },\n ],\n },\n ),\n expected: {\n valid: false,\n transportValid: true,\n diagnosticCodes: [\"CARD_HOME_PER_PLAYER_ZONE_REJECTED\"],\n },\n },\n {\n id: \"manual-space-home\",\n manifest: baseManifest(\n manualCardSet(\n \"cards\",\n { type: \"space\", boardId: \"square-board\", spaceId: \"a1\" },\n [{ type: \"space-card\", name: \"Space\", count: 1, properties: {} }],\n ),\n sharedTopology,\n ),\n expected: {\n valid: true,\n transportValid: true,\n materializedSha256:\n \"429abfb3276c67cdca59d3dc077fc73022a9716bccef2c43f6805ff5cce0f2c2\",\n },\n },\n {\n id: \"manual-container-home\",\n manifest: baseManifest(\n manualCardSet(\n \"cards\",\n {\n type: \"container\",\n boardId: \"square-board\",\n containerId: \"display-row\",\n },\n [\n {\n type: \"container-card\",\n name: \"Container\",\n count: 1,\n properties: {},\n },\n ],\n ),\n sharedTopology,\n ),\n expected: {\n valid: true,\n transportValid: true,\n materializedSha256:\n \"eff372263227b316d064a519cf282a6cc1d2d8df4ac04673b7f47ac518d7a2a3\",\n },\n },\n {\n id: \"manual-slot-home\",\n manifest: baseManifest(\n manualCardSet(\n \"cards\",\n {\n type: \"slot\",\n host: { kind: \"piece\", id: \"holder-a\" },\n slotId: \"pocket\",\n },\n [{ type: \"slot-card\", name: \"Slot\", count: 1, properties: {} }],\n ),\n sharedTopology,\n ),\n expected: {\n valid: true,\n transportValid: true,\n materializedSha256:\n \"af3111f8d861ae69b77f2f46ba3df9f2f698f3306c412efc91095544e8121ab6\",\n },\n },\n {\n id: \"manual-edge-home\",\n manifest: baseManifest(\n manualCardSet(\n \"cards\",\n {\n type: \"edge\",\n boardId: \"square-board\",\n ref: { spaces: [\"a1\", \"a2\"] },\n },\n [{ type: \"edge-card\", name: \"Edge\", count: 1, properties: {} }],\n ),\n sharedTopology,\n ),\n expected: {\n valid: true,\n transportValid: true,\n materializedSha256:\n \"f8606ea25f52d9bf801aa4fee9f558b60d7f39bcd601d57bdfccdf1ddbf4c500\",\n },\n },\n {\n id: \"manual-vertex-home\",\n manifest: baseManifest(\n manualCardSet(\n \"cards\",\n {\n type: \"vertex\",\n boardId: \"square-board\",\n ref: { spaces: [\"a1\", \"a2\", \"b1\", \"b2\"] },\n },\n [{ type: \"vertex-card\", name: \"Vertex\", count: 1, properties: {} }],\n ),\n sharedTopology,\n ),\n expected: {\n valid: true,\n transportValid: true,\n materializedSha256:\n \"e84a4920ea8b71052acd42accf11101380ab982e493ebe207113dd4d243034de\",\n },\n },\n {\n id: \"manual-invalid-target-id\",\n manifest: baseManifest(\n manualCardSet(\"cards\", { type: \"zone\", zoneId: \"missing-zone\" }, [\n { type: \"lost\", name: \"Lost\", count: 1, properties: {} },\n ]),\n ),\n expected: {\n valid: false,\n transportValid: true,\n diagnosticCodes: [\"AUTHORING_VALIDATION_ERROR\"],\n },\n },\n {\n id: \"manual-count-order\",\n manifest: baseManifest(\n manualCardSet(\"cards\", { type: \"zone\", zoneId: \"shared-zone\" }, [\n { type: \"first\", name: \"First\", count: 3, properties: {} },\n { type: \"second\", name: \"Second\", count: 2, properties: {} },\n ]),\n { zones: [sharedZone] },\n ),\n expected: {\n valid: true,\n transportValid: true,\n materializedSha256:\n \"2e4ced71909d4c36053317311c9ceaf3bf3adba875bff3fe9596bbea47746423\",\n },\n },\n {\n id: \"manual-generated-scenario-base\",\n manifest: baseManifest(\n manualCardSet(\"cards\", { type: \"zone\", zoneId: \"shared-zone\" }, [\n { type: \"alpha\", name: \"Alpha\", count: 2, properties: {} },\n { type: \"beta\", name: \"Beta\", count: 1, properties: {} },\n ]),\n { zones: [sharedZone] },\n ),\n expected: {\n valid: true,\n transportValid: true,\n materializedSha256:\n \"b1b65d708b503036a49434c64c6f4aab3bedd295681bd103b69c4b98fdd5e2bb\",\n },\n },\n {\n id: \"manual-default-required\",\n manifest: {\n ...baseManifest(\n manualCardSet(\"cards\", { type: \"detached\" }, [\n { type: \"card\", name: \"Card\", count: 1, properties: {} },\n ]),\n ),\n cardSets: [\n {\n id: \"cards\",\n name: \"Cards\",\n type: \"manual\",\n cardSchema: { properties: {} },\n cards: [{ type: \"card\", name: \"Card\", count: 1, properties: {} }],\n },\n ],\n } as unknown as GameTopologyManifest,\n expected: {\n valid: false,\n transportValid: false,\n diagnosticCodes: [\"MANUAL_CARD_SET_DEFAULT_HOME_REQUIRED\"],\n },\n },\n] as const satisfies readonly (Omit<\n AuthoringManifestConformanceCaseV1,\n \"manifest\"\n> & { manifest: GameTopologyManifest })[];\n\nfunction deepFreeze<T>(value: T): T {\n if (value && typeof value === \"object\" && !Object.isFrozen(value)) {\n for (const entry of Object.values(value)) {\n deepFreeze(entry);\n }\n Object.freeze(value);\n }\n return value;\n}\n\nexport function diagnosticCodesForValidationErrors(\n errors: readonly string[],\n): readonly string[] {\n return [...new Set(errors.map(diagnosticCodeForValidationError))].sort();\n}\n\nfunction diagnosticCodeForValidationError(error: string): string {\n if (\n error.includes(\".defaultHome: Manual card sets must declare defaultHome\")\n ) {\n return \"MANUAL_CARD_SET_DEFAULT_HOME_REQUIRED\";\n }\n if (error.includes(\"cannot target per-player zone\")) {\n return \"CARD_HOME_PER_PLAYER_ZONE_REJECTED\";\n }\n if (error.includes(\"cannot target per-player board\")) {\n return \"CARD_HOME_PER_PLAYER_BOARD_REJECTED\";\n }\n return \"AUTHORING_VALIDATION_ERROR\";\n}\n\nexport function createManifestConformanceCases(): readonly AuthoringManifestConformanceCaseV1[] {\n return deepFreeze(\n fixtures,\n ) as unknown as readonly AuthoringManifestConformanceCaseV1[];\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
- import { k as BrowserInteractionEffectPattern, G as BrowserInteractionSurfaceEffect, J as CanonicalBrowserInteractionValue, T as GameplaySemanticEffect, F as BrowserInteractionSurfaceDefinition, w as BrowserInteractionRegistry, E as BrowserInteractionSurface, q as BrowserInteractionIntent, g as BrowserInteractionActuator, H as BrowserInteractionSurfaceSnapshot, C as BrowserInteractionSemanticSurfaceSnapshot, u as BrowserInteractionRawRecord, D as BrowserInteractionSnapshot, h as BrowserInteractionActuatorKind, j as BrowserInteractionDiagnostic, l as BrowserInteractionEffectRequest, m as BrowserInteractionEffectResolution, r as BrowserInteractionIntentRequest, x as BrowserInteractionResolution } from './types-BqzHkNMA.js';
2
- export { B as BROWSER_INTERACTION_ACTUATOR_KINDS, a as BROWSER_INTERACTION_ATTRIBUTES, b as BROWSER_INTERACTION_CANDIDATE_STATES, c as BROWSER_INTERACTION_READINESS_VALUES, d as BROWSER_INTERACTION_RECORD_ROLES, e as BrowserGameplayInteraction, f as BrowserGameplaySurfaceSnapshot, i as BrowserInteractionCandidateState, n as BrowserInteractionEffectResolutionFailure, o as BrowserInteractionEffectResolutionSuccess, p as BrowserInteractionEntity, s as BrowserInteractionPreparationTarget, t as BrowserInteractionProtocolIdentity, v as BrowserInteractionReadiness, y as BrowserInteractionResolutionFailure, z as BrowserInteractionResolutionSuccess, A as BrowserInteractionScalarPattern, I as BrowserInteractionUnknownSurfaceSnapshot, K as DREAMBOARD_BROWSER_INTERACTION_PROTOCOL_NAME, L as DREAMBOARD_BROWSER_INTERACTION_PROTOCOL_VERSION, M as GAMEPLAY_BROWSER_INTERACTION_EFFECT_KINDS, N as GAMEPLAY_BROWSER_INTERACTION_INTENTS, O as GAMEPLAY_BROWSER_INTERACTION_SURFACE, P as GameplayBrowserInteractionEffectKind, Q as GameplayBrowserInteractionEffectRequest, R as GameplayBrowserInteractionIntent, S as GameplayBrowserInteractionSurface, U as GameplaySemanticEffectPattern, V as compareStableJson, W as decodeCanonicalCandidateValue, X as encodeCanonicalCandidateValue } from './types-BqzHkNMA.js';
3
- export { B as BrowserInteractionActuatorAttributesInput, a as BrowserInteractionAttributeMap, b as BrowserInteractionRootAttributesInput, G as GameplayActuatorAttributesInput, c as GameplayInteractionRootAttributesInput, d as createBrowserInteractionActuatorAttributes, e as createBrowserInteractionActuatorKey, f as createBrowserInteractionRootAttributes, g as createGameplayActuatorAttributes, h as createGameplayInteractionRootAttributes } from './attributes-BrZtP9az.js';
1
+ import { k as BrowserInteractionEffectPattern, K as BrowserInteractionSurfaceEffect, N as CanonicalBrowserInteractionValue, X as GameplaySemanticEffect, J as BrowserInteractionSurfaceDefinition, A as BrowserInteractionRegistry, I as BrowserInteractionSurface, q as BrowserInteractionIntent, g as BrowserInteractionActuator, L as BrowserInteractionSurfaceSnapshot, G as BrowserInteractionSemanticSurfaceSnapshot, y as BrowserInteractionRawRecord, H as BrowserInteractionSnapshot, s as BrowserInteractionPointerTarget, h as BrowserInteractionActuatorKind, j as BrowserInteractionDiagnostic, l as BrowserInteractionEffectRequest, m as BrowserInteractionEffectResolution, r as BrowserInteractionIntentRequest, C as BrowserInteractionResolution, t as BrowserInteractionPointerTargetResolution } from './types-DJj5MJkl.js';
2
+ export { B as BROWSER_INTERACTION_ACTUATOR_KINDS, a as BROWSER_INTERACTION_ATTRIBUTES, b as BROWSER_INTERACTION_CANDIDATE_STATES, c as BROWSER_INTERACTION_READINESS_VALUES, d as BROWSER_INTERACTION_RECORD_ROLES, e as BrowserGameplayInteraction, f as BrowserGameplaySurfaceSnapshot, i as BrowserInteractionCandidateState, n as BrowserInteractionEffectResolutionFailure, o as BrowserInteractionEffectResolutionSuccess, p as BrowserInteractionEntity, u as BrowserInteractionPointerTargetResolutionFailure, v as BrowserInteractionPointerTargetResolutionSuccess, w as BrowserInteractionPreparationTarget, x as BrowserInteractionProtocolIdentity, z as BrowserInteractionReadiness, D as BrowserInteractionResolutionFailure, E as BrowserInteractionResolutionSuccess, F as BrowserInteractionScalarPattern, M as BrowserInteractionUnknownSurfaceSnapshot, O as DREAMBOARD_BROWSER_INTERACTION_PROTOCOL_NAME, P as DREAMBOARD_BROWSER_INTERACTION_PROTOCOL_VERSION, Q as GAMEPLAY_BROWSER_INTERACTION_EFFECT_KINDS, R as GAMEPLAY_BROWSER_INTERACTION_INTENTS, S as GAMEPLAY_BROWSER_INTERACTION_SURFACE, T as GameplayBrowserInteractionEffectKind, U as GameplayBrowserInteractionEffectRequest, V as GameplayBrowserInteractionIntent, W as GameplayBrowserInteractionSurface, Y as GameplaySemanticEffectPattern, Z as compareStableJson, _ as decodeCanonicalCandidateValue, $ as encodeCanonicalCandidateValue } from './types-DJj5MJkl.js';
3
+ export { B as BrowserInteractionActuatorAttributesInput, a as BrowserInteractionAttributeMap, b as BrowserInteractionPointerTargetAttributesInput, c as BrowserInteractionRootAttributesInput, G as GameplayActuatorAttributesInput, d as GameplayInteractionRootAttributesInput, e as GameplayPointerTargetAttributesInput, f as createBrowserInteractionActuatorAttributes, g as createBrowserInteractionActuatorKey, h as createBrowserInteractionPointerTargetAttributes, i as createBrowserInteractionRootAttributes, j as createGameplayActuatorAttributes, k as createGameplayInteractionRootAttributes, l as createGameplayPointerTargetAttributes } from './attributes-DbvyMbXw.js';
4
4
  import { R as RuntimeJson } from './runtime-json-CQ9QbLZ5.js';
5
5
  import { z } from 'zod';
6
6
 
@@ -44,6 +44,12 @@ declare function actuatorIdentityKey(input: {
44
44
  readonly interactionKey: string;
45
45
  readonly actuator: Pick<BrowserInteractionActuator, "intent" | "inputKey" | "candidateValueKey" | "actuatorKind">;
46
46
  }): string;
47
+ declare function pointerTargetIdentityKey(input: {
48
+ readonly surface: string;
49
+ readonly scopeId: string;
50
+ readonly interactionKey: string;
51
+ readonly pointerTarget: Pick<BrowserInteractionPointerTarget, "targetId">;
52
+ }): string;
47
53
  declare function isSemanticSurfaceSnapshot(surface: BrowserInteractionSurfaceSnapshot): surface is BrowserInteractionSemanticSurfaceSnapshot;
48
54
  declare function targetIdentityKey(input: {
49
55
  readonly surface: string;
@@ -59,6 +65,9 @@ declare function targetIdentityKey(input: {
59
65
 
60
66
  declare function resolveBrowserInteractionIntent(snapshot: BrowserInteractionSnapshot, request: BrowserInteractionIntentRequest): BrowserInteractionResolution;
61
67
  declare function resolveBrowserInteractionEffect(snapshot: BrowserInteractionSnapshot, request: BrowserInteractionEffectRequest): BrowserInteractionEffectResolution;
68
+ declare function resolveBrowserPointerTarget(snapshot: BrowserInteractionSnapshot, request: BrowserInteractionEffectRequest): BrowserInteractionPointerTargetResolution;
69
+
70
+ declare function readBrowserInteractionSnapshot(root: ParentNode): BrowserInteractionSnapshot;
62
71
 
63
72
  declare const browserInteractionEffectSchema: z.ZodObject<{
64
73
  kind: z.ZodString;
@@ -111,6 +120,7 @@ declare const browserInteractionDiagnosticSchema: z.ZodObject<{
111
120
  interactionKey: z.ZodOptional<z.ZodString>;
112
121
  intent: z.ZodOptional<z.ZodString>;
113
122
  actuatorId: z.ZodOptional<z.ZodString>;
123
+ targetId: z.ZodOptional<z.ZodString>;
114
124
  }, z.core.$strip>;
115
125
  declare const browserInteractionActuatorSchema: z.ZodObject<{
116
126
  actuatorId: z.ZodString;
@@ -189,6 +199,42 @@ declare const browserInteractionActuatorSchema: z.ZodObject<{
189
199
  interactionKey: z.ZodOptional<z.ZodString>;
190
200
  intent: z.ZodOptional<z.ZodString>;
191
201
  actuatorId: z.ZodOptional<z.ZodString>;
202
+ targetId: z.ZodOptional<z.ZodString>;
203
+ }, z.core.$strip>>;
204
+ }, z.core.$strip>;
205
+ declare const browserInteractionPointerTargetSchema: z.ZodObject<{
206
+ targetId: z.ZodString;
207
+ enabled: z.ZodBoolean;
208
+ acceptedEffectPatterns: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
209
+ kind: z.ZodLiteral<"exact">;
210
+ effect: z.ZodObject<{
211
+ kind: z.ZodString;
212
+ }, z.core.$catchall<z.ZodPreprocess<z.ZodType<RuntimeJson, unknown, z.core.$ZodTypeInternals<RuntimeJson, unknown>>>>>;
213
+ }, z.core.$strip>, z.ZodObject<{
214
+ kind: z.ZodLiteral<"match">;
215
+ effectKind: z.ZodString;
216
+ fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodPreprocess<z.ZodType<RuntimeJson, unknown, z.core.$ZodTypeInternals<RuntimeJson, unknown>>>>>;
217
+ scalar: z.ZodOptional<z.ZodObject<{
218
+ field: z.ZodString;
219
+ min: z.ZodOptional<z.ZodNumber>;
220
+ max: z.ZodOptional<z.ZodNumber>;
221
+ integer: z.ZodOptional<z.ZodBoolean>;
222
+ }, z.core.$strip>>;
223
+ }, z.core.$strip>]>>;
224
+ descriptorDigest: z.ZodOptional<z.ZodString>;
225
+ diagnostics: z.ZodArray<z.ZodObject<{
226
+ code: z.ZodString;
227
+ severity: z.ZodEnum<{
228
+ error: "error";
229
+ warning: "warning";
230
+ }>;
231
+ message: z.ZodString;
232
+ surface: z.ZodOptional<z.ZodString>;
233
+ scopeId: z.ZodOptional<z.ZodString>;
234
+ interactionKey: z.ZodOptional<z.ZodString>;
235
+ intent: z.ZodOptional<z.ZodString>;
236
+ actuatorId: z.ZodOptional<z.ZodString>;
237
+ targetId: z.ZodOptional<z.ZodString>;
192
238
  }, z.core.$strip>>;
193
239
  }, z.core.$strip>;
194
240
  declare const browserGameplayInteractionSchema: z.ZodObject<{
@@ -278,6 +324,42 @@ declare const browserGameplayInteractionSchema: z.ZodObject<{
278
324
  interactionKey: z.ZodOptional<z.ZodString>;
279
325
  intent: z.ZodOptional<z.ZodString>;
280
326
  actuatorId: z.ZodOptional<z.ZodString>;
327
+ targetId: z.ZodOptional<z.ZodString>;
328
+ }, z.core.$strip>>;
329
+ }, z.core.$strip>>;
330
+ pointerTargets: z.ZodArray<z.ZodObject<{
331
+ targetId: z.ZodString;
332
+ enabled: z.ZodBoolean;
333
+ acceptedEffectPatterns: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
334
+ kind: z.ZodLiteral<"exact">;
335
+ effect: z.ZodObject<{
336
+ kind: z.ZodString;
337
+ }, z.core.$catchall<z.ZodPreprocess<z.ZodType<RuntimeJson, unknown, z.core.$ZodTypeInternals<RuntimeJson, unknown>>>>>;
338
+ }, z.core.$strip>, z.ZodObject<{
339
+ kind: z.ZodLiteral<"match">;
340
+ effectKind: z.ZodString;
341
+ fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodPreprocess<z.ZodType<RuntimeJson, unknown, z.core.$ZodTypeInternals<RuntimeJson, unknown>>>>>;
342
+ scalar: z.ZodOptional<z.ZodObject<{
343
+ field: z.ZodString;
344
+ min: z.ZodOptional<z.ZodNumber>;
345
+ max: z.ZodOptional<z.ZodNumber>;
346
+ integer: z.ZodOptional<z.ZodBoolean>;
347
+ }, z.core.$strip>>;
348
+ }, z.core.$strip>]>>;
349
+ descriptorDigest: z.ZodOptional<z.ZodString>;
350
+ diagnostics: z.ZodArray<z.ZodObject<{
351
+ code: z.ZodString;
352
+ severity: z.ZodEnum<{
353
+ error: "error";
354
+ warning: "warning";
355
+ }>;
356
+ message: z.ZodString;
357
+ surface: z.ZodOptional<z.ZodString>;
358
+ scopeId: z.ZodOptional<z.ZodString>;
359
+ interactionKey: z.ZodOptional<z.ZodString>;
360
+ intent: z.ZodOptional<z.ZodString>;
361
+ actuatorId: z.ZodOptional<z.ZodString>;
362
+ targetId: z.ZodOptional<z.ZodString>;
281
363
  }, z.core.$strip>>;
282
364
  }, z.core.$strip>>;
283
365
  diagnostics: z.ZodArray<z.ZodObject<{
@@ -292,6 +374,7 @@ declare const browserGameplayInteractionSchema: z.ZodObject<{
292
374
  interactionKey: z.ZodOptional<z.ZodString>;
293
375
  intent: z.ZodOptional<z.ZodString>;
294
376
  actuatorId: z.ZodOptional<z.ZodString>;
377
+ targetId: z.ZodOptional<z.ZodString>;
295
378
  }, z.core.$strip>>;
296
379
  }, z.core.$strip>;
297
380
  declare const browserGameplaySurfaceSnapshotSchema: z.ZodObject<{
@@ -384,6 +467,42 @@ declare const browserGameplaySurfaceSnapshotSchema: z.ZodObject<{
384
467
  interactionKey: z.ZodOptional<z.ZodString>;
385
468
  intent: z.ZodOptional<z.ZodString>;
386
469
  actuatorId: z.ZodOptional<z.ZodString>;
470
+ targetId: z.ZodOptional<z.ZodString>;
471
+ }, z.core.$strip>>;
472
+ }, z.core.$strip>>;
473
+ pointerTargets: z.ZodArray<z.ZodObject<{
474
+ targetId: z.ZodString;
475
+ enabled: z.ZodBoolean;
476
+ acceptedEffectPatterns: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
477
+ kind: z.ZodLiteral<"exact">;
478
+ effect: z.ZodObject<{
479
+ kind: z.ZodString;
480
+ }, z.core.$catchall<z.ZodPreprocess<z.ZodType<RuntimeJson, unknown, z.core.$ZodTypeInternals<RuntimeJson, unknown>>>>>;
481
+ }, z.core.$strip>, z.ZodObject<{
482
+ kind: z.ZodLiteral<"match">;
483
+ effectKind: z.ZodString;
484
+ fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodPreprocess<z.ZodType<RuntimeJson, unknown, z.core.$ZodTypeInternals<RuntimeJson, unknown>>>>>;
485
+ scalar: z.ZodOptional<z.ZodObject<{
486
+ field: z.ZodString;
487
+ min: z.ZodOptional<z.ZodNumber>;
488
+ max: z.ZodOptional<z.ZodNumber>;
489
+ integer: z.ZodOptional<z.ZodBoolean>;
490
+ }, z.core.$strip>>;
491
+ }, z.core.$strip>]>>;
492
+ descriptorDigest: z.ZodOptional<z.ZodString>;
493
+ diagnostics: z.ZodArray<z.ZodObject<{
494
+ code: z.ZodString;
495
+ severity: z.ZodEnum<{
496
+ error: "error";
497
+ warning: "warning";
498
+ }>;
499
+ message: z.ZodString;
500
+ surface: z.ZodOptional<z.ZodString>;
501
+ scopeId: z.ZodOptional<z.ZodString>;
502
+ interactionKey: z.ZodOptional<z.ZodString>;
503
+ intent: z.ZodOptional<z.ZodString>;
504
+ actuatorId: z.ZodOptional<z.ZodString>;
505
+ targetId: z.ZodOptional<z.ZodString>;
387
506
  }, z.core.$strip>>;
388
507
  }, z.core.$strip>>;
389
508
  diagnostics: z.ZodArray<z.ZodObject<{
@@ -398,6 +517,7 @@ declare const browserGameplaySurfaceSnapshotSchema: z.ZodObject<{
398
517
  interactionKey: z.ZodOptional<z.ZodString>;
399
518
  intent: z.ZodOptional<z.ZodString>;
400
519
  actuatorId: z.ZodOptional<z.ZodString>;
520
+ targetId: z.ZodOptional<z.ZodString>;
401
521
  }, z.core.$strip>>;
402
522
  }, z.core.$strip>>;
403
523
  diagnostics: z.ZodArray<z.ZodObject<{
@@ -412,6 +532,7 @@ declare const browserGameplaySurfaceSnapshotSchema: z.ZodObject<{
412
532
  interactionKey: z.ZodOptional<z.ZodString>;
413
533
  intent: z.ZodOptional<z.ZodString>;
414
534
  actuatorId: z.ZodOptional<z.ZodString>;
535
+ targetId: z.ZodOptional<z.ZodString>;
415
536
  }, z.core.$strip>>;
416
537
  }, z.core.$strip>;
417
538
  declare const browserSemanticSurfaceSnapshotSchema: z.ZodObject<{
@@ -504,6 +625,42 @@ declare const browserSemanticSurfaceSnapshotSchema: z.ZodObject<{
504
625
  interactionKey: z.ZodOptional<z.ZodString>;
505
626
  intent: z.ZodOptional<z.ZodString>;
506
627
  actuatorId: z.ZodOptional<z.ZodString>;
628
+ targetId: z.ZodOptional<z.ZodString>;
629
+ }, z.core.$strip>>;
630
+ }, z.core.$strip>>;
631
+ pointerTargets: z.ZodArray<z.ZodObject<{
632
+ targetId: z.ZodString;
633
+ enabled: z.ZodBoolean;
634
+ acceptedEffectPatterns: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
635
+ kind: z.ZodLiteral<"exact">;
636
+ effect: z.ZodObject<{
637
+ kind: z.ZodString;
638
+ }, z.core.$catchall<z.ZodPreprocess<z.ZodType<RuntimeJson, unknown, z.core.$ZodTypeInternals<RuntimeJson, unknown>>>>>;
639
+ }, z.core.$strip>, z.ZodObject<{
640
+ kind: z.ZodLiteral<"match">;
641
+ effectKind: z.ZodString;
642
+ fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodPreprocess<z.ZodType<RuntimeJson, unknown, z.core.$ZodTypeInternals<RuntimeJson, unknown>>>>>;
643
+ scalar: z.ZodOptional<z.ZodObject<{
644
+ field: z.ZodString;
645
+ min: z.ZodOptional<z.ZodNumber>;
646
+ max: z.ZodOptional<z.ZodNumber>;
647
+ integer: z.ZodOptional<z.ZodBoolean>;
648
+ }, z.core.$strip>>;
649
+ }, z.core.$strip>]>>;
650
+ descriptorDigest: z.ZodOptional<z.ZodString>;
651
+ diagnostics: z.ZodArray<z.ZodObject<{
652
+ code: z.ZodString;
653
+ severity: z.ZodEnum<{
654
+ error: "error";
655
+ warning: "warning";
656
+ }>;
657
+ message: z.ZodString;
658
+ surface: z.ZodOptional<z.ZodString>;
659
+ scopeId: z.ZodOptional<z.ZodString>;
660
+ interactionKey: z.ZodOptional<z.ZodString>;
661
+ intent: z.ZodOptional<z.ZodString>;
662
+ actuatorId: z.ZodOptional<z.ZodString>;
663
+ targetId: z.ZodOptional<z.ZodString>;
507
664
  }, z.core.$strip>>;
508
665
  }, z.core.$strip>>;
509
666
  diagnostics: z.ZodArray<z.ZodObject<{
@@ -518,6 +675,7 @@ declare const browserSemanticSurfaceSnapshotSchema: z.ZodObject<{
518
675
  interactionKey: z.ZodOptional<z.ZodString>;
519
676
  intent: z.ZodOptional<z.ZodString>;
520
677
  actuatorId: z.ZodOptional<z.ZodString>;
678
+ targetId: z.ZodOptional<z.ZodString>;
521
679
  }, z.core.$strip>>;
522
680
  }, z.core.$strip>>;
523
681
  diagnostics: z.ZodArray<z.ZodObject<{
@@ -532,6 +690,7 @@ declare const browserSemanticSurfaceSnapshotSchema: z.ZodObject<{
532
690
  interactionKey: z.ZodOptional<z.ZodString>;
533
691
  intent: z.ZodOptional<z.ZodString>;
534
692
  actuatorId: z.ZodOptional<z.ZodString>;
693
+ targetId: z.ZodOptional<z.ZodString>;
535
694
  }, z.core.$strip>>;
536
695
  }, z.core.$strip>;
537
696
  declare const browserUnknownSurfaceSnapshotSchema: z.ZodObject<{
@@ -549,12 +708,13 @@ declare const browserUnknownSurfaceSnapshotSchema: z.ZodObject<{
549
708
  interactionKey: z.ZodOptional<z.ZodString>;
550
709
  intent: z.ZodOptional<z.ZodString>;
551
710
  actuatorId: z.ZodOptional<z.ZodString>;
711
+ targetId: z.ZodOptional<z.ZodString>;
552
712
  }, z.core.$strip>>;
553
713
  }, z.core.$strip>;
554
714
  declare const browserInteractionSnapshotSchema: z.ZodObject<{
555
715
  protocol: z.ZodObject<{
556
716
  name: z.ZodLiteral<"dreamboard-browser-interaction">;
557
- version: z.ZodLiteral<"2.0.0">;
717
+ version: z.ZodLiteral<"3.0.0">;
558
718
  }, z.core.$strip>;
559
719
  surfaces: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
560
720
  surface: z.ZodString;
@@ -646,6 +806,42 @@ declare const browserInteractionSnapshotSchema: z.ZodObject<{
646
806
  interactionKey: z.ZodOptional<z.ZodString>;
647
807
  intent: z.ZodOptional<z.ZodString>;
648
808
  actuatorId: z.ZodOptional<z.ZodString>;
809
+ targetId: z.ZodOptional<z.ZodString>;
810
+ }, z.core.$strip>>;
811
+ }, z.core.$strip>>;
812
+ pointerTargets: z.ZodArray<z.ZodObject<{
813
+ targetId: z.ZodString;
814
+ enabled: z.ZodBoolean;
815
+ acceptedEffectPatterns: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
816
+ kind: z.ZodLiteral<"exact">;
817
+ effect: z.ZodObject<{
818
+ kind: z.ZodString;
819
+ }, z.core.$catchall<z.ZodPreprocess<z.ZodType<RuntimeJson, unknown, z.core.$ZodTypeInternals<RuntimeJson, unknown>>>>>;
820
+ }, z.core.$strip>, z.ZodObject<{
821
+ kind: z.ZodLiteral<"match">;
822
+ effectKind: z.ZodString;
823
+ fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodPreprocess<z.ZodType<RuntimeJson, unknown, z.core.$ZodTypeInternals<RuntimeJson, unknown>>>>>;
824
+ scalar: z.ZodOptional<z.ZodObject<{
825
+ field: z.ZodString;
826
+ min: z.ZodOptional<z.ZodNumber>;
827
+ max: z.ZodOptional<z.ZodNumber>;
828
+ integer: z.ZodOptional<z.ZodBoolean>;
829
+ }, z.core.$strip>>;
830
+ }, z.core.$strip>]>>;
831
+ descriptorDigest: z.ZodOptional<z.ZodString>;
832
+ diagnostics: z.ZodArray<z.ZodObject<{
833
+ code: z.ZodString;
834
+ severity: z.ZodEnum<{
835
+ error: "error";
836
+ warning: "warning";
837
+ }>;
838
+ message: z.ZodString;
839
+ surface: z.ZodOptional<z.ZodString>;
840
+ scopeId: z.ZodOptional<z.ZodString>;
841
+ interactionKey: z.ZodOptional<z.ZodString>;
842
+ intent: z.ZodOptional<z.ZodString>;
843
+ actuatorId: z.ZodOptional<z.ZodString>;
844
+ targetId: z.ZodOptional<z.ZodString>;
649
845
  }, z.core.$strip>>;
650
846
  }, z.core.$strip>>;
651
847
  diagnostics: z.ZodArray<z.ZodObject<{
@@ -660,6 +856,7 @@ declare const browserInteractionSnapshotSchema: z.ZodObject<{
660
856
  interactionKey: z.ZodOptional<z.ZodString>;
661
857
  intent: z.ZodOptional<z.ZodString>;
662
858
  actuatorId: z.ZodOptional<z.ZodString>;
859
+ targetId: z.ZodOptional<z.ZodString>;
663
860
  }, z.core.$strip>>;
664
861
  }, z.core.$strip>>;
665
862
  diagnostics: z.ZodArray<z.ZodObject<{
@@ -674,6 +871,7 @@ declare const browserInteractionSnapshotSchema: z.ZodObject<{
674
871
  interactionKey: z.ZodOptional<z.ZodString>;
675
872
  intent: z.ZodOptional<z.ZodString>;
676
873
  actuatorId: z.ZodOptional<z.ZodString>;
874
+ targetId: z.ZodOptional<z.ZodString>;
677
875
  }, z.core.$strip>>;
678
876
  }, z.core.$strip>, z.ZodObject<{
679
877
  surface: z.ZodString;
@@ -690,6 +888,7 @@ declare const browserInteractionSnapshotSchema: z.ZodObject<{
690
888
  interactionKey: z.ZodOptional<z.ZodString>;
691
889
  intent: z.ZodOptional<z.ZodString>;
692
890
  actuatorId: z.ZodOptional<z.ZodString>;
891
+ targetId: z.ZodOptional<z.ZodString>;
693
892
  }, z.core.$strip>>;
694
893
  }, z.core.$strip>]>>;
695
894
  diagnostics: z.ZodArray<z.ZodObject<{
@@ -704,7 +903,8 @@ declare const browserInteractionSnapshotSchema: z.ZodObject<{
704
903
  interactionKey: z.ZodOptional<z.ZodString>;
705
904
  intent: z.ZodOptional<z.ZodString>;
706
905
  actuatorId: z.ZodOptional<z.ZodString>;
906
+ targetId: z.ZodOptional<z.ZodString>;
707
907
  }, z.core.$strip>>;
708
908
  }, z.core.$strip>;
709
909
 
710
- export { BrowserInteractionActuator, BrowserInteractionActuatorKind, BrowserInteractionDiagnostic, BrowserInteractionEffectPattern, BrowserInteractionEffectRequest, BrowserInteractionEffectResolution, BrowserInteractionIntent, BrowserInteractionIntentRequest, BrowserInteractionRawRecord, BrowserInteractionRegistry, BrowserInteractionResolution, BrowserInteractionSemanticSurfaceSnapshot, BrowserInteractionSnapshot, BrowserInteractionSurface, BrowserInteractionSurfaceDefinition, BrowserInteractionSurfaceEffect, BrowserInteractionSurfaceSnapshot, CanonicalBrowserInteractionValue, GameplaySemanticEffect, type NormalizeBrowserInteractionRecordsOptions, actuatorIdentityKey, assertBrowserInteractionEffectPattern, browserGameplayInteractionSchema, browserGameplaySurfaceSnapshotSchema, browserInteractionActuatorSchema, browserInteractionDiagnosticSchema, browserInteractionEffectPatternMatches, browserInteractionEffectPatternSchema, browserInteractionEffectSchema, browserInteractionSnapshotSchema, browserSemanticSurfaceSnapshotSchema, browserUnknownSurfaceSnapshotSchema, createBrowserInteractionRegistry, decodeBrowserInteractionEffect, decodeBrowserInteractionEffectPattern, defaultBrowserInteractionRegistry, defineBrowserInteractionSurface, encodeBrowserInteractionEffect, encodeBrowserInteractionEffectPattern, gameplayAdjustResourceEffect, gameplayBrowserInteractionSurface, gameplayCommitEffect, gameplayInvokeEffect, gameplaySemanticEffectSchema, gameplaySetCandidateEffect, gameplaySetScalarEffect, isSemanticSurfaceSnapshot, normalizeBrowserInteractionRecords, resolveBrowserInteractionEffect, resolveBrowserInteractionIntent, targetIdentityKey, validateBrowserInteractionSnapshot };
910
+ export { BrowserInteractionActuator, BrowserInteractionActuatorKind, BrowserInteractionDiagnostic, BrowserInteractionEffectPattern, BrowserInteractionEffectRequest, BrowserInteractionEffectResolution, BrowserInteractionIntent, BrowserInteractionIntentRequest, BrowserInteractionPointerTarget, BrowserInteractionPointerTargetResolution, BrowserInteractionRawRecord, BrowserInteractionRegistry, BrowserInteractionResolution, BrowserInteractionSemanticSurfaceSnapshot, BrowserInteractionSnapshot, BrowserInteractionSurface, BrowserInteractionSurfaceDefinition, BrowserInteractionSurfaceEffect, BrowserInteractionSurfaceSnapshot, CanonicalBrowserInteractionValue, GameplaySemanticEffect, type NormalizeBrowserInteractionRecordsOptions, actuatorIdentityKey, assertBrowserInteractionEffectPattern, browserGameplayInteractionSchema, browserGameplaySurfaceSnapshotSchema, browserInteractionActuatorSchema, browserInteractionDiagnosticSchema, browserInteractionEffectPatternMatches, browserInteractionEffectPatternSchema, browserInteractionEffectSchema, browserInteractionPointerTargetSchema, browserInteractionSnapshotSchema, browserSemanticSurfaceSnapshotSchema, browserUnknownSurfaceSnapshotSchema, createBrowserInteractionRegistry, decodeBrowserInteractionEffect, decodeBrowserInteractionEffectPattern, defaultBrowserInteractionRegistry, defineBrowserInteractionSurface, encodeBrowserInteractionEffect, encodeBrowserInteractionEffectPattern, gameplayAdjustResourceEffect, gameplayBrowserInteractionSurface, gameplayCommitEffect, gameplayInvokeEffect, gameplaySemanticEffectSchema, gameplaySetCandidateEffect, gameplaySetScalarEffect, isSemanticSurfaceSnapshot, normalizeBrowserInteractionRecords, pointerTargetIdentityKey, readBrowserInteractionSnapshot, resolveBrowserInteractionEffect, resolveBrowserInteractionIntent, resolveBrowserPointerTarget, targetIdentityKey, validateBrowserInteractionSnapshot };
@@ -18,16 +18,19 @@ import {
18
18
  browserInteractionEffectPatternMatches,
19
19
  browserInteractionEffectPatternSchema,
20
20
  browserInteractionEffectSchema,
21
+ browserInteractionPointerTargetSchema,
21
22
  browserInteractionSnapshotSchema,
22
23
  browserSemanticSurfaceSnapshotSchema,
23
24
  browserUnknownSurfaceSnapshotSchema,
24
25
  compareStableJson,
25
26
  createBrowserInteractionActuatorAttributes,
26
27
  createBrowserInteractionActuatorKey,
28
+ createBrowserInteractionPointerTargetAttributes,
27
29
  createBrowserInteractionRegistry,
28
30
  createBrowserInteractionRootAttributes,
29
31
  createGameplayActuatorAttributes,
30
32
  createGameplayInteractionRootAttributes,
33
+ createGameplayPointerTargetAttributes,
31
34
  decodeBrowserInteractionEffect,
32
35
  decodeBrowserInteractionEffectPattern,
33
36
  decodeCanonicalCandidateValue,
@@ -45,12 +48,15 @@ import {
45
48
  gameplaySetScalarEffect,
46
49
  isSemanticSurfaceSnapshot,
47
50
  normalizeBrowserInteractionRecords,
51
+ pointerTargetIdentityKey,
52
+ readBrowserInteractionSnapshot,
48
53
  resolveBrowserInteractionEffect,
49
54
  resolveBrowserInteractionIntent,
55
+ resolveBrowserPointerTarget,
50
56
  targetIdentityKey,
51
57
  validateBrowserInteractionSnapshot
52
- } from "./chunk-MALRKLRR.js";
53
- import "./chunk-AEUXCFGM.js";
58
+ } from "./chunk-WUIVY2KE.js";
59
+ import "./chunk-PF7L4BMG.js";
54
60
  import "./chunk-PZ5AY32C.js";
55
61
  export {
56
62
  BROWSER_INTERACTION_ACTUATOR_KINDS,
@@ -72,16 +78,19 @@ export {
72
78
  browserInteractionEffectPatternMatches,
73
79
  browserInteractionEffectPatternSchema,
74
80
  browserInteractionEffectSchema,
81
+ browserInteractionPointerTargetSchema,
75
82
  browserInteractionSnapshotSchema,
76
83
  browserSemanticSurfaceSnapshotSchema,
77
84
  browserUnknownSurfaceSnapshotSchema,
78
85
  compareStableJson,
79
86
  createBrowserInteractionActuatorAttributes,
80
87
  createBrowserInteractionActuatorKey,
88
+ createBrowserInteractionPointerTargetAttributes,
81
89
  createBrowserInteractionRegistry,
82
90
  createBrowserInteractionRootAttributes,
83
91
  createGameplayActuatorAttributes,
84
92
  createGameplayInteractionRootAttributes,
93
+ createGameplayPointerTargetAttributes,
85
94
  decodeBrowserInteractionEffect,
86
95
  decodeBrowserInteractionEffectPattern,
87
96
  decodeCanonicalCandidateValue,
@@ -99,8 +108,11 @@ export {
99
108
  gameplaySetScalarEffect,
100
109
  isSemanticSurfaceSnapshot,
101
110
  normalizeBrowserInteractionRecords,
111
+ pointerTargetIdentityKey,
112
+ readBrowserInteractionSnapshot,
102
113
  resolveBrowserInteractionEffect,
103
114
  resolveBrowserInteractionIntent,
115
+ resolveBrowserPointerTarget,
104
116
  targetIdentityKey,
105
117
  validateBrowserInteractionSnapshot
106
118
  };