@exactjs/core 0.6.2 → 0.6.3

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 (125) hide show
  1. package/AGENTS.md +12 -14
  2. package/README.md +6 -8
  3. package/dist/client/component-contract/continuation-validation.d.ts +5 -0
  4. package/dist/client/component-contract/continuation-validation.d.ts.map +1 -1
  5. package/dist/client/component-contract/continuation-validation.js +7 -0
  6. package/dist/client/component-contract/continuation-validation.js.map +1 -1
  7. package/dist/client/component-contract/contract-validation.d.ts.map +1 -1
  8. package/dist/client/component-contract/contract-validation.js +4 -1
  9. package/dist/client/component-contract/contract-validation.js.map +1 -1
  10. package/dist/client/component-contracts.d.ts +5 -0
  11. package/dist/client/component-contracts.d.ts.map +1 -1
  12. package/dist/client/component-contracts.js.map +1 -1
  13. package/dist/client/framework/component-contract-validation.d.ts +1 -1
  14. package/dist/client/framework/component-contract-validation.d.ts.map +1 -1
  15. package/dist/client/framework/component-contract-validation.js +1 -1
  16. package/dist/client/framework/component-contract-validation.js.map +1 -1
  17. package/dist/client/framework/operation-protocol.d.ts +9 -0
  18. package/dist/client/framework/operation-protocol.d.ts.map +1 -1
  19. package/dist/client/framework/operation-protocol.js.map +1 -1
  20. package/dist/client/framework/server-task-helpers.d.ts +1 -0
  21. package/dist/client/framework/server-task-helpers.d.ts.map +1 -1
  22. package/dist/client/framework/server-task-helpers.js +1 -0
  23. package/dist/client/framework/server-task-helpers.js.map +1 -1
  24. package/dist/client/framework/task-frames.d.ts +2 -1
  25. package/dist/client/framework/task-frames.d.ts.map +1 -1
  26. package/dist/client/framework/task-frames.js +1 -0
  27. package/dist/client/framework/task-frames.js.map +1 -1
  28. package/dist/client/runtime/tasks.d.ts +1 -0
  29. package/dist/client/runtime/tasks.d.ts.map +1 -1
  30. package/dist/client/runtime/tasks.js +1 -0
  31. package/dist/client/runtime/tasks.js.map +1 -1
  32. package/dist/client/tasks/contracts.d.ts +2 -0
  33. package/dist/client/tasks/contracts.d.ts.map +1 -1
  34. package/dist/client/tasks/contracts.js.map +1 -1
  35. package/dist/client/tasks/progress-bindings.d.ts +20 -0
  36. package/dist/client/tasks/progress-bindings.d.ts.map +1 -0
  37. package/dist/client/tasks/progress-bindings.js +51 -0
  38. package/dist/client/tasks/progress-bindings.js.map +1 -0
  39. package/dist/client/tasks/progress-receiver.d.ts +24 -0
  40. package/dist/client/tasks/progress-receiver.d.ts.map +1 -0
  41. package/dist/client/tasks/progress-receiver.js +71 -0
  42. package/dist/client/tasks/progress-receiver.js.map +1 -0
  43. package/dist/component-contract/continuation-validation.d.ts +5 -0
  44. package/dist/component-contract/continuation-validation.d.ts.map +1 -1
  45. package/dist/component-contract/continuation-validation.js +7 -0
  46. package/dist/component-contract/continuation-validation.js.map +1 -1
  47. package/dist/component-contract/contract-validation.d.ts.map +1 -1
  48. package/dist/component-contract/contract-validation.js +4 -1
  49. package/dist/component-contract/contract-validation.js.map +1 -1
  50. package/dist/component-contracts.d.ts +5 -0
  51. package/dist/component-contracts.d.ts.map +1 -1
  52. package/dist/component-contracts.js.map +1 -1
  53. package/dist/framework/component-contract-validation.d.ts +1 -1
  54. package/dist/framework/component-contract-validation.d.ts.map +1 -1
  55. package/dist/framework/component-contract-validation.js +1 -1
  56. package/dist/framework/component-contract-validation.js.map +1 -1
  57. package/dist/framework/operation-protocol.d.ts +9 -0
  58. package/dist/framework/operation-protocol.d.ts.map +1 -1
  59. package/dist/framework/operation-protocol.js.map +1 -1
  60. package/dist/framework/server-task-helpers.d.ts +1 -0
  61. package/dist/framework/server-task-helpers.d.ts.map +1 -1
  62. package/dist/framework/server-task-helpers.js +1 -0
  63. package/dist/framework/server-task-helpers.js.map +1 -1
  64. package/dist/framework/task-frames.d.ts +2 -1
  65. package/dist/framework/task-frames.d.ts.map +1 -1
  66. package/dist/framework/task-frames.js +1 -0
  67. package/dist/framework/task-frames.js.map +1 -1
  68. package/dist/runtime/tasks.d.ts +1 -0
  69. package/dist/runtime/tasks.d.ts.map +1 -1
  70. package/dist/runtime/tasks.js +1 -0
  71. package/dist/runtime/tasks.js.map +1 -1
  72. package/dist/server/component-contract/continuation-validation.d.ts +5 -0
  73. package/dist/server/component-contract/continuation-validation.d.ts.map +1 -1
  74. package/dist/server/component-contract/continuation-validation.js +7 -0
  75. package/dist/server/component-contract/continuation-validation.js.map +1 -1
  76. package/dist/server/component-contract/contract-validation.d.ts.map +1 -1
  77. package/dist/server/component-contract/contract-validation.js +4 -1
  78. package/dist/server/component-contract/contract-validation.js.map +1 -1
  79. package/dist/server/component-contracts.d.ts +5 -0
  80. package/dist/server/component-contracts.d.ts.map +1 -1
  81. package/dist/server/component-contracts.js.map +1 -1
  82. package/dist/server/framework/component-contract-validation.d.ts +1 -1
  83. package/dist/server/framework/component-contract-validation.d.ts.map +1 -1
  84. package/dist/server/framework/component-contract-validation.js +1 -1
  85. package/dist/server/framework/component-contract-validation.js.map +1 -1
  86. package/dist/server/framework/operation-protocol.d.ts +9 -0
  87. package/dist/server/framework/operation-protocol.d.ts.map +1 -1
  88. package/dist/server/framework/operation-protocol.js.map +1 -1
  89. package/dist/server/framework/server-task-helpers.d.ts +1 -0
  90. package/dist/server/framework/server-task-helpers.d.ts.map +1 -1
  91. package/dist/server/framework/server-task-helpers.js +1 -0
  92. package/dist/server/framework/server-task-helpers.js.map +1 -1
  93. package/dist/server/framework/task-frames.d.ts +2 -1
  94. package/dist/server/framework/task-frames.d.ts.map +1 -1
  95. package/dist/server/framework/task-frames.js +1 -0
  96. package/dist/server/framework/task-frames.js.map +1 -1
  97. package/dist/server/runtime/tasks.d.ts +1 -0
  98. package/dist/server/runtime/tasks.d.ts.map +1 -1
  99. package/dist/server/runtime/tasks.js +1 -0
  100. package/dist/server/runtime/tasks.js.map +1 -1
  101. package/dist/server/tasks/contracts.d.ts +2 -0
  102. package/dist/server/tasks/contracts.d.ts.map +1 -1
  103. package/dist/server/tasks/contracts.js.map +1 -1
  104. package/dist/server/tasks/progress-bindings.d.ts +20 -0
  105. package/dist/server/tasks/progress-bindings.d.ts.map +1 -0
  106. package/dist/server/tasks/progress-bindings.js +51 -0
  107. package/dist/server/tasks/progress-bindings.js.map +1 -0
  108. package/dist/server/tasks/progress-receiver.d.ts +24 -0
  109. package/dist/server/tasks/progress-receiver.d.ts.map +1 -0
  110. package/dist/server/tasks/progress-receiver.js +71 -0
  111. package/dist/server/tasks/progress-receiver.js.map +1 -0
  112. package/dist/tasks/contracts.d.ts +2 -0
  113. package/dist/tasks/contracts.d.ts.map +1 -1
  114. package/dist/tasks/contracts.js.map +1 -1
  115. package/dist/tasks/progress-bindings.d.ts +20 -0
  116. package/dist/tasks/progress-bindings.d.ts.map +1 -0
  117. package/dist/tasks/progress-bindings.js +51 -0
  118. package/dist/tasks/progress-bindings.js.map +1 -0
  119. package/dist/tasks/progress-receiver.d.ts +24 -0
  120. package/dist/tasks/progress-receiver.d.ts.map +1 -0
  121. package/dist/tasks/progress-receiver.js +71 -0
  122. package/dist/tasks/progress-receiver.js.map +1 -0
  123. package/package.json +1 -1
  124. package/dist/client/component/error-boundary.js.map +0 -1
  125. package/dist/server/component/error-boundary.js.map +0 -1
package/AGENTS.md CHANGED
@@ -1,20 +1,18 @@
1
1
  # Using `@exactjs/core`
2
2
 
3
- Use this package for eXact's application-authoring primitives; see the [README](./README.md) for
4
- component, state, context, task, interaction, and registry examples.
3
+ Use this package for application-authoring primitives. See the [README](./README.md) for examples.
5
4
 
6
- - Treat the outer function as a compiler-analyzed definition of a reactive state machine.
5
+ - Treat the outer function as a compiler-analyzed reactive state machine definition.
7
6
  Return one JSX view expression; local PascalCase view arrows are owner-scoped micro-components.
8
7
  - Store local mutable data in `this.state`; let the compiler track ordinary reads and writes.
9
8
  - Use `@exactjs/core/children` for immediate-child composition; do not inspect opaque render receipts.
10
- - Use `Document` from `@exactjs/core/document` for document defaults; hydrate the root for reactive document fields.
11
- - Use ordinary JSX prose spacing; HTML-like whitespace collapsing makes `{' '}` unnecessary unless
12
- the exact whitespace is dynamic or intentionally significant.
13
- - Use ordinary callbacks by default. A task may use any ordinary inner-function form; add a final
14
- `TaskContext` policy parameter when work needs explicit placement, scheduling, concurrency,
15
- status, or optimistic state.
16
- - Call function-defined tasks normally and use `createComponentRegistry()` for finite dynamic
17
- component selection.
18
- - Use `createDynamicComponent()` only for intentionally open client-only providers. It cannot own
19
- eXact server continuations, actions, refreshes, executors, or server-homed dependencies.
20
- - Use `this.intl` inside compiled components and the exported `intl` facade in ordinary helpers for explicitly cache-backed native formatting.
9
+ - Use `Document` from `@exactjs/core/document` for document defaults; hydrate the root for reactive fields.
10
+ - Use ordinary JSX prose spacing; explicit whitespace is only needed for intentionally exact spacing.
11
+ - Use ordinary callbacks by default. Function tasks accept a final `TaskContext` policy parameter
12
+ for placement, scheduling, concurrency, status, or optimistic state. Invoke them normally.
13
+ - Use `createComponentRegistry()` for finite dynamic component selection.
14
+ - Use `createDynamicComponent()` only for open client-only providers, never for server continuations,
15
+ actions, refreshes, executors, or server-homed dependencies.
16
+ - Use `this.intl` in compiled components and the exported `intl` facade in ordinary helpers for cached formatting.
17
+ - Use `TaskContext.client().progress()` only for missable server-task snapshots. Receivers may be async;
18
+ rely on the server result for completion and required effects. See the [progress contract](../../docs/tasks.md#server-task-progress).
package/README.md CHANGED
@@ -6,14 +6,10 @@ Application-authoring primitives and shared runtime contracts for eXact.
6
6
 
7
7
  `@exactjs/core` provides component types, contexts, lifecycle APIs, refs, error boundaries, Suspense, function-defined tasks, interactions, and finite component registries. Applications normally combine it with `@exactjs/jsx`, an eXact compiler integration, and a renderer such as `@exactjs/dom` or `@exactjs/ssr`.
8
8
 
9
- An eXact component is a durable instance. Its outer function is a compiler-analyzed definition of
10
- state defaults, tasks, reactive relationships, and render preparation—not a linearly executed
11
- setup callback. The compiler turns that description into a reactive state machine; each mounted
12
- component owns one durable instance. Local mutable data lives in `this.state`, and the returned
13
- function contains one JSX view expression. Async outer functions are
14
- compiler shorthand for an owned blocking initializer task. Outer-definition-local
15
- PascalCase view arrows are lexical micro-components and share their owner rather than creating
16
- another instance.
9
+ An eXact component owns one durable instance and local mutable `this.state`. Its outer function is
10
+ analyzed into a reactive state machine of defaults, tasks, relationships, and render preparation.
11
+ The returned function contains one JSX view expression. Async outer functions define owned blocking
12
+ initializer tasks. Local PascalCase view arrows are lexical micro-components that share their owner.
17
13
 
18
14
  ## Component example
19
15
 
@@ -38,6 +34,8 @@ re-executing the component.
38
34
  document declarations, defaults, and renderer-owned output slots, preserving authored metadata
39
35
  and reactive html/body attributes
40
36
  - Context, refs, lifecycle cleanup, Suspense, Activity, and error boundaries
37
+ - Optional server task snapshots through component-owned `TaskContext.client().progress()` receivers;
38
+ see [task progress](../../docs/tasks.md#server-task-progress) for lifecycle and deployment limits
41
39
  - Function-defined tasks with status, direct invocation, synchronous optimistic state, and optional
42
40
  `TaskContext` placement and concurrency policy
43
41
  - `createComponentRegistry()` for finite eager or lazy component selection
@@ -8,4 +8,9 @@ export declare function isExactContinuationInvocation(value: unknown, options: {
8
8
  }): boolean;
9
9
  /** Reports whether a generated continuation state-path descriptor is valid. */
10
10
  export declare function isExactContinuationStatePath(value: unknown): value is ExactContinuationStatePathContract;
11
+ /** Validates readable attribution and opaque identity for a compiled progress receiver. */
12
+ export declare function isExactProgressReceiver(value: unknown): value is Readonly<{
13
+ id: string;
14
+ label: string;
15
+ }>;
11
16
  //# sourceMappingURL=continuation-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"continuation-validation.d.ts","sourceRoot":"","sources":["../../../src/component-contract/continuation-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,kCAAkC,EAClC,kCAAkC,EAClC,MAAM,2BAA2B,CAAC;AAGnC,kFAAkF;AAClF,wBAAgB,6BAA6B,CAC5C,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,kCAAkC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAYrE;AAED,6FAA6F;AAC7F,wBAAgB,6BAA6B,CAC5C,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,kCAAkC,CAAC,YAAY,CAAC,CAAC;AAC7D,wBAAgB,6BAA6B,CAC5C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;IAAE,iBAAiB,EAAE,IAAI,CAAA;CAAE,GAClC,OAAO,CAAC;AA4BX,+EAA+E;AAC/E,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,kCAAkC,CAc7C"}
1
+ {"version":3,"file":"continuation-validation.d.ts","sourceRoot":"","sources":["../../../src/component-contract/continuation-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,kCAAkC,EAClC,kCAAkC,EAClC,MAAM,2BAA2B,CAAC;AAGnC,kFAAkF;AAClF,wBAAgB,6BAA6B,CAC5C,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,kCAAkC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAYrE;AAED,6FAA6F;AAC7F,wBAAgB,6BAA6B,CAC5C,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,kCAAkC,CAAC,YAAY,CAAC,CAAC;AAC7D,wBAAgB,6BAA6B,CAC5C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;IAAE,iBAAiB,EAAE,IAAI,CAAA;CAAE,GAClC,OAAO,CAAC;AA4BX,+EAA+E;AAC/E,wBAAgB,4BAA4B,CAC3C,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,kCAAkC,CAc7C;AAED,2FAA2F;AAC3F,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI,QAAQ,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAOlD"}
@@ -43,4 +43,11 @@ export function isExactContinuationStatePath(value) {
43
43
  value.operation === 'map' ||
44
44
  value.operation === 'set'));
45
45
  }
46
+ /** Validates readable attribution and opaque identity for a compiled progress receiver. */
47
+ export function isExactProgressReceiver(value) {
48
+ return (isContractRecord(value) &&
49
+ hasOnlyContractKeys(value, ['id', 'label']) &&
50
+ isContractString(value.id) &&
51
+ isContractString(value.label));
52
+ }
46
53
  //# sourceMappingURL=continuation-validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"continuation-validation.js","sourceRoot":"","sources":["../../../src/component-contract/continuation-validation.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tExactComponentContinuationContract,\n\tExactContinuationStatePathContract\n} from '../component-contracts.js';\nimport { hasOnlyContractKeys, isContractRecord, isContractString } from './metadata-validation.js';\n\n/** Reports whether a generated continuation dependency has a supported source. */\nexport function isExactContinuationDependency(\n\tvalue: unknown\n): value is ExactComponentContinuationContract['dependencies'][number] {\n\treturn (\n\t\tisContractRecord(value) &&\n\t\thasOnlyContractKeys(value, ['index', 'source', 'path']) &&\n\t\t(value.index === undefined ||\n\t\t\t(typeof value.index === 'number' && Number.isSafeInteger(value.index) && value.index >= 0)) &&\n\t\t(value.path === undefined || isContractString(value.path)) &&\n\t\t(value.source === 'state' ||\n\t\t\tvalue.source === 'props' ||\n\t\t\tvalue.source === 'derived' ||\n\t\t\tvalue.source === 'argument')\n\t);\n}\n\n/** Reports whether generated continuation invocation metadata has a valid protocol shape. */\nexport function isExactContinuationInvocation(\n\tvalue: unknown\n): value is ExactComponentContinuationContract['invocation'];\nexport function isExactContinuationInvocation(\n\tvalue: unknown,\n\toptions: { argumentsOptional: true }\n): boolean;\nexport function isExactContinuationInvocation(\n\tvalue: unknown,\n\toptions: { argumentsOptional?: boolean } = {}\n): boolean {\n\tif (!isContractRecord(value) || !hasOnlyContractKeys(value, ['arguments', 'concurrency']))\n\t\treturn false;\n\tconst argumentsValue = value.arguments;\n\treturn (\n\t\t((options.argumentsOptional && argumentsValue === undefined) ||\n\t\t\t(Array.isArray(argumentsValue) &&\n\t\t\t\targumentsValue.every(\n\t\t\t\t\t(argument) =>\n\t\t\t\t\t\tisContractRecord(argument) &&\n\t\t\t\t\t\thasOnlyContractKeys(argument, ['index', 'source', 'path']) &&\n\t\t\t\t\t\t(argument.index === undefined ||\n\t\t\t\t\t\t\t(typeof argument.index === 'number' &&\n\t\t\t\t\t\t\t\tNumber.isSafeInteger(argument.index) &&\n\t\t\t\t\t\t\t\targument.index >= 0)) &&\n\t\t\t\t\t\t(argument.path === undefined || isContractString(argument.path)) &&\n\t\t\t\t\t\targument.source === 'argument'\n\t\t\t\t))) &&\n\t\t(value.concurrency === 'parallel' ||\n\t\t\tvalue.concurrency === 'latest' ||\n\t\t\tvalue.concurrency === 'queue')\n\t);\n}\n\n/** Reports whether a generated continuation state-path descriptor is valid. */\nexport function isExactContinuationStatePath(\n\tvalue: unknown\n): value is ExactContinuationStatePathContract {\n\treturn (\n\t\tisContractRecord(value) &&\n\t\thasOnlyContractKeys(value, ['path', 'kind', 'confidence', 'operation']) &&\n\t\tisContractString(value.path) &&\n\t\t(value.kind === 'read' || value.kind === 'write') &&\n\t\t(value.confidence === 'exact' ||\n\t\t\tvalue.confidence === 'broad' ||\n\t\t\tvalue.confidence === 'unknown') &&\n\t\t(value.operation === undefined ||\n\t\t\tvalue.operation === 'value' ||\n\t\t\tvalue.operation === 'map' ||\n\t\t\tvalue.operation === 'set')\n\t);\n}\n"]}
1
+ {"version":3,"file":"continuation-validation.js","sourceRoot":"","sources":["../../../src/component-contract/continuation-validation.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tExactComponentContinuationContract,\n\tExactContinuationStatePathContract\n} from '../component-contracts.js';\nimport { hasOnlyContractKeys, isContractRecord, isContractString } from './metadata-validation.js';\n\n/** Reports whether a generated continuation dependency has a supported source. */\nexport function isExactContinuationDependency(\n\tvalue: unknown\n): value is ExactComponentContinuationContract['dependencies'][number] {\n\treturn (\n\t\tisContractRecord(value) &&\n\t\thasOnlyContractKeys(value, ['index', 'source', 'path']) &&\n\t\t(value.index === undefined ||\n\t\t\t(typeof value.index === 'number' && Number.isSafeInteger(value.index) && value.index >= 0)) &&\n\t\t(value.path === undefined || isContractString(value.path)) &&\n\t\t(value.source === 'state' ||\n\t\t\tvalue.source === 'props' ||\n\t\t\tvalue.source === 'derived' ||\n\t\t\tvalue.source === 'argument')\n\t);\n}\n\n/** Reports whether generated continuation invocation metadata has a valid protocol shape. */\nexport function isExactContinuationInvocation(\n\tvalue: unknown\n): value is ExactComponentContinuationContract['invocation'];\nexport function isExactContinuationInvocation(\n\tvalue: unknown,\n\toptions: { argumentsOptional: true }\n): boolean;\nexport function isExactContinuationInvocation(\n\tvalue: unknown,\n\toptions: { argumentsOptional?: boolean } = {}\n): boolean {\n\tif (!isContractRecord(value) || !hasOnlyContractKeys(value, ['arguments', 'concurrency']))\n\t\treturn false;\n\tconst argumentsValue = value.arguments;\n\treturn (\n\t\t((options.argumentsOptional && argumentsValue === undefined) ||\n\t\t\t(Array.isArray(argumentsValue) &&\n\t\t\t\targumentsValue.every(\n\t\t\t\t\t(argument) =>\n\t\t\t\t\t\tisContractRecord(argument) &&\n\t\t\t\t\t\thasOnlyContractKeys(argument, ['index', 'source', 'path']) &&\n\t\t\t\t\t\t(argument.index === undefined ||\n\t\t\t\t\t\t\t(typeof argument.index === 'number' &&\n\t\t\t\t\t\t\t\tNumber.isSafeInteger(argument.index) &&\n\t\t\t\t\t\t\t\targument.index >= 0)) &&\n\t\t\t\t\t\t(argument.path === undefined || isContractString(argument.path)) &&\n\t\t\t\t\t\targument.source === 'argument'\n\t\t\t\t))) &&\n\t\t(value.concurrency === 'parallel' ||\n\t\t\tvalue.concurrency === 'latest' ||\n\t\t\tvalue.concurrency === 'queue')\n\t);\n}\n\n/** Reports whether a generated continuation state-path descriptor is valid. */\nexport function isExactContinuationStatePath(\n\tvalue: unknown\n): value is ExactContinuationStatePathContract {\n\treturn (\n\t\tisContractRecord(value) &&\n\t\thasOnlyContractKeys(value, ['path', 'kind', 'confidence', 'operation']) &&\n\t\tisContractString(value.path) &&\n\t\t(value.kind === 'read' || value.kind === 'write') &&\n\t\t(value.confidence === 'exact' ||\n\t\t\tvalue.confidence === 'broad' ||\n\t\t\tvalue.confidence === 'unknown') &&\n\t\t(value.operation === undefined ||\n\t\t\tvalue.operation === 'value' ||\n\t\t\tvalue.operation === 'map' ||\n\t\t\tvalue.operation === 'set')\n\t);\n}\n\n/** Validates readable attribution and opaque identity for a compiled progress receiver. */\nexport function isExactProgressReceiver(\n\tvalue: unknown\n): value is Readonly<{ id: string; label: string }> {\n\treturn (\n\t\tisContractRecord(value) &&\n\t\thasOnlyContractKeys(value, ['id', 'label']) &&\n\t\tisContractString(value.id) &&\n\t\tisContractString(value.label)\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"contract-validation.d.ts","sourceRoot":"","sources":["../../../src/component-contract/contract-validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,sBAAsB,EAKtB,MAAM,2BAA2B,CAAC;AAsBnC,2FAA2F;AAC3F,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,MAAM,GACjB,KAAK,IAAI,sBAAsB,CA0CjC"}
1
+ {"version":3,"file":"contract-validation.d.ts","sourceRoot":"","sources":["../../../src/component-contract/contract-validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,sBAAsB,EAKtB,MAAM,2BAA2B,CAAC;AAuBnC,2FAA2F;AAC3F,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,MAAM,GACjB,KAAK,IAAI,sBAAsB,CA0CjC"}
@@ -1,7 +1,7 @@
1
1
  import { componentContractVersion } from '../component/contract-versions.js';
2
2
  import { hasConsistentStatelessServerExecution, isExactServerExecutionMetadata } from './server-execution-validation.js';
3
3
  import { isExactComponentBoundaryContract } from './boundary-validation.js';
4
- import { isExactContinuationDependency, isExactContinuationInvocation, isExactContinuationStatePath } from './continuation-validation.js';
4
+ import { isExactProgressReceiver, isExactContinuationDependency, isExactContinuationInvocation, isExactContinuationStatePath } from './continuation-validation.js';
5
5
  import { hasOnlyContractKeys, isContractRecord, isContractString, isReactiveAllocation, isSafeContractStringList, isSafeContractPropertyKeyList } from './metadata-validation.js';
6
6
  import { allCompiledComponentABI } from '../component/compiled-abi.js';
7
7
  import { isExactValueSerializationSchema } from '../component-abi/value-serialization.js';
@@ -211,6 +211,7 @@ function isContinuation(value) {
211
211
  'componentId',
212
212
  'readiness',
213
213
  'concurrency',
214
+ 'progress',
214
215
  'dependencies',
215
216
  'stateReads',
216
217
  'stateWrites',
@@ -226,6 +227,8 @@ function isContinuation(value) {
226
227
  isContractString(value.componentId) &&
227
228
  (value.readiness === 'blocking' || value.readiness === 'nonblocking') &&
228
229
  (value.concurrency === undefined || isConcurrency(value.concurrency)) &&
230
+ (value.progress === undefined ||
231
+ (Array.isArray(value.progress) && value.progress.every(isExactProgressReceiver))) &&
229
232
  Array.isArray(value.dependencies) &&
230
233
  value.dependencies.every(isExactContinuationDependency) &&
231
234
  Array.isArray(value.stateReads) &&
@@ -1 +1 @@
1
- {"version":3,"file":"contract-validation.js","sourceRoot":"","sources":["../../../src/component-contract/contract-validation.ts"],"names":[],"mappings":"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","sourcesContent":["import { componentContractVersion } from '../component/contract-versions.js';\nimport type {\n\tExactComponentContract,\n\tExactComponentExecutionContract,\n\tExactComponentImplementationContract,\n\tExactComponentContinuationExecutorContract,\n\tExactComponentResumptionContract\n} from '../component-contracts.js';\nimport {\n\thasConsistentStatelessServerExecution,\n\tisExactServerExecutionMetadata\n} from './server-execution-validation.js';\nimport { isExactComponentBoundaryContract } from './boundary-validation.js';\nimport {\n\tisExactContinuationDependency,\n\tisExactContinuationInvocation,\n\tisExactContinuationStatePath\n} from './continuation-validation.js';\nimport {\n\thasOnlyContractKeys,\n\tisContractRecord,\n\tisContractString,\n\tisReactiveAllocation,\n\tisSafeContractStringList,\n\tisSafeContractPropertyKeyList\n} from './metadata-validation.js';\nimport { allCompiledComponentABI } from '../component/compiled-abi.js';\nimport { isExactValueSerializationSchema } from '../component-abi/value-serialization.js';\n\n/** Validates all required metadata before a generated artifact gains runtime authority. */\nexport function isExactComponentContract(\n\tvalue: unknown,\n\tcomponentId: string\n): value is ExactComponentContract {\n\tif (!isContractRecord(value)) return false;\n\treturn (\n\t\thasOnlyContractKeys(value, [\n\t\t\t'version',\n\t\t\t'placement',\n\t\t\t'role',\n\t\t\t'implementations',\n\t\t\t'continuations',\n\t\t\t'executors',\n\t\t\t'boundaries',\n\t\t\t'resumption',\n\t\t\t'execution',\n\t\t\t'artifact'\n\t\t]) &&\n\t\tvalue.version === componentContractVersion &&\n\t\t(value.placement === 'client' ||\n\t\t\tvalue.placement === 'server' ||\n\t\t\tvalue.placement === 'isomorphic' ||\n\t\t\tvalue.placement === 'unknown') &&\n\t\t(value.role === 'client' || value.role === 'render' || value.role === 'executor') &&\n\t\tArray.isArray(value.implementations) &&\n\t\tvalue.implementations.every(isImplementation) &&\n\t\tArray.isArray(value.continuations) &&\n\t\tvalue.continuations.every(\n\t\t\t(continuation) => isContinuation(continuation) && continuation.componentId === componentId\n\t\t) &&\n\t\tArray.isArray(value.executors) &&\n\t\tvalue.executors.every(\n\t\t\t(executor) => isExecutor(executor) && executor.componentId === componentId\n\t\t) &&\n\t\tArray.isArray(value.boundaries) &&\n\t\tvalue.boundaries.every(\n\t\t\t(boundary) =>\n\t\t\t\tisExactComponentBoundaryContract(boundary) && boundary.ownerComponentId === componentId\n\t\t) &&\n\t\t(value.resumption === undefined ||\n\t\t\t(isResumption(value.resumption) && value.resumption.componentId === componentId)) &&\n\t\t(value.execution === undefined || isExecution(value.execution)) &&\n\t\tisExecutableArtifact(value.artifact, componentId, value.role) &&\n\t\thasConsistentServerPublication(value)\n\t);\n}\n\nfunction hasConsistentServerPublication(value: Record<PropertyKey, unknown>): boolean {\n\tif (!isContractRecord(value.artifact) || !isContractRecord(value.artifact.execution)) return true;\n\tconst resumable =\n\t\tvalue.resumption !== undefined &&\n\t\tArray.isArray(value.continuations) &&\n\t\tvalue.continuations.length !== 0;\n\treturn (value.artifact.execution.publication !== undefined) === resumable;\n}\n\nfunction isExecutableArtifact(value: unknown, componentId: string, role: unknown): boolean {\n\tif (\n\t\t!isContractRecord(value) ||\n\t\tvalue.version !== componentContractVersion ||\n\t\tvalue.id !== componentId\n\t)\n\t\treturn false;\n\tif (!hasCommonArtifactFields(value)) return false;\n\tif (value.target === 'client') return role === 'client' && isClientArtifact(value);\n\tif (value.target === 'server')\n\t\treturn (role === 'render' || role === 'executor') && isServerArtifact(value);\n\treturn false;\n}\n\nfunction hasCommonArtifactFields(value: Record<PropertyKey, unknown>): boolean {\n\treturn (\n\t\ttypeof value.instantiate === 'function' &&\n\t\ttypeof value.construct === 'function' &&\n\t\ttypeof value.abi === 'number' &&\n\t\tNumber.isSafeInteger(value.abi) &&\n\t\tvalue.abi >= 0 &&\n\t\t(value.abi & ~allCompiledComponentABI) === 0 &&\n\t\tisSafeContractStringList(value.state) &&\n\t\tisSafeContractStringList(value.props) &&\n\t\t(value.opaqueProps === undefined || isSafeContractPropertyKeyList(value.opaqueProps)) &&\n\t\t(value.identityProps === undefined || isSafeContractStringList(value.identityProps)) &&\n\t\t(value.serialization === undefined || isExactValueSerializationSchema(value.serialization)) &&\n\t\t(value.tasks === undefined || isSafeContractStringList(value.tasks)) &&\n\t\t(value.reactive === undefined ||\n\t\t\t(Array.isArray(value.reactive) && value.reactive.every(isReactiveAllocation))) &&\n\t\t(value.render === undefined || value.render === 'returned-function') &&\n\t\tArray.isArray(value.capabilities) &&\n\t\tvalue.capabilities.every(isCapability)\n\t);\n}\n\nfunction isClientArtifact(value: Record<PropertyKey, unknown>): boolean {\n\treturn (\n\t\thasOnlyContractKeys(value, [\n\t\t\t'version',\n\t\t\t'target',\n\t\t\t'id',\n\t\t\t'template',\n\t\t\t'construct',\n\t\t\t'attach',\n\t\t\t'receive',\n\t\t\t'dispose',\n\t\t\t'instantiate',\n\t\t\t'abi',\n\t\t\t'updates',\n\t\t\t'state',\n\t\t\t'props',\n\t\t\t'serialization',\n\t\t\t'opaqueProps',\n\t\t\t'identityProps',\n\t\t\t'tasks',\n\t\t\t'reactive',\n\t\t\t'render',\n\t\t\t'capabilities'\n\t\t]) &&\n\t\t(value.template === undefined || isContractRecord(value.template)) &&\n\t\ttypeof value.attach === 'function' &&\n\t\ttypeof value.receive === 'function' &&\n\t\ttypeof value.dispose === 'function' &&\n\t\t(value.updates === undefined || isComponentUpdates(value.updates))\n\t);\n}\n\nfunction isServerArtifact(value: Record<PropertyKey, unknown>): boolean {\n\treturn (\n\t\thasOnlyContractKeys(value, [\n\t\t\t'version',\n\t\t\t'target',\n\t\t\t'id',\n\t\t\t'issue',\n\t\t\t'write',\n\t\t\t'dispose',\n\t\t\t'execute',\n\t\t\t'instantiate',\n\t\t\t'construct',\n\t\t\t'abi',\n\t\t\t'state',\n\t\t\t'props',\n\t\t\t'serialization',\n\t\t\t'opaqueProps',\n\t\t\t'tasks',\n\t\t\t'reactive',\n\t\t\t'render',\n\t\t\t'capabilities',\n\t\t\t'execution',\n\t\t\t'selection'\n\t\t]) &&\n\t\ttypeof value.issue === 'function' &&\n\t\ttypeof value.write === 'function' &&\n\t\ttypeof value.dispose === 'function' &&\n\t\t(value.execute === undefined || typeof value.execute === 'function') &&\n\t\t(value.selection === undefined || isServerSelection(value.selection)) &&\n\t\tisServerExecution(value.execution, value.selection !== undefined) &&\n\t\thasConsistentStatelessServerExecution(value)\n\t);\n}\n\n/** Validates the finite registry resolver retained by a lazy server facade. */\nfunction isServerSelection(value: unknown): boolean {\n\treturn (\n\t\tisContractRecord(value) &&\n\t\thasOnlyContractKeys(value, ['key', 'resolve']) &&\n\t\tisContractString(value.key) &&\n\t\ttypeof value.resolve === 'function'\n\t);\n}\n\nfunction isCapability(value: unknown): boolean {\n\treturn (\n\t\ttypeof value === 'string' &&\n\t\t[\n\t\t\t'tasks',\n\t\t\t'continuations',\n\t\t\t'resumption',\n\t\t\t'inspection',\n\t\t\t'registry',\n\t\t\t'enhancements',\n\t\t\t'interactions',\n\t\t\t'compatibility',\n\t\t\t'dynamic-components',\n\t\t\t'collections',\n\t\t\t'contexts',\n\t\t\t'targets'\n\t\t].includes(value)\n\t);\n}\n\n/** Validates the closed server projection without accepting executable data from foreign input. */\nfunction isServerExecution(value: unknown, selection = false): boolean {\n\treturn isExactServerExecutionMetadata(value, selection);\n}\n\nfunction isComponentUpdates(value: unknown): boolean {\n\tif (\n\t\t!isContractRecord(value) ||\n\t\t!hasOnlyContractKeys(value, ['bindings', 'props', 'words', 'apply'])\n\t)\n\t\treturn false;\n\tconst words = value.words === undefined ? 2 : value.words;\n\treturn (\n\t\ttypeof words === 'number' &&\n\t\tNumber.isSafeInteger(words) &&\n\t\twords >= 2 &&\n\t\t(value.words === undefined || words >= 3) &&\n\t\tArray.isArray(value.bindings) &&\n\t\t(value.props === undefined ||\n\t\t\t(typeof value.props === 'number' &&\n\t\t\t\tNumber.isSafeInteger(value.props) &&\n\t\t\t\tvalue.props > 0 &&\n\t\t\t\tvalue.props <= value.bindings.length)) &&\n\t\tvalue.bindings.every(\n\t\t\t(binding) =>\n\t\t\t\tArray.isArray(binding) &&\n\t\t\t\tbinding.length === words + 1 &&\n\t\t\t\tNumber.isSafeInteger(binding[0]) &&\n\t\t\t\tbinding[0] >= 0 &&\n\t\t\t\tbinding\n\t\t\t\t\t.slice(1)\n\t\t\t\t\t.every((mask) => Number.isSafeInteger(mask) && mask >= 0 && mask <= 0xffff_ffff)\n\t\t) &&\n\t\ttypeof value.apply === 'function'\n\t);\n}\n\nfunction isImplementation(value: unknown): value is ExactComponentImplementationContract {\n\tif (!isContractRecord(value)) return false;\n\treturn (\n\t\thasOnlyContractKeys(value, ['id', 'name', 'role', 'implementation']) &&\n\t\tisContractString(value.id) &&\n\t\tisContractString(value.name) &&\n\t\t(value.role === 'root' || value.role === 'client-island' || value.role === 'server-part') &&\n\t\ttypeof value.implementation === 'function'\n\t);\n}\n\nfunction isContinuation(value: unknown): boolean {\n\tif (!isContractRecord(value)) return false;\n\treturn (\n\t\thasOnlyContractKeys(value, [\n\t\t\t'id',\n\t\t\t'kind',\n\t\t\t'componentId',\n\t\t\t'readiness',\n\t\t\t'concurrency',\n\t\t\t'dependencies',\n\t\t\t'stateReads',\n\t\t\t'stateWrites',\n\t\t\t'publicContexts',\n\t\t\t'serverContexts',\n\t\t\t'contextWrites',\n\t\t\t'serverContextWrites',\n\t\t\t'boundaries',\n\t\t\t'invocation'\n\t\t]) &&\n\t\tisContractString(value.id) &&\n\t\tvalue.kind === 'task' &&\n\t\tisContractString(value.componentId) &&\n\t\t(value.readiness === 'blocking' || value.readiness === 'nonblocking') &&\n\t\t(value.concurrency === undefined || isConcurrency(value.concurrency)) &&\n\t\tArray.isArray(value.dependencies) &&\n\t\tvalue.dependencies.every(isExactContinuationDependency) &&\n\t\tArray.isArray(value.stateReads) &&\n\t\tvalue.stateReads.every(isExactContinuationStatePath) &&\n\t\tArray.isArray(value.stateWrites) &&\n\t\tvalue.stateWrites.every(isExactContinuationStatePath) &&\n\t\tisSafeContractStringList(value.publicContexts) &&\n\t\tisSafeContractStringList(value.serverContexts) &&\n\t\tisSafeContractStringList(value.contextWrites) &&\n\t\t(value.serverContextWrites === undefined ||\n\t\t\tisSafeContractStringList(value.serverContextWrites)) &&\n\t\tisSafeContractStringList(value.boundaries) &&\n\t\t(value.invocation === undefined || isExactContinuationInvocation(value.invocation))\n\t);\n}\n\nfunction isExecutor(value: unknown): value is ExactComponentContinuationExecutorContract {\n\treturn (\n\t\tisContractRecord(value) &&\n\t\thasOnlyContractKeys(value, ['id', 'componentId', 'execute']) &&\n\t\tisContractString(value.id) &&\n\t\tisContractString(value.componentId) &&\n\t\ttypeof value.execute === 'function'\n\t);\n}\n\nfunction isResumption(value: unknown): value is ExactComponentResumptionContract {\n\treturn (\n\t\tisContractRecord(value) &&\n\t\thasOnlyContractKeys(value, [\n\t\t\t'componentId',\n\t\t\t'statePaths',\n\t\t\t'stateInputs',\n\t\t\t'stateDefaults',\n\t\t\t'continuations',\n\t\t\t'valueCaptures',\n\t\t\t'contexts',\n\t\t\t'boundaries'\n\t\t]) &&\n\t\tisContractString(value.componentId) &&\n\t\tisSafeContractStringList(value.statePaths) &&\n\t\tArray.isArray(value.stateInputs) &&\n\t\tvalue.stateInputs.every(\n\t\t\t(input) =>\n\t\t\t\tArray.isArray(input) &&\n\t\t\t\tinput.length === 2 &&\n\t\t\t\tisContractString(input[0]) &&\n\t\t\t\tisContractString(input[1])\n\t\t) &&\n\t\t(value.continuations === undefined || isSafeContractStringList(value.continuations)) &&\n\t\t(value.stateDefaults === undefined ||\n\t\t\t(Array.isArray(value.stateDefaults) &&\n\t\t\t\tvalue.stateDefaults.every(\n\t\t\t\t\t(input) =>\n\t\t\t\t\t\tArray.isArray(input) &&\n\t\t\t\t\t\tinput.length === 2 &&\n\t\t\t\t\t\tisContractString(input[0]) &&\n\t\t\t\t\t\t(input[1] === null ||\n\t\t\t\t\t\t\ttypeof input[1] === 'string' ||\n\t\t\t\t\t\t\ttypeof input[1] === 'boolean' ||\n\t\t\t\t\t\t\t(typeof input[1] === 'number' && Number.isFinite(input[1])))\n\t\t\t\t))) &&\n\t\tisSafeContractStringList(value.valueCaptures) &&\n\t\tisSafeContractStringList(value.contexts) &&\n\t\tisSafeContractStringList(value.boundaries)\n\t);\n}\n\nfunction isExecution(value: unknown): value is ExactComponentExecutionContract {\n\tif (!isContractRecord(value) || !Array.isArray(value.ports)) return false;\n\tconst ports = value.ports;\n\treturn (\n\t\thasOnlyContractKeys(value, ['version', 'ports', 'transitions', 'reactive']) &&\n\t\tvalue.version === 1 &&\n\t\tports.every(isExecutionPort) &&\n\t\tArray.isArray(value.transitions) &&\n\t\tvalue.transitions.every((transition) => isExecutionTransition(transition, ports.length)) &&\n\t\t(value.reactive === undefined ||\n\t\t\t(Array.isArray(value.reactive) && value.reactive.every(isReactiveAllocation)))\n\t);\n}\n\nfunction isExecutionPort(value: unknown): boolean {\n\treturn (\n\t\tArray.isArray(value) &&\n\t\tvalue.length === 3 &&\n\t\ttypeof value[0] === 'string' &&\n\t\t['state', 'props', 'context', 'derived', 'argument'].includes(value[0]) &&\n\t\tisContractString(value[1]) &&\n\t\ttypeof value[2] === 'string' &&\n\t\t['input', 'output', 'inout'].includes(value[2])\n\t);\n}\n\nfunction isExecutionTransition(value: unknown, portCount: number): boolean {\n\treturn (\n\t\tArray.isArray(value) &&\n\t\tvalue.length === 8 &&\n\t\tisContractString(value[0]) &&\n\t\tisContractString(value[1]) &&\n\t\t(value[2] === 'setup' || value[2] === 'interaction') &&\n\t\t(value[3] === 'client' || value[3] === 'server' || value[3] === 'isomorphic') &&\n\t\t(value[4] === 'blocking' || value[4] === 'nonblocking') &&\n\t\tisConcurrency(value[5]) &&\n\t\tisPortIndexList(value[6], portCount) &&\n\t\tisPortIndexList(value[7], portCount)\n\t);\n}\n\nfunction isConcurrency(value: unknown): boolean {\n\treturn value === 'parallel' || value === 'latest' || value === 'queue';\n}\n\nfunction isPortIndexList(value: unknown, portCount: number): boolean {\n\treturn (\n\t\tArray.isArray(value) &&\n\t\tvalue.every((index) => Number.isSafeInteger(index) && index >= 0 && index < portCount)\n\t);\n}\n"]}
1
+ {"version":3,"file":"contract-validation.js","sourceRoot":"","sources":["../../../src/component-contract/contract-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAQ7E,OAAO,EACN,qCAAqC,EACrC,8BAA8B,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EACN,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAE1F,2FAA2F;AAC3F,MAAM,UAAU,wBAAwB,CACvC,KAAc,EACd,WAAmB;IAEnB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,CACN,mBAAmB,CAAC,KAAK,EAAE;QAC1B,SAAS;QACT,WAAW;QACX,MAAM;QACN,iBAAiB;QACjB,eAAe;QACf,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,WAAW;QACX,UAAU;KACV,CAAC;QACF,KAAK,CAAC,OAAO,KAAK,wBAAwB;QAC1C,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ;YAC5B,KAAK,CAAC,SAAS,KAAK,QAAQ;YAC5B,KAAK,CAAC,SAAS,KAAK,YAAY;YAChC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;QAC/B,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC;QACjF,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;QACpC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC7C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAClC,KAAK,CAAC,aAAa,CAAC,KAAK,CACxB,CAAC,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,WAAW,KAAK,WAAW,CAC1F;QACD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9B,KAAK,CAAC,SAAS,CAAC,KAAK,CACpB,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,WAAW,KAAK,WAAW,CAC1E;QACD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,KAAK,CAAC,UAAU,CAAC,KAAK,CACrB,CAAC,QAAQ,EAAE,EAAE,CACZ,gCAAgC,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,gBAAgB,KAAK,WAAW,CACxF;QACD,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;YAC9B,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;QAClF,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/D,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC;QAC7D,8BAA8B,CAAC,KAAK,CAAC,CACrC,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAmC;IAC1E,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAClG,MAAM,SAAS,GACd,KAAK,CAAC,UAAU,KAAK,SAAS;QAC9B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAClC,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;IAClC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,KAAK,SAAS,CAAC;AAC3E,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc,EAAE,WAAmB,EAAE,IAAa;IAC/E,IACC,CAAC,gBAAgB,CAAC,KAAK,CAAC;QACxB,KAAK,CAAC,OAAO,KAAK,wBAAwB;QAC1C,KAAK,CAAC,EAAE,KAAK,WAAW;QAExB,OAAO,KAAK,CAAC;IACd,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,IAAI,KAAK,QAAQ,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACnF,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;QAC5B,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAmC;IACnE,OAAO,CACN,OAAO,KAAK,CAAC,WAAW,KAAK,UAAU;QACvC,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU;QACrC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAC7B,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;QAC/B,KAAK,CAAC,GAAG,IAAI,CAAC;QACd,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,uBAAuB,CAAC,KAAK,CAAC;QAC5C,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC;QACrC,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC;QACrC,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,6BAA6B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrF,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,wBAAwB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpF,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,+BAA+B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3F,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpE,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC/E,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB,CAAC;QACpE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;QACjC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CACtC,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAmC;IAC5D,OAAO,CACN,mBAAmB,CAAC,KAAK,EAAE;QAC1B,SAAS;QACT,QAAQ;QACR,IAAI;QACJ,UAAU;QACV,WAAW;QACX,QAAQ;QACR,SAAS;QACT,SAAS;QACT,aAAa;QACb,KAAK;QACL,SAAS;QACT,OAAO;QACP,OAAO;QACP,eAAe;QACf,aAAa;QACb,eAAe;QACf,OAAO;QACP,UAAU;QACV,QAAQ;QACR,cAAc;KACd,CAAC;QACF,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU;QAClC,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU;QACnC,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU;QACnC,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAClE,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAmC;IAC5D,OAAO,CACN,mBAAmB,CAAC,KAAK,EAAE;QAC1B,SAAS;QACT,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,OAAO;QACP,SAAS;QACT,SAAS;QACT,aAAa;QACb,WAAW;QACX,KAAK;QACL,OAAO;QACP,OAAO;QACP,eAAe;QACf,aAAa;QACb,OAAO;QACP,UAAU;QACV,QAAQ;QACR,cAAc;QACd,WAAW;QACX,WAAW;KACX,CAAC;QACF,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;QACjC,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;QACjC,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU;QACnC,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC;QACpE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrE,iBAAiB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;QACjE,qCAAqC,CAAC,KAAK,CAAC,CAC5C,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,iBAAiB,CAAC,KAAc;IACxC,OAAO,CACN,gBAAgB,CAAC,KAAK,CAAC;QACvB,mBAAmB,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9C,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CACnC,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IACnC,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB;YACC,OAAO;YACP,eAAe;YACf,YAAY;YACZ,YAAY;YACZ,UAAU;YACV,cAAc;YACd,cAAc;YACd,eAAe;YACf,oBAAoB;YACpB,aAAa;YACb,UAAU;YACV,SAAS;SACT,CAAC,QAAQ,CAAC,KAAK,CAAC,CACjB,CAAC;AACH,CAAC;AAED,mGAAmG;AACnG,SAAS,iBAAiB,CAAC,KAAc,EAAE,SAAS,GAAG,KAAK;IAC3D,OAAO,8BAA8B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACzC,IACC,CAAC,gBAAgB,CAAC,KAAK,CAAC;QACxB,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAEpE,OAAO,KAAK,CAAC;IACd,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1D,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAC3B,KAAK,IAAI,CAAC;QACV,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,CAAC,CAAC;QACzC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;YACzB,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;gBAC/B,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;gBACjC,KAAK,CAAC,KAAK,GAAG,CAAC;gBACf,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxC,KAAK,CAAC,QAAQ,CAAC,KAAK,CACnB,CAAC,OAAO,EAAE,EAAE,CACX,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACtB,OAAO,CAAC,MAAM,KAAK,KAAK,GAAG,CAAC;YAC5B,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YACf,OAAO;iBACL,KAAK,CAAC,CAAC,CAAC;iBACR,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,WAAW,CAAC,CAClF;QACD,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,CACjC,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACvC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,CACN,mBAAmB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACpE,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;QAC5B,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;QACzF,OAAO,KAAK,CAAC,cAAc,KAAK,UAAU,CAC1C,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACrC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,CACN,mBAAmB,CAAC,KAAK,EAAE;QAC1B,IAAI;QACJ,MAAM;QACN,aAAa;QACb,WAAW;QACX,aAAa;QACb,UAAU;QACV,cAAc;QACd,YAAY;QACZ,aAAa;QACb,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;QACf,qBAAqB;QACrB,YAAY;QACZ,YAAY;KACZ,CAAC;QACF,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,KAAK,MAAM;QACrB,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC;QACnC,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,IAAI,KAAK,CAAC,SAAS,KAAK,aAAa,CAAC;QACrE,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrE,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAClF,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;QACjC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,6BAA6B,CAAC;QACvD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QAC/B,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,4BAA4B,CAAC;QACpD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QAChC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,4BAA4B,CAAC;QACrD,wBAAwB,CAAC,KAAK,CAAC,cAAc,CAAC;QAC9C,wBAAwB,CAAC,KAAK,CAAC,cAAc,CAAC;QAC9C,wBAAwB,CAAC,KAAK,CAAC,aAAa,CAAC;QAC7C,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS;YACvC,wBAAwB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACrD,wBAAwB,CAAC,KAAK,CAAC,UAAU,CAAC;QAC1C,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,6BAA6B,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CACnF,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IACjC,OAAO,CACN,gBAAgB,CAAC,KAAK,CAAC;QACvB,mBAAmB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAC5D,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC;QACnC,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CACnC,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IACnC,OAAO,CACN,gBAAgB,CAAC,KAAK,CAAC;QACvB,mBAAmB,CAAC,KAAK,EAAE;YAC1B,aAAa;YACb,YAAY;YACZ,aAAa;YACb,eAAe;YACf,eAAe;YACf,eAAe;YACf,UAAU;YACV,YAAY;SACZ,CAAC;QACF,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC;QACnC,wBAAwB,CAAC,KAAK,CAAC,UAAU,CAAC;QAC1C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QAChC,KAAK,CAAC,WAAW,CAAC,KAAK,CACtB,CAAC,KAAK,EAAE,EAAE,CACT,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACpB,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAC3B;QACD,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,wBAAwB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpF,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS;YACjC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;gBAClC,KAAK,CAAC,aAAa,CAAC,KAAK,CACxB,CAAC,KAAK,EAAE,EAAE,CACT,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACpB,KAAK,CAAC,MAAM,KAAK,CAAC;oBAClB,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC1B,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;wBACjB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;wBAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS;wBAC7B,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC,CAAC;QACL,wBAAwB,CAAC,KAAK,CAAC,aAAa,CAAC;QAC7C,wBAAwB,CAAC,KAAK,CAAC,QAAQ,CAAC;QACxC,wBAAwB,CAAC,KAAK,CAAC,UAAU,CAAC,CAC1C,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,OAAO,CACN,mBAAmB,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAC3E,KAAK,CAAC,OAAO,KAAK,CAAC;QACnB,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC;QAC5B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QAChC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,qBAAqB,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACxF,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC5B,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAC/E,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACtC,OAAO,CACN,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC5B,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;QAC5B,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAC/C,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,SAAiB;IAC/D,OAAO,CACN,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC;QACpD,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;QAC7E,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC;QACvD,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;QACpC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CACpC,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACpC,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,CAAC;AACxE,CAAC;AAED,SAAS,eAAe,CAAC,KAAc,EAAE,SAAiB;IACzD,OAAO,CACN,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,SAAS,CAAC,CACtF,CAAC;AACH,CAAC","sourcesContent":["import { componentContractVersion } from '../component/contract-versions.js';\nimport type {\n\tExactComponentContract,\n\tExactComponentExecutionContract,\n\tExactComponentImplementationContract,\n\tExactComponentContinuationExecutorContract,\n\tExactComponentResumptionContract\n} from '../component-contracts.js';\nimport {\n\thasConsistentStatelessServerExecution,\n\tisExactServerExecutionMetadata\n} from './server-execution-validation.js';\nimport { isExactComponentBoundaryContract } from './boundary-validation.js';\nimport {\n\tisExactProgressReceiver,\n\tisExactContinuationDependency,\n\tisExactContinuationInvocation,\n\tisExactContinuationStatePath\n} from './continuation-validation.js';\nimport {\n\thasOnlyContractKeys,\n\tisContractRecord,\n\tisContractString,\n\tisReactiveAllocation,\n\tisSafeContractStringList,\n\tisSafeContractPropertyKeyList\n} from './metadata-validation.js';\nimport { allCompiledComponentABI } from '../component/compiled-abi.js';\nimport { isExactValueSerializationSchema } from '../component-abi/value-serialization.js';\n\n/** Validates all required metadata before a generated artifact gains runtime authority. */\nexport function isExactComponentContract(\n\tvalue: unknown,\n\tcomponentId: string\n): value is ExactComponentContract {\n\tif (!isContractRecord(value)) return false;\n\treturn (\n\t\thasOnlyContractKeys(value, [\n\t\t\t'version',\n\t\t\t'placement',\n\t\t\t'role',\n\t\t\t'implementations',\n\t\t\t'continuations',\n\t\t\t'executors',\n\t\t\t'boundaries',\n\t\t\t'resumption',\n\t\t\t'execution',\n\t\t\t'artifact'\n\t\t]) &&\n\t\tvalue.version === componentContractVersion &&\n\t\t(value.placement === 'client' ||\n\t\t\tvalue.placement === 'server' ||\n\t\t\tvalue.placement === 'isomorphic' ||\n\t\t\tvalue.placement === 'unknown') &&\n\t\t(value.role === 'client' || value.role === 'render' || value.role === 'executor') &&\n\t\tArray.isArray(value.implementations) &&\n\t\tvalue.implementations.every(isImplementation) &&\n\t\tArray.isArray(value.continuations) &&\n\t\tvalue.continuations.every(\n\t\t\t(continuation) => isContinuation(continuation) && continuation.componentId === componentId\n\t\t) &&\n\t\tArray.isArray(value.executors) &&\n\t\tvalue.executors.every(\n\t\t\t(executor) => isExecutor(executor) && executor.componentId === componentId\n\t\t) &&\n\t\tArray.isArray(value.boundaries) &&\n\t\tvalue.boundaries.every(\n\t\t\t(boundary) =>\n\t\t\t\tisExactComponentBoundaryContract(boundary) && boundary.ownerComponentId === componentId\n\t\t) &&\n\t\t(value.resumption === undefined ||\n\t\t\t(isResumption(value.resumption) && value.resumption.componentId === componentId)) &&\n\t\t(value.execution === undefined || isExecution(value.execution)) &&\n\t\tisExecutableArtifact(value.artifact, componentId, value.role) &&\n\t\thasConsistentServerPublication(value)\n\t);\n}\n\nfunction hasConsistentServerPublication(value: Record<PropertyKey, unknown>): boolean {\n\tif (!isContractRecord(value.artifact) || !isContractRecord(value.artifact.execution)) return true;\n\tconst resumable =\n\t\tvalue.resumption !== undefined &&\n\t\tArray.isArray(value.continuations) &&\n\t\tvalue.continuations.length !== 0;\n\treturn (value.artifact.execution.publication !== undefined) === resumable;\n}\n\nfunction isExecutableArtifact(value: unknown, componentId: string, role: unknown): boolean {\n\tif (\n\t\t!isContractRecord(value) ||\n\t\tvalue.version !== componentContractVersion ||\n\t\tvalue.id !== componentId\n\t)\n\t\treturn false;\n\tif (!hasCommonArtifactFields(value)) return false;\n\tif (value.target === 'client') return role === 'client' && isClientArtifact(value);\n\tif (value.target === 'server')\n\t\treturn (role === 'render' || role === 'executor') && isServerArtifact(value);\n\treturn false;\n}\n\nfunction hasCommonArtifactFields(value: Record<PropertyKey, unknown>): boolean {\n\treturn (\n\t\ttypeof value.instantiate === 'function' &&\n\t\ttypeof value.construct === 'function' &&\n\t\ttypeof value.abi === 'number' &&\n\t\tNumber.isSafeInteger(value.abi) &&\n\t\tvalue.abi >= 0 &&\n\t\t(value.abi & ~allCompiledComponentABI) === 0 &&\n\t\tisSafeContractStringList(value.state) &&\n\t\tisSafeContractStringList(value.props) &&\n\t\t(value.opaqueProps === undefined || isSafeContractPropertyKeyList(value.opaqueProps)) &&\n\t\t(value.identityProps === undefined || isSafeContractStringList(value.identityProps)) &&\n\t\t(value.serialization === undefined || isExactValueSerializationSchema(value.serialization)) &&\n\t\t(value.tasks === undefined || isSafeContractStringList(value.tasks)) &&\n\t\t(value.reactive === undefined ||\n\t\t\t(Array.isArray(value.reactive) && value.reactive.every(isReactiveAllocation))) &&\n\t\t(value.render === undefined || value.render === 'returned-function') &&\n\t\tArray.isArray(value.capabilities) &&\n\t\tvalue.capabilities.every(isCapability)\n\t);\n}\n\nfunction isClientArtifact(value: Record<PropertyKey, unknown>): boolean {\n\treturn (\n\t\thasOnlyContractKeys(value, [\n\t\t\t'version',\n\t\t\t'target',\n\t\t\t'id',\n\t\t\t'template',\n\t\t\t'construct',\n\t\t\t'attach',\n\t\t\t'receive',\n\t\t\t'dispose',\n\t\t\t'instantiate',\n\t\t\t'abi',\n\t\t\t'updates',\n\t\t\t'state',\n\t\t\t'props',\n\t\t\t'serialization',\n\t\t\t'opaqueProps',\n\t\t\t'identityProps',\n\t\t\t'tasks',\n\t\t\t'reactive',\n\t\t\t'render',\n\t\t\t'capabilities'\n\t\t]) &&\n\t\t(value.template === undefined || isContractRecord(value.template)) &&\n\t\ttypeof value.attach === 'function' &&\n\t\ttypeof value.receive === 'function' &&\n\t\ttypeof value.dispose === 'function' &&\n\t\t(value.updates === undefined || isComponentUpdates(value.updates))\n\t);\n}\n\nfunction isServerArtifact(value: Record<PropertyKey, unknown>): boolean {\n\treturn (\n\t\thasOnlyContractKeys(value, [\n\t\t\t'version',\n\t\t\t'target',\n\t\t\t'id',\n\t\t\t'issue',\n\t\t\t'write',\n\t\t\t'dispose',\n\t\t\t'execute',\n\t\t\t'instantiate',\n\t\t\t'construct',\n\t\t\t'abi',\n\t\t\t'state',\n\t\t\t'props',\n\t\t\t'serialization',\n\t\t\t'opaqueProps',\n\t\t\t'tasks',\n\t\t\t'reactive',\n\t\t\t'render',\n\t\t\t'capabilities',\n\t\t\t'execution',\n\t\t\t'selection'\n\t\t]) &&\n\t\ttypeof value.issue === 'function' &&\n\t\ttypeof value.write === 'function' &&\n\t\ttypeof value.dispose === 'function' &&\n\t\t(value.execute === undefined || typeof value.execute === 'function') &&\n\t\t(value.selection === undefined || isServerSelection(value.selection)) &&\n\t\tisServerExecution(value.execution, value.selection !== undefined) &&\n\t\thasConsistentStatelessServerExecution(value)\n\t);\n}\n\n/** Validates the finite registry resolver retained by a lazy server facade. */\nfunction isServerSelection(value: unknown): boolean {\n\treturn (\n\t\tisContractRecord(value) &&\n\t\thasOnlyContractKeys(value, ['key', 'resolve']) &&\n\t\tisContractString(value.key) &&\n\t\ttypeof value.resolve === 'function'\n\t);\n}\n\nfunction isCapability(value: unknown): boolean {\n\treturn (\n\t\ttypeof value === 'string' &&\n\t\t[\n\t\t\t'tasks',\n\t\t\t'continuations',\n\t\t\t'resumption',\n\t\t\t'inspection',\n\t\t\t'registry',\n\t\t\t'enhancements',\n\t\t\t'interactions',\n\t\t\t'compatibility',\n\t\t\t'dynamic-components',\n\t\t\t'collections',\n\t\t\t'contexts',\n\t\t\t'targets'\n\t\t].includes(value)\n\t);\n}\n\n/** Validates the closed server projection without accepting executable data from foreign input. */\nfunction isServerExecution(value: unknown, selection = false): boolean {\n\treturn isExactServerExecutionMetadata(value, selection);\n}\n\nfunction isComponentUpdates(value: unknown): boolean {\n\tif (\n\t\t!isContractRecord(value) ||\n\t\t!hasOnlyContractKeys(value, ['bindings', 'props', 'words', 'apply'])\n\t)\n\t\treturn false;\n\tconst words = value.words === undefined ? 2 : value.words;\n\treturn (\n\t\ttypeof words === 'number' &&\n\t\tNumber.isSafeInteger(words) &&\n\t\twords >= 2 &&\n\t\t(value.words === undefined || words >= 3) &&\n\t\tArray.isArray(value.bindings) &&\n\t\t(value.props === undefined ||\n\t\t\t(typeof value.props === 'number' &&\n\t\t\t\tNumber.isSafeInteger(value.props) &&\n\t\t\t\tvalue.props > 0 &&\n\t\t\t\tvalue.props <= value.bindings.length)) &&\n\t\tvalue.bindings.every(\n\t\t\t(binding) =>\n\t\t\t\tArray.isArray(binding) &&\n\t\t\t\tbinding.length === words + 1 &&\n\t\t\t\tNumber.isSafeInteger(binding[0]) &&\n\t\t\t\tbinding[0] >= 0 &&\n\t\t\t\tbinding\n\t\t\t\t\t.slice(1)\n\t\t\t\t\t.every((mask) => Number.isSafeInteger(mask) && mask >= 0 && mask <= 0xffff_ffff)\n\t\t) &&\n\t\ttypeof value.apply === 'function'\n\t);\n}\n\nfunction isImplementation(value: unknown): value is ExactComponentImplementationContract {\n\tif (!isContractRecord(value)) return false;\n\treturn (\n\t\thasOnlyContractKeys(value, ['id', 'name', 'role', 'implementation']) &&\n\t\tisContractString(value.id) &&\n\t\tisContractString(value.name) &&\n\t\t(value.role === 'root' || value.role === 'client-island' || value.role === 'server-part') &&\n\t\ttypeof value.implementation === 'function'\n\t);\n}\n\nfunction isContinuation(value: unknown): boolean {\n\tif (!isContractRecord(value)) return false;\n\treturn (\n\t\thasOnlyContractKeys(value, [\n\t\t\t'id',\n\t\t\t'kind',\n\t\t\t'componentId',\n\t\t\t'readiness',\n\t\t\t'concurrency',\n\t\t\t'progress',\n\t\t\t'dependencies',\n\t\t\t'stateReads',\n\t\t\t'stateWrites',\n\t\t\t'publicContexts',\n\t\t\t'serverContexts',\n\t\t\t'contextWrites',\n\t\t\t'serverContextWrites',\n\t\t\t'boundaries',\n\t\t\t'invocation'\n\t\t]) &&\n\t\tisContractString(value.id) &&\n\t\tvalue.kind === 'task' &&\n\t\tisContractString(value.componentId) &&\n\t\t(value.readiness === 'blocking' || value.readiness === 'nonblocking') &&\n\t\t(value.concurrency === undefined || isConcurrency(value.concurrency)) &&\n\t\t(value.progress === undefined ||\n\t\t\t(Array.isArray(value.progress) && value.progress.every(isExactProgressReceiver))) &&\n\t\tArray.isArray(value.dependencies) &&\n\t\tvalue.dependencies.every(isExactContinuationDependency) &&\n\t\tArray.isArray(value.stateReads) &&\n\t\tvalue.stateReads.every(isExactContinuationStatePath) &&\n\t\tArray.isArray(value.stateWrites) &&\n\t\tvalue.stateWrites.every(isExactContinuationStatePath) &&\n\t\tisSafeContractStringList(value.publicContexts) &&\n\t\tisSafeContractStringList(value.serverContexts) &&\n\t\tisSafeContractStringList(value.contextWrites) &&\n\t\t(value.serverContextWrites === undefined ||\n\t\t\tisSafeContractStringList(value.serverContextWrites)) &&\n\t\tisSafeContractStringList(value.boundaries) &&\n\t\t(value.invocation === undefined || isExactContinuationInvocation(value.invocation))\n\t);\n}\n\nfunction isExecutor(value: unknown): value is ExactComponentContinuationExecutorContract {\n\treturn (\n\t\tisContractRecord(value) &&\n\t\thasOnlyContractKeys(value, ['id', 'componentId', 'execute']) &&\n\t\tisContractString(value.id) &&\n\t\tisContractString(value.componentId) &&\n\t\ttypeof value.execute === 'function'\n\t);\n}\n\nfunction isResumption(value: unknown): value is ExactComponentResumptionContract {\n\treturn (\n\t\tisContractRecord(value) &&\n\t\thasOnlyContractKeys(value, [\n\t\t\t'componentId',\n\t\t\t'statePaths',\n\t\t\t'stateInputs',\n\t\t\t'stateDefaults',\n\t\t\t'continuations',\n\t\t\t'valueCaptures',\n\t\t\t'contexts',\n\t\t\t'boundaries'\n\t\t]) &&\n\t\tisContractString(value.componentId) &&\n\t\tisSafeContractStringList(value.statePaths) &&\n\t\tArray.isArray(value.stateInputs) &&\n\t\tvalue.stateInputs.every(\n\t\t\t(input) =>\n\t\t\t\tArray.isArray(input) &&\n\t\t\t\tinput.length === 2 &&\n\t\t\t\tisContractString(input[0]) &&\n\t\t\t\tisContractString(input[1])\n\t\t) &&\n\t\t(value.continuations === undefined || isSafeContractStringList(value.continuations)) &&\n\t\t(value.stateDefaults === undefined ||\n\t\t\t(Array.isArray(value.stateDefaults) &&\n\t\t\t\tvalue.stateDefaults.every(\n\t\t\t\t\t(input) =>\n\t\t\t\t\t\tArray.isArray(input) &&\n\t\t\t\t\t\tinput.length === 2 &&\n\t\t\t\t\t\tisContractString(input[0]) &&\n\t\t\t\t\t\t(input[1] === null ||\n\t\t\t\t\t\t\ttypeof input[1] === 'string' ||\n\t\t\t\t\t\t\ttypeof input[1] === 'boolean' ||\n\t\t\t\t\t\t\t(typeof input[1] === 'number' && Number.isFinite(input[1])))\n\t\t\t\t))) &&\n\t\tisSafeContractStringList(value.valueCaptures) &&\n\t\tisSafeContractStringList(value.contexts) &&\n\t\tisSafeContractStringList(value.boundaries)\n\t);\n}\n\nfunction isExecution(value: unknown): value is ExactComponentExecutionContract {\n\tif (!isContractRecord(value) || !Array.isArray(value.ports)) return false;\n\tconst ports = value.ports;\n\treturn (\n\t\thasOnlyContractKeys(value, ['version', 'ports', 'transitions', 'reactive']) &&\n\t\tvalue.version === 1 &&\n\t\tports.every(isExecutionPort) &&\n\t\tArray.isArray(value.transitions) &&\n\t\tvalue.transitions.every((transition) => isExecutionTransition(transition, ports.length)) &&\n\t\t(value.reactive === undefined ||\n\t\t\t(Array.isArray(value.reactive) && value.reactive.every(isReactiveAllocation)))\n\t);\n}\n\nfunction isExecutionPort(value: unknown): boolean {\n\treturn (\n\t\tArray.isArray(value) &&\n\t\tvalue.length === 3 &&\n\t\ttypeof value[0] === 'string' &&\n\t\t['state', 'props', 'context', 'derived', 'argument'].includes(value[0]) &&\n\t\tisContractString(value[1]) &&\n\t\ttypeof value[2] === 'string' &&\n\t\t['input', 'output', 'inout'].includes(value[2])\n\t);\n}\n\nfunction isExecutionTransition(value: unknown, portCount: number): boolean {\n\treturn (\n\t\tArray.isArray(value) &&\n\t\tvalue.length === 8 &&\n\t\tisContractString(value[0]) &&\n\t\tisContractString(value[1]) &&\n\t\t(value[2] === 'setup' || value[2] === 'interaction') &&\n\t\t(value[3] === 'client' || value[3] === 'server' || value[3] === 'isomorphic') &&\n\t\t(value[4] === 'blocking' || value[4] === 'nonblocking') &&\n\t\tisConcurrency(value[5]) &&\n\t\tisPortIndexList(value[6], portCount) &&\n\t\tisPortIndexList(value[7], portCount)\n\t);\n}\n\nfunction isConcurrency(value: unknown): boolean {\n\treturn value === 'parallel' || value === 'latest' || value === 'queue';\n}\n\nfunction isPortIndexList(value: unknown, portCount: number): boolean {\n\treturn (\n\t\tArray.isArray(value) &&\n\t\tvalue.every((index) => Number.isSafeInteger(index) && index >= 0 && index < portCount)\n\t);\n}\n"]}
@@ -60,6 +60,11 @@ export type ExactComponentContinuationContract = Readonly<{
60
60
  componentId: string;
61
61
  readiness: 'blocking' | 'nonblocking';
62
62
  concurrency?: 'parallel' | 'latest' | 'queue';
63
+ /** Compiler-owned progress receivers allowed for this operation. */
64
+ progress?: readonly Readonly<{
65
+ id: string;
66
+ label: string;
67
+ }>[];
63
68
  dependencies: readonly Readonly<{
64
69
  index?: number;
65
70
  source: 'state' | 'props' | 'derived' | 'argument';
@@ -1 +1 @@
1
- {"version":3,"file":"component-contracts.d.ts","sourceRoot":"","sources":["../../src/component-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOxD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,KAAK,EACX,yBAAyB,EACzB,gCAAgC,EAChC,MAAM,sCAAsC,CAAC;AAE9C,YAAY,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AACpF,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,YAAY,EACX,4BAA4B,EAC5B,6BAA6B,EAC7B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EACN,0BAA0B,EAC1B,KAAK,6BAA6B,EAClC,MAAM,wCAAwC,CAAC;AAEhD,wFAAwF;AACxF,eAAO,MAAM,sBAAsB,eAA4C,CAAC;AAEhF,gGAAgG;AAChG,eAAO,MAAM,kBAAkB,eAAmC,CAAC;AAEnE,4EAA4E;AAC5E,MAAM,MAAM,oCAAoC,GAAG,QAAQ,CAAC;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,aAAa,CAAC;IAC/C,cAAc,EAAE,yBAAyB,CAAC;CAC1C,CAAC,CAAC;AAEH,4EAA4E;AAC5E,MAAM,MAAM,kCAAkC,GAAG,QAAQ,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;CACpC,CAAC,CAAC;AAEH,yEAAyE;AACzE,MAAM,MAAM,uBAAuB,GAChC,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,GAC9E,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,GACjE,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,WAAW,CAAA;CAAE,CAAC,GAClD,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,GAChE,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,GACnE,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC;AAEtD,kFAAkF;AAClF,MAAM,MAAM,kCAAkC,GAAG,QAAQ,CAAC;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,UAAU,GAAG,aAAa,CAAC;IACtC,WAAW,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC9C,YAAY,EAAE,SAAS,QAAQ,CAAC;QAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;QACnD,IAAI,CAAC,EAAE,MAAM,CAAC;KACd,CAAC,EAAE,CAAC;IACL,UAAU,CAAC,EAAE,QAAQ,CAAC;QACrB,SAAS,EAAE,SAAS,QAAQ,CAAC;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,UAAU,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,EAAE,CAAC;QACtF,WAAW,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;KAC7C,CAAC,CAAC;IACH,UAAU,EAAE,SAAS,kCAAkC,EAAE,CAAC;IAC1D,WAAW,EAAE,SAAS,kCAAkC,EAAE,CAAC;IAC3D,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAC;AAEH,oFAAoF;AACpF,MAAM,MAAM,oCAAoC,GAAG,QAAQ,CAAC;IAC3D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,YAAY,EAAE,SAAS,OAAO,EAAE,CAAC;IACjC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,wFAAwF;AACxF,MAAM,MAAM,mCAAmC,GAAG,QAAQ,CAAC;IAC1D,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IAChE,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7E,CAAC,CAAC;AAEH,sFAAsF;AACtF,MAAM,MAAM,yCAAyC,GAAG,QAAQ,CAAC;IAChE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC,CAAC;AAEH,4EAA4E;AAC5E,MAAM,MAAM,0CAA0C,GAAG,QAAQ,CAAC;IACjE,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CACN,UAAU,EAAE,oCAAoC,EAChD,SAAS,EAAE,mCAAmC,GAC5C,yCAAyC,GAAG,OAAO,CAAC,yCAAyC,CAAC,CAAC;CAClG,CAAC,CAAC;AAEH,mEAAmE;AACnE,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,iBAAiB,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAClD,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,MAAM,gCAAgC,GAAG,QAAQ,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,6EAA6E;IAC7E,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IACzE,0FAA0F;IAC1F,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,uEAAuE;IACvE,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS;QAClC,SAAS,EAAE,MAAM;QACjB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;KACvC,CAAC,EAAE,CAAC;IACL,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAC;AAEH,gFAAgF;AAChF,MAAM,MAAM,+BAA+B,GAAG,QAAQ,CAAC;IACtD,OAAO,EAAE,CAAC,CAAC;IACX,mFAAmF;IACnF,KAAK,EAAE,SAAS,CAAC,SAAS;QACzB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU;QAC5D,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO;KACvC,CAAC,EAAE,CAAC;IACL,wGAAwG;IACxG,WAAW,EAAE,SAAS,CAAC,SAAS;QAC/B,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,OAAO,GAAG,aAAa;QACnC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY;QAC7C,SAAS,EAAE,UAAU,GAAG,aAAa;QACrC,WAAW,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO;QAC5C,MAAM,EAAE,SAAS,MAAM,EAAE;QACzB,OAAO,EAAE,SAAS,MAAM,EAAE;KAC1B,CAAC,EAAE,CAAC;IACL,qFAAqF;IACrF,QAAQ,CAAC,EAAE,SAAS,gCAAgC,EAAE,CAAC;CACvD,CAAC,CAAC;AAEH,gGAAgG;AAChG,YAAY,EACX,gCAAgC,EAChC,yCAAyC,EACzC,oCAAoC,EACpC,kCAAkC,EAClC,gCAAgC,EAChC,MAAM,qCAAqC,CAAC;AAE7C,4EAA4E;AAC5E,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC7C,oFAAoF;IACpF,OAAO,EAAE,OAAO,wBAAwB,CAAC;IACzC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;IAC1D,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;IACvC,eAAe,EAAE,SAAS,oCAAoC,EAAE,CAAC;IACjE,aAAa,EAAE,SAAS,kCAAkC,EAAE,CAAC;IAC7D,SAAS,EAAE,SAAS,0CAA0C,EAAE,CAAC;IACjE,UAAU,EAAE,SAAS,8BAA8B,EAAE,CAAC;IACtD,UAAU,CAAC,EAAE,gCAAgC,CAAC;IAC9C,SAAS,CAAC,EAAE,+BAA+B,CAAC;IAC5C,QAAQ,EAAE,gCAAgC,CAAC;CAC3C,CAAC,CAAC;AAEH,2FAA2F;AAC3F,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CACpD,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC,CAC5F,CAAC;AAEF,mGAAmG;AACnG,MAAM,MAAM,gCAAgC,GAAG,8BAA8B,CAAC;AAE9E,4EAA4E;AAC5E,MAAM,MAAM,wCAAwC,GAAG,gCAAgC,CAAC;AAExF,yEAAyE;AACzE,MAAM,MAAM,sCAAsC,GAAG,gCAAgC,GACpF,QAAQ,CAAC;IAAE,QAAQ,EAAE,4BAA4B,CAAA;CAAE,CAAC,CAAC;AAEtD,yEAAyE;AACzE,MAAM,MAAM,sCAAsC,GAAG,sBAAsB,GAC1E,QAAQ,CAAC;IAAE,QAAQ,EAAE,4BAA4B,CAAA;CAAE,CAAC,CAAC;AAEtD,+DAA+D;AAC/D,MAAM,MAAM,+BAA+B,GAAG,QAAQ,CAAC;IACtD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAC3D,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAC/D,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;IAClE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,0CAA0C,CAAC,CAAC;IACtE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IAC3D,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;IAC9D,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;IAC5D,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;CAC5D,CAAC,CAAC;AAOH,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,yBAAyB,CAI3F;AAED,6FAA6F;AAC7F,wBAAgB,0BAA0B,CACzC,SAAS,EAAE,yBAAyB,GAClC,sBAAsB,GAAG,SAAS,CAKpC;AAED,iGAAiG;AACjG,wBAAgB,oCAAoC,CACnD,SAAS,EAAE,yBAAyB,GAClC,gCAAgC,CAKlC;AAED,2EAA2E;AAC3E,wBAAgB,0CAA0C,CACzD,SAAS,EAAE,yBAAyB,GAClC,sCAAsC,CAKxC;AAED,2EAA2E;AAC3E,wBAAgB,0CAA0C,CACzD,SAAS,EAAE,yBAAyB,GAClC,sCAAsC,CAKxC;AAED,8FAA8F;AAC9F,wBAAgB,kCAAkC,CACjD,SAAS,EAAE,yBAAyB,GAClC,8BAA8B,GAAG,SAAS,CAO5C;AAED,kEAAkE;AAClE,wBAAgB,4CAA4C,CAC3D,SAAS,EAAE,yBAAyB,GAClC,wCAAwC,CAO1C;AAED,6EAA6E;AAC7E,wBAAgB,kDAAkD,CACjE,SAAS,EAAE,yBAAyB,GAClC,8BAA8B,GAAG,QAAQ,CAAC;IAAE,QAAQ,EAAE,4BAA4B,CAAA;CAAE,CAAC,CAMvF;AAED,6EAA6E;AAC7E,wBAAgB,kDAAkD,CACjE,SAAS,EAAE,yBAAyB,GAClC,sCAAsC,CAKxC;AAED,6FAA6F;AAC7F,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,yBAAyB,GAAG,MAAM,CAInF;AAED,8FAA8F;AAC9F,wBAAgB,8BAA8B,CAC7C,UAAU,EAAE,SAAS,yBAAyB,EAAE,EAChD,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,GAClC,+BAA+B,CAEjC;AAED,yFAAyF;AACzF,wBAAgB,sCAAsC,CACrD,UAAU,EAAE,SAAS,yBAAyB,EAAE,EAChD,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,GAClC,+BAA+B,CAEjC"}
1
+ {"version":3,"file":"component-contracts.d.ts","sourceRoot":"","sources":["../../src/component-contracts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"component-contracts.js","sourceRoot":"","sources":["../../src/component-contracts.ts"],"names":[],"mappings":"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","sourcesContent":["import { componentContractVersion } from './component/contract-versions.js';\nimport type { ContextToken } from './component/contracts.js';\nimport type { TaskContext } from './tasks/contracts.js';\nimport { validatedComponentContract } from './component-contract/contract-cache.js';\nimport {\n\taddUniqueExecutor,\n\taddUniqueImplementation,\n\taddUniqueJson\n} from './component-contract/composition-support.js';\nimport type { ExactComponentExecutableArtifact } from './component-abi/artifact.js';\nimport type { ExactClientComponentArtifact } from './component-abi/client.js';\nimport type { ExactServerComponentArtifact } from './component-abi/server.js';\nimport type {\n\tAnyExactComponentCallable,\n\tExactComponentReactiveAllocation\n} from './component-abi/executable-fields.js';\n\nexport type { ExactComponentExecutableArtifact } from './component-abi/artifact.js';\nexport type { ExactClientComponentArtifact } from './component-abi/client.js';\nexport type {\n\tExactServerComponentArtifact,\n\tExactServerComponentExecution\n} from './component-abi/server.js';\nexport type { AnyExactComponentCallable } from './component-abi/executable-fields.js';\nexport {\n\tdecodeExactValueWithSchema,\n\ttype ExactValueSerializationSchema\n} from './component-abi/value-serialization.js';\n\n/** Global property under which compiled artifacts carry their target-local contract. */\nexport const exactComponentContract = Symbol.for('@exactjs/component-contract');\n\n/** Global marker distinguishing a native eXact component from compatibility-owned functions. */\nexport const exactComponentType = Symbol.for('@exactjs/component');\n\n/** One executable implementation owned by a compiled component artifact. */\nexport type ExactComponentImplementationContract = Readonly<{\n\tid: string;\n\tname: string;\n\trole: 'root' | 'client-island' | 'server-part';\n\timplementation: AnyExactComponentCallable;\n}>;\n\n/** Runtime-neutral state path used by a generated continuation contract. */\nexport type ExactContinuationStatePathContract = Readonly<{\n\tpath: string;\n\tkind: 'read' | 'write';\n\tconfidence: 'exact' | 'broad' | 'unknown';\n\toperation?: 'value' | 'map' | 'set';\n}>;\n\n/** One ordered Map or Set mutation returned by a server continuation. */\nexport type ExactCollectionMutation =\n\t| Readonly<{ path: string; operation: 'map-set'; key: unknown; value: unknown }>\n\t| Readonly<{ path: string; operation: 'map-delete'; key: unknown }>\n\t| Readonly<{ path: string; operation: 'map-clear' }>\n\t| Readonly<{ path: string; operation: 'set-add'; value: unknown }>\n\t| Readonly<{ path: string; operation: 'set-delete'; value: unknown }>\n\t| Readonly<{ path: string; operation: 'set-clear' }>;\n\n/** Private operation contract attached to the component artifact that owns it. */\nexport type ExactComponentContinuationContract = Readonly<{\n\tid: string;\n\tkind: 'task';\n\tcomponentId: string;\n\treadiness: 'blocking' | 'nonblocking';\n\tconcurrency?: 'parallel' | 'latest' | 'queue';\n\tdependencies: readonly Readonly<{\n\t\tindex?: number;\n\t\tsource: 'state' | 'props' | 'derived' | 'argument';\n\t\tpath?: string;\n\t}>[];\n\tinvocation?: Readonly<{\n\t\targuments: readonly Readonly<{ index?: number; source: 'argument'; path?: string }>[];\n\t\tconcurrency: 'parallel' | 'latest' | 'queue';\n\t}>;\n\tstateReads: readonly ExactContinuationStatePathContract[];\n\tstateWrites: readonly ExactContinuationStatePathContract[];\n\tpublicContexts: readonly string[];\n\tserverContexts: readonly string[];\n\tcontextWrites: readonly string[];\n\t/** Server-owned context mutations which never enter the client response. */\n\tserverContextWrites?: readonly string[];\n\tboundaries: readonly string[];\n}>;\n\n/** Serializable activation record accepted by one generated server continuation. */\nexport type ExactComponentContinuationActivation = Readonly<{\n\tstate: Record<string, unknown>;\n\tdependencies: readonly unknown[];\n\tpublicContext: Readonly<Record<string, unknown>>;\n\tgeneration?: number;\n}>;\n\n/** Trusted invocation resources available only while a server continuation executes. */\nexport type ExactComponentContinuationExecution = Readonly<{\n\ttask: TaskContext;\n\tsignal: AbortSignal;\n\tgetContext<T>(token: ContextToken<T>, authoredName?: string): T;\n\tsetContext<T>(token: ContextToken<T>, value: T, authoredName?: string): void;\n}>;\n\n/** State accumulated by a generated continuation before write-contract projection. */\nexport type ExactComponentContinuationExecutionResult = Readonly<{\n\tstate: Record<string, unknown>;\n\tcontexts?: Readonly<Record<string, unknown>>;\n\tvalue?: unknown;\n}>;\n\n/** Executable server half paired with one inert continuation descriptor. */\nexport type ExactComponentContinuationExecutorContract = Readonly<{\n\tid: string;\n\tcomponentId: string;\n\texecute(\n\t\tactivation: ExactComponentContinuationActivation,\n\t\texecution: ExactComponentContinuationExecution\n\t): ExactComponentContinuationExecutionResult | Promise<ExactComponentContinuationExecutionResult>;\n}>;\n\n/** One compiler-owned DOM boundary and its component ownership. */\nexport type ExactComponentBoundaryContract = Readonly<{\n\tid: string;\n\tcomponentId: string;\n\townerComponentId: string;\n\tkind: string;\n\tplanVersion?: number;\n\tbuildKey?: string;\n\tplanEdgeId?: string;\n\tparentPlanId?: string;\n\tfallbackPlanId?: string;\n\tpatchTargets?: readonly string[];\n\tdiscriminatorKind?: 'single' | 'branch' | 'keyed';\n\tdiscriminatorValues?: readonly string[];\n\tgeneration?: number;\n}>;\n\n/** Minimum browser-visible values required to resume one SSR component. */\nexport type ExactComponentResumptionContract = Readonly<{\n\tcomponentId: string;\n\tstatePaths: readonly string[];\n\t/** State path and root-prop path pairs that client setup can reconstruct. */\n\tstateInputs: readonly (readonly [statePath: string, propPath: string])[];\n\t/** Compact completion allowlist when a hydration artifact omits its execution catalog. */\n\tcontinuations?: readonly string[];\n\t/** Server-only primitive setup values that sparse capture may omit. */\n\tstateDefaults?: readonly (readonly [\n\t\tstatePath: string,\n\t\tvalue: string | number | boolean | null\n\t])[];\n\tvalueCaptures: readonly string[];\n\tcontexts: readonly string[];\n\tboundaries: readonly string[];\n}>;\n\n/** Compact target-local execution wiring emitted for one semantic component. */\nexport type ExactComponentExecutionContract = Readonly<{\n\tversion: 1;\n\t/** Port tuple: kind, authored path, direction. Its array position is its index. */\n\tports: readonly (readonly [\n\t\tkind: 'state' | 'props' | 'context' | 'derived' | 'argument',\n\t\tpath: string,\n\t\tdirection: 'input' | 'output' | 'inout'\n\t])[];\n\t/** Transition tuple: identity, task, activation, placement, readiness, concurrency, inputs, outputs. */\n\ttransitions: readonly (readonly [\n\t\tid: string,\n\t\ttaskId: string,\n\t\tactivation: 'setup' | 'interaction',\n\t\tplacement: 'client' | 'server' | 'isomorphic',\n\t\treadiness: 'blocking' | 'nonblocking',\n\t\tconcurrency: 'parallel' | 'latest' | 'queue',\n\t\tinputs: readonly number[],\n\t\toutputs: readonly number[]\n\t])[];\n\t/** Build-inspection inventory omitted from render-mode-projected runtime bundles. */\n\treactive?: readonly ExactComponentReactiveAllocation[];\n}>;\n\n/** One component-owned direct DOM update program shared by every instance of its definition. */\nexport type {\n\tExactCompiledComponentCapability,\n\tExactCompiledComponentInputUpdateContract,\n\tExactCompiledComponentUpdateContract,\n\tExactNarrowComponentUpdateContract,\n\tExactWideComponentUpdateContract\n} from './component-definition-contracts.js';\n\n/** Target-local executable contract attached to a public component root. */\nexport type ExactComponentContract = Readonly<{\n\t/** Target-discriminated component contract for this compiler/runtime generation. */\n\tversion: typeof componentContractVersion;\n\tplacement: 'client' | 'server' | 'isomorphic' | 'unknown';\n\trole: 'client' | 'render' | 'executor';\n\timplementations: readonly ExactComponentImplementationContract[];\n\tcontinuations: readonly ExactComponentContinuationContract[];\n\texecutors: readonly ExactComponentContinuationExecutorContract[];\n\tboundaries: readonly ExactComponentBoundaryContract[];\n\tresumption?: ExactComponentResumptionContract;\n\texecution?: ExactComponentExecutionContract;\n\tartifact: ExactComponentExecutableArtifact;\n}>;\n\n/** Build-projected runtime attachment after adapter-owned composition facts are erased. */\nexport type ExactPreparedComponentContract = Readonly<\n\tPick<ExactComponentContract, 'artifact'> & Partial<Omit<ExactComponentContract, 'artifact'>>\n>;\n\n/** Runtime attachment whose single executable artifact is guaranteed by the current target ABI. */\nexport type ExactExecutableComponentContract = ExactPreparedComponentContract;\n\n/** Prepared attachment whose target-local artifact is always executable. */\nexport type ExactPreparedExecutableComponentContract = ExactExecutableComponentContract;\n\n/** Current executable contract proven to carry the client target ABI. */\nexport type ExactClientExecutableComponentContract = ExactExecutableComponentContract &\n\tReadonly<{ artifact: ExactClientComponentArtifact }>;\n\n/** Current executable contract proven to carry the server target ABI. */\nexport type ExactServerExecutableComponentContract = ExactComponentContract &\n\tReadonly<{ artifact: ExactServerComponentArtifact }>;\n\n/** Composed target-local contracts indexed for runtime use. */\nexport type ExactComposedComponentContracts = Readonly<{\n\timplementations: Record<string, AnyExactComponentCallable>;\n\timplementationsById: Record<string, AnyExactComponentCallable>;\n\tcontinuations: Record<string, ExactComponentContinuationContract>;\n\texecutors: Record<string, ExactComponentContinuationExecutorContract>;\n\tboundaries: Record<string, ExactComponentBoundaryContract>;\n\tresumptions: Record<string, ExactComponentResumptionContract>;\n\texecutions: Record<string, ExactComponentExecutionContract>;\n\tartifacts: Record<string, ExactComponentExecutableArtifact>;\n}>;\n\ntype ContractComponent = AnyExactComponentCallable & {\n\t[exactComponentContract]?: ExactComponentContract;\n\t[exactComponentType]?: string;\n};\n\n/** Returns whether a callable carries a valid native eXact component identity. */\nexport function isExactComponent(component: unknown): component is AnyExactComponentCallable {\n\tif (typeof component !== 'function') return false;\n\tconst identity = (component as ContractComponent)[exactComponentType];\n\treturn typeof identity === 'string' && identity.length > 0;\n}\n\n/** Reads and validates compiler-attached metadata from one target-local component export. */\nexport function readExactComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactComponentContract | undefined {\n\tconst contract = (component as ContractComponent)[exactComponentContract];\n\tif (!contract) return undefined;\n\tconst componentId = exactComponentIdentity(component);\n\treturn validatedComponentContract(component, contract, componentId);\n}\n\n/** Reads one current executable target artifact and rejects obsolete or identity-only values. */\nexport function readExactExecutableComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactExecutableComponentContract {\n\tconst contract = readExactComponentContract(component);\n\tif (!contract?.artifact)\n\t\tthrow new TypeError('Native eXact component execution requires a compiled component artifact');\n\treturn contract;\n}\n\n/** Reads and validates one client-target executable component contract. */\nexport function readExactClientExecutableComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactClientExecutableComponentContract {\n\tconst contract = readExactExecutableComponentContract(component);\n\tif (contract.artifact.target !== 'client')\n\t\tthrow new TypeError('Client execution requires a current client component artifact');\n\treturn contract as ExactClientExecutableComponentContract;\n}\n\n/** Reads and validates one server-target executable component contract. */\nexport function readExactServerExecutableComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactServerExecutableComponentContract {\n\tconst contract = readExactExecutableComponentContract(component);\n\tif (contract.artifact.target !== 'server')\n\t\tthrow new TypeError('Server execution requires a current server component artifact');\n\treturn contract as ExactServerExecutableComponentContract;\n}\n\n/** Reads build-validated compiler metadata without repeating recursive runtime validation. */\nexport function readPreparedExactComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactPreparedComponentContract | undefined {\n\tconst contract = (component as ContractComponent)[exactComponentContract];\n\tif (contract && contract.artifact?.version !== componentContractVersion)\n\t\tthrow new TypeError(\n\t\t\t`Unsupported eXact component artifact version ${contract.artifact?.version}; expected ${componentContractVersion}. Recompile with the matching eXact compiler.`\n\t\t);\n\treturn contract;\n}\n\n/** Reads a build-validated current executable target artifact. */\nexport function readPreparedExactExecutableComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactPreparedExecutableComponentContract {\n\tconst contract = readPreparedExactComponentContract(component);\n\tif (!contract?.artifact)\n\t\tthrow new TypeError(\n\t\t\t`Native eXact component execution requires a compiled component artifact: ${component.name || '<anonymous>'}`\n\t\t);\n\treturn contract;\n}\n\n/** Reads one build-validated client-target executable component contract. */\nexport function readPreparedExactClientExecutableComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactPreparedComponentContract & Readonly<{ artifact: ExactClientComponentArtifact }> {\n\tconst contract = readPreparedExactExecutableComponentContract(component);\n\tif (contract.artifact.target !== 'client')\n\t\tthrow new TypeError('Client execution requires a current client component artifact');\n\treturn contract as ExactPreparedComponentContract &\n\t\tReadonly<{ artifact: ExactClientComponentArtifact }>;\n}\n\n/** Reads one build-validated server-target executable component contract. */\nexport function readPreparedExactServerExecutableComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactServerExecutableComponentContract {\n\tconst contract = readPreparedExactExecutableComponentContract(component);\n\tif (contract.artifact.target !== 'server')\n\t\tthrow new TypeError('Server execution requires a current server component artifact');\n\treturn contract as ExactServerExecutableComponentContract;\n}\n\n/** Returns the stable compiler identity used to pair SSR and client component boundaries. */\nexport function exactComponentIdentity(component: AnyExactComponentCallable): string {\n\tconst identity = (component as ContractComponent)[exactComponentType];\n\tif (typeof identity === 'string' && identity) return identity;\n\tthrow new Error('Native eXact components require compiler-owned identity');\n}\n\n/** Composes reachable imported component contracts into duplicate-checked runtime indexes. */\nexport function composeExactComponentContracts(\n\tcomponents: readonly AnyExactComponentCallable[],\n\trole: ExactComponentContract['role']\n): ExactComposedComponentContracts {\n\treturn composeComponentContracts(components, role, readExactComponentContract);\n}\n\n/** Composes build-validated compiler metadata without repeating recursive validation. */\nexport function composePreparedExactComponentContracts(\n\tcomponents: readonly AnyExactComponentCallable[],\n\trole: ExactComponentContract['role']\n): ExactComposedComponentContracts {\n\treturn composeComponentContracts(components, role, readPreparedExactComponentContract);\n}\n\nfunction composeComponentContracts(\n\tcomponents: readonly AnyExactComponentCallable[],\n\trole: ExactComponentContract['role'],\n\treadContract: (component: AnyExactComponentCallable) => ExactPreparedComponentContract | undefined\n): ExactComposedComponentContracts {\n\tconst implementations: Record<string, AnyExactComponentCallable> = {};\n\tconst implementationsById: Record<string, AnyExactComponentCallable> = {};\n\tconst continuations: Record<string, ExactComponentContinuationContract> = {};\n\tconst executors: Record<string, ExactComponentContinuationExecutorContract> = {};\n\tconst boundaries: Record<string, ExactComponentBoundaryContract> = {};\n\tconst resumptions: Record<string, ExactComponentResumptionContract> = {};\n\tconst executions: Record<string, ExactComponentExecutionContract> = {};\n\tconst artifacts: Record<string, ExactComponentExecutableArtifact> = {};\n\n\tfor (const component of components) {\n\t\tconst contract = readContract(component);\n\t\tif (!contract) continue;\n\t\tconst componentId = exactComponentIdentity(component);\n\t\tconst projectedRole =\n\t\t\tcontract.role ?? (contract.artifact.target === 'client' ? 'client' : 'render');\n\t\tif (projectedRole !== role)\n\t\t\tthrow new Error(\n\t\t\t\t`Expected eXact ${role} component contract for ${componentId}, received ${projectedRole}`\n\t\t\t);\n\t\tconst projectedImplementations = contract.implementations ?? [\n\t\t\t{\n\t\t\t\tid: componentId,\n\t\t\t\tname: component.name,\n\t\t\t\trole: 'root' as const,\n\t\t\t\timplementation: component\n\t\t\t}\n\t\t];\n\t\tfor (const implementation of projectedImplementations) {\n\t\t\taddUniqueImplementation(\n\t\t\t\timplementationsById,\n\t\t\t\timplementation.id,\n\t\t\t\timplementation.implementation\n\t\t\t);\n\t\t\taddUniqueImplementation(implementations, implementation.name, implementation.implementation);\n\t\t}\n\t\tfor (const continuation of contract.continuations ?? [])\n\t\t\taddUniqueJson(continuations, continuation.id, continuation, 'continuation');\n\t\tfor (const executor of contract.executors ?? []) addUniqueExecutor(executors, executor);\n\t\tfor (const boundary of contract.boundaries ?? [])\n\t\t\taddUniqueJson(boundaries, boundary.id, boundary, 'boundary');\n\t\tif (contract.resumption)\n\t\t\taddUniqueJson(\n\t\t\t\tresumptions,\n\t\t\t\tcontract.resumption.componentId,\n\t\t\t\tcontract.resumption,\n\t\t\t\t'resumption'\n\t\t\t);\n\t\tif (contract.execution)\n\t\t\taddUniqueJson(executions, componentId, contract.execution, 'execution plan');\n\t\tartifacts[componentId] = contract.artifact;\n\t}\n\n\treturn Object.freeze({\n\t\timplementations,\n\t\timplementationsById,\n\t\tcontinuations,\n\t\texecutors,\n\t\tboundaries,\n\t\tresumptions,\n\t\texecutions,\n\t\tartifacts\n\t});\n}\n"]}
1
+ {"version":3,"file":"component-contracts.js","sourceRoot":"","sources":["../../src/component-contracts.ts"],"names":[],"mappings":"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","sourcesContent":["import { componentContractVersion } from './component/contract-versions.js';\nimport type { ContextToken } from './component/contracts.js';\nimport type { TaskContext } from './tasks/contracts.js';\nimport { validatedComponentContract } from './component-contract/contract-cache.js';\nimport {\n\taddUniqueExecutor,\n\taddUniqueImplementation,\n\taddUniqueJson\n} from './component-contract/composition-support.js';\nimport type { ExactComponentExecutableArtifact } from './component-abi/artifact.js';\nimport type { ExactClientComponentArtifact } from './component-abi/client.js';\nimport type { ExactServerComponentArtifact } from './component-abi/server.js';\nimport type {\n\tAnyExactComponentCallable,\n\tExactComponentReactiveAllocation\n} from './component-abi/executable-fields.js';\n\nexport type { ExactComponentExecutableArtifact } from './component-abi/artifact.js';\nexport type { ExactClientComponentArtifact } from './component-abi/client.js';\nexport type {\n\tExactServerComponentArtifact,\n\tExactServerComponentExecution\n} from './component-abi/server.js';\nexport type { AnyExactComponentCallable } from './component-abi/executable-fields.js';\nexport {\n\tdecodeExactValueWithSchema,\n\ttype ExactValueSerializationSchema\n} from './component-abi/value-serialization.js';\n\n/** Global property under which compiled artifacts carry their target-local contract. */\nexport const exactComponentContract = Symbol.for('@exactjs/component-contract');\n\n/** Global marker distinguishing a native eXact component from compatibility-owned functions. */\nexport const exactComponentType = Symbol.for('@exactjs/component');\n\n/** One executable implementation owned by a compiled component artifact. */\nexport type ExactComponentImplementationContract = Readonly<{\n\tid: string;\n\tname: string;\n\trole: 'root' | 'client-island' | 'server-part';\n\timplementation: AnyExactComponentCallable;\n}>;\n\n/** Runtime-neutral state path used by a generated continuation contract. */\nexport type ExactContinuationStatePathContract = Readonly<{\n\tpath: string;\n\tkind: 'read' | 'write';\n\tconfidence: 'exact' | 'broad' | 'unknown';\n\toperation?: 'value' | 'map' | 'set';\n}>;\n\n/** One ordered Map or Set mutation returned by a server continuation. */\nexport type ExactCollectionMutation =\n\t| Readonly<{ path: string; operation: 'map-set'; key: unknown; value: unknown }>\n\t| Readonly<{ path: string; operation: 'map-delete'; key: unknown }>\n\t| Readonly<{ path: string; operation: 'map-clear' }>\n\t| Readonly<{ path: string; operation: 'set-add'; value: unknown }>\n\t| Readonly<{ path: string; operation: 'set-delete'; value: unknown }>\n\t| Readonly<{ path: string; operation: 'set-clear' }>;\n\n/** Private operation contract attached to the component artifact that owns it. */\nexport type ExactComponentContinuationContract = Readonly<{\n\tid: string;\n\tkind: 'task';\n\tcomponentId: string;\n\treadiness: 'blocking' | 'nonblocking';\n\tconcurrency?: 'parallel' | 'latest' | 'queue';\n\t/** Compiler-owned progress receivers allowed for this operation. */\n\tprogress?: readonly Readonly<{ id: string; label: string }>[];\n\tdependencies: readonly Readonly<{\n\t\tindex?: number;\n\t\tsource: 'state' | 'props' | 'derived' | 'argument';\n\t\tpath?: string;\n\t}>[];\n\tinvocation?: Readonly<{\n\t\targuments: readonly Readonly<{ index?: number; source: 'argument'; path?: string }>[];\n\t\tconcurrency: 'parallel' | 'latest' | 'queue';\n\t}>;\n\tstateReads: readonly ExactContinuationStatePathContract[];\n\tstateWrites: readonly ExactContinuationStatePathContract[];\n\tpublicContexts: readonly string[];\n\tserverContexts: readonly string[];\n\tcontextWrites: readonly string[];\n\t/** Server-owned context mutations which never enter the client response. */\n\tserverContextWrites?: readonly string[];\n\tboundaries: readonly string[];\n}>;\n\n/** Serializable activation record accepted by one generated server continuation. */\nexport type ExactComponentContinuationActivation = Readonly<{\n\tstate: Record<string, unknown>;\n\tdependencies: readonly unknown[];\n\tpublicContext: Readonly<Record<string, unknown>>;\n\tgeneration?: number;\n}>;\n\n/** Trusted invocation resources available only while a server continuation executes. */\nexport type ExactComponentContinuationExecution = Readonly<{\n\ttask: TaskContext;\n\tsignal: AbortSignal;\n\tgetContext<T>(token: ContextToken<T>, authoredName?: string): T;\n\tsetContext<T>(token: ContextToken<T>, value: T, authoredName?: string): void;\n}>;\n\n/** State accumulated by a generated continuation before write-contract projection. */\nexport type ExactComponentContinuationExecutionResult = Readonly<{\n\tstate: Record<string, unknown>;\n\tcontexts?: Readonly<Record<string, unknown>>;\n\tvalue?: unknown;\n}>;\n\n/** Executable server half paired with one inert continuation descriptor. */\nexport type ExactComponentContinuationExecutorContract = Readonly<{\n\tid: string;\n\tcomponentId: string;\n\texecute(\n\t\tactivation: ExactComponentContinuationActivation,\n\t\texecution: ExactComponentContinuationExecution\n\t): ExactComponentContinuationExecutionResult | Promise<ExactComponentContinuationExecutionResult>;\n}>;\n\n/** One compiler-owned DOM boundary and its component ownership. */\nexport type ExactComponentBoundaryContract = Readonly<{\n\tid: string;\n\tcomponentId: string;\n\townerComponentId: string;\n\tkind: string;\n\tplanVersion?: number;\n\tbuildKey?: string;\n\tplanEdgeId?: string;\n\tparentPlanId?: string;\n\tfallbackPlanId?: string;\n\tpatchTargets?: readonly string[];\n\tdiscriminatorKind?: 'single' | 'branch' | 'keyed';\n\tdiscriminatorValues?: readonly string[];\n\tgeneration?: number;\n}>;\n\n/** Minimum browser-visible values required to resume one SSR component. */\nexport type ExactComponentResumptionContract = Readonly<{\n\tcomponentId: string;\n\tstatePaths: readonly string[];\n\t/** State path and root-prop path pairs that client setup can reconstruct. */\n\tstateInputs: readonly (readonly [statePath: string, propPath: string])[];\n\t/** Compact completion allowlist when a hydration artifact omits its execution catalog. */\n\tcontinuations?: readonly string[];\n\t/** Server-only primitive setup values that sparse capture may omit. */\n\tstateDefaults?: readonly (readonly [\n\t\tstatePath: string,\n\t\tvalue: string | number | boolean | null\n\t])[];\n\tvalueCaptures: readonly string[];\n\tcontexts: readonly string[];\n\tboundaries: readonly string[];\n}>;\n\n/** Compact target-local execution wiring emitted for one semantic component. */\nexport type ExactComponentExecutionContract = Readonly<{\n\tversion: 1;\n\t/** Port tuple: kind, authored path, direction. Its array position is its index. */\n\tports: readonly (readonly [\n\t\tkind: 'state' | 'props' | 'context' | 'derived' | 'argument',\n\t\tpath: string,\n\t\tdirection: 'input' | 'output' | 'inout'\n\t])[];\n\t/** Transition tuple: identity, task, activation, placement, readiness, concurrency, inputs, outputs. */\n\ttransitions: readonly (readonly [\n\t\tid: string,\n\t\ttaskId: string,\n\t\tactivation: 'setup' | 'interaction',\n\t\tplacement: 'client' | 'server' | 'isomorphic',\n\t\treadiness: 'blocking' | 'nonblocking',\n\t\tconcurrency: 'parallel' | 'latest' | 'queue',\n\t\tinputs: readonly number[],\n\t\toutputs: readonly number[]\n\t])[];\n\t/** Build-inspection inventory omitted from render-mode-projected runtime bundles. */\n\treactive?: readonly ExactComponentReactiveAllocation[];\n}>;\n\n/** One component-owned direct DOM update program shared by every instance of its definition. */\nexport type {\n\tExactCompiledComponentCapability,\n\tExactCompiledComponentInputUpdateContract,\n\tExactCompiledComponentUpdateContract,\n\tExactNarrowComponentUpdateContract,\n\tExactWideComponentUpdateContract\n} from './component-definition-contracts.js';\n\n/** Target-local executable contract attached to a public component root. */\nexport type ExactComponentContract = Readonly<{\n\t/** Target-discriminated component contract for this compiler/runtime generation. */\n\tversion: typeof componentContractVersion;\n\tplacement: 'client' | 'server' | 'isomorphic' | 'unknown';\n\trole: 'client' | 'render' | 'executor';\n\timplementations: readonly ExactComponentImplementationContract[];\n\tcontinuations: readonly ExactComponentContinuationContract[];\n\texecutors: readonly ExactComponentContinuationExecutorContract[];\n\tboundaries: readonly ExactComponentBoundaryContract[];\n\tresumption?: ExactComponentResumptionContract;\n\texecution?: ExactComponentExecutionContract;\n\tartifact: ExactComponentExecutableArtifact;\n}>;\n\n/** Build-projected runtime attachment after adapter-owned composition facts are erased. */\nexport type ExactPreparedComponentContract = Readonly<\n\tPick<ExactComponentContract, 'artifact'> & Partial<Omit<ExactComponentContract, 'artifact'>>\n>;\n\n/** Runtime attachment whose single executable artifact is guaranteed by the current target ABI. */\nexport type ExactExecutableComponentContract = ExactPreparedComponentContract;\n\n/** Prepared attachment whose target-local artifact is always executable. */\nexport type ExactPreparedExecutableComponentContract = ExactExecutableComponentContract;\n\n/** Current executable contract proven to carry the client target ABI. */\nexport type ExactClientExecutableComponentContract = ExactExecutableComponentContract &\n\tReadonly<{ artifact: ExactClientComponentArtifact }>;\n\n/** Current executable contract proven to carry the server target ABI. */\nexport type ExactServerExecutableComponentContract = ExactComponentContract &\n\tReadonly<{ artifact: ExactServerComponentArtifact }>;\n\n/** Composed target-local contracts indexed for runtime use. */\nexport type ExactComposedComponentContracts = Readonly<{\n\timplementations: Record<string, AnyExactComponentCallable>;\n\timplementationsById: Record<string, AnyExactComponentCallable>;\n\tcontinuations: Record<string, ExactComponentContinuationContract>;\n\texecutors: Record<string, ExactComponentContinuationExecutorContract>;\n\tboundaries: Record<string, ExactComponentBoundaryContract>;\n\tresumptions: Record<string, ExactComponentResumptionContract>;\n\texecutions: Record<string, ExactComponentExecutionContract>;\n\tartifacts: Record<string, ExactComponentExecutableArtifact>;\n}>;\n\ntype ContractComponent = AnyExactComponentCallable & {\n\t[exactComponentContract]?: ExactComponentContract;\n\t[exactComponentType]?: string;\n};\n\n/** Returns whether a callable carries a valid native eXact component identity. */\nexport function isExactComponent(component: unknown): component is AnyExactComponentCallable {\n\tif (typeof component !== 'function') return false;\n\tconst identity = (component as ContractComponent)[exactComponentType];\n\treturn typeof identity === 'string' && identity.length > 0;\n}\n\n/** Reads and validates compiler-attached metadata from one target-local component export. */\nexport function readExactComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactComponentContract | undefined {\n\tconst contract = (component as ContractComponent)[exactComponentContract];\n\tif (!contract) return undefined;\n\tconst componentId = exactComponentIdentity(component);\n\treturn validatedComponentContract(component, contract, componentId);\n}\n\n/** Reads one current executable target artifact and rejects obsolete or identity-only values. */\nexport function readExactExecutableComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactExecutableComponentContract {\n\tconst contract = readExactComponentContract(component);\n\tif (!contract?.artifact)\n\t\tthrow new TypeError('Native eXact component execution requires a compiled component artifact');\n\treturn contract;\n}\n\n/** Reads and validates one client-target executable component contract. */\nexport function readExactClientExecutableComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactClientExecutableComponentContract {\n\tconst contract = readExactExecutableComponentContract(component);\n\tif (contract.artifact.target !== 'client')\n\t\tthrow new TypeError('Client execution requires a current client component artifact');\n\treturn contract as ExactClientExecutableComponentContract;\n}\n\n/** Reads and validates one server-target executable component contract. */\nexport function readExactServerExecutableComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactServerExecutableComponentContract {\n\tconst contract = readExactExecutableComponentContract(component);\n\tif (contract.artifact.target !== 'server')\n\t\tthrow new TypeError('Server execution requires a current server component artifact');\n\treturn contract as ExactServerExecutableComponentContract;\n}\n\n/** Reads build-validated compiler metadata without repeating recursive runtime validation. */\nexport function readPreparedExactComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactPreparedComponentContract | undefined {\n\tconst contract = (component as ContractComponent)[exactComponentContract];\n\tif (contract && contract.artifact?.version !== componentContractVersion)\n\t\tthrow new TypeError(\n\t\t\t`Unsupported eXact component artifact version ${contract.artifact?.version}; expected ${componentContractVersion}. Recompile with the matching eXact compiler.`\n\t\t);\n\treturn contract;\n}\n\n/** Reads a build-validated current executable target artifact. */\nexport function readPreparedExactExecutableComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactPreparedExecutableComponentContract {\n\tconst contract = readPreparedExactComponentContract(component);\n\tif (!contract?.artifact)\n\t\tthrow new TypeError(\n\t\t\t`Native eXact component execution requires a compiled component artifact: ${component.name || '<anonymous>'}`\n\t\t);\n\treturn contract;\n}\n\n/** Reads one build-validated client-target executable component contract. */\nexport function readPreparedExactClientExecutableComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactPreparedComponentContract & Readonly<{ artifact: ExactClientComponentArtifact }> {\n\tconst contract = readPreparedExactExecutableComponentContract(component);\n\tif (contract.artifact.target !== 'client')\n\t\tthrow new TypeError('Client execution requires a current client component artifact');\n\treturn contract as ExactPreparedComponentContract &\n\t\tReadonly<{ artifact: ExactClientComponentArtifact }>;\n}\n\n/** Reads one build-validated server-target executable component contract. */\nexport function readPreparedExactServerExecutableComponentContract(\n\tcomponent: AnyExactComponentCallable\n): ExactServerExecutableComponentContract {\n\tconst contract = readPreparedExactExecutableComponentContract(component);\n\tif (contract.artifact.target !== 'server')\n\t\tthrow new TypeError('Server execution requires a current server component artifact');\n\treturn contract as ExactServerExecutableComponentContract;\n}\n\n/** Returns the stable compiler identity used to pair SSR and client component boundaries. */\nexport function exactComponentIdentity(component: AnyExactComponentCallable): string {\n\tconst identity = (component as ContractComponent)[exactComponentType];\n\tif (typeof identity === 'string' && identity) return identity;\n\tthrow new Error('Native eXact components require compiler-owned identity');\n}\n\n/** Composes reachable imported component contracts into duplicate-checked runtime indexes. */\nexport function composeExactComponentContracts(\n\tcomponents: readonly AnyExactComponentCallable[],\n\trole: ExactComponentContract['role']\n): ExactComposedComponentContracts {\n\treturn composeComponentContracts(components, role, readExactComponentContract);\n}\n\n/** Composes build-validated compiler metadata without repeating recursive validation. */\nexport function composePreparedExactComponentContracts(\n\tcomponents: readonly AnyExactComponentCallable[],\n\trole: ExactComponentContract['role']\n): ExactComposedComponentContracts {\n\treturn composeComponentContracts(components, role, readPreparedExactComponentContract);\n}\n\nfunction composeComponentContracts(\n\tcomponents: readonly AnyExactComponentCallable[],\n\trole: ExactComponentContract['role'],\n\treadContract: (component: AnyExactComponentCallable) => ExactPreparedComponentContract | undefined\n): ExactComposedComponentContracts {\n\tconst implementations: Record<string, AnyExactComponentCallable> = {};\n\tconst implementationsById: Record<string, AnyExactComponentCallable> = {};\n\tconst continuations: Record<string, ExactComponentContinuationContract> = {};\n\tconst executors: Record<string, ExactComponentContinuationExecutorContract> = {};\n\tconst boundaries: Record<string, ExactComponentBoundaryContract> = {};\n\tconst resumptions: Record<string, ExactComponentResumptionContract> = {};\n\tconst executions: Record<string, ExactComponentExecutionContract> = {};\n\tconst artifacts: Record<string, ExactComponentExecutableArtifact> = {};\n\n\tfor (const component of components) {\n\t\tconst contract = readContract(component);\n\t\tif (!contract) continue;\n\t\tconst componentId = exactComponentIdentity(component);\n\t\tconst projectedRole =\n\t\t\tcontract.role ?? (contract.artifact.target === 'client' ? 'client' : 'render');\n\t\tif (projectedRole !== role)\n\t\t\tthrow new Error(\n\t\t\t\t`Expected eXact ${role} component contract for ${componentId}, received ${projectedRole}`\n\t\t\t);\n\t\tconst projectedImplementations = contract.implementations ?? [\n\t\t\t{\n\t\t\t\tid: componentId,\n\t\t\t\tname: component.name,\n\t\t\t\trole: 'root' as const,\n\t\t\t\timplementation: component\n\t\t\t}\n\t\t];\n\t\tfor (const implementation of projectedImplementations) {\n\t\t\taddUniqueImplementation(\n\t\t\t\timplementationsById,\n\t\t\t\timplementation.id,\n\t\t\t\timplementation.implementation\n\t\t\t);\n\t\t\taddUniqueImplementation(implementations, implementation.name, implementation.implementation);\n\t\t}\n\t\tfor (const continuation of contract.continuations ?? [])\n\t\t\taddUniqueJson(continuations, continuation.id, continuation, 'continuation');\n\t\tfor (const executor of contract.executors ?? []) addUniqueExecutor(executors, executor);\n\t\tfor (const boundary of contract.boundaries ?? [])\n\t\t\taddUniqueJson(boundaries, boundary.id, boundary, 'boundary');\n\t\tif (contract.resumption)\n\t\t\taddUniqueJson(\n\t\t\t\tresumptions,\n\t\t\t\tcontract.resumption.componentId,\n\t\t\t\tcontract.resumption,\n\t\t\t\t'resumption'\n\t\t\t);\n\t\tif (contract.execution)\n\t\t\taddUniqueJson(executions, componentId, contract.execution, 'execution plan');\n\t\tartifacts[componentId] = contract.artifact;\n\t}\n\n\treturn Object.freeze({\n\t\timplementations,\n\t\timplementationsById,\n\t\tcontinuations,\n\t\texecutors,\n\t\tboundaries,\n\t\tresumptions,\n\t\texecutions,\n\t\tartifacts\n\t});\n}\n"]}
@@ -1,2 +1,2 @@
1
- export { isExactContinuationDependency, isExactContinuationInvocation, isExactContinuationStatePath } from '../component-contract/continuation-validation.js';
1
+ export { isExactProgressReceiver, isExactContinuationDependency, isExactContinuationInvocation, isExactContinuationStatePath } from '../component-contract/continuation-validation.js';
2
2
  //# sourceMappingURL=component-contract-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-contract-validation.d.ts","sourceRoot":"","sources":["../../../src/framework/component-contract-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,MAAM,kDAAkD,CAAC"}
1
+ {"version":3,"file":"component-contract-validation.d.ts","sourceRoot":"","sources":["../../../src/framework/component-contract-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,MAAM,kDAAkD,CAAC"}
@@ -1,2 +1,2 @@
1
- export { isExactContinuationDependency, isExactContinuationInvocation, isExactContinuationStatePath } from '../component-contract/continuation-validation.js';
1
+ export { isExactProgressReceiver, isExactContinuationDependency, isExactContinuationInvocation, isExactContinuationStatePath } from '../component-contract/continuation-validation.js';
2
2
  //# sourceMappingURL=component-contract-validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-contract-validation.js","sourceRoot":"","sources":["../../../src/framework/component-contract-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,MAAM,kDAAkD,CAAC","sourcesContent":["export {\n\tisExactContinuationDependency,\n\tisExactContinuationInvocation,\n\tisExactContinuationStatePath\n} from '../component-contract/continuation-validation.js';\n"]}
1
+ {"version":3,"file":"component-contract-validation.js","sourceRoot":"","sources":["../../../src/framework/component-contract-validation.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC7B,4BAA4B,EAC5B,MAAM,kDAAkD,CAAC","sourcesContent":["export {\n\tisExactProgressReceiver,\n\tisExactContinuationDependency,\n\tisExactContinuationInvocation,\n\tisExactContinuationStatePath\n} from '../component-contract/continuation-validation.js';\n"]}
@@ -83,6 +83,15 @@ export type ExactBatchResult = {
83
83
  };
84
84
  /** Reports one event in an incremental operation response. */
85
85
  export type ExactStreamEvent = {
86
+ event: 'progress';
87
+ version: 1;
88
+ index: number;
89
+ type: ExactInvocationKind;
90
+ id: string;
91
+ opId?: string;
92
+ receiver: string;
93
+ snapshot: unknown;
94
+ } | {
86
95
  event: 'start';
87
96
  version: 1;
88
97
  operations: number;
@@ -1 +1 @@
1
- {"version":3,"file":"operation-protocol.d.ts","sourceRoot":"","sources":["../../../src/framework/operation-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation-protocol.d.ts","sourceRoot":"","sources":["../../../src/framework/operation-protocol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"operation-protocol.js","sourceRoot":"","sources":["../../../src/framework/operation-protocol.ts"],"names":[],"mappings":"AAoJA,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC3C,WAAW;IACX,aAAa;IACb,yBAAyB;IACzB,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,QAAQ;IACR,aAAa;CACb,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,CACN,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,CAC5F,CAAC;AACH,CAAC","sourcesContent":["import type { ExactCollectionMutation } from '../component-contracts.js';\nimport type { ExactRuntimeInspectionEvent } from '@exactjs/devtools-protocol';\n\n/** Identifies the operation represented by a framework protocol request. */\nexport type ExactInvocationKind = 'invoke' | 'refresh';\n\n/** Selects one concrete compiler-planned partition instance. */\nexport type ExactPartitionDiscriminator =\n\t| Readonly<{ kind: 'single' }>\n\t| Readonly<{ kind: 'branch'; branch: string }>\n\t| Readonly<{ kind: 'keyed'; list: string; keyToken: string }>;\n\n/** Carries generation-fenced authority for a compiler-planned partition. */\nexport type ExactPartitionAuthority = Readonly<{\n\tversion: 1;\n\tbuildKey: string;\n\texecutionRoot: string;\n\tplanEdgeId: string;\n\townerComponentId: string;\n\tdiscriminator: ExactPartitionDiscriminator;\n\tgeneration: number;\n}>;\n\n/** Maps compiler-owned operation identities to configured endpoint routes. */\nexport type ExactEndpointRoutes = {\n\tinvocations?: Record<string, string>;\n\tboundaries?: Record<string, string>;\n};\n\n/** Describes one invocation or refresh request on the framework wire protocol. */\nexport type ExactInvocationRequest = {\n\ttype: ExactInvocationKind;\n\troot?: string;\n\tid: string;\n\tpartition?: ExactPartitionAuthority;\n\topId?: string;\n\tdependsOn?: string[];\n\tpayload?: unknown;\n\tstate?: unknown;\n\tpublicContext?: Record<string, unknown>;\n\tboundaryHtml?: string;\n\tboundaryHtmls?: Record<string, string>;\n};\n\n/** Groups invocation requests for bounded concurrent execution. */\nexport type ExactBatchRequest = {\n\ttype: 'batch';\n\tversion?: 1;\n\toperations: ExactInvocationRequest[];\n};\n\n/** Describes the transport-safe result of one invocation. */\nexport type ExactInvocationResult = {\n\tpatches?: ExactPatch[];\n\tstate?: unknown;\n\tmutations?: ExactCollectionMutation[];\n\tcontexts?: Record<string, unknown>;\n\tvalue?: unknown;\n\thtml?: string;\n};\n\n/** Describes a successful operation response. */\nexport type ExactOperationSuccess = {\n\tok: true;\n\ttype: ExactInvocationKind;\n\tid: string;\n\topId?: string;\n} & ExactInvocationResult;\n\n/** Describes a rejected or failed operation response. */\nexport type ExactOperationError = {\n\tok: false;\n\ttype: ExactInvocationKind;\n\tid: string;\n\topId?: string;\n\tstatus: number;\n\terror: 'bad_request' | 'not_found' | 'forbidden' | 'internal_error' | 'dependency_failed';\n};\n\n/** Describes the result of one operation. */\nexport type ExactOperationResult = ExactOperationSuccess | ExactOperationError;\n\n/** Describes a completed batch response. */\nexport type ExactBatchResult = {\n\tok: true;\n\tversion: 1;\n\tresults: ExactOperationResult[];\n};\n\n/** Reports one event in an incremental operation response. */\nexport type ExactStreamEvent =\n\t| { event: 'start'; version: 1; operations: number }\n\t| {\n\t\t\tevent: 'patch';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\tpatch: ExactPatch;\n\t }\n\t| {\n\t\t\tevent: 'state';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\tvalue: unknown;\n\t }\n\t| {\n\t\t\tevent: 'mutations';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\tmutations: ExactCollectionMutation[];\n\t }\n\t| {\n\t\t\tevent: 'html';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\thtml: string;\n\t }\n\t| { event: 'result'; version: 1; index: number; result: ExactOperationResult }\n\t| { event: 'observations'; version: 1; observations: readonly ExactRuntimeInspectionEvent[] }\n\t| { event: 'complete'; version: 1 };\n\n/** Describes one client-applied operation patch. */\nexport type ExactPatch =\n\t| { type: 'text'; id: string; value: string }\n\t| { type: 'prop'; id: string; name: string; value: unknown }\n\t| { type: 'style'; id: string; name: string; value: string | null }\n\t| {\n\t\t\ttype: 'list';\n\t\t\tid: string;\n\t\t\top: 'insert' | 'move' | 'remove';\n\t\t\tkey: string;\n\t\t\tbefore?: string;\n\t\t\thtml?: string;\n\t }\n\t| { type: 'state'; id: string; value: unknown }\n\t| { type: 'replace'; id: string; html: string };\n\nconst forbiddenDomPatchProperties = new Set([\n\t'__proto__',\n\t'constructor',\n\t'dangerouslysetinnerhtml',\n\t'innerhtml',\n\t'innertext',\n\t'outerhtml',\n\t'outertext',\n\t'prototype',\n\t'srcdoc',\n\t'textcontent'\n]);\n\n/**\n * Reports whether a server property patch may cross the operation boundary.\n * Structural HTML/text setters, inline event handlers, iframe documents, and\n * JavaScript prototype controls require dedicated framework-owned operations.\n */\nexport function isSafeDomPatchProperty(name: string): boolean {\n\tconst normalized = name.toLowerCase();\n\treturn (\n\t\t!!normalized && !normalized.startsWith('on') && !forbiddenDomPatchProperties.has(normalized)\n\t);\n}\n\nexport type { ExactCollectionMutation } from '../component-contracts.js';\n"]}
1
+ {"version":3,"file":"operation-protocol.js","sourceRoot":"","sources":["../../../src/framework/operation-protocol.ts"],"names":[],"mappings":"AA8JA,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC3C,WAAW;IACX,aAAa;IACb,yBAAyB;IACzB,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,QAAQ;IACR,aAAa;CACb,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,CACN,CAAC,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,CAC5F,CAAC;AACH,CAAC","sourcesContent":["import type { ExactCollectionMutation } from '../component-contracts.js';\nimport type { ExactRuntimeInspectionEvent } from '@exactjs/devtools-protocol';\n\n/** Identifies the operation represented by a framework protocol request. */\nexport type ExactInvocationKind = 'invoke' | 'refresh';\n\n/** Selects one concrete compiler-planned partition instance. */\nexport type ExactPartitionDiscriminator =\n\t| Readonly<{ kind: 'single' }>\n\t| Readonly<{ kind: 'branch'; branch: string }>\n\t| Readonly<{ kind: 'keyed'; list: string; keyToken: string }>;\n\n/** Carries generation-fenced authority for a compiler-planned partition. */\nexport type ExactPartitionAuthority = Readonly<{\n\tversion: 1;\n\tbuildKey: string;\n\texecutionRoot: string;\n\tplanEdgeId: string;\n\townerComponentId: string;\n\tdiscriminator: ExactPartitionDiscriminator;\n\tgeneration: number;\n}>;\n\n/** Maps compiler-owned operation identities to configured endpoint routes. */\nexport type ExactEndpointRoutes = {\n\tinvocations?: Record<string, string>;\n\tboundaries?: Record<string, string>;\n};\n\n/** Describes one invocation or refresh request on the framework wire protocol. */\nexport type ExactInvocationRequest = {\n\ttype: ExactInvocationKind;\n\troot?: string;\n\tid: string;\n\tpartition?: ExactPartitionAuthority;\n\topId?: string;\n\tdependsOn?: string[];\n\tpayload?: unknown;\n\tstate?: unknown;\n\tpublicContext?: Record<string, unknown>;\n\tboundaryHtml?: string;\n\tboundaryHtmls?: Record<string, string>;\n};\n\n/** Groups invocation requests for bounded concurrent execution. */\nexport type ExactBatchRequest = {\n\ttype: 'batch';\n\tversion?: 1;\n\toperations: ExactInvocationRequest[];\n};\n\n/** Describes the transport-safe result of one invocation. */\nexport type ExactInvocationResult = {\n\tpatches?: ExactPatch[];\n\tstate?: unknown;\n\tmutations?: ExactCollectionMutation[];\n\tcontexts?: Record<string, unknown>;\n\tvalue?: unknown;\n\thtml?: string;\n};\n\n/** Describes a successful operation response. */\nexport type ExactOperationSuccess = {\n\tok: true;\n\ttype: ExactInvocationKind;\n\tid: string;\n\topId?: string;\n} & ExactInvocationResult;\n\n/** Describes a rejected or failed operation response. */\nexport type ExactOperationError = {\n\tok: false;\n\ttype: ExactInvocationKind;\n\tid: string;\n\topId?: string;\n\tstatus: number;\n\terror: 'bad_request' | 'not_found' | 'forbidden' | 'internal_error' | 'dependency_failed';\n};\n\n/** Describes the result of one operation. */\nexport type ExactOperationResult = ExactOperationSuccess | ExactOperationError;\n\n/** Describes a completed batch response. */\nexport type ExactBatchResult = {\n\tok: true;\n\tversion: 1;\n\tresults: ExactOperationResult[];\n};\n\n/** Reports one event in an incremental operation response. */\nexport type ExactStreamEvent =\n\t| {\n\t\t\tevent: 'progress';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\treceiver: string;\n\t\t\tsnapshot: unknown;\n\t }\n\t| { event: 'start'; version: 1; operations: number }\n\t| {\n\t\t\tevent: 'patch';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\tpatch: ExactPatch;\n\t }\n\t| {\n\t\t\tevent: 'state';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\tvalue: unknown;\n\t }\n\t| {\n\t\t\tevent: 'mutations';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\tmutations: ExactCollectionMutation[];\n\t }\n\t| {\n\t\t\tevent: 'html';\n\t\t\tversion: 1;\n\t\t\tindex: number;\n\t\t\ttype: ExactInvocationKind;\n\t\t\tid: string;\n\t\t\topId?: string;\n\t\t\thtml: string;\n\t }\n\t| { event: 'result'; version: 1; index: number; result: ExactOperationResult }\n\t| { event: 'observations'; version: 1; observations: readonly ExactRuntimeInspectionEvent[] }\n\t| { event: 'complete'; version: 1 };\n\n/** Describes one client-applied operation patch. */\nexport type ExactPatch =\n\t| { type: 'text'; id: string; value: string }\n\t| { type: 'prop'; id: string; name: string; value: unknown }\n\t| { type: 'style'; id: string; name: string; value: string | null }\n\t| {\n\t\t\ttype: 'list';\n\t\t\tid: string;\n\t\t\top: 'insert' | 'move' | 'remove';\n\t\t\tkey: string;\n\t\t\tbefore?: string;\n\t\t\thtml?: string;\n\t }\n\t| { type: 'state'; id: string; value: unknown }\n\t| { type: 'replace'; id: string; html: string };\n\nconst forbiddenDomPatchProperties = new Set([\n\t'__proto__',\n\t'constructor',\n\t'dangerouslysetinnerhtml',\n\t'innerhtml',\n\t'innertext',\n\t'outerhtml',\n\t'outertext',\n\t'prototype',\n\t'srcdoc',\n\t'textcontent'\n]);\n\n/**\n * Reports whether a server property patch may cross the operation boundary.\n * Structural HTML/text setters, inline event handlers, iframe documents, and\n * JavaScript prototype controls require dedicated framework-owned operations.\n */\nexport function isSafeDomPatchProperty(name: string): boolean {\n\tconst normalized = name.toLowerCase();\n\treturn (\n\t\t!!normalized && !normalized.startsWith('on') && !forbiddenDomPatchProperties.has(normalized)\n\t);\n}\n\nexport type { ExactCollectionMutation } from '../component-contracts.js';\n"]}
@@ -10,4 +10,5 @@ export { bindTaskForHost, defineTask, invokeTask } from '../tasks/runtime.js';
10
10
  export { activateServerComponentTaskTreeForHost } from '../tasks/server-component-task-tree.js';
11
11
  export { mutateTaskCollection, ownTaskResource, stageTaskMutation, taskAnimationFrame, taskAwait, taskFetch, taskIdleCallback, taskInterval, taskObserver, taskTimeout } from '../tasks/resources.js';
12
12
  export { combineTaskSignal, withAbortSignal, withTaskSignal } from '../tasks/signals.js';
13
+ export { createTaskProgressReporter, registerTaskProgressReceiver } from '../tasks/progress-bindings.js';
13
14
  //# sourceMappingURL=server-task-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-task-helpers.d.ts","sourceRoot":"","sources":["../../../src/framework/server-task-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EACN,mCAAmC,EACnC,mCAAmC,EACnC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,uCAAuC,EACvC,mCAAmC,EACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,sCAAsC,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"server-task-helpers.d.ts","sourceRoot":"","sources":["../../../src/framework/server-task-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EACN,mCAAmC,EACnC,mCAAmC,EACnC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,uCAAuC,EACvC,mCAAmC,EACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,sCAAsC,EAAE,MAAM,wCAAwC,CAAC;AAChG,OAAO,EACN,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EACN,0BAA0B,EAC1B,4BAA4B,EAC5B,MAAM,+BAA+B,CAAC"}