@exactjs/core 0.6.2 → 0.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +12 -14
- package/README.md +6 -8
- package/dist/client/component/resumption.js +5 -1
- package/dist/client/component/resumption.js.map +1 -1
- package/dist/client/component-contract/continuation-validation.d.ts +5 -0
- package/dist/client/component-contract/continuation-validation.d.ts.map +1 -1
- package/dist/client/component-contract/continuation-validation.js +7 -0
- package/dist/client/component-contract/continuation-validation.js.map +1 -1
- package/dist/client/component-contract/contract-validation.d.ts.map +1 -1
- package/dist/client/component-contract/contract-validation.js +4 -1
- package/dist/client/component-contract/contract-validation.js.map +1 -1
- package/dist/client/component-contracts.d.ts +5 -0
- package/dist/client/component-contracts.d.ts.map +1 -1
- package/dist/client/component-contracts.js.map +1 -1
- package/dist/client/framework/component-contract-validation.d.ts +1 -1
- package/dist/client/framework/component-contract-validation.d.ts.map +1 -1
- package/dist/client/framework/component-contract-validation.js +1 -1
- package/dist/client/framework/component-contract-validation.js.map +1 -1
- package/dist/client/framework/fragment-target-projection-plan.d.ts +9 -0
- package/dist/client/framework/fragment-target-projection-plan.d.ts.map +1 -0
- package/dist/client/framework/fragment-target-projection-plan.js +99 -0
- package/dist/client/framework/fragment-target-projection-plan.js.map +1 -0
- package/dist/client/framework/fragment-target-projection.d.ts +1 -5
- package/dist/client/framework/fragment-target-projection.d.ts.map +1 -1
- package/dist/client/framework/fragment-target-projection.js +5 -95
- package/dist/client/framework/fragment-target-projection.js.map +1 -1
- package/dist/client/framework/operation-protocol.d.ts +9 -0
- package/dist/client/framework/operation-protocol.d.ts.map +1 -1
- package/dist/client/framework/operation-protocol.js.map +1 -1
- package/dist/client/framework/server-fragment-target-projection.d.ts +4 -0
- package/dist/client/framework/server-fragment-target-projection.d.ts.map +1 -0
- package/dist/client/framework/server-fragment-target-projection.js +7 -0
- package/dist/client/framework/server-fragment-target-projection.js.map +1 -0
- package/dist/client/framework/server-render-structure.d.ts +1 -0
- package/dist/client/framework/server-render-structure.d.ts.map +1 -1
- package/dist/client/framework/server-render-structure.js +1 -0
- package/dist/client/framework/server-render-structure.js.map +1 -1
- package/dist/client/framework/server-task-helpers.d.ts +1 -0
- package/dist/client/framework/server-task-helpers.d.ts.map +1 -1
- package/dist/client/framework/server-task-helpers.js +1 -0
- package/dist/client/framework/server-task-helpers.js.map +1 -1
- package/dist/client/framework/task-frames.d.ts +2 -1
- package/dist/client/framework/task-frames.d.ts.map +1 -1
- package/dist/client/framework/task-frames.js +1 -0
- package/dist/client/framework/task-frames.js.map +1 -1
- package/dist/client/runtime/tasks.d.ts +1 -0
- package/dist/client/runtime/tasks.d.ts.map +1 -1
- package/dist/client/runtime/tasks.js +1 -0
- package/dist/client/runtime/tasks.js.map +1 -1
- package/dist/client/tasks/contracts.d.ts +2 -0
- package/dist/client/tasks/contracts.d.ts.map +1 -1
- package/dist/client/tasks/contracts.js.map +1 -1
- package/dist/client/tasks/progress-bindings.d.ts +20 -0
- package/dist/client/tasks/progress-bindings.d.ts.map +1 -0
- package/dist/client/tasks/progress-bindings.js +51 -0
- package/dist/client/tasks/progress-bindings.js.map +1 -0
- package/dist/client/tasks/progress-receiver.d.ts +24 -0
- package/dist/client/tasks/progress-receiver.d.ts.map +1 -0
- package/dist/client/tasks/progress-receiver.js +71 -0
- package/dist/client/tasks/progress-receiver.js.map +1 -0
- package/dist/component/resumption.js +5 -1
- package/dist/component/resumption.js.map +1 -1
- package/dist/component-contract/continuation-validation.d.ts +5 -0
- package/dist/component-contract/continuation-validation.d.ts.map +1 -1
- package/dist/component-contract/continuation-validation.js +7 -0
- package/dist/component-contract/continuation-validation.js.map +1 -1
- package/dist/component-contract/contract-validation.d.ts.map +1 -1
- package/dist/component-contract/contract-validation.js +4 -1
- package/dist/component-contract/contract-validation.js.map +1 -1
- package/dist/component-contracts.d.ts +5 -0
- package/dist/component-contracts.d.ts.map +1 -1
- package/dist/component-contracts.js.map +1 -1
- package/dist/framework/component-contract-validation.d.ts +1 -1
- package/dist/framework/component-contract-validation.d.ts.map +1 -1
- package/dist/framework/component-contract-validation.js +1 -1
- package/dist/framework/component-contract-validation.js.map +1 -1
- package/dist/framework/fragment-target-projection-plan.d.ts +9 -0
- package/dist/framework/fragment-target-projection-plan.d.ts.map +1 -0
- package/dist/framework/fragment-target-projection-plan.js +99 -0
- package/dist/framework/fragment-target-projection-plan.js.map +1 -0
- package/dist/framework/fragment-target-projection.d.ts +1 -5
- package/dist/framework/fragment-target-projection.d.ts.map +1 -1
- package/dist/framework/fragment-target-projection.js +5 -95
- package/dist/framework/fragment-target-projection.js.map +1 -1
- package/dist/framework/operation-protocol.d.ts +9 -0
- package/dist/framework/operation-protocol.d.ts.map +1 -1
- package/dist/framework/operation-protocol.js.map +1 -1
- package/dist/framework/server-fragment-target-projection.d.ts +4 -0
- package/dist/framework/server-fragment-target-projection.d.ts.map +1 -0
- package/dist/framework/server-fragment-target-projection.js +7 -0
- package/dist/framework/server-fragment-target-projection.js.map +1 -0
- package/dist/framework/server-render-structure.d.ts +1 -0
- package/dist/framework/server-render-structure.d.ts.map +1 -1
- package/dist/framework/server-render-structure.js +1 -0
- package/dist/framework/server-render-structure.js.map +1 -1
- package/dist/framework/server-task-helpers.d.ts +1 -0
- package/dist/framework/server-task-helpers.d.ts.map +1 -1
- package/dist/framework/server-task-helpers.js +1 -0
- package/dist/framework/server-task-helpers.js.map +1 -1
- package/dist/framework/task-frames.d.ts +2 -1
- package/dist/framework/task-frames.d.ts.map +1 -1
- package/dist/framework/task-frames.js +1 -0
- package/dist/framework/task-frames.js.map +1 -1
- package/dist/runtime/tasks.d.ts +1 -0
- package/dist/runtime/tasks.d.ts.map +1 -1
- package/dist/runtime/tasks.js +1 -0
- package/dist/runtime/tasks.js.map +1 -1
- package/dist/server/component/resumption.js +5 -1
- package/dist/server/component/resumption.js.map +1 -1
- package/dist/server/component-contract/continuation-validation.d.ts +5 -0
- package/dist/server/component-contract/continuation-validation.d.ts.map +1 -1
- package/dist/server/component-contract/continuation-validation.js +7 -0
- package/dist/server/component-contract/continuation-validation.js.map +1 -1
- package/dist/server/component-contract/contract-validation.d.ts.map +1 -1
- package/dist/server/component-contract/contract-validation.js +4 -1
- package/dist/server/component-contract/contract-validation.js.map +1 -1
- package/dist/server/component-contracts.d.ts +5 -0
- package/dist/server/component-contracts.d.ts.map +1 -1
- package/dist/server/component-contracts.js.map +1 -1
- package/dist/server/framework/component-contract-validation.d.ts +1 -1
- package/dist/server/framework/component-contract-validation.d.ts.map +1 -1
- package/dist/server/framework/component-contract-validation.js +1 -1
- package/dist/server/framework/component-contract-validation.js.map +1 -1
- package/dist/server/framework/fragment-target-projection-plan.d.ts +9 -0
- package/dist/server/framework/fragment-target-projection-plan.d.ts.map +1 -0
- package/dist/server/framework/fragment-target-projection-plan.js +99 -0
- package/dist/server/framework/fragment-target-projection-plan.js.map +1 -0
- package/dist/server/framework/fragment-target-projection.d.ts +1 -5
- package/dist/server/framework/fragment-target-projection.d.ts.map +1 -1
- package/dist/server/framework/fragment-target-projection.js +5 -95
- package/dist/server/framework/fragment-target-projection.js.map +1 -1
- package/dist/server/framework/operation-protocol.d.ts +9 -0
- package/dist/server/framework/operation-protocol.d.ts.map +1 -1
- package/dist/server/framework/operation-protocol.js.map +1 -1
- package/dist/server/framework/server-fragment-target-projection.d.ts +4 -0
- package/dist/server/framework/server-fragment-target-projection.d.ts.map +1 -0
- package/dist/server/framework/server-fragment-target-projection.js +7 -0
- package/dist/server/framework/server-fragment-target-projection.js.map +1 -0
- package/dist/server/framework/server-render-structure.d.ts +1 -0
- package/dist/server/framework/server-render-structure.d.ts.map +1 -1
- package/dist/server/framework/server-render-structure.js +1 -0
- package/dist/server/framework/server-render-structure.js.map +1 -1
- package/dist/server/framework/server-task-helpers.d.ts +1 -0
- package/dist/server/framework/server-task-helpers.d.ts.map +1 -1
- package/dist/server/framework/server-task-helpers.js +1 -0
- package/dist/server/framework/server-task-helpers.js.map +1 -1
- package/dist/server/framework/task-frames.d.ts +2 -1
- package/dist/server/framework/task-frames.d.ts.map +1 -1
- package/dist/server/framework/task-frames.js +1 -0
- package/dist/server/framework/task-frames.js.map +1 -1
- package/dist/server/runtime/tasks.d.ts +1 -0
- package/dist/server/runtime/tasks.d.ts.map +1 -1
- package/dist/server/runtime/tasks.js +1 -0
- package/dist/server/runtime/tasks.js.map +1 -1
- package/dist/server/tasks/contracts.d.ts +2 -0
- package/dist/server/tasks/contracts.d.ts.map +1 -1
- package/dist/server/tasks/contracts.js.map +1 -1
- package/dist/server/tasks/progress-bindings.d.ts +20 -0
- package/dist/server/tasks/progress-bindings.d.ts.map +1 -0
- package/dist/server/tasks/progress-bindings.js +51 -0
- package/dist/server/tasks/progress-bindings.js.map +1 -0
- package/dist/server/tasks/progress-receiver.d.ts +24 -0
- package/dist/server/tasks/progress-receiver.d.ts.map +1 -0
- package/dist/server/tasks/progress-receiver.js +71 -0
- package/dist/server/tasks/progress-receiver.js.map +1 -0
- package/dist/tasks/contracts.d.ts +2 -0
- package/dist/tasks/contracts.d.ts.map +1 -1
- package/dist/tasks/contracts.js.map +1 -1
- package/dist/tasks/progress-bindings.d.ts +20 -0
- package/dist/tasks/progress-bindings.d.ts.map +1 -0
- package/dist/tasks/progress-bindings.js +51 -0
- package/dist/tasks/progress-bindings.js.map +1 -0
- package/dist/tasks/progress-receiver.d.ts +24 -0
- package/dist/tasks/progress-receiver.d.ts.map +1 -0
- package/dist/tasks/progress-receiver.js +71 -0
- package/dist/tasks/progress-receiver.js.map +1 -0
- package/package.json +1 -1
- package/dist/client/component/error-boundary.js.map +0 -1
- package/dist/server/component/error-boundary.js.map +0 -1
|
@@ -23,4 +23,5 @@ export function createDynamicChild(compute, markerId, mayReplaceSubtree = true)
|
|
|
23
23
|
export function createCompiledChildRangeReceipt(compute, markerId, mayReplaceSubtree = true) {
|
|
24
24
|
return createPreparedServerChildRange(compute(), markerId, mayReplaceSubtree);
|
|
25
25
|
}
|
|
26
|
+
export { createServerFragmentTargetProjection } from './server-fragment-target-projection.js';
|
|
26
27
|
//# sourceMappingURL=server-render-structure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-render-structure.js","sourceRoot":"","sources":["../../src/framework/server-render-structure.ts"],"names":[],"mappings":"AACA,OAAO,EACN,8BAA8B,EAE9B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EACN,2BAA2B,EAC3B,iCAAiC,EACjC,4BAA4B,EAC5B,+BAA+B,EAC/B,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EAmBrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,sCAAsC,EACtC,oDAAoD,EACpD,oCAAoC,EAEpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,4BAA4B,EAE5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACN,8BAA8B,EAC9B,4BAA4B,EAE5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,MAAM,+CAA+C,CAAC;AAEvD,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAI,OAAgB;IACnD,OAAO,OAAO,EAAE,CAAC;AAClB,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,yBAAyB,CAAI,OAAgB;IAC5D,OAAO,OAAO,EAAE,CAAC;AAClB,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,kBAAkB,CACjC,OAA2B,EAC3B,QAAiB,EACjB,iBAAiB,GAAG,IAAI;IAExB,OAAO,8BAA8B,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC/E,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,+BAA+B,CAC9C,OAA2B,EAC3B,QAAiB,EACjB,iBAAiB,GAAG,IAAI;IAExB,OAAO,8BAA8B,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC/E,CAAC","sourcesContent":["import type { RenderResult } from '../component/contracts.js';\nimport {\n\tcreatePreparedServerChildRange,\n\ttype ExactPreparedServerChildRange\n} from '../component-abi/server-child-range.js';\n\nexport { isFiniteClientBoundary, markFiniteClientBoundary } from '../hydration-boundary.js';\nexport { hasIndependentAsyncSiblings, markIndependentAsyncSiblings } from '../ssr-independence.js';\nexport { RenderProgram, ServerBoundary, ServerSlot } from '../symbols.js';\nexport {\n\tcreatePreparedRenderProgram,\n\tcreatePreparedServerRenderProgram,\n\tprepareCompiledRenderProgram,\n\treadPreparedServerRenderProgram,\n\treadRenderProgram,\n\treadRenderProgramReceipt,\n\treadRenderProgramSlot,\n\ttype ExactRenderProgram,\n\ttype ExactDirectRenderProgram,\n\ttype ExactDomRenderProgram,\n\ttype ExactRenderProgramBinding,\n\ttype ExactRenderProgramBinder,\n\ttype ExactRenderProgramBindingTarget,\n\ttype ExactRenderProgramInvocation,\n\ttype ExactRenderProgramReceipt,\n\ttype ExactRenderProgramReceiptData,\n\ttype ExactPreparedServerRenderProgram,\n\ttype ExactRenderProgramNode,\n\ttype ExactRenderProgramSlot,\n\ttype ExactRenderProgramSsrOperations,\n\ttype ExactRenderProgramSsrOutput,\n\ttype ExactRenderProgramSsrInvocation,\n\ttype ExactRenderProgramSsrWriter,\n\ttype ExactSsrRenderProgram,\n\ttype ExactTableRenderProgram\n} from '../render-program.js';\nexport {\n\tcreatePreparedServerComponentReference,\n\tcreatePreparedServerComponentReferenceFromPlainProps,\n\treadPreparedServerComponentReference,\n\ttype ExactPreparedServerComponentReference\n} from '../component-abi/receipt.js';\nexport {\n\treadPreparedServerChildRange,\n\ttype ExactPreparedServerChildRange\n} from '../component-abi/server-child-range.js';\nexport {\n\tcreatePreparedServerKeyedChild,\n\treadPreparedServerKeyedChild,\n\ttype ExactPreparedServerKeyedChild\n} from '../component-abi/server-keyed-child.js';\nexport {\n\tcreateKeyedServerSlot,\n\tcreateServerBoundary,\n\tcreateServerSlot\n} from '../component-abi/server-structure-receipts.js';\n\n/** Evaluates a compiler-known expression directly in a compiler-closed server component. */\nexport function createExpression<T>(compute: () => T): T {\n\treturn compute();\n}\n\n/** Evaluates a compiler-forwarded input directly in a compiler-closed server component. */\nexport function createForwardedExpression<T>(compute: () => T): T {\n\treturn compute();\n}\n\n/** Creates an eager focused child range for a direct server render or its local fallback. */\nexport function createDynamicChild(\n\tcompute: () => RenderResult,\n\tmarkerId?: string,\n\tmayReplaceSubtree = true\n): ExactPreparedServerChildRange {\n\treturn createPreparedServerChildRange(compute(), markerId, mayReplaceSubtree);\n}\n\n/** Creates the eager server operation for one compiler-owned dynamic child range. */\nexport function createCompiledChildRangeReceipt(\n\tcompute: () => RenderResult,\n\tmarkerId?: string,\n\tmayReplaceSubtree = true\n): ExactPreparedServerChildRange {\n\treturn createPreparedServerChildRange(compute(), markerId, mayReplaceSubtree);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"server-render-structure.js","sourceRoot":"","sources":["../../src/framework/server-render-structure.ts"],"names":[],"mappings":"AACA,OAAO,EACN,8BAA8B,EAE9B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EACN,2BAA2B,EAC3B,iCAAiC,EACjC,4BAA4B,EAC5B,+BAA+B,EAC/B,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EAmBrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,sCAAsC,EACtC,oDAAoD,EACpD,oCAAoC,EAEpC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,4BAA4B,EAE5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACN,8BAA8B,EAC9B,4BAA4B,EAE5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,MAAM,+CAA+C,CAAC;AAEvD,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAI,OAAgB;IACnD,OAAO,OAAO,EAAE,CAAC;AAClB,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,yBAAyB,CAAI,OAAgB;IAC5D,OAAO,OAAO,EAAE,CAAC;AAClB,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,kBAAkB,CACjC,OAA2B,EAC3B,QAAiB,EACjB,iBAAiB,GAAG,IAAI;IAExB,OAAO,8BAA8B,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC/E,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,+BAA+B,CAC9C,OAA2B,EAC3B,QAAiB,EACjB,iBAAiB,GAAG,IAAI;IAExB,OAAO,8BAA8B,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC/E,CAAC;AAED,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC","sourcesContent":["import type { RenderResult } from '../component/contracts.js';\nimport {\n\tcreatePreparedServerChildRange,\n\ttype ExactPreparedServerChildRange\n} from '../component-abi/server-child-range.js';\n\nexport { isFiniteClientBoundary, markFiniteClientBoundary } from '../hydration-boundary.js';\nexport { hasIndependentAsyncSiblings, markIndependentAsyncSiblings } from '../ssr-independence.js';\nexport { RenderProgram, ServerBoundary, ServerSlot } from '../symbols.js';\nexport {\n\tcreatePreparedRenderProgram,\n\tcreatePreparedServerRenderProgram,\n\tprepareCompiledRenderProgram,\n\treadPreparedServerRenderProgram,\n\treadRenderProgram,\n\treadRenderProgramReceipt,\n\treadRenderProgramSlot,\n\ttype ExactRenderProgram,\n\ttype ExactDirectRenderProgram,\n\ttype ExactDomRenderProgram,\n\ttype ExactRenderProgramBinding,\n\ttype ExactRenderProgramBinder,\n\ttype ExactRenderProgramBindingTarget,\n\ttype ExactRenderProgramInvocation,\n\ttype ExactRenderProgramReceipt,\n\ttype ExactRenderProgramReceiptData,\n\ttype ExactPreparedServerRenderProgram,\n\ttype ExactRenderProgramNode,\n\ttype ExactRenderProgramSlot,\n\ttype ExactRenderProgramSsrOperations,\n\ttype ExactRenderProgramSsrOutput,\n\ttype ExactRenderProgramSsrInvocation,\n\ttype ExactRenderProgramSsrWriter,\n\ttype ExactSsrRenderProgram,\n\ttype ExactTableRenderProgram\n} from '../render-program.js';\nexport {\n\tcreatePreparedServerComponentReference,\n\tcreatePreparedServerComponentReferenceFromPlainProps,\n\treadPreparedServerComponentReference,\n\ttype ExactPreparedServerComponentReference\n} from '../component-abi/receipt.js';\nexport {\n\treadPreparedServerChildRange,\n\ttype ExactPreparedServerChildRange\n} from '../component-abi/server-child-range.js';\nexport {\n\tcreatePreparedServerKeyedChild,\n\treadPreparedServerKeyedChild,\n\ttype ExactPreparedServerKeyedChild\n} from '../component-abi/server-keyed-child.js';\nexport {\n\tcreateKeyedServerSlot,\n\tcreateServerBoundary,\n\tcreateServerSlot\n} from '../component-abi/server-structure-receipts.js';\n\n/** Evaluates a compiler-known expression directly in a compiler-closed server component. */\nexport function createExpression<T>(compute: () => T): T {\n\treturn compute();\n}\n\n/** Evaluates a compiler-forwarded input directly in a compiler-closed server component. */\nexport function createForwardedExpression<T>(compute: () => T): T {\n\treturn compute();\n}\n\n/** Creates an eager focused child range for a direct server render or its local fallback. */\nexport function createDynamicChild(\n\tcompute: () => RenderResult,\n\tmarkerId?: string,\n\tmayReplaceSubtree = true\n): ExactPreparedServerChildRange {\n\treturn createPreparedServerChildRange(compute(), markerId, mayReplaceSubtree);\n}\n\n/** Creates the eager server operation for one compiler-owned dynamic child range. */\nexport function createCompiledChildRangeReceipt(\n\tcompute: () => RenderResult,\n\tmarkerId?: string,\n\tmayReplaceSubtree = true\n): ExactPreparedServerChildRange {\n\treturn createPreparedServerChildRange(compute(), markerId, mayReplaceSubtree);\n}\n\nexport { createServerFragmentTargetProjection } from './server-fragment-target-projection.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"}
|
|
@@ -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.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-task-helpers.js","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","sourcesContent":["export { registerComponentContinuationContexts } from '../component/context-resumption.js';\nexport { dispatchComponentContinuation } from '../component/domain.js';\nexport { activateTaskForHost } from '../tasks/activation.js';\nexport { activateComputationForHost } from '../tasks/computation-activation.js';\nexport {\n\tcreateIndexedContinuationDependency,\n\tcreateTrackedContinuationDependency\n} from '../tasks/dependency-source.js';\nexport {\n\tactivateCompiledClientLatestTaskForHost,\n\tbindCompiledClientLatestTaskForHost\n} from '../tasks/compiled-latest.js';\nexport { markComponentContinuationTask } from '../tasks/component-continuation.js';\nexport { taskMutation } from '../tasks/frame-runtime.js';\nexport { bindTaskForHost, defineTask, invokeTask } from '../tasks/runtime.js';\nexport { activateServerComponentTaskTreeForHost } from '../tasks/server-component-task-tree.js';\nexport {\n\tmutateTaskCollection,\n\townTaskResource,\n\tstageTaskMutation,\n\ttaskAnimationFrame,\n\ttaskAwait,\n\ttaskFetch,\n\ttaskIdleCallback,\n\ttaskInterval,\n\ttaskObserver,\n\ttaskTimeout\n} from '../tasks/resources.js';\nexport { combineTaskSignal, withAbortSignal, withTaskSignal } from '../tasks/signals.js';\n"]}
|
|
1
|
+
{"version":3,"file":"server-task-helpers.js","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","sourcesContent":["export { registerComponentContinuationContexts } from '../component/context-resumption.js';\nexport { dispatchComponentContinuation } from '../component/domain.js';\nexport { activateTaskForHost } from '../tasks/activation.js';\nexport { activateComputationForHost } from '../tasks/computation-activation.js';\nexport {\n\tcreateIndexedContinuationDependency,\n\tcreateTrackedContinuationDependency\n} from '../tasks/dependency-source.js';\nexport {\n\tactivateCompiledClientLatestTaskForHost,\n\tbindCompiledClientLatestTaskForHost\n} from '../tasks/compiled-latest.js';\nexport { markComponentContinuationTask } from '../tasks/component-continuation.js';\nexport { taskMutation } from '../tasks/frame-runtime.js';\nexport { bindTaskForHost, defineTask, invokeTask } from '../tasks/runtime.js';\nexport { activateServerComponentTaskTreeForHost } from '../tasks/server-component-task-tree.js';\nexport {\n\tmutateTaskCollection,\n\townTaskResource,\n\tstageTaskMutation,\n\ttaskAnimationFrame,\n\ttaskAwait,\n\ttaskFetch,\n\ttaskIdleCallback,\n\ttaskInterval,\n\ttaskObserver,\n\ttaskTimeout\n} from '../tasks/resources.js';\nexport { combineTaskSignal, withAbortSignal, withTaskSignal } from '../tasks/signals.js';\n\nexport {\n\tcreateTaskProgressReporter,\n\tregisterTaskProgressReceiver\n} from '../tasks/progress-bindings.js';\n"]}
|
|
@@ -69,5 +69,6 @@ export declare function runTaskFrame<T>(options: RunTaskFrameOptions, hooks: Run
|
|
|
69
69
|
export declare function reserveTaskFrame(options: RunTaskFrameOptions): TaskFrameReservation;
|
|
70
70
|
/** Restores a captured frame for one synchronous callback segment. */
|
|
71
71
|
export declare function runWithTaskFrame<T>(frame: TaskFrameToken, work: () => T): T;
|
|
72
|
-
export {};
|
|
72
|
+
export { attachTaskProgressReporter, taskProgressReceiverForHost } from '../tasks/progress-bindings.js';
|
|
73
|
+
export type { TaskProgressReceiver } from '../tasks/progress-receiver.js';
|
|
73
74
|
//# sourceMappingURL=task-frames.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-frames.d.ts","sourceRoot":"","sources":["../../src/framework/task-frames.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task-frames.d.ts","sourceRoot":"","sources":["../../src/framework/task-frames.ts"],"names":[],"mappings":"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"}
|
|
@@ -156,4 +156,5 @@ function rejectedTaskFrameExecution(error) {
|
|
|
156
156
|
export function runWithTaskFrame(frame, work) {
|
|
157
157
|
return withTaskFrameRecord(frame, work);
|
|
158
158
|
}
|
|
159
|
+
export { attachTaskProgressReporter, taskProgressReceiverForHost } from '../tasks/progress-bindings.js';
|
|
159
160
|
//# sourceMappingURL=task-frames.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-frames.js","sourceRoot":"","sources":["../../src/framework/task-frames.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TaskContext } from '../tasks/contracts.js';\nimport { TaskCancellation } from '../tasks/cancellation.js';\nimport {\n\tattachTaskFrameSettlement,\n\tcurrentTaskFrameRecord,\n\texecuteTaskFrame,\n\twithTaskFrameRecord,\n\ttype TaskFrameRecord\n} from '../tasks/frame-runtime.js';\n\ndeclare const taskFrameTokenBrand: unique symbol;\n\n/** Opaque authority identifying a live task frame. */\nexport interface TaskFrameToken {\n\treadonly [taskFrameTokenBrand]: true;\n}\n\n/** Framework-owned child frame policy. */\nexport interface RunTaskFrameOptions {\n\treadonly parent?: TaskFrameToken;\n\treadonly kind: string;\n\treadonly label?: string;\n\treadonly generation?: number;\n\treadonly detached?: boolean;\n\treadonly priority?: 'immediate' | 'normal' | 'deferred';\n\treadonly readiness?: 'blocking' | 'nonblocking';\n}\n\n/** Terminal structural outcome reported to framework coordinators. */\nexport type TaskFrameOutcome<T> =\n\t| { readonly status: 'fulfilled'; readonly value: T }\n\t| { readonly status: 'rejected'; readonly error: unknown }\n\t| { readonly status: 'cancelled'; readonly reason: unknown };\n\n/** Foreground readiness outcome reported exactly once. */\nexport type TaskForegroundOutcome =\n\t| { readonly status: 'ready' }\n\t| { readonly status: 'rejected'; readonly error: unknown }\n\t| { readonly status: 'cancelled'; readonly reason: unknown };\n\n/**\n * Structurally settled framework work with cooperative cancellation.\n *\n * Cancelling aborts the frame and every attached descendant. The promise does\n * not settle until foreground work, descendants, and cleanup have responded.\n */\nexport interface TaskFrameExecution<T> extends Promise<T> {\n\t/** Signal inherited by the frame's context and attached descendants. */\n\treadonly signal: AbortSignal;\n\n\t/** Requests cooperative cancellation while preserving structural settlement. */\n\tcancel(reason?: unknown): void;\n}\n\n/** Work and settlement hooks for a framework-created task frame. */\nexport interface RunTaskFrameHooks<T> {\n\twork(context: TaskContext): T | Promise<T>;\n\tafterForeground?(outcome: TaskForegroundOutcome): void | Promise<void>;\n\tafterChildren?(outcome: TaskFrameOutcome<T>): void | Promise<void>;\n}\n\n/** Atomically reserved frame that must be run or released exactly once. */\nexport interface TaskFrameReservation extends Disposable {\n\trun<T>(work: (context: TaskContext) => T | Promise<T>): TaskFrameExecution<T>;\n\tcancel(reason?: unknown): void;\n}\n\n/** Captures the synchronously active opaque task frame. */\nexport function captureTaskFrame(): TaskFrameToken | undefined {\n\treturn currentTaskFrameRecord() as TaskFrameToken | undefined;\n}\n\n/**\n * Runs framework work in a structurally attached, cooperatively cancelable\n * task frame.\n */\nexport function runTaskFrame<T>(\n\toptions: RunTaskFrameOptions,\n\thooks: RunTaskFrameHooks<T>\n): TaskFrameExecution<T> {\n\treturn createTaskFrameExecution(options, hooks, false);\n}\n\n/** Creates the cancelable public execution around one internal frame. */\nfunction createTaskFrameExecution<T>(\n\toptions: RunTaskFrameOptions,\n\thooks: RunTaskFrameHooks<T>,\n\tparentReserved: boolean\n): TaskFrameExecution<T> {\n\tconst controller = new AbortController();\n\tconst execution = runTaskFrameInternal(options, hooks, parentReserved, controller);\n\tconst parent = options.detached\n\t\t? undefined\n\t\t: ((options.parent as TaskFrameRecord | undefined) ?? currentTaskFrameRecord());\n\tif (parent && !parentReserved && parent.producerOpen && !parent.settled)\n\t\tattachTaskFrameSettlement(parent, execution);\n\treturn exposeTaskFrameExecution(execution, controller);\n}\n\n/** Adds framework cancellation authority to a native settlement promise. */\nfunction exposeTaskFrameExecution<T>(\n\texecution: Promise<T>,\n\tcontroller: AbortController\n): TaskFrameExecution<T> {\n\tlet settled = false;\n\tvoid execution.then(\n\t\t() => {\n\t\t\tsettled = true;\n\t\t},\n\t\t() => {\n\t\t\tsettled = true;\n\t\t}\n\t);\n\treturn Object.defineProperties(execution, {\n\t\tsignal: {\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: controller.signal,\n\t\t\twritable: false\n\t\t},\n\t\tcancel: {\n\t\t\tconfigurable: false,\n\t\t\tenumerable: false,\n\t\t\tvalue(reason?: unknown) {\n\t\t\t\tif (!settled) controller.abort(reason);\n\t\t\t},\n\t\t\twritable: false\n\t\t}\n\t}) as TaskFrameExecution<T>;\n}\n\nasync function runTaskFrameInternal<T>(\n\toptions: RunTaskFrameOptions,\n\thooks: RunTaskFrameHooks<T>,\n\tparentReserved: boolean,\n\tcontroller: AbortController\n): Promise<T> {\n\tlet foregroundReported = false;\n\tlet childrenReported = false;\n\ttry {\n\t\tconst value = await executeTaskFrame(\n\t\t\t{\n\t\t\t\tparent: options.parent as TaskFrameRecord | undefined,\n\t\t\t\tparentReserved,\n\t\t\t\tcontroller,\n\t\t\t\tgeneration: options.generation,\n\t\t\t\tdetached: options.detached,\n\t\t\t\tkind: options.kind,\n\t\t\t\tlabel: options.label,\n\t\t\t\tpriority: options.priority,\n\t\t\t\treadiness: options.readiness\n\t\t\t},\n\t\t\tasync (context) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await hooks.work(context);\n\t\t\t\t\tforegroundReported = true;\n\t\t\t\t\tawait hooks.afterForeground?.({ status: 'ready' });\n\t\t\t\t\treturn result;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (!foregroundReported) {\n\t\t\t\t\t\tforegroundReported = true;\n\t\t\t\t\t\tawait hooks.afterForeground?.(foregroundOutcome(controller.signal, error));\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tchildrenReported = true;\n\t\tawait hooks.afterChildren?.({ status: 'fulfilled', value });\n\t\treturn value;\n\t} catch (error) {\n\t\tif (!foregroundReported) {\n\t\t\tforegroundReported = true;\n\t\t\tawait hooks.afterForeground?.(foregroundOutcome(controller.signal, error));\n\t\t}\n\t\tif (!childrenReported) {\n\t\t\tchildrenReported = true;\n\t\t\tawait hooks.afterChildren?.(structuralOutcome(controller.signal, error));\n\t\t}\n\t\tthrow error;\n\t}\n}\n\n/** Classifies foreground failure using the frame's cancellation authority. */\nfunction foregroundOutcome(signal: AbortSignal, error: unknown): TaskForegroundOutcome {\n\treturn signal.aborted || error instanceof TaskCancellation\n\t\t? { status: 'cancelled', reason: cancellationReason(signal, error) }\n\t\t: { status: 'rejected', error };\n}\n\n/** Classifies structural failure using the frame's cancellation authority. */\nfunction structuralOutcome<T>(signal: AbortSignal, error: unknown): TaskFrameOutcome<T> {\n\treturn error instanceof TaskCancellation\n\t\t? { status: 'cancelled', reason: cancellationReason(signal, error) }\n\t\t: { status: 'rejected', error };\n}\n\n/** Preserves the originating abort reason after runtime cancellation wrapping. */\nfunction cancellationReason(signal: AbortSignal, error: unknown): unknown {\n\tif (error instanceof TaskCancellation) return error.reason;\n\treturn signal.aborted ? signal.reason : error;\n}\n\n/** Reserves an attached child before handing work to an external scheduler. */\nexport function reserveTaskFrame(options: RunTaskFrameOptions): TaskFrameReservation {\n\tconst parent = (options.parent as TaskFrameRecord | undefined) ?? currentTaskFrameRecord();\n\tif (!parent) throw new Error('A task frame reservation requires an active or explicit parent');\n\tlet used = false;\n\tlet release!: () => void;\n\tconst placeholder = new Promise<void>((resolve) => {\n\t\trelease = resolve;\n\t});\n\tattachTaskFrameSettlement(parent, placeholder);\n\treturn {\n\t\trun<T>(work: (context: TaskContext) => T | Promise<T>): TaskFrameExecution<T> {\n\t\t\tif (used)\n\t\t\t\treturn rejectedTaskFrameExecution(new Error('Task frame reservation was already released'));\n\t\t\tused = true;\n\t\t\tconst execution = createTaskFrameExecution(\n\t\t\t\t{ ...options, parent: parent as unknown as TaskFrameToken },\n\t\t\t\t{ work },\n\t\t\t\ttrue\n\t\t\t);\n\t\t\t// Keep the atomic placeholder until the public execution, including\n\t\t\t// its structural finalizer, has settled.\n\t\t\tvoid execution.then(release, release);\n\t\t\treturn execution;\n\t\t},\n\t\tcancel() {\n\t\t\tif (used) return;\n\t\t\tused = true;\n\t\t\trelease();\n\t\t},\n\t\t[Symbol.dispose]() {\n\t\t\tif (used) return;\n\t\t\tused = true;\n\t\t\trelease();\n\t\t}\n\t};\n}\n\n/** Creates a settled execution for invalid reservation reuse. */\nfunction rejectedTaskFrameExecution<T>(error: unknown): TaskFrameExecution<T> {\n\tconst controller = new AbortController();\n\treturn exposeTaskFrameExecution(Promise.reject<T>(error), controller);\n}\n\n/** Restores a captured frame for one synchronous callback segment. */\nexport function runWithTaskFrame<T>(frame: TaskFrameToken, work: () => T): T {\n\treturn withTaskFrameRecord(frame as unknown as TaskFrameRecord, work);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"task-frames.js","sourceRoot":"","sources":["../../src/framework/task-frames.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TaskContext } from '../tasks/contracts.js';\nimport { TaskCancellation } from '../tasks/cancellation.js';\nimport {\n\tattachTaskFrameSettlement,\n\tcurrentTaskFrameRecord,\n\texecuteTaskFrame,\n\twithTaskFrameRecord,\n\ttype TaskFrameRecord\n} from '../tasks/frame-runtime.js';\n\ndeclare const taskFrameTokenBrand: unique symbol;\n\n/** Opaque authority identifying a live task frame. */\nexport interface TaskFrameToken {\n\treadonly [taskFrameTokenBrand]: true;\n}\n\n/** Framework-owned child frame policy. */\nexport interface RunTaskFrameOptions {\n\treadonly parent?: TaskFrameToken;\n\treadonly kind: string;\n\treadonly label?: string;\n\treadonly generation?: number;\n\treadonly detached?: boolean;\n\treadonly priority?: 'immediate' | 'normal' | 'deferred';\n\treadonly readiness?: 'blocking' | 'nonblocking';\n}\n\n/** Terminal structural outcome reported to framework coordinators. */\nexport type TaskFrameOutcome<T> =\n\t| { readonly status: 'fulfilled'; readonly value: T }\n\t| { readonly status: 'rejected'; readonly error: unknown }\n\t| { readonly status: 'cancelled'; readonly reason: unknown };\n\n/** Foreground readiness outcome reported exactly once. */\nexport type TaskForegroundOutcome =\n\t| { readonly status: 'ready' }\n\t| { readonly status: 'rejected'; readonly error: unknown }\n\t| { readonly status: 'cancelled'; readonly reason: unknown };\n\n/**\n * Structurally settled framework work with cooperative cancellation.\n *\n * Cancelling aborts the frame and every attached descendant. The promise does\n * not settle until foreground work, descendants, and cleanup have responded.\n */\nexport interface TaskFrameExecution<T> extends Promise<T> {\n\t/** Signal inherited by the frame's context and attached descendants. */\n\treadonly signal: AbortSignal;\n\n\t/** Requests cooperative cancellation while preserving structural settlement. */\n\tcancel(reason?: unknown): void;\n}\n\n/** Work and settlement hooks for a framework-created task frame. */\nexport interface RunTaskFrameHooks<T> {\n\twork(context: TaskContext): T | Promise<T>;\n\tafterForeground?(outcome: TaskForegroundOutcome): void | Promise<void>;\n\tafterChildren?(outcome: TaskFrameOutcome<T>): void | Promise<void>;\n}\n\n/** Atomically reserved frame that must be run or released exactly once. */\nexport interface TaskFrameReservation extends Disposable {\n\trun<T>(work: (context: TaskContext) => T | Promise<T>): TaskFrameExecution<T>;\n\tcancel(reason?: unknown): void;\n}\n\n/** Captures the synchronously active opaque task frame. */\nexport function captureTaskFrame(): TaskFrameToken | undefined {\n\treturn currentTaskFrameRecord() as TaskFrameToken | undefined;\n}\n\n/**\n * Runs framework work in a structurally attached, cooperatively cancelable\n * task frame.\n */\nexport function runTaskFrame<T>(\n\toptions: RunTaskFrameOptions,\n\thooks: RunTaskFrameHooks<T>\n): TaskFrameExecution<T> {\n\treturn createTaskFrameExecution(options, hooks, false);\n}\n\n/** Creates the cancelable public execution around one internal frame. */\nfunction createTaskFrameExecution<T>(\n\toptions: RunTaskFrameOptions,\n\thooks: RunTaskFrameHooks<T>,\n\tparentReserved: boolean\n): TaskFrameExecution<T> {\n\tconst controller = new AbortController();\n\tconst execution = runTaskFrameInternal(options, hooks, parentReserved, controller);\n\tconst parent = options.detached\n\t\t? undefined\n\t\t: ((options.parent as TaskFrameRecord | undefined) ?? currentTaskFrameRecord());\n\tif (parent && !parentReserved && parent.producerOpen && !parent.settled)\n\t\tattachTaskFrameSettlement(parent, execution);\n\treturn exposeTaskFrameExecution(execution, controller);\n}\n\n/** Adds framework cancellation authority to a native settlement promise. */\nfunction exposeTaskFrameExecution<T>(\n\texecution: Promise<T>,\n\tcontroller: AbortController\n): TaskFrameExecution<T> {\n\tlet settled = false;\n\tvoid execution.then(\n\t\t() => {\n\t\t\tsettled = true;\n\t\t},\n\t\t() => {\n\t\t\tsettled = true;\n\t\t}\n\t);\n\treturn Object.defineProperties(execution, {\n\t\tsignal: {\n\t\t\tconfigurable: false,\n\t\t\tenumerable: true,\n\t\t\tvalue: controller.signal,\n\t\t\twritable: false\n\t\t},\n\t\tcancel: {\n\t\t\tconfigurable: false,\n\t\t\tenumerable: false,\n\t\t\tvalue(reason?: unknown) {\n\t\t\t\tif (!settled) controller.abort(reason);\n\t\t\t},\n\t\t\twritable: false\n\t\t}\n\t}) as TaskFrameExecution<T>;\n}\n\nasync function runTaskFrameInternal<T>(\n\toptions: RunTaskFrameOptions,\n\thooks: RunTaskFrameHooks<T>,\n\tparentReserved: boolean,\n\tcontroller: AbortController\n): Promise<T> {\n\tlet foregroundReported = false;\n\tlet childrenReported = false;\n\ttry {\n\t\tconst value = await executeTaskFrame(\n\t\t\t{\n\t\t\t\tparent: options.parent as TaskFrameRecord | undefined,\n\t\t\t\tparentReserved,\n\t\t\t\tcontroller,\n\t\t\t\tgeneration: options.generation,\n\t\t\t\tdetached: options.detached,\n\t\t\t\tkind: options.kind,\n\t\t\t\tlabel: options.label,\n\t\t\t\tpriority: options.priority,\n\t\t\t\treadiness: options.readiness\n\t\t\t},\n\t\t\tasync (context) => {\n\t\t\t\ttry {\n\t\t\t\t\tconst result = await hooks.work(context);\n\t\t\t\t\tforegroundReported = true;\n\t\t\t\t\tawait hooks.afterForeground?.({ status: 'ready' });\n\t\t\t\t\treturn result;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (!foregroundReported) {\n\t\t\t\t\t\tforegroundReported = true;\n\t\t\t\t\t\tawait hooks.afterForeground?.(foregroundOutcome(controller.signal, error));\n\t\t\t\t\t}\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tchildrenReported = true;\n\t\tawait hooks.afterChildren?.({ status: 'fulfilled', value });\n\t\treturn value;\n\t} catch (error) {\n\t\tif (!foregroundReported) {\n\t\t\tforegroundReported = true;\n\t\t\tawait hooks.afterForeground?.(foregroundOutcome(controller.signal, error));\n\t\t}\n\t\tif (!childrenReported) {\n\t\t\tchildrenReported = true;\n\t\t\tawait hooks.afterChildren?.(structuralOutcome(controller.signal, error));\n\t\t}\n\t\tthrow error;\n\t}\n}\n\n/** Classifies foreground failure using the frame's cancellation authority. */\nfunction foregroundOutcome(signal: AbortSignal, error: unknown): TaskForegroundOutcome {\n\treturn signal.aborted || error instanceof TaskCancellation\n\t\t? { status: 'cancelled', reason: cancellationReason(signal, error) }\n\t\t: { status: 'rejected', error };\n}\n\n/** Classifies structural failure using the frame's cancellation authority. */\nfunction structuralOutcome<T>(signal: AbortSignal, error: unknown): TaskFrameOutcome<T> {\n\treturn error instanceof TaskCancellation\n\t\t? { status: 'cancelled', reason: cancellationReason(signal, error) }\n\t\t: { status: 'rejected', error };\n}\n\n/** Preserves the originating abort reason after runtime cancellation wrapping. */\nfunction cancellationReason(signal: AbortSignal, error: unknown): unknown {\n\tif (error instanceof TaskCancellation) return error.reason;\n\treturn signal.aborted ? signal.reason : error;\n}\n\n/** Reserves an attached child before handing work to an external scheduler. */\nexport function reserveTaskFrame(options: RunTaskFrameOptions): TaskFrameReservation {\n\tconst parent = (options.parent as TaskFrameRecord | undefined) ?? currentTaskFrameRecord();\n\tif (!parent) throw new Error('A task frame reservation requires an active or explicit parent');\n\tlet used = false;\n\tlet release!: () => void;\n\tconst placeholder = new Promise<void>((resolve) => {\n\t\trelease = resolve;\n\t});\n\tattachTaskFrameSettlement(parent, placeholder);\n\treturn {\n\t\trun<T>(work: (context: TaskContext) => T | Promise<T>): TaskFrameExecution<T> {\n\t\t\tif (used)\n\t\t\t\treturn rejectedTaskFrameExecution(new Error('Task frame reservation was already released'));\n\t\t\tused = true;\n\t\t\tconst execution = createTaskFrameExecution(\n\t\t\t\t{ ...options, parent: parent as unknown as TaskFrameToken },\n\t\t\t\t{ work },\n\t\t\t\ttrue\n\t\t\t);\n\t\t\t// Keep the atomic placeholder until the public execution, including\n\t\t\t// its structural finalizer, has settled.\n\t\t\tvoid execution.then(release, release);\n\t\t\treturn execution;\n\t\t},\n\t\tcancel() {\n\t\t\tif (used) return;\n\t\t\tused = true;\n\t\t\trelease();\n\t\t},\n\t\t[Symbol.dispose]() {\n\t\t\tif (used) return;\n\t\t\tused = true;\n\t\t\trelease();\n\t\t}\n\t};\n}\n\n/** Creates a settled execution for invalid reservation reuse. */\nfunction rejectedTaskFrameExecution<T>(error: unknown): TaskFrameExecution<T> {\n\tconst controller = new AbortController();\n\treturn exposeTaskFrameExecution(Promise.reject<T>(error), controller);\n}\n\n/** Restores a captured frame for one synchronous callback segment. */\nexport function runWithTaskFrame<T>(frame: TaskFrameToken, work: () => T): T {\n\treturn withTaskFrameRecord(frame as unknown as TaskFrameRecord, work);\n}\n\nexport {\n\tattachTaskProgressReporter,\n\ttaskProgressReceiverForHost\n} from '../tasks/progress-bindings.js';\nexport type { TaskProgressReceiver } from '../tasks/progress-receiver.js';\n"]}
|
package/dist/runtime/tasks.d.ts
CHANGED
|
@@ -10,4 +10,5 @@ export { taskMutation } from '../tasks/frame-runtime.js';
|
|
|
10
10
|
export { bindTaskForHost, defineTask, invokeTask } from '../tasks/runtime.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=tasks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/runtime/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,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,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":"tasks.d.ts","sourceRoot":"","sources":["../../src/runtime/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,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,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"}
|
package/dist/runtime/tasks.js
CHANGED
|
@@ -10,4 +10,5 @@ export { taskMutation } from '../tasks/frame-runtime.js';
|
|
|
10
10
|
export { bindTaskForHost, defineTask, invokeTask } from '../tasks/runtime.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=tasks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/runtime/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,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,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","sourcesContent":["import './component-tasks.js';\n\nexport { registerComponentContinuationContexts } from '../component/context-resumption.js';\nexport { dispatchComponentContinuation } from '../component/domain.js';\nexport { activateTaskForHost } from '../tasks/activation.js';\nexport { activateComputationForHost } from '../tasks/computation-activation.js';\nexport {\n\tcreateIndexedContinuationDependency,\n\tcreateTrackedContinuationDependency\n} from '../tasks/dependency-source.js';\nexport {\n\tactivateCompiledClientLatestTaskForHost,\n\tbindCompiledClientLatestTaskForHost\n} from '../tasks/compiled-latest.js';\nexport { markComponentContinuationTask } from '../tasks/component-continuation.js';\nexport { taskMutation } from '../tasks/frame-runtime.js';\nexport { bindTaskForHost, defineTask, invokeTask } from '../tasks/runtime.js';\nexport {\n\tmutateTaskCollection,\n\townTaskResource,\n\tstageTaskMutation,\n\ttaskAnimationFrame,\n\ttaskAwait,\n\ttaskFetch,\n\ttaskIdleCallback,\n\ttaskInterval,\n\ttaskObserver,\n\ttaskTimeout\n} from '../tasks/resources.js';\nexport { combineTaskSignal, withAbortSignal, withTaskSignal } from '../tasks/signals.js';\n"]}
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/runtime/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,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,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","sourcesContent":["import './component-tasks.js';\n\nexport { registerComponentContinuationContexts } from '../component/context-resumption.js';\nexport { dispatchComponentContinuation } from '../component/domain.js';\nexport { activateTaskForHost } from '../tasks/activation.js';\nexport { activateComputationForHost } from '../tasks/computation-activation.js';\nexport {\n\tcreateIndexedContinuationDependency,\n\tcreateTrackedContinuationDependency\n} from '../tasks/dependency-source.js';\nexport {\n\tactivateCompiledClientLatestTaskForHost,\n\tbindCompiledClientLatestTaskForHost\n} from '../tasks/compiled-latest.js';\nexport { markComponentContinuationTask } from '../tasks/component-continuation.js';\nexport { taskMutation } from '../tasks/frame-runtime.js';\nexport { bindTaskForHost, defineTask, invokeTask } from '../tasks/runtime.js';\nexport {\n\tmutateTaskCollection,\n\townTaskResource,\n\tstageTaskMutation,\n\ttaskAnimationFrame,\n\ttaskAwait,\n\ttaskFetch,\n\ttaskIdleCallback,\n\ttaskInterval,\n\ttaskObserver,\n\ttaskTimeout\n} from '../tasks/resources.js';\nexport { combineTaskSignal, withAbortSignal, withTaskSignal } from '../tasks/signals.js';\n\nexport {\n\tcreateTaskProgressReporter,\n\tregisterTaskProgressReceiver\n} from '../tasks/progress-bindings.js';\n"]}
|
|
@@ -32,7 +32,11 @@ function writePath(target, path, value) {
|
|
|
32
32
|
cursor = created;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
|
|
35
|
+
const key = segments.at(-1);
|
|
36
|
+
// A captured collection already restores derived reads such as Map/Set.size.
|
|
37
|
+
// Reassigning that identical read would attempt to write a native getter-only property.
|
|
38
|
+
if (!Object.is(cursor[key], value))
|
|
39
|
+
cursor[key] = value;
|
|
36
40
|
}
|
|
37
41
|
/** Rejects prototype-bearing path segments before touching reactive state. */
|
|
38
42
|
function safeSegment(segment) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resumption.js","sourceRoot":"","sources":["../../../src/component/resumption.ts"],"names":[],"mappings":"AAKA,4FAA4F;AAC5F,MAAM,UAAU,wBAAwB,CACvC,KAAwC,EACxC,UAAqC;IAErC,MAAM,MAAM,GAAG,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAsD,EAAE,CAAC;YACrF,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAC5B,MAAM,IAAI,KAAK,CACd,iDAAiD,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CACvH,CAAC;YACH,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO;IACR,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACnF,CAAC;AAED,wFAAwF;AACxF,SAAS,SAAS,CAAC,MAA+B,EAAE,IAAY,EAAE,KAAc;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,mDAAmD,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,yEAAyE;QACzE,+EAA+E;QAC/E,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,GAAG,OAAkC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACP,MAAM,OAAO,GAA4B,EAAE,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;YAC1B,MAAM,GAAG,OAAO,CAAC;QAClB,CAAC;IACF,CAAC;IACD,MAAM,
|
|
1
|
+
{"version":3,"file":"resumption.js","sourceRoot":"","sources":["../../../src/component/resumption.ts"],"names":[],"mappings":"AAKA,4FAA4F;AAC5F,MAAM,UAAU,wBAAwB,CACvC,KAAwC,EACxC,UAAqC;IAErC,MAAM,MAAM,GAAG,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAsD,EAAE,CAAC;YACrF,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAC5B,MAAM,IAAI,KAAK,CACd,iDAAiD,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CACvH,CAAC;YACH,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO;IACR,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACnF,CAAC;AAED,wFAAwF;AACxF,SAAS,SAAS,CAAC,MAA+B,EAAE,IAAY,EAAE,KAAc;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,mDAAmD,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,yEAAyE;QACzE,+EAA+E;QAC/E,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,GAAG,OAAkC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACP,MAAM,OAAO,GAA4B,EAAE,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;YAC1B,MAAM,GAAG,OAAO,CAAC;QAClB,CAAC;IACF,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IAC7B,6EAA6E;IAC7E,wFAAwF;IACxF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACzD,CAAC;AAED,8EAA8E;AAC9E,SAAS,WAAW,CAAC,OAAe;IACnC,OAAO,CACN,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,OAAO,KAAK,WAAW;QACvB,OAAO,KAAK,WAAW;QACvB,OAAO,KAAK,aAAa,CACzB,CAAC;AACH,CAAC","sourcesContent":["import type { Reactive } from '@exactjs/reactive/framework/runtime';\nimport type { ComponentResumptionSource } from './contracts.js';\n\ntype IndexedResumptionField = readonly [field: number | string, value: unknown];\n\n/** Applies compiler-selected SSR state paths without replacing client-local setup state. */\nexport function applyComponentResumption(\n\tstate: Reactive<Record<string, unknown>>,\n\tresumption: ComponentResumptionSource\n): void {\n\tconst values = 'componentId' in resumption ? resumption.values : (resumption[1] ?? []);\n\tif (Array.isArray(values)) {\n\t\tfor (const [field, value] of values as unknown as readonly IndexedResumptionField[]) {\n\t\t\tif (typeof field !== 'string')\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`eXact indexed resumption was not prepared for ${'componentId' in resumption ? resumption.componentId : resumption[0]}`\n\t\t\t\t);\n\t\t\twritePath(state, field, value);\n\t\t}\n\t\treturn;\n\t}\n\tfor (const [path, value] of Object.entries(values)) writePath(state, path, value);\n}\n\n/** Materializes one validated dotted state path into the live reactive state object. */\nfunction writePath(target: Record<string, unknown>, path: string, value: unknown): void {\n\tconst segments = path.split('.');\n\tif (!segments.length || !segments.every(safeSegment)) {\n\t\tthrow new Error(`Malformed eXact component resumption state path ${path}`);\n\t}\n\tlet cursor = target;\n\tfor (const segment of segments.slice(0, -1)) {\n\t\tconst current = cursor[segment];\n\t\t// A child path can accompany its captured parent or a setup-owned array.\n\t\t// Traversing `.length` or an indexed item must preserve that array's identity.\n\t\tif (current && typeof current === 'object') {\n\t\t\tcursor = current as Record<string, unknown>;\n\t\t} else {\n\t\t\tconst created: Record<string, unknown> = {};\n\t\t\tcursor[segment] = created;\n\t\t\tcursor = created;\n\t\t}\n\t}\n\tconst key = segments.at(-1)!;\n\t// A captured collection already restores derived reads such as Map/Set.size.\n\t// Reassigning that identical read would attempt to write a native getter-only property.\n\tif (!Object.is(cursor[key], value)) cursor[key] = value;\n}\n\n/** Rejects prototype-bearing path segments before touching reactive state. */\nfunction safeSegment(segment: string): boolean {\n\treturn (\n\t\tsegment.length > 0 &&\n\t\tsegment !== '__proto__' &&\n\t\tsegment !== 'prototype' &&\n\t\tsegment !== 'constructor'\n\t);\n}\n"]}
|
|
@@ -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;
|
|
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":"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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\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":"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"}
|
|
1
|
+
{"version":3,"file":"component-contracts.d.ts","sourceRoot":"","sources":["../../src/component-contracts.ts"],"names":[],"mappings":"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"}
|