@ttsc/unplugin 0.31.0 → 0.31.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/core/bridge/projectRecordMoved.js +1 -1
- package/lib/core/bridge/projectRecordMoved.js.map +1 -1
- package/lib/core/bridge/projectRecordMoved.mjs +1 -1
- package/lib/core/bridge/projectRecordMoved.mjs.map +1 -1
- package/lib/core/bun/bun.d.cts +3 -2
- package/lib/core/bun/bun.d.mts +3 -2
- package/lib/core/bun/bun.d.ts +3 -2
- package/lib/core/bun/bun.js +8 -4
- package/lib/core/bun/bun.js.map +1 -1
- package/lib/core/bun/bun.mjs +8 -4
- package/lib/core/bun/bun.mjs.map +1 -1
- package/lib/core/observer/createInputObserver.js +7 -6
- package/lib/core/observer/createInputObserver.js.map +1 -1
- package/lib/core/observer/createInputObserver.mjs +7 -6
- package/lib/core/observer/createInputObserver.mjs.map +1 -1
- package/lib/core/observer/openIsolatedRecursiveWatch.d.cts +11 -12
- package/lib/core/observer/openIsolatedRecursiveWatch.d.mts +11 -12
- package/lib/core/observer/openIsolatedRecursiveWatch.d.ts +11 -12
- package/lib/core/observer/openIsolatedRecursiveWatch.js +11 -12
- package/lib/core/observer/openIsolatedRecursiveWatch.js.map +1 -1
- package/lib/core/observer/openIsolatedRecursiveWatch.mjs +11 -12
- package/lib/core/observer/openIsolatedRecursiveWatch.mjs.map +1 -1
- package/lib/core/transform/cache/TtscCachedProjectTransform.d.cts +12 -3
- package/lib/core/transform/cache/TtscCachedProjectTransform.d.mts +12 -3
- package/lib/core/transform/cache/TtscCachedProjectTransform.d.ts +12 -3
- package/lib/core/transform/cache/selectCachedGenerationAction.d.cts +2 -0
- package/lib/core/transform/cache/selectCachedGenerationAction.d.mts +2 -0
- package/lib/core/transform/cache/selectCachedGenerationAction.d.ts +2 -0
- package/lib/core/transform/cache/selectCachedGenerationAction.js +1 -1
- package/lib/core/transform/cache/selectCachedGenerationAction.js.map +1 -1
- package/lib/core/transform/cache/selectCachedGenerationAction.mjs +1 -1
- package/lib/core/transform/cache/selectCachedGenerationAction.mjs.map +1 -1
- package/lib/core/transform/deliverCachedTransform.d.cts +36 -0
- package/lib/core/transform/deliverCachedTransform.d.mts +36 -0
- package/lib/core/transform/deliverCachedTransform.d.ts +36 -0
- package/lib/core/transform/deliverCachedTransform.js +73 -0
- package/lib/core/transform/deliverCachedTransform.js.map +1 -0
- package/lib/core/transform/deliverCachedTransform.mjs +71 -0
- package/lib/core/transform/deliverCachedTransform.mjs.map +1 -0
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.d.cts +2 -2
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.d.mts +2 -2
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.d.ts +2 -2
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.js +6 -2
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.js.map +1 -1
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.mjs +6 -2
- package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.mjs.map +1 -1
- package/lib/core/transform/envelope/selectExternalInputPaths.d.cts +3 -5
- package/lib/core/transform/envelope/selectExternalInputPaths.d.mts +3 -5
- package/lib/core/transform/envelope/selectExternalInputPaths.d.ts +3 -5
- package/lib/core/transform/envelope/selectExternalInputPaths.js +8 -7
- package/lib/core/transform/envelope/selectExternalInputPaths.js.map +1 -1
- package/lib/core/transform/envelope/selectExternalInputPaths.mjs +8 -7
- package/lib/core/transform/envelope/selectExternalInputPaths.mjs.map +1 -1
- package/lib/core/transform/filesystem/TtscTransformFilesystemOperations.d.cts +15 -12
- package/lib/core/transform/filesystem/TtscTransformFilesystemOperations.d.mts +15 -12
- package/lib/core/transform/filesystem/TtscTransformFilesystemOperations.d.ts +15 -12
- package/lib/core/transform/generation/captureFailedGenerationInputStates.js +1 -1
- package/lib/core/transform/generation/captureFailedGenerationInputStates.js.map +1 -1
- package/lib/core/transform/generation/captureFailedGenerationInputStates.mjs +1 -1
- package/lib/core/transform/generation/captureFailedGenerationInputStates.mjs.map +1 -1
- package/lib/core/transform/generation/captureTransformGeneration.js +1 -1
- package/lib/core/transform/generation/captureTransformGeneration.js.map +1 -1
- package/lib/core/transform/generation/captureTransformGeneration.mjs +1 -1
- package/lib/core/transform/generation/captureTransformGeneration.mjs.map +1 -1
- package/lib/core/transform/generation/failedGenerationEnvironmentChanged.js +2 -2
- package/lib/core/transform/generation/failedGenerationEnvironmentChanged.js.map +1 -1
- package/lib/core/transform/generation/failedGenerationEnvironmentChanged.mjs +2 -2
- package/lib/core/transform/generation/failedGenerationEnvironmentChanged.mjs.map +1 -1
- package/lib/core/transform/generation/selectTransformAttemptDisposition.d.cts +3 -1
- package/lib/core/transform/generation/selectTransformAttemptDisposition.d.mts +3 -1
- package/lib/core/transform/generation/selectTransformAttemptDisposition.d.ts +3 -1
- package/lib/core/transform/generation/selectTransformAttemptDisposition.js +3 -1
- package/lib/core/transform/generation/selectTransformAttemptDisposition.js.map +1 -1
- package/lib/core/transform/generation/selectTransformAttemptDisposition.mjs +3 -1
- package/lib/core/transform/generation/selectTransformAttemptDisposition.mjs.map +1 -1
- package/lib/core/transform/generation/transformProject.d.cts +9 -7
- package/lib/core/transform/generation/transformProject.d.mts +9 -7
- package/lib/core/transform/generation/transformProject.d.ts +9 -7
- package/lib/core/transform/generation/transformProject.js +14 -9
- package/lib/core/transform/generation/transformProject.js.map +1 -1
- package/lib/core/transform/generation/transformProject.mjs +14 -9
- package/lib/core/transform/generation/transformProject.mjs.map +1 -1
- package/lib/core/transform/inputs/pluginSourceFilesDigest.d.cts +9 -3
- package/lib/core/transform/inputs/pluginSourceFilesDigest.d.mts +9 -3
- package/lib/core/transform/inputs/pluginSourceFilesDigest.d.ts +9 -3
- package/lib/core/transform/inputs/pluginSourceFilesDigest.js +10 -4
- package/lib/core/transform/inputs/pluginSourceFilesDigest.js.map +1 -1
- package/lib/core/transform/inputs/pluginSourceFilesDigest.mjs +11 -5
- package/lib/core/transform/inputs/pluginSourceFilesDigest.mjs.map +1 -1
- package/lib/core/transform/inputs/pluginSourceHolds.d.cts +4 -2
- package/lib/core/transform/inputs/pluginSourceHolds.d.mts +4 -2
- package/lib/core/transform/inputs/pluginSourceHolds.d.ts +4 -2
- package/lib/core/transform/inputs/pluginSourceHolds.js +9 -4
- package/lib/core/transform/inputs/pluginSourceHolds.js.map +1 -1
- package/lib/core/transform/inputs/pluginSourceHolds.mjs +9 -4
- package/lib/core/transform/inputs/pluginSourceHolds.mjs.map +1 -1
- package/lib/core/transform/inputs/pluginSourceState.d.cts +3 -1
- package/lib/core/transform/inputs/pluginSourceState.d.mts +3 -1
- package/lib/core/transform/inputs/pluginSourceState.d.ts +3 -1
- package/lib/core/transform/inputs/pluginSourceState.js +8 -3
- package/lib/core/transform/inputs/pluginSourceState.js.map +1 -1
- package/lib/core/transform/inputs/pluginSourceState.mjs +8 -3
- package/lib/core/transform/inputs/pluginSourceState.mjs.map +1 -1
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.d.cts +18 -5
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.d.mts +18 -5
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.d.ts +18 -5
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.js +53 -12
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.js.map +1 -1
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.mjs +53 -12
- package/lib/core/transform/inputs/preparePluginBuildEnvironments.mjs.map +1 -1
- package/lib/core/transform/tracker/broker/WatchBroker.d.cts +14 -4
- package/lib/core/transform/tracker/broker/WatchBroker.d.mts +14 -4
- package/lib/core/transform/tracker/broker/WatchBroker.d.ts +14 -4
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.d.cts +63 -0
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.d.mts +63 -0
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.d.ts +63 -0
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.js +89 -0
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.js.map +1 -0
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.mjs +89 -0
- package/lib/core/transform/tracker/broker/WatchBrokerTransport.mjs.map +1 -0
- package/lib/core/transform/tracker/broker/drainWatchBroker.d.cts +8 -8
- package/lib/core/transform/tracker/broker/drainWatchBroker.d.mts +8 -8
- package/lib/core/transform/tracker/broker/drainWatchBroker.d.ts +8 -8
- package/lib/core/transform/tracker/broker/drainWatchBroker.js +12 -13
- package/lib/core/transform/tracker/broker/drainWatchBroker.js.map +1 -1
- package/lib/core/transform/tracker/broker/drainWatchBroker.mjs +12 -13
- package/lib/core/transform/tracker/broker/drainWatchBroker.mjs.map +1 -1
- package/lib/core/transform/tracker/broker/getWatchBroker.d.cts +18 -15
- package/lib/core/transform/tracker/broker/getWatchBroker.d.mts +18 -15
- package/lib/core/transform/tracker/broker/getWatchBroker.d.ts +18 -15
- package/lib/core/transform/tracker/broker/getWatchBroker.js +87 -17
- package/lib/core/transform/tracker/broker/getWatchBroker.js.map +1 -1
- package/lib/core/transform/tracker/broker/getWatchBroker.mjs +87 -17
- package/lib/core/transform/tracker/broker/getWatchBroker.mjs.map +1 -1
- package/lib/core/transform/tracker/broker/openBrokeredWatch.d.cts +5 -5
- package/lib/core/transform/tracker/broker/openBrokeredWatch.d.mts +5 -5
- package/lib/core/transform/tracker/broker/openBrokeredWatch.d.ts +5 -5
- package/lib/core/transform/tracker/broker/openBrokeredWatch.js +11 -14
- package/lib/core/transform/tracker/broker/openBrokeredWatch.js.map +1 -1
- package/lib/core/transform/tracker/broker/openBrokeredWatch.mjs +11 -14
- package/lib/core/transform/tracker/broker/openBrokeredWatch.mjs.map +1 -1
- package/lib/core/transform/tracker/broker/usesWatchBroker.d.cts +7 -7
- package/lib/core/transform/tracker/broker/usesWatchBroker.d.mts +7 -7
- package/lib/core/transform/tracker/broker/usesWatchBroker.d.ts +7 -7
- package/lib/core/transform/tracker/broker/usesWatchBroker.js +7 -7
- package/lib/core/transform/tracker/broker/usesWatchBroker.mjs +7 -7
- package/lib/core/transform/tracker/broker/watchBrokerSource.d.cts +9 -10
- package/lib/core/transform/tracker/broker/watchBrokerSource.d.mts +9 -10
- package/lib/core/transform/tracker/broker/watchBrokerSource.d.ts +9 -10
- package/lib/core/transform/tracker/broker/watchBrokerSource.js +10 -11
- package/lib/core/transform/tracker/broker/watchBrokerSource.js.map +1 -1
- package/lib/core/transform/tracker/broker/watchBrokerSource.mjs +10 -11
- package/lib/core/transform/tracker/broker/watchBrokerSource.mjs.map +1 -1
- package/lib/core/transform/transformTtsc.d.cts +7 -4
- package/lib/core/transform/transformTtsc.d.mts +7 -4
- package/lib/core/transform/transformTtsc.d.ts +7 -4
- package/lib/core/transform/transformTtsc.js +38 -93
- package/lib/core/transform/transformTtsc.js.map +1 -1
- package/lib/core/transform/transformTtsc.mjs +38 -93
- package/lib/core/transform/transformTtsc.mjs.map +1 -1
- package/lib/core/transform/validation/TtscGenerationProof.d.cts +105 -0
- package/lib/core/transform/validation/TtscGenerationProof.d.mts +105 -0
- package/lib/core/transform/validation/TtscGenerationProof.d.ts +105 -0
- package/lib/core/transform/validation/TtscGenerationProof.js +149 -0
- package/lib/core/transform/validation/TtscGenerationProof.js.map +1 -0
- package/lib/core/transform/validation/TtscGenerationProof.mjs +149 -0
- package/lib/core/transform/validation/TtscGenerationProof.mjs.map +1 -0
- package/lib/core/transform/validation/captureUniversalHostInputValidation.js +2 -2
- package/lib/core/transform/validation/captureUniversalHostInputValidation.js.map +1 -1
- package/lib/core/transform/validation/captureUniversalHostInputValidation.mjs +2 -2
- package/lib/core/transform/validation/captureUniversalHostInputValidation.mjs.map +1 -1
- package/lib/core/transform/validation/matchesCachedSource.d.cts +18 -15
- package/lib/core/transform/validation/matchesCachedSource.d.mts +18 -15
- package/lib/core/transform/validation/matchesCachedSource.d.ts +18 -15
- package/lib/core/transform/validation/matchesCachedSource.js +28 -22
- package/lib/core/transform/validation/matchesCachedSource.js.map +1 -1
- package/lib/core/transform/validation/matchesCachedSource.mjs +28 -22
- package/lib/core/transform/validation/matchesCachedSource.mjs.map +1 -1
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.d.cts +3 -2
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.d.mts +3 -2
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.d.ts +3 -2
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.js +4 -4
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.js.map +1 -1
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.mjs +4 -4
- package/lib/core/transform/validation/matchesCompleteInputSnapshot.mjs.map +1 -1
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.d.cts +2 -1
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.d.mts +2 -1
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.d.ts +2 -1
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.js +2 -2
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.js.map +1 -1
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.mjs +2 -2
- package/lib/core/transform/validation/matchesNarrowPersistentInputs.mjs.map +1 -1
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.d.cts +3 -2
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.d.mts +3 -2
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.d.ts +3 -2
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.js +7 -5
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.js.map +1 -1
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.mjs +7 -5
- package/lib/core/transform/validation/matchesUniversalHostInputTrees.mjs.map +1 -1
- package/lib/core/transform/validation/matchesUniversalHostInputs.d.cts +3 -2
- package/lib/core/transform/validation/matchesUniversalHostInputs.d.mts +3 -2
- package/lib/core/transform/validation/matchesUniversalHostInputs.d.ts +3 -2
- package/lib/core/transform/validation/matchesUniversalHostInputs.js +5 -5
- package/lib/core/transform/validation/matchesUniversalHostInputs.js.map +1 -1
- package/lib/core/transform/validation/matchesUniversalHostInputs.mjs +5 -5
- package/lib/core/transform/validation/matchesUniversalHostInputs.mjs.map +1 -1
- package/lib/core/transform/validation/nativeInputPredicatesHold.d.cts +5 -4
- package/lib/core/transform/validation/nativeInputPredicatesHold.d.mts +5 -4
- package/lib/core/transform/validation/nativeInputPredicatesHold.d.ts +5 -4
- package/lib/core/transform/validation/nativeInputPredicatesHold.js +31 -12
- package/lib/core/transform/validation/nativeInputPredicatesHold.js.map +1 -1
- package/lib/core/transform/validation/nativeInputPredicatesHold.mjs +31 -12
- package/lib/core/transform/validation/nativeInputPredicatesHold.mjs.map +1 -1
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.d.cts +2 -1
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.d.mts +2 -1
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.d.ts +2 -1
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.js +2 -2
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.js.map +1 -1
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.mjs +2 -2
- package/lib/core/transform/validation/notificationsProveProgramUnchanged.mjs.map +1 -1
- package/lib/core/transform/watch/captureWatchInputBaseline.d.cts +4 -0
- package/lib/core/transform/watch/captureWatchInputBaseline.d.mts +4 -0
- package/lib/core/transform/watch/captureWatchInputBaseline.d.ts +4 -0
- package/lib/core/transform/watch/captureWatchInputBaseline.js +3 -0
- package/lib/core/transform/watch/captureWatchInputBaseline.js.map +1 -1
- package/lib/core/transform/watch/captureWatchInputBaseline.mjs +3 -0
- package/lib/core/transform/watch/captureWatchInputBaseline.mjs.map +1 -1
- package/lib/core/transform/watch/captureWatchInputBaselines.d.cts +2 -0
- package/lib/core/transform/watch/captureWatchInputBaselines.d.mts +2 -0
- package/lib/core/transform/watch/captureWatchInputBaselines.d.ts +2 -0
- package/lib/core/transform/watch/captureWatchInputBaselines.js +3 -1
- package/lib/core/transform/watch/captureWatchInputBaselines.js.map +1 -1
- package/lib/core/transform/watch/captureWatchInputBaselines.mjs +3 -1
- package/lib/core/transform/watch/captureWatchInputBaselines.mjs.map +1 -1
- package/lib/core/transform/watch/notifyWatchInputs.js +3 -0
- package/lib/core/transform/watch/notifyWatchInputs.js.map +1 -1
- package/lib/core/transform/watch/notifyWatchInputs.mjs +3 -0
- package/lib/core/transform/watch/notifyWatchInputs.mjs.map +1 -1
- package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.d.cts +5 -2
- package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.d.mts +5 -2
- package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.d.ts +5 -2
- package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.js +6 -3
- package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.js.map +1 -1
- package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.mjs +6 -3
- package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.mjs.map +1 -1
- package/lib/core/turbopack/turbopack.js +2 -1
- package/lib/core/turbopack/turbopack.js.map +1 -1
- package/lib/core/turbopack/turbopack.mjs +2 -1
- package/lib/core/turbopack/turbopack.mjs.map +1 -1
- package/package.json +3 -3
- package/src/core/bridge/projectRecordMoved.ts +3 -1
- package/src/core/bun/bun.ts +8 -4
- package/src/core/observer/createInputObserver.ts +8 -5
- package/src/core/observer/openIsolatedRecursiveWatch.ts +11 -12
- package/src/core/transform/cache/TtscCachedProjectTransform.ts +13 -3
- package/src/core/transform/cache/selectCachedGenerationAction.ts +9 -1
- package/src/core/transform/deliverCachedTransform.ts +97 -0
- package/src/core/transform/envelope/selectDeclaredProjectInputKeys.ts +5 -2
- package/src/core/transform/envelope/selectExternalInputPaths.ts +7 -7
- package/src/core/transform/filesystem/TtscTransformFilesystemOperations.ts +15 -12
- package/src/core/transform/generation/captureFailedGenerationInputStates.ts +1 -0
- package/src/core/transform/generation/captureTransformGeneration.ts +6 -1
- package/src/core/transform/generation/failedGenerationEnvironmentChanged.ts +12 -2
- package/src/core/transform/generation/selectTransformAttemptDisposition.ts +3 -1
- package/src/core/transform/generation/transformProject.ts +13 -9
- package/src/core/transform/inputs/pluginSourceFilesDigest.ts +11 -4
- package/src/core/transform/inputs/pluginSourceHolds.ts +13 -3
- package/src/core/transform/inputs/pluginSourceState.ts +8 -2
- package/src/core/transform/inputs/preparePluginBuildEnvironments.ts +64 -11
- package/src/core/transform/tracker/broker/WatchBroker.ts +15 -4
- package/src/core/transform/tracker/broker/WatchBrokerTransport.ts +82 -0
- package/src/core/transform/tracker/broker/drainWatchBroker.ts +12 -13
- package/src/core/transform/tracker/broker/getWatchBroker.ts +89 -18
- package/src/core/transform/tracker/broker/openBrokeredWatch.ts +11 -14
- package/src/core/transform/tracker/broker/usesWatchBroker.ts +7 -7
- package/src/core/transform/tracker/broker/watchBrokerSource.ts +10 -11
- package/src/core/transform/transformTtsc.ts +38 -92
- package/src/core/transform/validation/TtscGenerationProof.ts +201 -0
- package/src/core/transform/validation/captureUniversalHostInputValidation.ts +2 -1
- package/src/core/transform/validation/matchesCachedSource.ts +27 -21
- package/src/core/transform/validation/matchesCompleteInputSnapshot.ts +5 -3
- package/src/core/transform/validation/matchesNarrowPersistentInputs.ts +3 -1
- package/src/core/transform/validation/matchesUniversalHostInputTrees.ts +8 -3
- package/src/core/transform/validation/matchesUniversalHostInputs.ts +6 -4
- package/src/core/transform/validation/nativeInputPredicatesHold.ts +36 -14
- package/src/core/transform/validation/notificationsProveProgramUnchanged.ts +3 -1
- package/src/core/transform/watch/captureWatchInputBaseline.ts +4 -0
- package/src/core/transform/watch/captureWatchInputBaselines.ts +7 -1
- package/src/core/transform/watch/notifyWatchInputs.ts +3 -0
- package/src/core/transform/watch/watchInputEvidenceMatchesDisk.ts +12 -2
- package/src/core/turbopack/turbopack.ts +2 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TtscCachedProjectTransform } from "../cache/TtscCachedProjectTransform";
|
|
2
|
+
import type { TtscGenerationProof } from "./TtscGenerationProof";
|
|
2
3
|
/**
|
|
3
4
|
* Validate every generation-owned native config predicate before cache reuse.
|
|
4
5
|
* This check also applies when notification/epoch shortcuts admit other inputs.
|
|
@@ -10,8 +11,8 @@ import type { TtscCachedProjectTransform } from "../cache/TtscCachedProjectTrans
|
|
|
10
11
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts Metadata and notification shortcuts cannot omit typed config predicates or repair an unstable producer witness.
|
|
11
12
|
* @evidence contracts/common.md#meaningful-documentation The comment identifies generation ownership and the admission shortcuts that must retain this gate.
|
|
12
13
|
* @evidence contracts/portability.md#os-neutral-implementation Relative names are resolved against the recorded project with the filesystem view's path dialect; native identity and encoding belong to the replay operation.
|
|
13
|
-
* @evidence contracts/performance.md#efficient-algorithms
|
|
14
|
-
* @
|
|
15
|
-
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources
|
|
14
|
+
* @evidence contracts/performance.md#efficient-algorithms Immutable observation membership is indexed once, including an empty population. Each new synchronous admission replays only indexed native predicates and stops at the first refusal; nested validators share its verdict without another scan or native query. Empty populations require no native replay context.
|
|
15
|
+
* @evidence contracts/performance.md#reuse-equivalent-work A weak observation index shares immutable membership. Current verdicts belong only to an exact-owner synchronous transaction, never the next delivery or an await.
|
|
16
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The weak index follows immutable observation lifetime; synchronous verdicts and native queries acquire no handle or history.
|
|
16
17
|
*/
|
|
17
|
-
export declare function nativeInputPredicatesHold(cached: TtscCachedProjectTransform): boolean;
|
|
18
|
+
export declare function nativeInputPredicatesHold(cached: TtscCachedProjectTransform, proof?: TtscGenerationProof.Transaction): boolean;
|
|
@@ -5,6 +5,10 @@ var resultFilesystem = require('../cache/resultFilesystem.js');
|
|
|
5
5
|
var envelopeDerivation = require('../envelope/envelopeDerivation.js');
|
|
6
6
|
var nativeInputPredicateMatches = require('../inputs/nativeInputPredicateMatches.js');
|
|
7
7
|
|
|
8
|
+
// Weakly owned by immutable observation membership, never by current verdict.
|
|
9
|
+
// Keeping this separate from native path derivation also preserves the empty
|
|
10
|
+
// predicate gate's promise to perform no native identity observations.
|
|
11
|
+
const predicateInputs = new WeakMap();
|
|
8
12
|
/**
|
|
9
13
|
* Validate every generation-owned native config predicate before cache reuse.
|
|
10
14
|
* This check also applies when notification/epoch shortcuts admit other inputs.
|
|
@@ -16,29 +20,44 @@ var nativeInputPredicateMatches = require('../inputs/nativeInputPredicateMatches
|
|
|
16
20
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts Metadata and notification shortcuts cannot omit typed config predicates or repair an unstable producer witness.
|
|
17
21
|
* @evidence contracts/common.md#meaningful-documentation The comment identifies generation ownership and the admission shortcuts that must retain this gate.
|
|
18
22
|
* @evidence contracts/portability.md#os-neutral-implementation Relative names are resolved against the recorded project with the filesystem view's path dialect; native identity and encoding belong to the replay operation.
|
|
19
|
-
* @evidence contracts/performance.md#efficient-algorithms
|
|
20
|
-
* @
|
|
21
|
-
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources
|
|
23
|
+
* @evidence contracts/performance.md#efficient-algorithms Immutable observation membership is indexed once, including an empty population. Each new synchronous admission replays only indexed native predicates and stops at the first refusal; nested validators share its verdict without another scan or native query. Empty populations require no native replay context.
|
|
24
|
+
* @evidence contracts/performance.md#reuse-equivalent-work A weak observation index shares immutable membership. Current verdicts belong only to an exact-owner synchronous transaction, never the next delivery or an await.
|
|
25
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The weak index follows immutable observation lifetime; synchronous verdicts and native queries acquire no handle or history.
|
|
22
26
|
*/
|
|
23
|
-
function nativeInputPredicatesHold(cached) {
|
|
27
|
+
function nativeInputPredicatesHold(cached, proof) {
|
|
24
28
|
if (cached.result.type === "exception")
|
|
25
29
|
return false;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
if (proof?.cached === cached && proof.nativePredicates !== undefined)
|
|
31
|
+
return proof.nativePredicates;
|
|
32
|
+
// Membership is immutable generation data. A positive native verdict is
|
|
33
|
+
// current observation: share it only with nested synchronous validators,
|
|
34
|
+
// never the next delivery, pass or await (#1714).
|
|
35
|
+
const finish = (matches) => {
|
|
36
|
+
if (proof?.cached === cached)
|
|
37
|
+
proof.nativePredicates = matches;
|
|
38
|
+
return matches;
|
|
39
|
+
};
|
|
40
|
+
const observations = cached.result.graph?.inputObservations;
|
|
41
|
+
if (observations === undefined)
|
|
42
|
+
return finish(true);
|
|
43
|
+
let inputs = predicateInputs.get(observations);
|
|
44
|
+
if (inputs === undefined) {
|
|
45
|
+
inputs = Object.entries(observations).filter(([, observation]) => (observation.nativePredicates?.length ?? 0) !== 0);
|
|
46
|
+
predicateInputs.set(observations, inputs);
|
|
47
|
+
}
|
|
48
|
+
if (inputs.length === 0)
|
|
49
|
+
return finish(true);
|
|
29
50
|
const filesystem = resultFilesystem.resultFilesystem(cached.result);
|
|
30
51
|
const identities = envelopeDerivation.envelopeDerivation(cached).identityContext;
|
|
31
|
-
for (const [name, observation] of
|
|
32
|
-
if ((observation.nativePredicates?.length ?? 0) === 0)
|
|
33
|
-
continue;
|
|
52
|
+
for (const [name, observation] of inputs) {
|
|
34
53
|
const file = ((filesystem.platform ?? process.platform) === "win32"
|
|
35
54
|
? path.win32
|
|
36
55
|
: path.posix).resolve(cached.projectRoot, name);
|
|
37
56
|
for (const predicate of observation.nativePredicates ?? [])
|
|
38
57
|
if (!nativeInputPredicateMatches.nativeInputPredicateMatches(file, predicate, filesystem, identities))
|
|
39
|
-
return false;
|
|
58
|
+
return finish(false);
|
|
40
59
|
}
|
|
41
|
-
return true;
|
|
60
|
+
return finish(true);
|
|
42
61
|
}
|
|
43
62
|
|
|
44
63
|
exports.nativeInputPredicatesHold = nativeInputPredicatesHold;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeInputPredicatesHold.js","sources":["../../../../src/core/transform/validation/nativeInputPredicatesHold.ts"],"sourcesContent":[null],"names":["resultFilesystem","envelopeDerivation","nativeInputPredicateMatches"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"nativeInputPredicatesHold.js","sources":["../../../../src/core/transform/validation/nativeInputPredicatesHold.ts"],"sourcesContent":[null],"names":["resultFilesystem","envelopeDerivation","nativeInputPredicateMatches"],"mappings":";;;;;;;AASA;AACA;AACA;AACA,MAAM,eAAe,GAAG,IAAI,OAAO,EAGhC;AAEH;;;;;;;;;;;;;;AAcG;AACG,SAAU,yBAAyB,CACvC,MAAkC,EAClC,KAAuC,EAAA;AAEvC,IAAA,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW;AAAE,QAAA,OAAO,KAAK;IACpD,IAAI,KAAK,EAAE,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS;QAClE,OAAO,KAAK,CAAC,gBAAgB;;;;AAI/B,IAAA,MAAM,MAAM,GAAG,CAAC,OAAgB,KAAa;AAC3C,QAAA,IAAI,KAAK,EAAE,MAAM,KAAK,MAAM;AAAE,YAAA,KAAK,CAAC,gBAAgB,GAAG,OAAO;AAC9D,QAAA,OAAO,OAAO;AAChB,IAAA,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB;IAC3D,IAAI,YAAY,KAAK,SAAS;AAAE,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC;IACnD,IAAI,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC;AAC9C,IAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,QAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAC1C,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,CACvE;AACD,QAAA,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC;IAC3C;AACA,IAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AAAE,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC;IAC5C,MAAM,UAAU,GAAGA,iCAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;IAClD,MAAM,UAAU,GAAGC,qCAAkB,CAAC,MAAM,CAAC,CAAC,eAAe;IAC7D,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,MAAM,EAAE;AACxC,QAAA,MAAM,IAAI,GAAG,CACX,CAAC,UAAU,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,MAAM;cAC1C,IAAI,CAAC;AACP,cAAE,IAAI,CAAC,KAAK,EACd,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC;AACnC,QAAA,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,gBAAgB,IAAI,EAAE;YACxD,IAAI,CAACC,uDAA2B,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;AACvE,gBAAA,OAAO,MAAM,CAAC,KAAK,CAAC;IAC1B;AACA,IAAA,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB;;;;"}
|
|
@@ -3,6 +3,10 @@ import { resultFilesystem } from '../cache/resultFilesystem.mjs';
|
|
|
3
3
|
import { envelopeDerivation } from '../envelope/envelopeDerivation.mjs';
|
|
4
4
|
import { nativeInputPredicateMatches } from '../inputs/nativeInputPredicateMatches.mjs';
|
|
5
5
|
|
|
6
|
+
// Weakly owned by immutable observation membership, never by current verdict.
|
|
7
|
+
// Keeping this separate from native path derivation also preserves the empty
|
|
8
|
+
// predicate gate's promise to perform no native identity observations.
|
|
9
|
+
const predicateInputs = new WeakMap();
|
|
6
10
|
/**
|
|
7
11
|
* Validate every generation-owned native config predicate before cache reuse.
|
|
8
12
|
* This check also applies when notification/epoch shortcuts admit other inputs.
|
|
@@ -14,29 +18,44 @@ import { nativeInputPredicateMatches } from '../inputs/nativeInputPredicateMatch
|
|
|
14
18
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts Metadata and notification shortcuts cannot omit typed config predicates or repair an unstable producer witness.
|
|
15
19
|
* @evidence contracts/common.md#meaningful-documentation The comment identifies generation ownership and the admission shortcuts that must retain this gate.
|
|
16
20
|
* @evidence contracts/portability.md#os-neutral-implementation Relative names are resolved against the recorded project with the filesystem view's path dialect; native identity and encoding belong to the replay operation.
|
|
17
|
-
* @evidence contracts/performance.md#efficient-algorithms
|
|
18
|
-
* @
|
|
19
|
-
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources
|
|
21
|
+
* @evidence contracts/performance.md#efficient-algorithms Immutable observation membership is indexed once, including an empty population. Each new synchronous admission replays only indexed native predicates and stops at the first refusal; nested validators share its verdict without another scan or native query. Empty populations require no native replay context.
|
|
22
|
+
* @evidence contracts/performance.md#reuse-equivalent-work A weak observation index shares immutable membership. Current verdicts belong only to an exact-owner synchronous transaction, never the next delivery or an await.
|
|
23
|
+
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources The weak index follows immutable observation lifetime; synchronous verdicts and native queries acquire no handle or history.
|
|
20
24
|
*/
|
|
21
|
-
function nativeInputPredicatesHold(cached) {
|
|
25
|
+
function nativeInputPredicatesHold(cached, proof) {
|
|
22
26
|
if (cached.result.type === "exception")
|
|
23
27
|
return false;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
if (proof?.cached === cached && proof.nativePredicates !== undefined)
|
|
29
|
+
return proof.nativePredicates;
|
|
30
|
+
// Membership is immutable generation data. A positive native verdict is
|
|
31
|
+
// current observation: share it only with nested synchronous validators,
|
|
32
|
+
// never the next delivery, pass or await (#1714).
|
|
33
|
+
const finish = (matches) => {
|
|
34
|
+
if (proof?.cached === cached)
|
|
35
|
+
proof.nativePredicates = matches;
|
|
36
|
+
return matches;
|
|
37
|
+
};
|
|
38
|
+
const observations = cached.result.graph?.inputObservations;
|
|
39
|
+
if (observations === undefined)
|
|
40
|
+
return finish(true);
|
|
41
|
+
let inputs = predicateInputs.get(observations);
|
|
42
|
+
if (inputs === undefined) {
|
|
43
|
+
inputs = Object.entries(observations).filter(([, observation]) => (observation.nativePredicates?.length ?? 0) !== 0);
|
|
44
|
+
predicateInputs.set(observations, inputs);
|
|
45
|
+
}
|
|
46
|
+
if (inputs.length === 0)
|
|
47
|
+
return finish(true);
|
|
27
48
|
const filesystem = resultFilesystem(cached.result);
|
|
28
49
|
const identities = envelopeDerivation(cached).identityContext;
|
|
29
|
-
for (const [name, observation] of
|
|
30
|
-
if ((observation.nativePredicates?.length ?? 0) === 0)
|
|
31
|
-
continue;
|
|
50
|
+
for (const [name, observation] of inputs) {
|
|
32
51
|
const file = ((filesystem.platform ?? process.platform) === "win32"
|
|
33
52
|
? path.win32
|
|
34
53
|
: path.posix).resolve(cached.projectRoot, name);
|
|
35
54
|
for (const predicate of observation.nativePredicates ?? [])
|
|
36
55
|
if (!nativeInputPredicateMatches(file, predicate, filesystem, identities))
|
|
37
|
-
return false;
|
|
56
|
+
return finish(false);
|
|
38
57
|
}
|
|
39
|
-
return true;
|
|
58
|
+
return finish(true);
|
|
40
59
|
}
|
|
41
60
|
|
|
42
61
|
export { nativeInputPredicatesHold };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeInputPredicatesHold.mjs","sources":["../../../../src/core/transform/validation/nativeInputPredicatesHold.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"nativeInputPredicatesHold.mjs","sources":["../../../../src/core/transform/validation/nativeInputPredicatesHold.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AASA;AACA;AACA;AACA,MAAM,eAAe,GAAG,IAAI,OAAO,EAGhC;AAEH;;;;;;;;;;;;;;AAcG;AACG,SAAU,yBAAyB,CACvC,MAAkC,EAClC,KAAuC,EAAA;AAEvC,IAAA,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW;AAAE,QAAA,OAAO,KAAK;IACpD,IAAI,KAAK,EAAE,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS;QAClE,OAAO,KAAK,CAAC,gBAAgB;;;;AAI/B,IAAA,MAAM,MAAM,GAAG,CAAC,OAAgB,KAAa;AAC3C,QAAA,IAAI,KAAK,EAAE,MAAM,KAAK,MAAM;AAAE,YAAA,KAAK,CAAC,gBAAgB,GAAG,OAAO;AAC9D,QAAA,OAAO,OAAO;AAChB,IAAA,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB;IAC3D,IAAI,YAAY,KAAK,SAAS;AAAE,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC;IACnD,IAAI,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC;AAC9C,IAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,QAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAC1C,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,CACvE;AACD,QAAA,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC;IAC3C;AACA,IAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AAAE,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC;IAC5C,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;IAClD,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,eAAe;IAC7D,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,MAAM,EAAE;AACxC,QAAA,MAAM,IAAI,GAAG,CACX,CAAC,UAAU,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,MAAM;cAC1C,IAAI,CAAC;AACP,cAAE,IAAI,CAAC,KAAK,EACd,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC;AACnC,QAAA,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,gBAAgB,IAAI,EAAE;YACxD,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;AACvE,gBAAA,OAAO,MAAM,CAAC,KAAK,CAAC;IAC1B;AACA,IAAA,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TtscCachedProjectTransform } from "../cache/TtscCachedProjectTransform.cjs";
|
|
2
|
+
import type { TtscGenerationProof } from "./TtscGenerationProof.cjs";
|
|
2
3
|
/**
|
|
3
4
|
* Whether the generation's live notifications prove its program could not have
|
|
4
5
|
* changed since capture (samchon/ttsc#1398).
|
|
@@ -34,4 +35,4 @@ export declare function notificationsProveProgramUnchanged(
|
|
|
34
35
|
* Generation supplying live tracker state, compiler policy and universal
|
|
35
36
|
* proof.
|
|
36
37
|
*/
|
|
37
|
-
cached: TtscCachedProjectTransform): boolean;
|
|
38
|
+
cached: TtscCachedProjectTransform, proof?: TtscGenerationProof.Transaction): boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TtscCachedProjectTransform } from "../cache/TtscCachedProjectTransform.mjs";
|
|
2
|
+
import type { TtscGenerationProof } from "./TtscGenerationProof.mjs";
|
|
2
3
|
/**
|
|
3
4
|
* Whether the generation's live notifications prove its program could not have
|
|
4
5
|
* changed since capture (samchon/ttsc#1398).
|
|
@@ -34,4 +35,4 @@ export declare function notificationsProveProgramUnchanged(
|
|
|
34
35
|
* Generation supplying live tracker state, compiler policy and universal
|
|
35
36
|
* proof.
|
|
36
37
|
*/
|
|
37
|
-
cached: TtscCachedProjectTransform): boolean;
|
|
38
|
+
cached: TtscCachedProjectTransform, proof?: TtscGenerationProof.Transaction): boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TtscCachedProjectTransform } from "../cache/TtscCachedProjectTransform";
|
|
2
|
+
import type { TtscGenerationProof } from "./TtscGenerationProof";
|
|
2
3
|
/**
|
|
3
4
|
* Whether the generation's live notifications prove its program could not have
|
|
4
5
|
* changed since capture (samchon/ttsc#1398).
|
|
@@ -34,4 +35,4 @@ export declare function notificationsProveProgramUnchanged(
|
|
|
34
35
|
* Generation supplying live tracker state, compiler policy and universal
|
|
35
36
|
* proof.
|
|
36
37
|
*/
|
|
37
|
-
cached: TtscCachedProjectTransform): boolean;
|
|
38
|
+
cached: TtscCachedProjectTransform, proof?: TtscGenerationProof.Transaction): boolean;
|
|
@@ -42,7 +42,7 @@ function notificationsProveProgramUnchanged(
|
|
|
42
42
|
* Generation supplying live tracker state, compiler policy and universal
|
|
43
43
|
* proof.
|
|
44
44
|
*/
|
|
45
|
-
cached) {
|
|
45
|
+
cached, proof) {
|
|
46
46
|
if (!notificationsProveMembership.notificationsProveMembership(cached))
|
|
47
47
|
return false;
|
|
48
48
|
for (const tracker of [
|
|
@@ -75,7 +75,7 @@ cached) {
|
|
|
75
75
|
// stands for content only against a reference minted since any rollback, as
|
|
76
76
|
// every other delivery proof mints before it reads.
|
|
77
77
|
refreshFilesystemClockReference.refreshFilesystemClockReference(TRANSFORM_CLOCK_REFERENCE_DIRECTORIES.TRANSFORM_CLOCK_REFERENCE_DIRECTORIES.get(cached), resultFilesystem.resultFilesystem(cached.result));
|
|
78
|
-
return matchesUniversalHostInputs.matchesUniversalHostInputs(cached, cached.hostInputValidation);
|
|
78
|
+
return matchesUniversalHostInputs.matchesUniversalHostInputs(cached, cached.hostInputValidation, proof);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
exports.notificationsProveProgramUnchanged = notificationsProveProgramUnchanged;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notificationsProveProgramUnchanged.js","sources":["../../../../src/core/transform/validation/notificationsProveProgramUnchanged.ts"],"sourcesContent":[null],"names":["notificationsProveMembership","isProjectWalkPath","resultFilesystem","refreshFilesystemClockReference","TRANSFORM_CLOCK_REFERENCE_DIRECTORIES","matchesUniversalHostInputs"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"notificationsProveProgramUnchanged.js","sources":["../../../../src/core/transform/validation/notificationsProveProgramUnchanged.ts"],"sourcesContent":[null],"names":["notificationsProveMembership","isProjectWalkPath","resultFilesystem","refreshFilesystemClockReference","TRANSFORM_CLOCK_REFERENCE_DIRECTORIES","matchesUniversalHostInputs"],"mappings":";;;;;;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;SACa,kCAAkC;AAChD;;;AAGG;AACH,MAAkC,EAClC,KAAuC,EAAA;AAEvC,IAAA,IAAI,CAACA,yDAA4B,CAAC,MAAM,CAAC;AAAE,QAAA,OAAO,KAAK;IACvD,KAAK,MAAM,OAAO,IAAI;AACpB,QAAA,MAAM,CAAC,sBAAsB;AAC7B,QAAA,MAAM,CAAC,wBAAwB;AAC/B,QAAA,MAAM,CAAC,wBAAwB;AAChC,KAAA,EAAE;QACD,IAAI,OAAO,KAAK,SAAS;YAAE;AAC3B,QAAA,IACE,OAAO,CAAC,oBAAoB,KAAK,IAAI;AACrC,YAAA,OAAO,CAAC,iBAAiB;YACzB,OAAO,CAAC,cAAc,EACtB;AACA,YAAA,OAAO,KAAK;QACd;AACA,QAAA,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;;;;AAIrC,YAAA,IACE,OAAO,KAAK,MAAM,CAAC,sBAAsB;gBACzCC,mCAAiB,CACf,MAAM,CAAC,WAAW,EAClB,OAAO,EACP,SAAS,EACTC,iCAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAC/B,MAAM,CAAC,gBAAgB,CACxB,EACD;AACA,gBAAA,OAAO,KAAK;YACd;QACF;IACF;AACA,IAAA,IACE,MAAM,CAAC,sBAAsB,KAAK,SAAS;AAC3C,QAAA,MAAM,CAAC,mBAAmB,KAAK,SAAS,EACxC;AACA,QAAA,OAAO,KAAK;IACd;;;;AAIA,IAAAC,+DAA+B,CAC7BC,2EAAqC,CAAC,GAAG,CAAC,MAAM,CAAC,EACjDF,iCAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAChC;IACD,OAAOG,qDAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC;AAC9E;;;;"}
|
|
@@ -40,7 +40,7 @@ function notificationsProveProgramUnchanged(
|
|
|
40
40
|
* Generation supplying live tracker state, compiler policy and universal
|
|
41
41
|
* proof.
|
|
42
42
|
*/
|
|
43
|
-
cached) {
|
|
43
|
+
cached, proof) {
|
|
44
44
|
if (!notificationsProveMembership(cached))
|
|
45
45
|
return false;
|
|
46
46
|
for (const tracker of [
|
|
@@ -73,7 +73,7 @@ cached) {
|
|
|
73
73
|
// stands for content only against a reference minted since any rollback, as
|
|
74
74
|
// every other delivery proof mints before it reads.
|
|
75
75
|
refreshFilesystemClockReference(TRANSFORM_CLOCK_REFERENCE_DIRECTORIES.get(cached), resultFilesystem(cached.result));
|
|
76
|
-
return matchesUniversalHostInputs(cached, cached.hostInputValidation);
|
|
76
|
+
return matchesUniversalHostInputs(cached, cached.hostInputValidation, proof);
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
export { notificationsProveProgramUnchanged };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notificationsProveProgramUnchanged.mjs","sources":["../../../../src/core/transform/validation/notificationsProveProgramUnchanged.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"notificationsProveProgramUnchanged.mjs","sources":["../../../../src/core/transform/validation/notificationsProveProgramUnchanged.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;SACa,kCAAkC;AAChD;;;AAGG;AACH,MAAkC,EAClC,KAAuC,EAAA;AAEvC,IAAA,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC;AAAE,QAAA,OAAO,KAAK;IACvD,KAAK,MAAM,OAAO,IAAI;AACpB,QAAA,MAAM,CAAC,sBAAsB;AAC7B,QAAA,MAAM,CAAC,wBAAwB;AAC/B,QAAA,MAAM,CAAC,wBAAwB;AAChC,KAAA,EAAE;QACD,IAAI,OAAO,KAAK,SAAS;YAAE;AAC3B,QAAA,IACE,OAAO,CAAC,oBAAoB,KAAK,IAAI;AACrC,YAAA,OAAO,CAAC,iBAAiB;YACzB,OAAO,CAAC,cAAc,EACtB;AACA,YAAA,OAAO,KAAK;QACd;AACA,QAAA,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;;;;AAIrC,YAAA,IACE,OAAO,KAAK,MAAM,CAAC,sBAAsB;gBACzC,iBAAiB,CACf,MAAM,CAAC,WAAW,EAClB,OAAO,EACP,SAAS,EACT,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAC/B,MAAM,CAAC,gBAAgB,CACxB,EACD;AACA,gBAAA,OAAO,KAAK;YACd;QACF;IACF;AACA,IAAA,IACE,MAAM,CAAC,sBAAsB,KAAK,SAAS;AAC3C,QAAA,MAAM,CAAC,mBAAmB,KAAK,SAAS,EACxC;AACA,QAAA,OAAO,KAAK;IACd;;;;AAIA,IAAA,+BAA+B,CAC7B,qCAAqC,CAAC,GAAG,CAAC,MAAM,CAAC,EACjD,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAChC;IACD,OAAO,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC;AAC9E;;;;"}
|
|
@@ -12,6 +12,9 @@ import type { TtscWatchInputBaseline } from "./TtscWatchInputBaseline.cjs";
|
|
|
12
12
|
* a recorded predicate. Unrequested listings are not enumerated.
|
|
13
13
|
* @param options.nativePredicates Native version-one codec kinds requested by
|
|
14
14
|
* recorded inputs. Raw native listings are independent of compiler listings.
|
|
15
|
+
* @param options.projectRoot Project whose plugin cache records prove a plugin
|
|
16
|
+
* tree, so a new process does not read its sources and SDK again
|
|
17
|
+
* (samchon/ttsc#1725).
|
|
15
18
|
* @evidence contracts/common.md#principled-implementation Two independently captured codec facts must agree before a baseline is returned; equality detects observed changes but cannot establish absence of intervening unobserved changes.
|
|
16
19
|
* @evidence contracts/common.md#clear-and-simple-design The singleton delegates to the batch owner, which assembles codec facts and owns independent observations and failure handling.
|
|
17
20
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts Unavailable reads retain their explicit codec markers and predicates; a mismatch or escaping exception declines capture without supplying expected state or retrying until a desired answer appears.
|
|
@@ -25,4 +28,5 @@ export declare function captureWatchInputBaseline(file: string, filesystem?: Tts
|
|
|
25
28
|
tree?: boolean;
|
|
26
29
|
accessibleEntries?: boolean;
|
|
27
30
|
nativePredicates?: readonly (keyof NonNullable<TtscWatchInputBaseline["nativePredicates"]>)[];
|
|
31
|
+
projectRoot?: string;
|
|
28
32
|
}): TtscWatchInputBaseline | undefined;
|
|
@@ -12,6 +12,9 @@ import type { TtscWatchInputBaseline } from "./TtscWatchInputBaseline.mjs";
|
|
|
12
12
|
* a recorded predicate. Unrequested listings are not enumerated.
|
|
13
13
|
* @param options.nativePredicates Native version-one codec kinds requested by
|
|
14
14
|
* recorded inputs. Raw native listings are independent of compiler listings.
|
|
15
|
+
* @param options.projectRoot Project whose plugin cache records prove a plugin
|
|
16
|
+
* tree, so a new process does not read its sources and SDK again
|
|
17
|
+
* (samchon/ttsc#1725).
|
|
15
18
|
* @evidence contracts/common.md#principled-implementation Two independently captured codec facts must agree before a baseline is returned; equality detects observed changes but cannot establish absence of intervening unobserved changes.
|
|
16
19
|
* @evidence contracts/common.md#clear-and-simple-design The singleton delegates to the batch owner, which assembles codec facts and owns independent observations and failure handling.
|
|
17
20
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts Unavailable reads retain their explicit codec markers and predicates; a mismatch or escaping exception declines capture without supplying expected state or retrying until a desired answer appears.
|
|
@@ -25,4 +28,5 @@ export declare function captureWatchInputBaseline(file: string, filesystem?: Tts
|
|
|
25
28
|
tree?: boolean;
|
|
26
29
|
accessibleEntries?: boolean;
|
|
27
30
|
nativePredicates?: readonly (keyof NonNullable<TtscWatchInputBaseline["nativePredicates"]>)[];
|
|
31
|
+
projectRoot?: string;
|
|
28
32
|
}): TtscWatchInputBaseline | undefined;
|
|
@@ -12,6 +12,9 @@ import type { TtscWatchInputBaseline } from "./TtscWatchInputBaseline";
|
|
|
12
12
|
* a recorded predicate. Unrequested listings are not enumerated.
|
|
13
13
|
* @param options.nativePredicates Native version-one codec kinds requested by
|
|
14
14
|
* recorded inputs. Raw native listings are independent of compiler listings.
|
|
15
|
+
* @param options.projectRoot Project whose plugin cache records prove a plugin
|
|
16
|
+
* tree, so a new process does not read its sources and SDK again
|
|
17
|
+
* (samchon/ttsc#1725).
|
|
15
18
|
* @evidence contracts/common.md#principled-implementation Two independently captured codec facts must agree before a baseline is returned; equality detects observed changes but cannot establish absence of intervening unobserved changes.
|
|
16
19
|
* @evidence contracts/common.md#clear-and-simple-design The singleton delegates to the batch owner, which assembles codec facts and owns independent observations and failure handling.
|
|
17
20
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts Unavailable reads retain their explicit codec markers and predicates; a mismatch or escaping exception declines capture without supplying expected state or retrying until a desired answer appears.
|
|
@@ -25,4 +28,5 @@ export declare function captureWatchInputBaseline(file: string, filesystem?: Tts
|
|
|
25
28
|
tree?: boolean;
|
|
26
29
|
accessibleEntries?: boolean;
|
|
27
30
|
nativePredicates?: readonly (keyof NonNullable<TtscWatchInputBaseline["nativePredicates"]>)[];
|
|
31
|
+
projectRoot?: string;
|
|
28
32
|
}): TtscWatchInputBaseline | undefined;
|
|
@@ -15,6 +15,9 @@ var captureWatchInputBaselines = require('./captureWatchInputBaselines.js');
|
|
|
15
15
|
* a recorded predicate. Unrequested listings are not enumerated.
|
|
16
16
|
* @param options.nativePredicates Native version-one codec kinds requested by
|
|
17
17
|
* recorded inputs. Raw native listings are independent of compiler listings.
|
|
18
|
+
* @param options.projectRoot Project whose plugin cache records prove a plugin
|
|
19
|
+
* tree, so a new process does not read its sources and SDK again
|
|
20
|
+
* (samchon/ttsc#1725).
|
|
18
21
|
* @evidence contracts/common.md#principled-implementation Two independently captured codec facts must agree before a baseline is returned; equality detects observed changes but cannot establish absence of intervening unobserved changes.
|
|
19
22
|
* @evidence contracts/common.md#clear-and-simple-design The singleton delegates to the batch owner, which assembles codec facts and owns independent observations and failure handling.
|
|
20
23
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts Unavailable reads retain their explicit codec markers and predicates; a mismatch or escaping exception declines capture without supplying expected state or retrying until a desired answer appears.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captureWatchInputBaseline.js","sources":["../../../../src/core/transform/watch/captureWatchInputBaseline.ts"],"sourcesContent":[null],"names":["DEFAULT_FILESYSTEM_OPERATIONS","captureWatchInputBaselines"],"mappings":";;;;;AAKA
|
|
1
|
+
{"version":3,"file":"captureWatchInputBaseline.js","sources":["../../../../src/core/transform/watch/captureWatchInputBaseline.ts"],"sourcesContent":[null],"names":["DEFAULT_FILESYSTEM_OPERATIONS","captureWatchInputBaselines"],"mappings":";;;;;AAKA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,SAAU,yBAAyB,CACvC,IAAY,EACZ,UAAA,GAAgDA,2DAA6B,EAC7E,OAAA,GAOI,EAAE,EAAA;AAEN,IAAA,OAAOC,qDAA0B,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAC1E;;;;"}
|
|
@@ -13,6 +13,9 @@ import { captureWatchInputBaselines } from './captureWatchInputBaselines.mjs';
|
|
|
13
13
|
* a recorded predicate. Unrequested listings are not enumerated.
|
|
14
14
|
* @param options.nativePredicates Native version-one codec kinds requested by
|
|
15
15
|
* recorded inputs. Raw native listings are independent of compiler listings.
|
|
16
|
+
* @param options.projectRoot Project whose plugin cache records prove a plugin
|
|
17
|
+
* tree, so a new process does not read its sources and SDK again
|
|
18
|
+
* (samchon/ttsc#1725).
|
|
16
19
|
* @evidence contracts/common.md#principled-implementation Two independently captured codec facts must agree before a baseline is returned; equality detects observed changes but cannot establish absence of intervening unobserved changes.
|
|
17
20
|
* @evidence contracts/common.md#clear-and-simple-design The singleton delegates to the batch owner, which assembles codec facts and owns independent observations and failure handling.
|
|
18
21
|
* @evidence contracts/common.md#prohibited-implementation-shortcuts Unavailable reads retain their explicit codec markers and predicates; a mismatch or escaping exception declines capture without supplying expected state or retrying until a desired answer appears.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captureWatchInputBaseline.mjs","sources":["../../../../src/core/transform/watch/captureWatchInputBaseline.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA
|
|
1
|
+
{"version":3,"file":"captureWatchInputBaseline.mjs","sources":["../../../../src/core/transform/watch/captureWatchInputBaseline.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAKA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,SAAU,yBAAyB,CACvC,IAAY,EACZ,UAAA,GAAgD,6BAA6B,EAC7E,OAAA,GAOI,EAAE,EAAA;AAEN,IAAA,OAAO,0BAA0B,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAC1E;;;;"}
|
|
@@ -28,4 +28,6 @@ export declare function captureWatchInputBaselines(files: Iterable<string>, file
|
|
|
28
28
|
tree?: boolean;
|
|
29
29
|
accessibleEntries?: boolean;
|
|
30
30
|
nativePredicates?: readonly (keyof NonNullable<TtscWatchInputBaseline["nativePredicates"]>)[];
|
|
31
|
+
/** Project whose plugin cache records prove a plugin tree (#1725). */
|
|
32
|
+
projectRoot?: string;
|
|
31
33
|
}): Map<string, TtscWatchInputBaseline | undefined>;
|
|
@@ -28,4 +28,6 @@ export declare function captureWatchInputBaselines(files: Iterable<string>, file
|
|
|
28
28
|
tree?: boolean;
|
|
29
29
|
accessibleEntries?: boolean;
|
|
30
30
|
nativePredicates?: readonly (keyof NonNullable<TtscWatchInputBaseline["nativePredicates"]>)[];
|
|
31
|
+
/** Project whose plugin cache records prove a plugin tree (#1725). */
|
|
32
|
+
projectRoot?: string;
|
|
31
33
|
}): Map<string, TtscWatchInputBaseline | undefined>;
|
|
@@ -28,4 +28,6 @@ export declare function captureWatchInputBaselines(files: Iterable<string>, file
|
|
|
28
28
|
tree?: boolean;
|
|
29
29
|
accessibleEntries?: boolean;
|
|
30
30
|
nativePredicates?: readonly (keyof NonNullable<TtscWatchInputBaseline["nativePredicates"]>)[];
|
|
31
|
+
/** Project whose plugin cache records prove a plugin tree (#1725). */
|
|
32
|
+
projectRoot?: string;
|
|
31
33
|
}): Map<string, TtscWatchInputBaseline | undefined>;
|
|
@@ -111,7 +111,9 @@ function capture(file, filesystem, identities, options) {
|
|
|
111
111
|
identity: pathIdentityKey.pathIdentityKey(file, identities),
|
|
112
112
|
realpath: compilerInputRealpathObservation.compilerInputRealpathObservation(file, filesystem),
|
|
113
113
|
stat,
|
|
114
|
-
...(options.tree === true
|
|
114
|
+
...(options.tree === true
|
|
115
|
+
? { tree: pluginSourceState.pluginSourceState(file, undefined, options.projectRoot) }
|
|
116
|
+
: {}),
|
|
115
117
|
};
|
|
116
118
|
}
|
|
117
119
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captureWatchInputBaselines.js","sources":["../../../../src/core/transform/watch/captureWatchInputBaselines.ts"],"sourcesContent":[null],"names":["DEFAULT_FILESYSTEM_OPERATIONS","createHostPathIdentityContext","stableStringify","compilerStatKind","compilerInputTextHash","hashText","MISSING_INPUT_STATE","nativeInputPredicateState","compilerAccessibleEntries","pathIdentityKey","compilerInputRealpathObservation","pluginSourceState"],"mappings":";;;;;;;;;;;;;;;AAiBA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,SAAU,0BAA0B,CACxC,KAAuB,EACvB,UAAA,GAAgDA,2DAA6B,EAC7E,OAAA,
|
|
1
|
+
{"version":3,"file":"captureWatchInputBaselines.js","sources":["../../../../src/core/transform/watch/captureWatchInputBaselines.ts"],"sourcesContent":[null],"names":["DEFAULT_FILESYSTEM_OPERATIONS","createHostPathIdentityContext","stableStringify","compilerStatKind","compilerInputTextHash","hashText","MISSING_INPUT_STATE","nativeInputPredicateState","compilerAccessibleEntries","pathIdentityKey","compilerInputRealpathObservation","pluginSourceState"],"mappings":"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"}
|
|
@@ -109,7 +109,9 @@ function capture(file, filesystem, identities, options) {
|
|
|
109
109
|
identity: pathIdentityKey(file, identities),
|
|
110
110
|
realpath: compilerInputRealpathObservation(file, filesystem),
|
|
111
111
|
stat,
|
|
112
|
-
...(options.tree === true
|
|
112
|
+
...(options.tree === true
|
|
113
|
+
? { tree: pluginSourceState(file, undefined, options.projectRoot) }
|
|
114
|
+
: {}),
|
|
113
115
|
};
|
|
114
116
|
}
|
|
115
117
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captureWatchInputBaselines.mjs","sources":["../../../../src/core/transform/watch/captureWatchInputBaselines.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;AAiBA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,SAAU,0BAA0B,CACxC,KAAuB,EACvB,UAAA,GAAgD,6BAA6B,EAC7E,OAAA,
|
|
1
|
+
{"version":3,"file":"captureWatchInputBaselines.mjs","sources":["../../../../src/core/transform/watch/captureWatchInputBaselines.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;AAiBA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,SAAU,0BAA0B,CACxC,KAAuB,EACvB,UAAA,GAAgD,6BAA6B,EAC7E,OAAA,GAQI,EAAE,EAAA;IAEN,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,MAAsD;AACpE,QAAA,MAAM,UAAU,GAAG,6BAA6B,CAAC,UAAU,CAAC;QAC5D,OAAO,IAAI,GAAG,CACZ,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACpB,YAAA,IAAI;gBACF,OAAO;oBACL,IAAI;oBACJ,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC;iBACtC;YACZ;AAAE,YAAA,MAAM;AACN,gBAAA,OAAO,CAAC,IAAI,EAAE,SAAS,CAAU;YACnC;QACF,CAAC,CAAC,CACH;AACH,IAAA,CAAC;AACD,IAAA,MAAM,MAAM,GAAG,OAAO,EAAE;AACxB,IAAA,MAAM,KAAK,GAAG,OAAO,EAAE;AACvB,IAAA,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;AAC3B,QAAA,IACE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS;AAC9B,YAAA,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEtE,YAAA,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC;IAC9B;AACA,IAAA,OAAO,KAAK;AACd;AAEA;AACA,SAAS,OAAO,CACd,IAAY,EACZ,UAA6C,EAC7C,UAAyC,EACzC,OAQC,EAAA;IAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC;AAC/C,IAAA,IAAI,KAAyB;AAC7B,IAAA,IAAI,SAAkB;AACtB,IAAA,IAAI;AACF,QAAA,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;IACnC;IAAE,OAAO,KAAK,EAAE;QACd,SAAS,GAAG,KAAK;;IAEnB;IACA,MAAM,aAAa,GACjB,IAAI,KAAK,WAAW,IAAI,KAAK,KAAK;AAChC,UAAE;AACF,UAAE,qBAAqB,CAAC,KAAK,CAAC;AAClC,IAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,6BAA6B,CAAC;AAC7D,IAAA,MAAM,QAAQ,GACZ,KAAK,KAAK;UACN,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK;AACvC,cAAE;AACF,cAAE;AACJ,UAAE,QAAQ,CAAC,KAAK,CAAC;IACrB,MAAM,gBAAgB,GAElB,EAAE;AACN,IAAA,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE;QAC1D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE;YACjE,QAAQ,GAAA;gBACN,IAAI,KAAK,KAAK,SAAS;AAAE,oBAAA,MAAM,SAAS;AACxC,gBAAA,OAAO,KAAK;YACd,CAAC;AACF,SAAA,CAAC;AACF,QAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC1B,YAAA,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC;QAC1E;AACA,QAAA,gBAAgB,CAAC,IAAI,CAAC,GAAG,QAAQ;IACnC;IACA,OAAO;QACL,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC;AAC3E,QAAA,IAAI,OAAO,CAAC,iBAAiB,KAAK;cAC9B,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,IAAI,EAAE,UAAU,CAAC;cAChE,EAAE,CAAC;QACP,eAAe,EAAE,IAAI,KAAK,WAAW;QACrC,UAAU,EAAE,IAAI,KAAK,MAAM;AAC3B,QAAA,SAAS,EACP,aAAa;aACZ,IAAI,KAAK,WAAW,GAAG,aAAa,GAAG,mBAAmB,CAAC;QAC9D,aAAa;QACb,QAAQ;AACR,QAAA,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;AAC3C,QAAA,QAAQ,EAAE,gCAAgC,CAAC,IAAI,EAAE,UAAU,CAAC;QAC5D,IAAI;AACJ,QAAA,IAAI,OAAO,CAAC,IAAI,KAAK;AACnB,cAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC;cAC/D,EAAE,CAAC;KACR;AACH;;;;"}
|
|
@@ -50,6 +50,9 @@ function notifyWatchInputs(hooks, cached, file, selection) {
|
|
|
50
50
|
// A module handed over without its record depends on its own bytes alone,
|
|
51
51
|
// so no persistent cache may keep it.
|
|
52
52
|
if (hooks.project !== undefined &&
|
|
53
|
+
// Common delivery already withdrew this host cache. Incomplete local
|
|
54
|
+
// output cannot write a record, so avoid a second withdrawal callback.
|
|
55
|
+
cached.freshDeliveryOnly !== true &&
|
|
53
56
|
!notifyProjectRecord.notifyProjectRecord(hooks.project, cached, false, () => generationWatchInputs.generationWatchInputs(cached), routedInputs)) {
|
|
54
57
|
hooks.markVolatile?.();
|
|
55
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifyWatchInputs.js","sources":["../../../../src/core/transform/watch/notifyWatchInputs.ts"],"sourcesContent":[null],"names":["envelopeDerivation","selectionInputs","notifyProjectRecord","generationWatchInputs","hostSpelling","selectWatchInputs","evidencedWatchInput","projectMembershipInput","handWatchInputs"],"mappings":";;;;;;;;;;;;AAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACG,SAAU,iBAAiB,CAC/B,KAAqC,EACrC,MAAkC,EAClC,IAAY,EACZ,SAA6B,EAAA;IAE7B,IACE,KAAK,KAAK,SAAS;AACnB,SAAC,KAAK,CAAC,OAAO,KAAK,SAAS;YAC1B,KAAK,CAAC,YAAY,KAAK,SAAS;AAChC,YAAA,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,EACpC;QACA;IACF;AACA,IAAA,MAAM,KAAK,GAAGA,qCAAkB,CAAC,MAAM,CAAC;AACxC,IAAA,MAAM,YAAY,GAAGC,+BAAe,CAClC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC1D,SAAS,CAAC,UAAU,EACpB,CAAC,KAAK,KAAK,KAAK,CACjB;;;AAGD,IAAA,IACE,KAAK,CAAC,OAAO,KAAK,SAAS;
|
|
1
|
+
{"version":3,"file":"notifyWatchInputs.js","sources":["../../../../src/core/transform/watch/notifyWatchInputs.ts"],"sourcesContent":[null],"names":["envelopeDerivation","selectionInputs","notifyProjectRecord","generationWatchInputs","hostSpelling","selectWatchInputs","evidencedWatchInput","projectMembershipInput","handWatchInputs"],"mappings":";;;;;;;;;;;;AAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACG,SAAU,iBAAiB,CAC/B,KAAqC,EACrC,MAAkC,EAClC,IAAY,EACZ,SAA6B,EAAA;IAE7B,IACE,KAAK,KAAK,SAAS;AACnB,SAAC,KAAK,CAAC,OAAO,KAAK,SAAS;YAC1B,KAAK,CAAC,YAAY,KAAK,SAAS;AAChC,YAAA,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,EACpC;QACA;IACF;AACA,IAAA,MAAM,KAAK,GAAGA,qCAAkB,CAAC,MAAM,CAAC;AACxC,IAAA,MAAM,YAAY,GAAGC,+BAAe,CAClC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC1D,SAAS,CAAC,UAAU,EACpB,CAAC,KAAK,KAAK,KAAK,CACjB;;;AAGD,IAAA,IACE,KAAK,CAAC,OAAO,KAAK,SAAS;;;QAG3B,MAAM,CAAC,iBAAiB,KAAK,IAAI;QACjC,CAACC,uCAAmB,CAClB,KAAK,CAAC,OAAO,EACb,MAAM,EACN,KAAK,EACL,MAAMC,2CAAqB,CAAC,MAAM,CAAC,EACnC,YAAY,CACb,EACD;AACA,QAAA,KAAK,CAAC,YAAY,IAAI;IACxB;AACA,IAAA,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE;QACzE;IACF;IACA,MAAM,KAAK,GAAGC,yBAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;IAC/C,MAAM,MAAM,GAAqBC,mCAAiB,CAAC;QACjD,IAAI;QACJ,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;AAC5C,KAAA,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAKC,uCAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;;;AAGnE,IAAA,MAAM,UAAU,GACd,KAAK,CAAC,UAAU,KAAK,IAAI,GAAGC,6CAAsB,CAAC,MAAM,CAAC,GAAG,SAAS;IACxE,IAAI,UAAU,KAAK,SAAS;AAAE,QAAA,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,IAAA,KAAK,MAAM,aAAa,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;AACvD,QAAA,GAAG,KAAK;AACR,QAAA,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;AACxB,KAAA,CAAC,CAAC;AACD,QAAA,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;AAC5B,IAAAC,+BAAe,CAAC,KAAK,EAAE,MAAM,CAAC;AAChC;;;;"}
|
|
@@ -48,6 +48,9 @@ function notifyWatchInputs(hooks, cached, file, selection) {
|
|
|
48
48
|
// A module handed over without its record depends on its own bytes alone,
|
|
49
49
|
// so no persistent cache may keep it.
|
|
50
50
|
if (hooks.project !== undefined &&
|
|
51
|
+
// Common delivery already withdrew this host cache. Incomplete local
|
|
52
|
+
// output cannot write a record, so avoid a second withdrawal callback.
|
|
53
|
+
cached.freshDeliveryOnly !== true &&
|
|
51
54
|
!notifyProjectRecord(hooks.project, cached, false, () => generationWatchInputs(cached), routedInputs)) {
|
|
52
55
|
hooks.markVolatile?.();
|
|
53
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifyWatchInputs.mjs","sources":["../../../../src/core/transform/watch/notifyWatchInputs.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACG,SAAU,iBAAiB,CAC/B,KAAqC,EACrC,MAAkC,EAClC,IAAY,EACZ,SAA6B,EAAA;IAE7B,IACE,KAAK,KAAK,SAAS;AACnB,SAAC,KAAK,CAAC,OAAO,KAAK,SAAS;YAC1B,KAAK,CAAC,YAAY,KAAK,SAAS;AAChC,YAAA,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,EACpC;QACA;IACF;AACA,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC;AACxC,IAAA,MAAM,YAAY,GAAG,eAAe,CAClC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC1D,SAAS,CAAC,UAAU,EACpB,CAAC,KAAK,KAAK,KAAK,CACjB;;;AAGD,IAAA,IACE,KAAK,CAAC,OAAO,KAAK,SAAS;
|
|
1
|
+
{"version":3,"file":"notifyWatchInputs.mjs","sources":["../../../../src/core/transform/watch/notifyWatchInputs.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACG,SAAU,iBAAiB,CAC/B,KAAqC,EACrC,MAAkC,EAClC,IAAY,EACZ,SAA6B,EAAA;IAE7B,IACE,KAAK,KAAK,SAAS;AACnB,SAAC,KAAK,CAAC,OAAO,KAAK,SAAS;YAC1B,KAAK,CAAC,YAAY,KAAK,SAAS;AAChC,YAAA,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,EACpC;QACA;IACF;AACA,IAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC;AACxC,IAAA,MAAM,YAAY,GAAG,eAAe,CAClC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC1D,SAAS,CAAC,UAAU,EACpB,CAAC,KAAK,KAAK,KAAK,CACjB;;;AAGD,IAAA,IACE,KAAK,CAAC,OAAO,KAAK,SAAS;;;QAG3B,MAAM,CAAC,iBAAiB,KAAK,IAAI;QACjC,CAAC,mBAAmB,CAClB,KAAK,CAAC,OAAO,EACb,MAAM,EACN,KAAK,EACL,MAAM,qBAAqB,CAAC,MAAM,CAAC,EACnC,YAAY,CACb,EACD;AACA,QAAA,KAAK,CAAC,YAAY,IAAI;IACxB;AACA,IAAA,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE;QACzE;IACF;IACA,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;IAC/C,MAAM,MAAM,GAAqB,iBAAiB,CAAC;QACjD,IAAI;QACJ,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;AAC5C,KAAA,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;;;AAGnE,IAAA,MAAM,UAAU,GACd,KAAK,CAAC,UAAU,KAAK,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,GAAG,SAAS;IACxE,IAAI,UAAU,KAAK,SAAS;AAAE,QAAA,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;AACrD,IAAA,KAAK,MAAM,aAAa,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;AACvD,QAAA,GAAG,KAAK;AACR,QAAA,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;AACxB,KAAA,CAAC,CAAC;AACD,QAAA,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;AAC5B,IAAA,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC;AAChC;;;;"}
|
|
@@ -10,7 +10,10 @@ import type { TtscWatchInputEvidence } from "./TtscWatchInputEvidence.cjs";
|
|
|
10
10
|
* a graph input by its state hash and physical target; a host input by the host
|
|
11
11
|
* bytes' hash. The root-file membership is a walk over many paths and never
|
|
12
12
|
* stands for one, so its evidence matches nothing here; the record holds it
|
|
13
|
-
* apart. Evidence without a state proves nothing and does not match.
|
|
13
|
+
* apart. Evidence without a state proves nothing and does not match. A plugin
|
|
14
|
+
* tree is proven through the plugin cache records of the project the caller
|
|
15
|
+
* names, so a new process does not read its sources and SDK again
|
|
16
|
+
* (samchon/ttsc#1725).
|
|
14
17
|
*
|
|
15
18
|
* @evidence contracts/common.md#principled-implementation Each codec replays its recorded meaning: complete predicates, graph hash plus physical target, raw host hash or plugin-tree state; membership and absent state cannot establish one-path agreement.
|
|
16
19
|
* @evidence contracts/common.md#clear-and-simple-design Discriminant branches delegate each observation to the codec owner and expose one conservative boolean comparison.
|
|
@@ -21,4 +24,4 @@ import type { TtscWatchInputEvidence } from "./TtscWatchInputEvidence.cjs";
|
|
|
21
24
|
* @evidenceExclude contracts/performance.md#reuse-equivalent-work This asks whether current disk observations match a record; observer and plugin-tree owners establish any valid reuse, rather than caching this boolean without change witnesses.
|
|
22
25
|
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Comparison contexts and observed buffers are call-local; retained tree caches and active watchers have separate owners.
|
|
23
26
|
*/
|
|
24
|
-
export declare function watchInputEvidenceMatchesDisk(file: string, evidence: TtscWatchInputEvidence, filesystem?: TtscTransformFilesystemOperations): boolean;
|
|
27
|
+
export declare function watchInputEvidenceMatchesDisk(file: string, evidence: TtscWatchInputEvidence, filesystem?: TtscTransformFilesystemOperations, projectRoot?: string): boolean;
|
|
@@ -10,7 +10,10 @@ import type { TtscWatchInputEvidence } from "./TtscWatchInputEvidence.mjs";
|
|
|
10
10
|
* a graph input by its state hash and physical target; a host input by the host
|
|
11
11
|
* bytes' hash. The root-file membership is a walk over many paths and never
|
|
12
12
|
* stands for one, so its evidence matches nothing here; the record holds it
|
|
13
|
-
* apart. Evidence without a state proves nothing and does not match.
|
|
13
|
+
* apart. Evidence without a state proves nothing and does not match. A plugin
|
|
14
|
+
* tree is proven through the plugin cache records of the project the caller
|
|
15
|
+
* names, so a new process does not read its sources and SDK again
|
|
16
|
+
* (samchon/ttsc#1725).
|
|
14
17
|
*
|
|
15
18
|
* @evidence contracts/common.md#principled-implementation Each codec replays its recorded meaning: complete predicates, graph hash plus physical target, raw host hash or plugin-tree state; membership and absent state cannot establish one-path agreement.
|
|
16
19
|
* @evidence contracts/common.md#clear-and-simple-design Discriminant branches delegate each observation to the codec owner and expose one conservative boolean comparison.
|
|
@@ -21,4 +24,4 @@ import type { TtscWatchInputEvidence } from "./TtscWatchInputEvidence.mjs";
|
|
|
21
24
|
* @evidenceExclude contracts/performance.md#reuse-equivalent-work This asks whether current disk observations match a record; observer and plugin-tree owners establish any valid reuse, rather than caching this boolean without change witnesses.
|
|
22
25
|
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Comparison contexts and observed buffers are call-local; retained tree caches and active watchers have separate owners.
|
|
23
26
|
*/
|
|
24
|
-
export declare function watchInputEvidenceMatchesDisk(file: string, evidence: TtscWatchInputEvidence, filesystem?: TtscTransformFilesystemOperations): boolean;
|
|
27
|
+
export declare function watchInputEvidenceMatchesDisk(file: string, evidence: TtscWatchInputEvidence, filesystem?: TtscTransformFilesystemOperations, projectRoot?: string): boolean;
|
|
@@ -10,7 +10,10 @@ import type { TtscWatchInputEvidence } from "./TtscWatchInputEvidence";
|
|
|
10
10
|
* a graph input by its state hash and physical target; a host input by the host
|
|
11
11
|
* bytes' hash. The root-file membership is a walk over many paths and never
|
|
12
12
|
* stands for one, so its evidence matches nothing here; the record holds it
|
|
13
|
-
* apart. Evidence without a state proves nothing and does not match.
|
|
13
|
+
* apart. Evidence without a state proves nothing and does not match. A plugin
|
|
14
|
+
* tree is proven through the plugin cache records of the project the caller
|
|
15
|
+
* names, so a new process does not read its sources and SDK again
|
|
16
|
+
* (samchon/ttsc#1725).
|
|
14
17
|
*
|
|
15
18
|
* @evidence contracts/common.md#principled-implementation Each codec replays its recorded meaning: complete predicates, graph hash plus physical target, raw host hash or plugin-tree state; membership and absent state cannot establish one-path agreement.
|
|
16
19
|
* @evidence contracts/common.md#clear-and-simple-design Discriminant branches delegate each observation to the codec owner and expose one conservative boolean comparison.
|
|
@@ -21,4 +24,4 @@ import type { TtscWatchInputEvidence } from "./TtscWatchInputEvidence";
|
|
|
21
24
|
* @evidenceExclude contracts/performance.md#reuse-equivalent-work This asks whether current disk observations match a record; observer and plugin-tree owners establish any valid reuse, rather than caching this boolean without change witnesses.
|
|
22
25
|
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Comparison contexts and observed buffers are call-local; retained tree caches and active watchers have separate owners.
|
|
23
26
|
*/
|
|
24
|
-
export declare function watchInputEvidenceMatchesDisk(file: string, evidence: TtscWatchInputEvidence, filesystem?: TtscTransformFilesystemOperations): boolean;
|
|
27
|
+
export declare function watchInputEvidenceMatchesDisk(file: string, evidence: TtscWatchInputEvidence, filesystem?: TtscTransformFilesystemOperations, projectRoot?: string): boolean;
|
|
@@ -20,7 +20,10 @@ var MISSING_INPUT_STATE = require('../validation/MISSING_INPUT_STATE.js');
|
|
|
20
20
|
* a graph input by its state hash and physical target; a host input by the host
|
|
21
21
|
* bytes' hash. The root-file membership is a walk over many paths and never
|
|
22
22
|
* stands for one, so its evidence matches nothing here; the record holds it
|
|
23
|
-
* apart. Evidence without a state proves nothing and does not match.
|
|
23
|
+
* apart. Evidence without a state proves nothing and does not match. A plugin
|
|
24
|
+
* tree is proven through the plugin cache records of the project the caller
|
|
25
|
+
* names, so a new process does not read its sources and SDK again
|
|
26
|
+
* (samchon/ttsc#1725).
|
|
24
27
|
*
|
|
25
28
|
* @evidence contracts/common.md#principled-implementation Each codec replays its recorded meaning: complete predicates, graph hash plus physical target, raw host hash or plugin-tree state; membership and absent state cannot establish one-path agreement.
|
|
26
29
|
* @evidence contracts/common.md#clear-and-simple-design Discriminant branches delegate each observation to the codec owner and expose one conservative boolean comparison.
|
|
@@ -31,13 +34,13 @@ var MISSING_INPUT_STATE = require('../validation/MISSING_INPUT_STATE.js');
|
|
|
31
34
|
* @evidenceExclude contracts/performance.md#reuse-equivalent-work This asks whether current disk observations match a record; observer and plugin-tree owners establish any valid reuse, rather than caching this boolean without change witnesses.
|
|
32
35
|
* @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Comparison contexts and observed buffers are call-local; retained tree caches and active watchers have separate owners.
|
|
33
36
|
*/
|
|
34
|
-
function watchInputEvidenceMatchesDisk(file, evidence, filesystem = DEFAULT_FILESYSTEM_OPERATIONS.DEFAULT_FILESYSTEM_OPERATIONS) {
|
|
37
|
+
function watchInputEvidenceMatchesDisk(file, evidence, filesystem = DEFAULT_FILESYSTEM_OPERATIONS.DEFAULT_FILESYSTEM_OPERATIONS, projectRoot) {
|
|
35
38
|
const state = evidence.state;
|
|
36
39
|
if (state === undefined || state.codec === "membership")
|
|
37
40
|
return false;
|
|
38
41
|
try {
|
|
39
42
|
if (state.codec === "tree") {
|
|
40
|
-
return pluginSourceHolds.pluginSourceHolds(file, state.digest, filesystem);
|
|
43
|
+
return pluginSourceHolds.pluginSourceHolds(file, state.digest, filesystem, undefined, projectRoot);
|
|
41
44
|
}
|
|
42
45
|
if (state.codec === "predicates") {
|
|
43
46
|
return matchesGraphInputObservation.matchesGraphInputObservation(file, state.observation, filesystem, createHostPathIdentityContext.createHostPathIdentityContext(filesystem));
|