@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.
Files changed (291) hide show
  1. package/lib/core/bridge/projectRecordMoved.js +1 -1
  2. package/lib/core/bridge/projectRecordMoved.js.map +1 -1
  3. package/lib/core/bridge/projectRecordMoved.mjs +1 -1
  4. package/lib/core/bridge/projectRecordMoved.mjs.map +1 -1
  5. package/lib/core/bun/bun.d.cts +3 -2
  6. package/lib/core/bun/bun.d.mts +3 -2
  7. package/lib/core/bun/bun.d.ts +3 -2
  8. package/lib/core/bun/bun.js +8 -4
  9. package/lib/core/bun/bun.js.map +1 -1
  10. package/lib/core/bun/bun.mjs +8 -4
  11. package/lib/core/bun/bun.mjs.map +1 -1
  12. package/lib/core/observer/createInputObserver.js +7 -6
  13. package/lib/core/observer/createInputObserver.js.map +1 -1
  14. package/lib/core/observer/createInputObserver.mjs +7 -6
  15. package/lib/core/observer/createInputObserver.mjs.map +1 -1
  16. package/lib/core/observer/openIsolatedRecursiveWatch.d.cts +11 -12
  17. package/lib/core/observer/openIsolatedRecursiveWatch.d.mts +11 -12
  18. package/lib/core/observer/openIsolatedRecursiveWatch.d.ts +11 -12
  19. package/lib/core/observer/openIsolatedRecursiveWatch.js +11 -12
  20. package/lib/core/observer/openIsolatedRecursiveWatch.js.map +1 -1
  21. package/lib/core/observer/openIsolatedRecursiveWatch.mjs +11 -12
  22. package/lib/core/observer/openIsolatedRecursiveWatch.mjs.map +1 -1
  23. package/lib/core/transform/cache/TtscCachedProjectTransform.d.cts +12 -3
  24. package/lib/core/transform/cache/TtscCachedProjectTransform.d.mts +12 -3
  25. package/lib/core/transform/cache/TtscCachedProjectTransform.d.ts +12 -3
  26. package/lib/core/transform/cache/selectCachedGenerationAction.d.cts +2 -0
  27. package/lib/core/transform/cache/selectCachedGenerationAction.d.mts +2 -0
  28. package/lib/core/transform/cache/selectCachedGenerationAction.d.ts +2 -0
  29. package/lib/core/transform/cache/selectCachedGenerationAction.js +1 -1
  30. package/lib/core/transform/cache/selectCachedGenerationAction.js.map +1 -1
  31. package/lib/core/transform/cache/selectCachedGenerationAction.mjs +1 -1
  32. package/lib/core/transform/cache/selectCachedGenerationAction.mjs.map +1 -1
  33. package/lib/core/transform/deliverCachedTransform.d.cts +36 -0
  34. package/lib/core/transform/deliverCachedTransform.d.mts +36 -0
  35. package/lib/core/transform/deliverCachedTransform.d.ts +36 -0
  36. package/lib/core/transform/deliverCachedTransform.js +73 -0
  37. package/lib/core/transform/deliverCachedTransform.js.map +1 -0
  38. package/lib/core/transform/deliverCachedTransform.mjs +71 -0
  39. package/lib/core/transform/deliverCachedTransform.mjs.map +1 -0
  40. package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.d.cts +2 -2
  41. package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.d.mts +2 -2
  42. package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.d.ts +2 -2
  43. package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.js +6 -2
  44. package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.js.map +1 -1
  45. package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.mjs +6 -2
  46. package/lib/core/transform/envelope/selectDeclaredProjectInputKeys.mjs.map +1 -1
  47. package/lib/core/transform/envelope/selectExternalInputPaths.d.cts +3 -5
  48. package/lib/core/transform/envelope/selectExternalInputPaths.d.mts +3 -5
  49. package/lib/core/transform/envelope/selectExternalInputPaths.d.ts +3 -5
  50. package/lib/core/transform/envelope/selectExternalInputPaths.js +8 -7
  51. package/lib/core/transform/envelope/selectExternalInputPaths.js.map +1 -1
  52. package/lib/core/transform/envelope/selectExternalInputPaths.mjs +8 -7
  53. package/lib/core/transform/envelope/selectExternalInputPaths.mjs.map +1 -1
  54. package/lib/core/transform/filesystem/TtscTransformFilesystemOperations.d.cts +15 -12
  55. package/lib/core/transform/filesystem/TtscTransformFilesystemOperations.d.mts +15 -12
  56. package/lib/core/transform/filesystem/TtscTransformFilesystemOperations.d.ts +15 -12
  57. package/lib/core/transform/generation/captureFailedGenerationInputStates.js +1 -1
  58. package/lib/core/transform/generation/captureFailedGenerationInputStates.js.map +1 -1
  59. package/lib/core/transform/generation/captureFailedGenerationInputStates.mjs +1 -1
  60. package/lib/core/transform/generation/captureFailedGenerationInputStates.mjs.map +1 -1
  61. package/lib/core/transform/generation/captureTransformGeneration.js +1 -1
  62. package/lib/core/transform/generation/captureTransformGeneration.js.map +1 -1
  63. package/lib/core/transform/generation/captureTransformGeneration.mjs +1 -1
  64. package/lib/core/transform/generation/captureTransformGeneration.mjs.map +1 -1
  65. package/lib/core/transform/generation/failedGenerationEnvironmentChanged.js +2 -2
  66. package/lib/core/transform/generation/failedGenerationEnvironmentChanged.js.map +1 -1
  67. package/lib/core/transform/generation/failedGenerationEnvironmentChanged.mjs +2 -2
  68. package/lib/core/transform/generation/failedGenerationEnvironmentChanged.mjs.map +1 -1
  69. package/lib/core/transform/generation/selectTransformAttemptDisposition.d.cts +3 -1
  70. package/lib/core/transform/generation/selectTransformAttemptDisposition.d.mts +3 -1
  71. package/lib/core/transform/generation/selectTransformAttemptDisposition.d.ts +3 -1
  72. package/lib/core/transform/generation/selectTransformAttemptDisposition.js +3 -1
  73. package/lib/core/transform/generation/selectTransformAttemptDisposition.js.map +1 -1
  74. package/lib/core/transform/generation/selectTransformAttemptDisposition.mjs +3 -1
  75. package/lib/core/transform/generation/selectTransformAttemptDisposition.mjs.map +1 -1
  76. package/lib/core/transform/generation/transformProject.d.cts +9 -7
  77. package/lib/core/transform/generation/transformProject.d.mts +9 -7
  78. package/lib/core/transform/generation/transformProject.d.ts +9 -7
  79. package/lib/core/transform/generation/transformProject.js +14 -9
  80. package/lib/core/transform/generation/transformProject.js.map +1 -1
  81. package/lib/core/transform/generation/transformProject.mjs +14 -9
  82. package/lib/core/transform/generation/transformProject.mjs.map +1 -1
  83. package/lib/core/transform/inputs/pluginSourceFilesDigest.d.cts +9 -3
  84. package/lib/core/transform/inputs/pluginSourceFilesDigest.d.mts +9 -3
  85. package/lib/core/transform/inputs/pluginSourceFilesDigest.d.ts +9 -3
  86. package/lib/core/transform/inputs/pluginSourceFilesDigest.js +10 -4
  87. package/lib/core/transform/inputs/pluginSourceFilesDigest.js.map +1 -1
  88. package/lib/core/transform/inputs/pluginSourceFilesDigest.mjs +11 -5
  89. package/lib/core/transform/inputs/pluginSourceFilesDigest.mjs.map +1 -1
  90. package/lib/core/transform/inputs/pluginSourceHolds.d.cts +4 -2
  91. package/lib/core/transform/inputs/pluginSourceHolds.d.mts +4 -2
  92. package/lib/core/transform/inputs/pluginSourceHolds.d.ts +4 -2
  93. package/lib/core/transform/inputs/pluginSourceHolds.js +9 -4
  94. package/lib/core/transform/inputs/pluginSourceHolds.js.map +1 -1
  95. package/lib/core/transform/inputs/pluginSourceHolds.mjs +9 -4
  96. package/lib/core/transform/inputs/pluginSourceHolds.mjs.map +1 -1
  97. package/lib/core/transform/inputs/pluginSourceState.d.cts +3 -1
  98. package/lib/core/transform/inputs/pluginSourceState.d.mts +3 -1
  99. package/lib/core/transform/inputs/pluginSourceState.d.ts +3 -1
  100. package/lib/core/transform/inputs/pluginSourceState.js +8 -3
  101. package/lib/core/transform/inputs/pluginSourceState.js.map +1 -1
  102. package/lib/core/transform/inputs/pluginSourceState.mjs +8 -3
  103. package/lib/core/transform/inputs/pluginSourceState.mjs.map +1 -1
  104. package/lib/core/transform/inputs/preparePluginBuildEnvironments.d.cts +18 -5
  105. package/lib/core/transform/inputs/preparePluginBuildEnvironments.d.mts +18 -5
  106. package/lib/core/transform/inputs/preparePluginBuildEnvironments.d.ts +18 -5
  107. package/lib/core/transform/inputs/preparePluginBuildEnvironments.js +53 -12
  108. package/lib/core/transform/inputs/preparePluginBuildEnvironments.js.map +1 -1
  109. package/lib/core/transform/inputs/preparePluginBuildEnvironments.mjs +53 -12
  110. package/lib/core/transform/inputs/preparePluginBuildEnvironments.mjs.map +1 -1
  111. package/lib/core/transform/tracker/broker/WatchBroker.d.cts +14 -4
  112. package/lib/core/transform/tracker/broker/WatchBroker.d.mts +14 -4
  113. package/lib/core/transform/tracker/broker/WatchBroker.d.ts +14 -4
  114. package/lib/core/transform/tracker/broker/WatchBrokerTransport.d.cts +63 -0
  115. package/lib/core/transform/tracker/broker/WatchBrokerTransport.d.mts +63 -0
  116. package/lib/core/transform/tracker/broker/WatchBrokerTransport.d.ts +63 -0
  117. package/lib/core/transform/tracker/broker/WatchBrokerTransport.js +89 -0
  118. package/lib/core/transform/tracker/broker/WatchBrokerTransport.js.map +1 -0
  119. package/lib/core/transform/tracker/broker/WatchBrokerTransport.mjs +89 -0
  120. package/lib/core/transform/tracker/broker/WatchBrokerTransport.mjs.map +1 -0
  121. package/lib/core/transform/tracker/broker/drainWatchBroker.d.cts +8 -8
  122. package/lib/core/transform/tracker/broker/drainWatchBroker.d.mts +8 -8
  123. package/lib/core/transform/tracker/broker/drainWatchBroker.d.ts +8 -8
  124. package/lib/core/transform/tracker/broker/drainWatchBroker.js +12 -13
  125. package/lib/core/transform/tracker/broker/drainWatchBroker.js.map +1 -1
  126. package/lib/core/transform/tracker/broker/drainWatchBroker.mjs +12 -13
  127. package/lib/core/transform/tracker/broker/drainWatchBroker.mjs.map +1 -1
  128. package/lib/core/transform/tracker/broker/getWatchBroker.d.cts +18 -15
  129. package/lib/core/transform/tracker/broker/getWatchBroker.d.mts +18 -15
  130. package/lib/core/transform/tracker/broker/getWatchBroker.d.ts +18 -15
  131. package/lib/core/transform/tracker/broker/getWatchBroker.js +87 -17
  132. package/lib/core/transform/tracker/broker/getWatchBroker.js.map +1 -1
  133. package/lib/core/transform/tracker/broker/getWatchBroker.mjs +87 -17
  134. package/lib/core/transform/tracker/broker/getWatchBroker.mjs.map +1 -1
  135. package/lib/core/transform/tracker/broker/openBrokeredWatch.d.cts +5 -5
  136. package/lib/core/transform/tracker/broker/openBrokeredWatch.d.mts +5 -5
  137. package/lib/core/transform/tracker/broker/openBrokeredWatch.d.ts +5 -5
  138. package/lib/core/transform/tracker/broker/openBrokeredWatch.js +11 -14
  139. package/lib/core/transform/tracker/broker/openBrokeredWatch.js.map +1 -1
  140. package/lib/core/transform/tracker/broker/openBrokeredWatch.mjs +11 -14
  141. package/lib/core/transform/tracker/broker/openBrokeredWatch.mjs.map +1 -1
  142. package/lib/core/transform/tracker/broker/usesWatchBroker.d.cts +7 -7
  143. package/lib/core/transform/tracker/broker/usesWatchBroker.d.mts +7 -7
  144. package/lib/core/transform/tracker/broker/usesWatchBroker.d.ts +7 -7
  145. package/lib/core/transform/tracker/broker/usesWatchBroker.js +7 -7
  146. package/lib/core/transform/tracker/broker/usesWatchBroker.mjs +7 -7
  147. package/lib/core/transform/tracker/broker/watchBrokerSource.d.cts +9 -10
  148. package/lib/core/transform/tracker/broker/watchBrokerSource.d.mts +9 -10
  149. package/lib/core/transform/tracker/broker/watchBrokerSource.d.ts +9 -10
  150. package/lib/core/transform/tracker/broker/watchBrokerSource.js +10 -11
  151. package/lib/core/transform/tracker/broker/watchBrokerSource.js.map +1 -1
  152. package/lib/core/transform/tracker/broker/watchBrokerSource.mjs +10 -11
  153. package/lib/core/transform/tracker/broker/watchBrokerSource.mjs.map +1 -1
  154. package/lib/core/transform/transformTtsc.d.cts +7 -4
  155. package/lib/core/transform/transformTtsc.d.mts +7 -4
  156. package/lib/core/transform/transformTtsc.d.ts +7 -4
  157. package/lib/core/transform/transformTtsc.js +38 -93
  158. package/lib/core/transform/transformTtsc.js.map +1 -1
  159. package/lib/core/transform/transformTtsc.mjs +38 -93
  160. package/lib/core/transform/transformTtsc.mjs.map +1 -1
  161. package/lib/core/transform/validation/TtscGenerationProof.d.cts +105 -0
  162. package/lib/core/transform/validation/TtscGenerationProof.d.mts +105 -0
  163. package/lib/core/transform/validation/TtscGenerationProof.d.ts +105 -0
  164. package/lib/core/transform/validation/TtscGenerationProof.js +149 -0
  165. package/lib/core/transform/validation/TtscGenerationProof.js.map +1 -0
  166. package/lib/core/transform/validation/TtscGenerationProof.mjs +149 -0
  167. package/lib/core/transform/validation/TtscGenerationProof.mjs.map +1 -0
  168. package/lib/core/transform/validation/captureUniversalHostInputValidation.js +2 -2
  169. package/lib/core/transform/validation/captureUniversalHostInputValidation.js.map +1 -1
  170. package/lib/core/transform/validation/captureUniversalHostInputValidation.mjs +2 -2
  171. package/lib/core/transform/validation/captureUniversalHostInputValidation.mjs.map +1 -1
  172. package/lib/core/transform/validation/matchesCachedSource.d.cts +18 -15
  173. package/lib/core/transform/validation/matchesCachedSource.d.mts +18 -15
  174. package/lib/core/transform/validation/matchesCachedSource.d.ts +18 -15
  175. package/lib/core/transform/validation/matchesCachedSource.js +28 -22
  176. package/lib/core/transform/validation/matchesCachedSource.js.map +1 -1
  177. package/lib/core/transform/validation/matchesCachedSource.mjs +28 -22
  178. package/lib/core/transform/validation/matchesCachedSource.mjs.map +1 -1
  179. package/lib/core/transform/validation/matchesCompleteInputSnapshot.d.cts +3 -2
  180. package/lib/core/transform/validation/matchesCompleteInputSnapshot.d.mts +3 -2
  181. package/lib/core/transform/validation/matchesCompleteInputSnapshot.d.ts +3 -2
  182. package/lib/core/transform/validation/matchesCompleteInputSnapshot.js +4 -4
  183. package/lib/core/transform/validation/matchesCompleteInputSnapshot.js.map +1 -1
  184. package/lib/core/transform/validation/matchesCompleteInputSnapshot.mjs +4 -4
  185. package/lib/core/transform/validation/matchesCompleteInputSnapshot.mjs.map +1 -1
  186. package/lib/core/transform/validation/matchesNarrowPersistentInputs.d.cts +2 -1
  187. package/lib/core/transform/validation/matchesNarrowPersistentInputs.d.mts +2 -1
  188. package/lib/core/transform/validation/matchesNarrowPersistentInputs.d.ts +2 -1
  189. package/lib/core/transform/validation/matchesNarrowPersistentInputs.js +2 -2
  190. package/lib/core/transform/validation/matchesNarrowPersistentInputs.js.map +1 -1
  191. package/lib/core/transform/validation/matchesNarrowPersistentInputs.mjs +2 -2
  192. package/lib/core/transform/validation/matchesNarrowPersistentInputs.mjs.map +1 -1
  193. package/lib/core/transform/validation/matchesUniversalHostInputTrees.d.cts +3 -2
  194. package/lib/core/transform/validation/matchesUniversalHostInputTrees.d.mts +3 -2
  195. package/lib/core/transform/validation/matchesUniversalHostInputTrees.d.ts +3 -2
  196. package/lib/core/transform/validation/matchesUniversalHostInputTrees.js +7 -5
  197. package/lib/core/transform/validation/matchesUniversalHostInputTrees.js.map +1 -1
  198. package/lib/core/transform/validation/matchesUniversalHostInputTrees.mjs +7 -5
  199. package/lib/core/transform/validation/matchesUniversalHostInputTrees.mjs.map +1 -1
  200. package/lib/core/transform/validation/matchesUniversalHostInputs.d.cts +3 -2
  201. package/lib/core/transform/validation/matchesUniversalHostInputs.d.mts +3 -2
  202. package/lib/core/transform/validation/matchesUniversalHostInputs.d.ts +3 -2
  203. package/lib/core/transform/validation/matchesUniversalHostInputs.js +5 -5
  204. package/lib/core/transform/validation/matchesUniversalHostInputs.js.map +1 -1
  205. package/lib/core/transform/validation/matchesUniversalHostInputs.mjs +5 -5
  206. package/lib/core/transform/validation/matchesUniversalHostInputs.mjs.map +1 -1
  207. package/lib/core/transform/validation/nativeInputPredicatesHold.d.cts +5 -4
  208. package/lib/core/transform/validation/nativeInputPredicatesHold.d.mts +5 -4
  209. package/lib/core/transform/validation/nativeInputPredicatesHold.d.ts +5 -4
  210. package/lib/core/transform/validation/nativeInputPredicatesHold.js +31 -12
  211. package/lib/core/transform/validation/nativeInputPredicatesHold.js.map +1 -1
  212. package/lib/core/transform/validation/nativeInputPredicatesHold.mjs +31 -12
  213. package/lib/core/transform/validation/nativeInputPredicatesHold.mjs.map +1 -1
  214. package/lib/core/transform/validation/notificationsProveProgramUnchanged.d.cts +2 -1
  215. package/lib/core/transform/validation/notificationsProveProgramUnchanged.d.mts +2 -1
  216. package/lib/core/transform/validation/notificationsProveProgramUnchanged.d.ts +2 -1
  217. package/lib/core/transform/validation/notificationsProveProgramUnchanged.js +2 -2
  218. package/lib/core/transform/validation/notificationsProveProgramUnchanged.js.map +1 -1
  219. package/lib/core/transform/validation/notificationsProveProgramUnchanged.mjs +2 -2
  220. package/lib/core/transform/validation/notificationsProveProgramUnchanged.mjs.map +1 -1
  221. package/lib/core/transform/watch/captureWatchInputBaseline.d.cts +4 -0
  222. package/lib/core/transform/watch/captureWatchInputBaseline.d.mts +4 -0
  223. package/lib/core/transform/watch/captureWatchInputBaseline.d.ts +4 -0
  224. package/lib/core/transform/watch/captureWatchInputBaseline.js +3 -0
  225. package/lib/core/transform/watch/captureWatchInputBaseline.js.map +1 -1
  226. package/lib/core/transform/watch/captureWatchInputBaseline.mjs +3 -0
  227. package/lib/core/transform/watch/captureWatchInputBaseline.mjs.map +1 -1
  228. package/lib/core/transform/watch/captureWatchInputBaselines.d.cts +2 -0
  229. package/lib/core/transform/watch/captureWatchInputBaselines.d.mts +2 -0
  230. package/lib/core/transform/watch/captureWatchInputBaselines.d.ts +2 -0
  231. package/lib/core/transform/watch/captureWatchInputBaselines.js +3 -1
  232. package/lib/core/transform/watch/captureWatchInputBaselines.js.map +1 -1
  233. package/lib/core/transform/watch/captureWatchInputBaselines.mjs +3 -1
  234. package/lib/core/transform/watch/captureWatchInputBaselines.mjs.map +1 -1
  235. package/lib/core/transform/watch/notifyWatchInputs.js +3 -0
  236. package/lib/core/transform/watch/notifyWatchInputs.js.map +1 -1
  237. package/lib/core/transform/watch/notifyWatchInputs.mjs +3 -0
  238. package/lib/core/transform/watch/notifyWatchInputs.mjs.map +1 -1
  239. package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.d.cts +5 -2
  240. package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.d.mts +5 -2
  241. package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.d.ts +5 -2
  242. package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.js +6 -3
  243. package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.js.map +1 -1
  244. package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.mjs +6 -3
  245. package/lib/core/transform/watch/watchInputEvidenceMatchesDisk.mjs.map +1 -1
  246. package/lib/core/turbopack/turbopack.js +2 -1
  247. package/lib/core/turbopack/turbopack.js.map +1 -1
  248. package/lib/core/turbopack/turbopack.mjs +2 -1
  249. package/lib/core/turbopack/turbopack.mjs.map +1 -1
  250. package/package.json +3 -3
  251. package/src/core/bridge/projectRecordMoved.ts +3 -1
  252. package/src/core/bun/bun.ts +8 -4
  253. package/src/core/observer/createInputObserver.ts +8 -5
  254. package/src/core/observer/openIsolatedRecursiveWatch.ts +11 -12
  255. package/src/core/transform/cache/TtscCachedProjectTransform.ts +13 -3
  256. package/src/core/transform/cache/selectCachedGenerationAction.ts +9 -1
  257. package/src/core/transform/deliverCachedTransform.ts +97 -0
  258. package/src/core/transform/envelope/selectDeclaredProjectInputKeys.ts +5 -2
  259. package/src/core/transform/envelope/selectExternalInputPaths.ts +7 -7
  260. package/src/core/transform/filesystem/TtscTransformFilesystemOperations.ts +15 -12
  261. package/src/core/transform/generation/captureFailedGenerationInputStates.ts +1 -0
  262. package/src/core/transform/generation/captureTransformGeneration.ts +6 -1
  263. package/src/core/transform/generation/failedGenerationEnvironmentChanged.ts +12 -2
  264. package/src/core/transform/generation/selectTransformAttemptDisposition.ts +3 -1
  265. package/src/core/transform/generation/transformProject.ts +13 -9
  266. package/src/core/transform/inputs/pluginSourceFilesDigest.ts +11 -4
  267. package/src/core/transform/inputs/pluginSourceHolds.ts +13 -3
  268. package/src/core/transform/inputs/pluginSourceState.ts +8 -2
  269. package/src/core/transform/inputs/preparePluginBuildEnvironments.ts +64 -11
  270. package/src/core/transform/tracker/broker/WatchBroker.ts +15 -4
  271. package/src/core/transform/tracker/broker/WatchBrokerTransport.ts +82 -0
  272. package/src/core/transform/tracker/broker/drainWatchBroker.ts +12 -13
  273. package/src/core/transform/tracker/broker/getWatchBroker.ts +89 -18
  274. package/src/core/transform/tracker/broker/openBrokeredWatch.ts +11 -14
  275. package/src/core/transform/tracker/broker/usesWatchBroker.ts +7 -7
  276. package/src/core/transform/tracker/broker/watchBrokerSource.ts +10 -11
  277. package/src/core/transform/transformTtsc.ts +38 -92
  278. package/src/core/transform/validation/TtscGenerationProof.ts +201 -0
  279. package/src/core/transform/validation/captureUniversalHostInputValidation.ts +2 -1
  280. package/src/core/transform/validation/matchesCachedSource.ts +27 -21
  281. package/src/core/transform/validation/matchesCompleteInputSnapshot.ts +5 -3
  282. package/src/core/transform/validation/matchesNarrowPersistentInputs.ts +3 -1
  283. package/src/core/transform/validation/matchesUniversalHostInputTrees.ts +8 -3
  284. package/src/core/transform/validation/matchesUniversalHostInputs.ts +6 -4
  285. package/src/core/transform/validation/nativeInputPredicatesHold.ts +36 -14
  286. package/src/core/transform/validation/notificationsProveProgramUnchanged.ts +3 -1
  287. package/src/core/transform/watch/captureWatchInputBaseline.ts +4 -0
  288. package/src/core/transform/watch/captureWatchInputBaselines.ts +7 -1
  289. package/src/core/transform/watch/notifyWatchInputs.ts +3 -0
  290. package/src/core/transform/watch/watchInputEvidenceMatchesDisk.ts +12 -2
  291. 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 The initial observation scan detects whether native replay is required without resolving a root or performing filesystem queries. Nonempty populations add a second linear traversal plus native replay and path-byte costs, stopping at the first refusal; empty and legacy-only populations require no replay context.
14
- * @evidenceExclude contracts/performance.md#reuse-equivalent-work This admission gate stores no separate cache and checks the recorded generation supplied by its caller.
15
- * @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Per-call enumeration owns no handle or watcher; the cached envelope owns retained predicates.
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 The initial observation scan detects whether native replay is required without resolving a root or performing filesystem queries. Nonempty populations add a second linear traversal plus native replay and path-byte costs, stopping at the first refusal; empty and legacy-only populations require no replay context.
20
- * @evidenceExclude contracts/performance.md#reuse-equivalent-work This admission gate stores no separate cache and checks the recorded generation supplied by its caller.
21
- * @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Per-call enumeration owns no handle or watcher; the cached envelope owns retained predicates.
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
- const observations = cached.result.graph?.inputObservations ?? {};
27
- if (!Object.values(observations).some((observation) => (observation.nativePredicates?.length ?? 0) !== 0))
28
- return true;
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 Object.entries(observations)) {
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":";;;;;;;AAOA;;;;;;;;;;;;;;AAcG;AACG,SAAU,yBAAyB,CACvC,MAAkC,EAAA;AAElC,IAAA,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW;AAAE,QAAA,OAAO,KAAK;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,IAAI,EAAE;IACjE,IACE,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAC/B,CAAC,WAAW,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,CACnE;AAED,QAAA,OAAO,IAAI;IACb,MAAM,UAAU,GAAGA,iCAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;IAClD,MAAM,UAAU,GAAGC,qCAAkB,CAAC,MAAM,CAAC,CAAC,eAAe;AAC7D,IAAA,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAC9D,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC;YAAE;AACvD,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,KAAK;IAClB;AACA,IAAA,OAAO,IAAI;AACb;;;;"}
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 The initial observation scan detects whether native replay is required without resolving a root or performing filesystem queries. Nonempty populations add a second linear traversal plus native replay and path-byte costs, stopping at the first refusal; empty and legacy-only populations require no replay context.
18
- * @evidenceExclude contracts/performance.md#reuse-equivalent-work This admission gate stores no separate cache and checks the recorded generation supplied by its caller.
19
- * @evidenceExclude contracts/performance.md#bound-retention-and-release-resources Per-call enumeration owns no handle or watcher; the cached envelope owns retained predicates.
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
- const observations = cached.result.graph?.inputObservations ?? {};
25
- if (!Object.values(observations).some((observation) => (observation.nativePredicates?.length ?? 0) !== 0))
26
- return true;
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 Object.entries(observations)) {
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":";;;;;AAOA;;;;;;;;;;;;;;AAcG;AACG,SAAU,yBAAyB,CACvC,MAAkC,EAAA;AAElC,IAAA,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW;AAAE,QAAA,OAAO,KAAK;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,iBAAiB,IAAI,EAAE;IACjE,IACE,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAC/B,CAAC,WAAW,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,CACnE;AAED,QAAA,OAAO,IAAI;IACb,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;IAClD,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,eAAe;AAC7D,IAAA,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAC9D,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC;YAAE;AACvD,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,KAAK;IAClB;AACA,IAAA,OAAO,IAAI;AACb;;;;"}
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":";;;;;;;;;AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;SACa,kCAAkC;AAChD;;;AAGG;AACH,MAAkC,EAAA;AAElC,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,CAAC;AACvE;;;;"}
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":";;;;;;;AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;SACa,kCAAkC;AAChD;;;AAGG;AACH,MAAkC,EAAA;AAElC,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,CAAC;AACvE;;;;"}
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;;;;;;;;;;;;;;;;;;;;AAoBG;AACG,SAAU,yBAAyB,CACvC,IAAY,EACZ,UAAA,GAAgDA,2DAA6B,EAC7E,OAAA,GAMI,EAAE,EAAA;AAEN,IAAA,OAAOC,qDAA0B,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAC1E;;;;"}
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;;;;;;;;;;;;;;;;;;;;AAoBG;AACG,SAAU,yBAAyB,CACvC,IAAY,EACZ,UAAA,GAAgD,6BAA6B,EAC7E,OAAA,GAMI,EAAE,EAAA;AAEN,IAAA,OAAO,0BAA0B,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAC1E;;;;"}
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 ? { tree: pluginSourceState.pluginSourceState(file) } : {}),
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":"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"}
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 ? { tree: pluginSourceState(file) } : {}),
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":"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"}
1
+ {"version":3,"file":"captureWatchInputBaselines.mjs","sources":["../../../../src/core/transform/watch/captureWatchInputBaselines.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -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;QAC3B,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;;;;"}
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;QAC3B,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;;;;"}
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));