@raphy-js/raph 1.0.0-dev.2 → 1.0.1-dev.25

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 (246) hide show
  1. package/README.md +1096 -0
  2. package/dist/api/Raph.d.ts +59 -190
  3. package/dist/api/RaphFacadeSession.d.ts +90 -0
  4. package/dist/api/RaphReactivityInstance.d.ts +72 -0
  5. package/dist/api/errors.d.ts +9 -4
  6. package/dist/api/types.d.ts +162 -17
  7. package/dist/core-CClhT8WR.js +1044 -0
  8. package/dist/core-cPQWYD4K.cjs +1 -0
  9. package/dist/debug/api/Raph.cjs +1 -1
  10. package/dist/debug/api/Raph.js +368 -367
  11. package/dist/debug/api/RaphFacadeSession.cjs +1 -0
  12. package/dist/debug/api/RaphFacadeSession.js +302 -0
  13. package/dist/debug/api/RaphReactivityInstance.cjs +1 -0
  14. package/dist/debug/api/RaphReactivityInstance.js +146 -0
  15. package/dist/debug/api/errors.cjs +1 -1
  16. package/dist/debug/api/errors.js +10 -7
  17. package/dist/debug/path/DataPath.cjs +1 -0
  18. package/dist/debug/path/DataPath.js +390 -0
  19. package/dist/debug/path/PathRouter.cjs +1 -0
  20. package/dist/debug/path/PathRouter.js +80 -0
  21. package/dist/debug/path/RaphKernel.cjs +1 -1
  22. package/dist/debug/path/RaphKernel.js +316 -236
  23. package/dist/debug/path/data-path.utils.cjs +1 -0
  24. package/dist/debug/path/data-path.utils.js +56 -0
  25. package/dist/debug/path/derived/DerivedRegistry.cjs +1 -0
  26. package/dist/debug/path/derived/DerivedRegistry.js +143 -0
  27. package/dist/debug/path/derived/RaphDerivedHandle.cjs +1 -0
  28. package/dist/debug/path/{RaphDerivedHandle.js → derived/RaphDerivedHandle.js} +19 -22
  29. package/dist/debug/path/derived/derived-collection.utils.cjs +1 -0
  30. package/dist/debug/path/{derived-collection.js → derived/derived-collection.utils.js} +71 -71
  31. package/dist/debug/path/derived/derived-strategy.types.cjs +1 -0
  32. package/dist/debug/path/derived/derived-strategy.types.js +1 -0
  33. package/dist/debug/path/meta/MetaController.cjs +1 -0
  34. package/dist/debug/path/{MetaController.js → meta/MetaController.js} +58 -66
  35. package/dist/debug/path/meta/RaphMeta.cjs +1 -0
  36. package/dist/debug/path/meta/RaphMeta.js +62 -0
  37. package/dist/debug/path/meta/RaphMetaStore.cjs +1 -0
  38. package/dist/debug/path/{RaphMetaStore.js → meta/RaphMetaStore.js} +24 -30
  39. package/dist/debug/path/meta/meta.types.cjs +1 -0
  40. package/dist/debug/path/meta/meta.types.js +1 -0
  41. package/dist/debug/path/storage/AdapterPathStore.cjs +1 -0
  42. package/dist/debug/path/storage/AdapterPathStore.js +128 -0
  43. package/dist/debug/path/storage/DefaultDataAdapter.cjs +1 -0
  44. package/dist/debug/path/{data-adapter.js → storage/DefaultDataAdapter.js} +47 -57
  45. package/dist/debug/path/storage/PathEventHub.cjs +1 -0
  46. package/dist/debug/path/storage/PathEventHub.js +161 -0
  47. package/dist/debug/path/storage/PathStore.cjs +1 -0
  48. package/dist/debug/path/{PathStore.js → storage/PathStore.js} +88 -98
  49. package/dist/debug/path/storage/createDataDraft.cjs +1 -0
  50. package/dist/debug/path/{data-draft.js → storage/createDataDraft.js} +24 -28
  51. package/dist/debug/path/storage/data-adapter.types.cjs +1 -0
  52. package/dist/debug/path/storage/data-adapter.types.js +1 -0
  53. package/dist/debug/reactivity/disposal.cjs +1 -0
  54. package/dist/debug/reactivity/disposal.js +32 -0
  55. package/dist/debug/reactivity/engine.cjs +1 -1
  56. package/dist/debug/reactivity/engine.js +888 -321
  57. package/dist/debug/reactivity/reactive-object.cjs +1 -0
  58. package/dist/debug/reactivity/reactive-object.js +265 -0
  59. package/dist/debug/reactivity/scope.cjs +1 -1
  60. package/dist/debug/reactivity/scope.js +221 -117
  61. package/dist/debug/reactivity/watch.cjs +1 -1
  62. package/dist/debug/reactivity/watch.js +1 -1
  63. package/dist/debug/runtime/RaphRuntime.cjs +1 -1
  64. package/dist/debug/runtime/RaphRuntime.js +1134 -502
  65. package/dist/debug/runtime/diagnostics/RaphDebug.cjs +1 -0
  66. package/dist/debug/runtime/diagnostics/RaphDebug.js +287 -0
  67. package/dist/debug/runtime/errors.cjs +1 -1
  68. package/dist/debug/runtime/errors.js +6 -3
  69. package/dist/debug/runtime/ownership/RaphEffectScope.cjs +1 -0
  70. package/dist/debug/runtime/ownership/RaphEffectScope.js +304 -0
  71. package/dist/debug/runtime/ownership/RaphNode.cjs +1 -0
  72. package/dist/debug/runtime/ownership/RaphNode.js +665 -0
  73. package/dist/debug/runtime/ownership/RaphScope.cjs +1 -0
  74. package/dist/debug/runtime/ownership/RaphScope.js +236 -0
  75. package/dist/debug/runtime/ownership/parent-graph.types.cjs +1 -0
  76. package/dist/debug/runtime/ownership/parent-graph.types.js +1 -0
  77. package/dist/debug/runtime/phases/RaphFrameLoop.cjs +1 -0
  78. package/dist/debug/runtime/{RaphFrameLoop.js → phases/RaphFrameLoop.js} +13 -17
  79. package/dist/debug/runtime/phases/RaphPhasePipeline.cjs +1 -0
  80. package/dist/debug/runtime/phases/RaphPhasePipeline.js +848 -0
  81. package/dist/debug/runtime/phases/RaphPhaseTaskRecord.cjs +1 -0
  82. package/dist/debug/runtime/phases/RaphPhaseTaskRecord.js +176 -0
  83. package/dist/debug/runtime/phases/RaphPhaseWatch.cjs +1 -0
  84. package/dist/debug/runtime/phases/RaphPhaseWatch.js +20 -0
  85. package/dist/debug/runtime/phases/orderPhaseTasks.cjs +1 -0
  86. package/dist/debug/runtime/phases/orderPhaseTasks.js +59 -0
  87. package/dist/debug/runtime/reactivity/PathHandle.cjs +1 -0
  88. package/dist/debug/runtime/reactivity/PathHandle.js +165 -0
  89. package/dist/debug/runtime/reactivity/RaphMetaSource.cjs +1 -0
  90. package/dist/debug/runtime/reactivity/RaphMetaSource.js +108 -0
  91. package/dist/debug/runtime/reactivity/RaphSelector.cjs +1 -0
  92. package/dist/debug/runtime/reactivity/RaphSelector.js +503 -0
  93. package/dist/debug/runtime/reactivity/RaphWorkGraph.cjs +1 -0
  94. package/dist/debug/runtime/reactivity/RaphWorkGraph.js +1157 -0
  95. package/dist/debug/runtime/reactivity/RuntimeReactivity.cjs +1 -0
  96. package/dist/debug/runtime/reactivity/RuntimeReactivity.js +550 -0
  97. package/dist/debug/runtime/reactivity/RuntimeWatch.cjs +1 -0
  98. package/dist/debug/runtime/reactivity/RuntimeWatch.js +77 -0
  99. package/dist/debug/runtime/reactivity/disposal-sweep.utils.cjs +1 -0
  100. package/dist/debug/runtime/reactivity/disposal-sweep.utils.js +42 -0
  101. package/dist/debug/runtime/reactivity/runtime-reactivity.types.cjs +1 -0
  102. package/dist/debug/runtime/reactivity/runtime-reactivity.types.js +1 -0
  103. package/dist/entrypoints/machine-testing.d.ts +2 -0
  104. package/dist/entrypoints/machine.d.ts +5 -0
  105. package/dist/entrypoints/path.d.ts +14 -0
  106. package/dist/entrypoints/reactivity.d.ts +1 -0
  107. package/dist/entrypoints/runtime.d.ts +18 -0
  108. package/dist/index.cjs +1 -1
  109. package/dist/index.js +46 -38
  110. package/dist/machine/compiler.d.ts +71 -0
  111. package/dist/machine/core.d.ts +50 -0
  112. package/dist/machine/persistence.d.ts +5 -0
  113. package/dist/machine/runtime.d.ts +4 -0
  114. package/dist/machine/testing.d.ts +43 -0
  115. package/dist/machine/types.d.ts +155 -0
  116. package/dist/machine-testing.cjs +1 -0
  117. package/dist/machine-testing.js +188 -0
  118. package/dist/machine.cjs +1 -0
  119. package/dist/machine.js +822 -0
  120. package/dist/main.d.ts +20 -0
  121. package/dist/path/{data-path.d.ts → DataPath.d.ts} +16 -40
  122. package/dist/path/{path-router.d.ts → PathRouter.d.ts} +1 -1
  123. package/dist/path/RaphKernel.d.ts +37 -10
  124. package/dist/path/data-path.types.d.ts +34 -0
  125. package/dist/path/data-path.utils.d.ts +9 -0
  126. package/dist/path/{DerivedRegistry.d.ts → derived/DerivedRegistry.d.ts} +2 -2
  127. package/dist/path/{RaphDerivedHandle.d.ts → derived/RaphDerivedHandle.d.ts} +3 -3
  128. package/dist/path/derived/derived-collection.types.d.ts +12 -0
  129. package/dist/path/{derived-collection.d.ts → derived/derived-collection.utils.d.ts} +3 -13
  130. package/dist/path/{derived-strategies.d.ts → derived/derived-strategy.types.d.ts} +0 -3
  131. package/dist/path/derived/derived-strategy.utils.d.ts +4 -0
  132. package/dist/path/{MetaController.d.ts → meta/MetaController.d.ts} +4 -4
  133. package/dist/path/{RaphMeta.d.ts → meta/RaphMeta.d.ts} +2 -2
  134. package/dist/path/{RaphMetaStore.d.ts → meta/RaphMetaStore.d.ts} +1 -1
  135. package/dist/path/{meta.types.d.ts → meta/meta.types.d.ts} +2 -4
  136. package/dist/path/path.types.d.ts +3 -2
  137. package/dist/path/{segment-key.d.ts → pathSegmentKey.d.ts} +1 -1
  138. package/dist/path/{AdapterPathStore.d.ts → storage/AdapterPathStore.d.ts} +4 -4
  139. package/dist/path/{data-adapter.d.ts → storage/DefaultDataAdapter.d.ts} +2 -17
  140. package/dist/path/storage/PathEventHub.d.ts +62 -0
  141. package/dist/path/{PathStore.d.ts → storage/PathStore.d.ts} +7 -7
  142. package/dist/path/storage/data-adapter.types.d.ts +17 -0
  143. package/dist/path.cjs +1 -1
  144. package/dist/path.js +16 -16
  145. package/dist/raph.cjs +1 -1
  146. package/dist/raph.js +46 -38
  147. package/dist/reactivity/disposal.d.ts +14 -0
  148. package/dist/reactivity/engine.d.ts +193 -6
  149. package/dist/reactivity/reactive-object.d.ts +36 -0
  150. package/dist/reactivity/scope.d.ts +108 -30
  151. package/dist/reactivity/types.d.ts +25 -0
  152. package/dist/reactivity.cjs +1 -1
  153. package/dist/reactivity.js +12 -12
  154. package/dist/runtime/RaphRuntime.d.ts +319 -160
  155. package/dist/runtime/diagnostics/RaphDebug.d.ts +239 -0
  156. package/dist/runtime/errors.d.ts +5 -0
  157. package/dist/runtime/ownership/RaphEffectScope.d.ts +98 -0
  158. package/dist/runtime/ownership/RaphNode.d.ts +310 -0
  159. package/dist/runtime/ownership/RaphScope.d.ts +168 -0
  160. package/dist/runtime/{parent-graph.d.ts → ownership/parent-graph.types.d.ts} +0 -1
  161. package/dist/runtime/ownership/parentGraph.d.ts +3 -0
  162. package/dist/runtime/phases/RaphPhasePipeline.d.ts +253 -0
  163. package/dist/runtime/phases/RaphPhaseTaskRecord.d.ts +195 -0
  164. package/dist/runtime/phases/RaphPhaseWatch.d.ts +22 -0
  165. package/dist/runtime/phases/orderPhaseTasks.d.ts +6 -0
  166. package/dist/runtime/phases/phase.types.d.ts +171 -0
  167. package/dist/runtime/{PathHandle.d.ts → reactivity/PathHandle.d.ts} +14 -6
  168. package/dist/runtime/reactivity/RaphMetaSource.d.ts +32 -0
  169. package/dist/runtime/reactivity/RaphSelector.d.ts +338 -0
  170. package/dist/runtime/reactivity/RaphWorkGraph.d.ts +309 -0
  171. package/dist/runtime/reactivity/RuntimeReactivity.d.ts +293 -0
  172. package/dist/runtime/{RuntimeWatch.d.ts → reactivity/RuntimeWatch.d.ts} +12 -6
  173. package/dist/runtime/reactivity/disposal-sweep.utils.d.ts +19 -0
  174. package/dist/runtime/reactivity/runtime-reactivity.types.d.ts +56 -0
  175. package/dist/runtime.cjs +1 -1
  176. package/dist/runtime.js +21 -16
  177. package/package.json +76 -35
  178. package/ReadMe.md +0 -153
  179. package/dist/api/public.d.ts +0 -22
  180. package/dist/debug/api/public.cjs +0 -1
  181. package/dist/debug/api/public.js +0 -40
  182. package/dist/debug/path/AdapterPathStore.cjs +0 -1
  183. package/dist/debug/path/AdapterPathStore.js +0 -133
  184. package/dist/debug/path/DerivedRegistry.cjs +0 -1
  185. package/dist/debug/path/DerivedRegistry.js +0 -157
  186. package/dist/debug/path/MetaController.cjs +0 -1
  187. package/dist/debug/path/PathEventHub.cjs +0 -1
  188. package/dist/debug/path/PathEventHub.js +0 -148
  189. package/dist/debug/path/PathStore.cjs +0 -1
  190. package/dist/debug/path/RaphDerivedHandle.cjs +0 -1
  191. package/dist/debug/path/RaphMeta.cjs +0 -1
  192. package/dist/debug/path/RaphMeta.js +0 -68
  193. package/dist/debug/path/RaphMetaStore.cjs +0 -1
  194. package/dist/debug/path/data-adapter.cjs +0 -1
  195. package/dist/debug/path/data-draft.cjs +0 -1
  196. package/dist/debug/path/data-path.cjs +0 -1
  197. package/dist/debug/path/data-path.js +0 -423
  198. package/dist/debug/path/derived-collection.cjs +0 -1
  199. package/dist/debug/path/path-router.cjs +0 -1
  200. package/dist/debug/path/path-router.js +0 -86
  201. package/dist/debug/path/public.cjs +0 -1
  202. package/dist/debug/path/public.js +0 -18
  203. package/dist/debug/runtime/PathHandle.cjs +0 -1
  204. package/dist/debug/runtime/PathHandle.js +0 -139
  205. package/dist/debug/runtime/RaphDebug.cjs +0 -1
  206. package/dist/debug/runtime/RaphDebug.js +0 -15
  207. package/dist/debug/runtime/RaphFrameLoop.cjs +0 -1
  208. package/dist/debug/runtime/RaphNode.cjs +0 -1
  209. package/dist/debug/runtime/RaphNode.js +0 -143
  210. package/dist/debug/runtime/RaphPhasePipeline.cjs +0 -1
  211. package/dist/debug/runtime/RaphPhasePipeline.js +0 -526
  212. package/dist/debug/runtime/RaphScope.cjs +0 -1
  213. package/dist/debug/runtime/RaphScope.js +0 -64
  214. package/dist/debug/runtime/RuntimeReactivity.cjs +0 -1
  215. package/dist/debug/runtime/RuntimeReactivity.js +0 -154
  216. package/dist/debug/runtime/RuntimeWatch.cjs +0 -1
  217. package/dist/debug/runtime/RuntimeWatch.js +0 -71
  218. package/dist/debug/runtime/public.cjs +0 -1
  219. package/dist/debug/runtime/public.js +0 -18
  220. package/dist/path/PathEventHub.d.ts +0 -48
  221. package/dist/path/public.d.ts +0 -14
  222. package/dist/runtime/RaphDebug.d.ts +0 -32
  223. package/dist/runtime/RaphNode.d.ts +0 -68
  224. package/dist/runtime/RaphPhasePipeline.d.ts +0 -133
  225. package/dist/runtime/RaphScope.d.ts +0 -50
  226. package/dist/runtime/RuntimeReactivity.d.ts +0 -40
  227. package/dist/runtime/phase.types.d.ts +0 -49
  228. package/dist/runtime/public.d.ts +0 -13
  229. package/dist/runtime/runtime-reactivity.types.d.ts +0 -9
  230. /package/dist/debug/path/{meta.types.cjs → data-path.types.cjs} +0 -0
  231. /package/dist/debug/path/{meta.types.js → data-path.types.js} +0 -0
  232. /package/dist/debug/{runtime/runtime-reactivity.types.cjs → path/derived/derived-collection.types.cjs} +0 -0
  233. /package/dist/debug/{runtime/runtime-reactivity.types.js → path/derived/derived-collection.types.js} +0 -0
  234. /package/dist/debug/path/{derived-strategies.cjs → derived/derived-strategy.utils.cjs} +0 -0
  235. /package/dist/debug/path/{derived-strategies.js → derived/derived-strategy.utils.js} +0 -0
  236. /package/dist/debug/path/{segment-key.cjs → pathSegmentKey.cjs} +0 -0
  237. /package/dist/debug/path/{segment-key.js → pathSegmentKey.js} +0 -0
  238. /package/dist/debug/runtime/{parent-graph.cjs → ownership/parentGraph.cjs} +0 -0
  239. /package/dist/debug/runtime/{parent-graph.js → ownership/parentGraph.js} +0 -0
  240. /package/dist/debug/runtime/{disposal.cjs → ownership/throwDisposalErrors.cjs} +0 -0
  241. /package/dist/debug/runtime/{disposal.js → ownership/throwDisposalErrors.js} +0 -0
  242. /package/dist/debug/runtime/{phase.types.cjs → phases/phase.types.cjs} +0 -0
  243. /package/dist/debug/runtime/{phase.types.js → phases/phase.types.js} +0 -0
  244. /package/dist/path/{data-draft.d.ts → storage/createDataDraft.d.ts} +0 -0
  245. /package/dist/runtime/{disposal.d.ts → ownership/throwDisposalErrors.d.ts} +0 -0
  246. /package/dist/runtime/{RaphFrameLoop.d.ts → phases/RaphFrameLoop.d.ts} +0 -0
@@ -1,285 +1,444 @@
1
- import { DataPathDef, PathEvents, PathOptions } from '../path/path.types';
2
- import { DerivedOptions, RaphDerivedHandle } from '../path/RaphDerivedHandle';
1
+ import { DerivedOptions, RaphDerivedHandle } from '../path/derived/RaphDerivedHandle';
2
+ import { RaphMeta } from '../path/meta/RaphMeta';
3
+ import { DataPathDef, PathOptions } from '../path/path.types';
3
4
  import { RaphKernelRoot, RaphKernel } from '../path/RaphKernel';
4
- import { Disposer, ReadonlySignal, Signal, WatchOptions, WatchSource, WatchValue, WritableComputedOptions } from '../reactivity/types';
5
- import { DepGraph } from './parent-graph';
6
- import { FrameLoopLease, RaphEffectOptions, RaphObserveDataOptions, RaphPhase, RaphSchedulerMode, RaphTrackOptions } from './phase.types';
7
- import { RaphRuntimeDebug } from './RaphDebug';
8
- import { NodeOptions, RaphNode } from './RaphNode';
9
- import { RaphMeta } from '../path/RaphMeta';
10
- import { PathHandle } from './PathHandle';
11
- import { RaphScope } from './RaphScope';
12
- import { RuntimeReactivity } from './RuntimeReactivity';
5
+ import { Disposer, ReadonlySignal, Signal, WritableComputedOptions } from '../reactivity/types';
6
+ import { RaphDebugOptions, RaphMachineDebugRegistration, RaphRuntimeDebug, RaphTraceEventInput, RaphTraceKind } from './diagnostics/RaphDebug';
7
+ import { DepGraph } from './ownership/parent-graph.types';
8
+ import { NodeOptions, RaphNode } from './ownership/RaphNode';
9
+ import { FrameLoopLease, RaphAggregateSource, RaphEffectGroupOptions, RaphEffectGroupSlot, RaphEffectInitialMode, RaphEffectOptions, RaphPhase, RaphPhaseEffect, RaphSchedulerMode, RaphStructureCause, RaphWatchOptions, RaphWatchSource } from './phases/phase.types';
10
+ import { RaphPhaseTaskRecord } from './phases/RaphPhaseTaskRecord';
11
+ import { RaphMetaSourceOptions, RaphMetaSource } from './reactivity/RaphMetaSource';
12
+ import { RaphAggregate, RaphWorkGraph } from './reactivity/RaphWorkGraph';
13
+ import { RuntimeDisposalSweeper } from './reactivity/runtime-reactivity.types';
14
+ import { RaphScope } from './ownership/RaphScope';
15
+ import { PathHandle } from './reactivity/PathHandle';
16
+ import { RuntimeReactivity } from './reactivity/RuntimeReactivity';
13
17
  export interface RaphRuntimeOptions {
18
+ readonly adaptiveDependencyIndex?: boolean;
19
+ readonly debug?: RaphDebugOptions;
14
20
  readonly id?: string;
15
21
  readonly kernel?: RaphKernel;
16
22
  readonly enforceActions?: boolean;
17
23
  readonly scheduler?: RaphSchedulerMode;
18
24
  }
19
25
  export interface RaphRuntimeConfiguration {
26
+ readonly adaptiveDependencyIndex: boolean;
27
+ readonly debug?: RaphDebugOptions;
20
28
  readonly id: string;
21
29
  readonly kernel: RaphKernel;
22
30
  readonly enforceActions: boolean;
23
31
  readonly scheduler: RaphSchedulerMode;
24
32
  }
33
+ export type RaphRuntimeMeta = Pick<RaphMeta, 'delete' | 'get' | 'has' | 'merge' | 'set'>;
25
34
  /**
26
- * Один изолированный signal execution-plane поверх собственного или shared Kernel.
35
+ * Один phase binding в том виде, в котором его видит effect scope. Регистрацией
36
+ * является сама постоянная запись binding, поэтому её capabilities вызываются
37
+ * только с регистрацией в качестве receiver.
38
+ *
39
+ * @internal
27
40
  */
41
+ export interface RaphPausableRegistration {
42
+ readonly active: boolean;
43
+ readonly dispose: (this: RaphPausableRegistration) => void;
44
+ readonly pause: (this: RaphPausableRegistration) => void;
45
+ readonly resume: (this: RaphPausableRegistration) => void;
46
+ }
47
+ /** Isolated Runtime execution plane with phase-bound work only. */
28
48
  export declare class RaphRuntime {
29
49
  private static _runtimeCounter;
50
+ readonly mode: "runtime";
30
51
  readonly configuration: RaphRuntimeConfiguration;
31
52
  readonly rootScope: RaphScope;
32
53
  readonly root: RaphNode;
54
+ readonly frameTick: ReadonlySignal<number>;
33
55
  private readonly _reactivity;
34
56
  private readonly _signalLifecycle;
57
+ private readonly _workGraph;
58
+ private readonly _frameTickSignal;
35
59
  private _pathHandles;
36
60
  private _meta;
37
61
  private _phases;
38
62
  private _frameLoop;
39
- private _frameRevision;
40
- private _frameRevisionValue;
41
63
  private _debug;
64
+ private readonly _debugController;
42
65
  private _parentGraph;
43
- private readonly _owners;
44
- private _transactionDepth;
66
+ private readonly _topOwners;
67
+ private _ownerRegistrations;
68
+ private _ownersReleased;
69
+ private _batchDepth;
45
70
  private _mutationDepth;
46
- private _kernelTransactionDepth;
71
+ private _kernelBatchDepth;
72
+ private _ownerDisposalDepth;
73
+ private readonly _disposingNodes;
74
+ private _ownerDisposals;
75
+ private _disposalSweepers;
76
+ private _nextDisposalSweep;
47
77
  private _actionDepth;
78
+ private _actionCounter;
79
+ private readonly _traceCauseStack;
80
+ private _phaseTraceOperations;
48
81
  private _executionRequested;
49
82
  private _disposed;
50
83
  private readonly _disposedListeners;
51
- /**
52
- * Создаёт изолированный execution graph поверх собственного или shared Kernel.
53
- */
54
84
  constructor(options?: RaphRuntimeOptions);
55
- /**
56
- * Возвращает внутренний runtime reactivity adapter.
57
- * @internal
58
- */
85
+ /** @internal */
59
86
  _getReactivity(): RuntimeReactivity;
60
87
  /**
61
- * Возвращает стабильный идентификатор runtime.
88
+ * Возвращает внутренний WorkGraph для optional execution layers.
89
+ *
90
+ * @internal
62
91
  */
92
+ _getWorkGraph(): RaphWorkGraph;
63
93
  get id(): string;
64
- /**
65
- * Возвращает data/meta Kernel этого runtime.
66
- */
67
94
  get kernel(): RaphKernel;
68
- /**
69
- * Возвращает лениво созданный runtime-owned metadata facade.
70
- */
71
- get meta(): RaphMeta;
72
- /**
73
- * Показывает, освобождён ли runtime.
74
- */
75
95
  get disposed(): boolean;
76
- /**
77
- * Возвращает лениво созданное read-only представление ownership graph.
78
- */
79
96
  get graph(): DepGraph;
80
- /**
81
- * Показывает, удерживается ли автоматический frame-loop.
82
- */
83
97
  get loopEnabled(): boolean;
84
- /**
85
- * Возвращает последний frame context runtime pipeline.
86
- */
87
- get frame(): Readonly<{
88
- now: number;
89
- delta: number;
90
- elapsed: number;
91
- frame: number;
92
- }>;
93
- /**
94
- * Возвращает текущее определение runtime phases.
95
- */
98
+ get frame(): import('./phases/phase.types').RaphFrameContext;
96
99
  get phases(): readonly RaphPhase[];
97
- /**
98
- * Формирует диагностический снимок materialized derived registry.
99
- */
100
+ /** Runtime metadata facade intentionally excludes unphased watch(). */
101
+ get meta(): RaphRuntimeMeta;
100
102
  getDerivedSnapshot(): ReturnType<RaphKernel['getDerivedSnapshot']>;
101
- /**
102
- * Возвращает лениво созданную read-only диагностику runtime и ownership tree.
103
- */
104
103
  get debug(): RaphRuntimeDebug;
105
- /**
106
- * Создаёт writable signal, принадлежащий указанному owner.
107
- */
108
104
  signal<T>(value: T, owner?: RaphScope): Signal<T>;
109
105
  /**
110
- * Создаёт computed, принадлежащий указанному owner.
106
+ * Creates a deep reactive Proxy owned by this Runtime root scope.
107
+ * Property dependencies use the intrusive graph directly and intentionally
108
+ * do not create per-property WorkGraph producers or phase causes.
111
109
  */
110
+ reactive<T extends object>(value: T): T;
112
111
  computed<T>(getter: () => T, owner?: RaphScope): ReadonlySignal<T>;
113
112
  computed<T>(options: WritableComputedOptions<T>, owner?: RaphScope): Signal<T>;
114
- /**
115
- * Создаёт реактивный effect и регистрирует его lifecycle у owner.
113
+ /** Low-level adapter form. Prefer consumer.effect(). */
114
+ effect(consumer: RaphScope, phaseInput: string, callback: RaphPhaseEffect, options?: RaphEffectOptions): Disposer;
115
+ /**
116
+ * Регистрирует один implicit phase effect. Возвращаемая регистрация является
117
+ * записью binding: она одновременно ресурс владельца, задача engine и элемент
118
+ * очереди pipeline, поэтому на effect больше ничего не выделяется. Тело
119
+ * записи engine у всех bindings графа одно — `RuntimeReactivity._phaseBody`:
120
+ * свой binding оно находит через engine, а не через собственную closure.
121
+ *
122
+ * При `taskless` тело вызывается без task: запись получает `TASK_TASKLESS`,
123
+ * общее тело не читает `record.task`, и frozen facade этого binding не
124
+ * создаётся, пока его не запросит `process` своей phase. Режим — бит поля
125
+ * `state`: запись от него не растёт.
126
+ *
127
+ * @internal
116
128
  */
117
- effect(callback: () => void | Disposer, owner?: RaphScope): Disposer;
118
- effect(phase: string, callback: () => void | Disposer, options?: RaphEffectOptions, owner?: RaphScope): Disposer;
119
- /**
120
- * Подписывает runtime owner на path- либо signal-изменения.
129
+ _effectRegistration(consumer: RaphScope, phaseInput: string, callback: RaphPhaseEffect, options?: RaphEffectOptions, startPaused?: boolean, taskless?: boolean, onExecutionFailure?: (error: unknown) => never, isExecutionCancelled?: () => boolean): RaphPausableRegistration;
130
+ /**
131
+ * Регистрирует группу из `count` implicit phase effects на одной записи
132
+ * binding. Каждый slot получает собственную запись графа engine, то есть
133
+ * собственный набор зависимостей и собственный признак invalidation, а
134
+ * запись binding и её место в очереди phase и в списке ресурсов владельца у
135
+ * группы одни. Тело записи engine у slots то же, что у всех bindings графа.
136
+ * Возвращаемая регистрация — эта запись; она же handle группы.
137
+ *
138
+ * Регистрация ничего не исполняет: каждый slot запускает `_startGroupSlot`.
139
+ * Запись входит в список владельца сразу, поэтому владелец освобождает
140
+ * группу после ресурсов, которые зарегистрируют тела её slots.
141
+ *
142
+ * @internal
121
143
  */
122
- watch(masks: DataPathDef | readonly DataPathDef[], callback: (payload: PathEvents) => void | Disposer, options?: WatchOptions, owner?: RaphScope): Disposer;
123
- watch<S extends WatchSource | readonly WatchSource[]>(source: S, callback: (value: WatchValue<S>, previous: WatchValue<S> | undefined) => void | Disposer, options?: WatchOptions, owner?: RaphScope): Disposer;
124
- /**
125
- * Возвращает кешируемый runtime-owned handle canonical path.
144
+ _effectGroupRegistration(consumer: RaphScope, phaseInput: string, count: number, runSlot: RaphEffectGroupSlot, context: unknown, options?: RaphEffectGroupOptions, startPaused?: boolean): RaphPhaseTaskRecord;
145
+ /**
146
+ * Запускает один slot группы: планирует его запись графа, ставит запись
147
+ * группы в очередь и, при `initial: 'sync'`, выполняет flush. Шаги те же, что
148
+ * у регистрации одиночного implicit effect после создания его записи.
149
+ *
150
+ * Сбой внутри вызова останавливает только этот slot и бросается вызывающему,
151
+ * как сбой первой доставки откатывает регистрацию одиночного binding; группа
152
+ * и остальные её slots остаются. Группа, у которой остановлен последний slot,
153
+ * освобождается.
154
+ *
155
+ * Запуск на освобождённом владельце бросает `RaphDisposedError`, как
156
+ * `bindEffect()`: и когда владелец освобождён до вызова, и когда его
157
+ * освободила первая доставка внутри вызова, при любом scheduler. Молчит
158
+ * только запуск slot группы, освобождённой при живом владельце.
159
+ *
160
+ * @internal
126
161
  */
127
- path<T>(path: DataPathDef, options?: PathOptions): PathHandle<T>;
162
+ _startGroupSlot(record: RaphPhaseTaskRecord, slot: number, initial: RaphEffectInitialMode, onExecutionFailure?: (error: unknown) => never): void;
163
+ /** Low-level adapter form. Prefer consumer.watch(). */
164
+ watch(consumer: RaphScope, source: RaphWatchSource, phaseInput: string, callback: RaphPhaseEffect, options?: RaphWatchOptions): Disposer;
128
165
  /**
129
- * Возвращает весь path-root Kernel с обычным tracking чтения.
166
+ * Регистрирует один explicit phase watch. Возвращаемая запись binding является
167
+ * pausable-регистрацией и одновременно ресурсом владельца этого watch.
168
+ *
169
+ * @internal
130
170
  */
171
+ _watchRegistration(consumer: RaphScope, source: RaphWatchSource, phaseInput: string, callback: RaphPhaseEffect, options?: RaphWatchOptions, startPaused?: boolean, onExecutionFailure?: (error: unknown) => never, isExecutionCancelled?: () => boolean): RaphPhaseTaskRecord;
172
+ aggregate(consumer: RaphScope, sources: readonly RaphAggregateSource[]): RaphAggregate;
173
+ /** Creates a lazy root-owned metadata event source for phase watches. */
174
+ metaSource(masks: DataPathDef | readonly DataPathDef[], options?: RaphMetaSourceOptions): RaphMetaSource;
175
+ path<T>(path: DataPathDef, options?: PathOptions): PathHandle<T>;
131
176
  get<T = RaphKernelRoot>(): T | undefined;
132
- /**
133
- * Возвращает значение Kernel по пути с runtime lifecycle checks.
134
- */
135
177
  get<T = unknown>(path: DataPathDef, options?: PathOptions): T | undefined;
136
- /**
137
- * Читает весь path-root Kernel без регистрации реактивной зависимости.
138
- */
139
178
  peek<T = RaphKernelRoot>(): T | undefined;
140
- /**
141
- * Читает значение Kernel без регистрации реактивной зависимости.
142
- */
143
179
  peek<T = unknown>(path: DataPathDef, options?: PathOptions): T | undefined;
144
- /**
145
- * Проверяет наличие значения Kernel по пути.
146
- */
147
180
  has(path: DataPathDef, options?: PathOptions): boolean;
148
- /**
149
- * Записывает значение Kernel внутри runtime write policy.
150
- */
151
181
  set<T>(path: DataPathDef, value: T, options?: PathOptions): void;
152
- /**
153
- * Объединяет значение Kernel внутри runtime write policy.
154
- */
155
182
  merge(path: DataPathDef, value: unknown, options?: PathOptions): void;
156
- /**
157
- * Удаляет значение Kernel внутри runtime write policy.
158
- */
159
183
  delete(path: DataPathDef, options?: PathOptions): void;
184
+ batch<T>(operation: () => T): T;
185
+ /** Batches an internal reactive-only commit without opening an unused Kernel boundary. @internal */
186
+ _batchReactive<T>(operation: () => T): T;
187
+ private _batch;
188
+ /**
189
+ * Закрывает один уровень batch: внешний уровень очищает transient causes и
190
+ * запускает фазы. Бросает ошибку операции, ошибки закрытия либо все вместе;
191
+ * после успешной операции и закрытия возвращает управление.
192
+ */
193
+ private _closeBatch;
194
+ /**
195
+ * Исполняет тело action: `batch(() => _runUntracked(() => operation(...args)))`
196
+ * без closures и без промежуточных вызовов слоёв. Runtime, который один
197
+ * владеет своим Kernel без derived handles, metadata watchers и adapter,
198
+ * открывает границы reactive batch, Kernel и path batch явными вызовами и
199
+ * закрывает их в том же порядке и с теми же ошибками, что вложенные
200
+ * `batch()` этих слоёв. В любом другом состоянии исполняется сам `batch()`.
201
+ */
202
+ private _applyBatch;
203
+ action<Args extends unknown[], Result>(operation: (...args: Args) => Result, owner?: RaphScope): (...args: Args) => Result;
204
+ action<Args extends unknown[], Result>(name: string, operation: (...args: Args) => Result, owner?: RaphScope): (...args: Args) => Result;
205
+ untracked<T>(operation: () => T): T;
206
+ scope(id: string): RaphScope;
207
+ node<TApi = void>(options: NodeOptions, setup?: (node: RaphNode) => TApi): RaphNode<TApi>;
160
208
  /**
161
- * Выполняет операцию в общей синхронной transaction boundary.
209
+ * Создаёт provisional node, выполняет setup и публикует результат; при ошибке
210
+ * setup откатывает node до выхода из границы mutation.
162
211
  */
163
- transaction<T>(operation: () => T): T;
212
+ private _createCommittedNode;
213
+ getNode(id: string): RaphNode | undefined;
214
+ definePhases(phases: readonly RaphPhase[]): void;
215
+ addPhase(phase: RaphPhase): void;
216
+ clearPhases(): void;
217
+ requestExecution(): void;
218
+ flush(): void;
219
+ afterFlush(): Promise<void>;
220
+ acquireLoop(owner: string): FrameLoopLease;
221
+ startLoop(): void;
222
+ stopLoop(): void;
223
+ derive<TSource, TTarget>(options: DerivedOptions<TSource, TTarget>): RaphDerivedHandle<TSource, TTarget>;
224
+ dispose(): void;
225
+ /** @internal */
226
+ _onDisposed(listener: () => void): Disposer;
227
+ /** @internal */
228
+ _notifyNodeStructure(node: RaphNode, structure: RaphStructureCause, oldAncestors: readonly RaphNode[], newAncestors: readonly RaphNode[]): void;
164
229
  /**
165
- * Создаёт именованную action boundary для разрешённых записей.
230
+ * Сообщает, может ли structural publication этой node дойти до подписчика;
231
+ * `false` позволяет не строить structure cause и списки ancestors.
232
+ *
233
+ * @internal
166
234
  */
167
- action<Args extends unknown[], Result>(name: string, operation: (...args: Args) => Result, owner?: RaphScope): (...args: Args) => Result;
235
+ _hasNodeStructureDemand(node: RaphNode): boolean;
168
236
  /**
169
- * Выполняет операцию внутри action boundary.
237
+ * Сообщает, есть ли у Runtime хотя бы один подписчик на node: runtime-,
238
+ * subtree- или self-watcher. Пока он есть, node поддерживает выданный массив
239
+ * детей на месте, потому что structure cause берёт из него индексы.
240
+ *
241
+ * @internal
170
242
  */
171
- runInAction<T>(_name: string, operation: () => T): T;
172
- /**
173
- * Выполняет операцию без регистрации реактивных зависимостей.
243
+ _hasNodeSubscribers(): boolean;
244
+ /** @internal */
245
+ _notifyNodeTouch(node: RaphNode, metadata?: unknown): void;
246
+ /** @internal */
247
+ _assertNodeReparentAllowed(node: RaphNode, newParent: RaphNode): void;
248
+ /** @internal */
249
+ _releaseNode(node: RaphNode): void;
250
+ /** @internal */
251
+ _runNodeMutation<T>(operation: () => T): T;
252
+ /**
253
+ * Выполняет границу пустой node mutation без аллокаций: эквивалент
254
+ * `_runWrite(noop)` с тем же запросом исполнения и flush на внешней границе.
255
+ *
256
+ * @internal
174
257
  */
175
- untracked<T>(operation: () => T): T;
258
+ _touchMutationBoundary(): void;
259
+ /** @internal */
260
+ _runPhaseTransition<T>(operation: () => T): T;
176
261
  /**
177
- * Создаёт дочерний lifecycle scope.
262
+ * Открывает границу освобождения. `node` передаёт только dispose самой node:
263
+ * Runtime помнит её до парного `_endOwnerDisposal`.
264
+ *
265
+ * @internal
178
266
  */
179
- scope(id: string): RaphScope;
267
+ _beginOwnerDisposal(node?: RaphNode): void;
268
+ /** @internal */
269
+ _endOwnerDisposal(): void;
180
270
  /**
181
- * Создаёт дочерний execution node.
271
+ * Возвращает число владельцев, освобождённых этим Runtime за всё время.
272
+ *
273
+ * @internal
182
274
  */
183
- node<TApi>(options: NodeOptions, setup: (node: RaphNode) => TApi): RaphNode<TApi>;
275
+ _ownerDisposalCount(): number;
184
276
  /**
185
- * Находит принадлежащий runtime node по id для диагностики.
277
+ * Подключает участника уборки: Runtime вызовет его на первой внешней границе
278
+ * освобождения, к которой число освобождённых владельцев достигнет `due`.
279
+ * Подключённый участник остаётся в очереди, пока сам не откажется от
280
+ * следующего срока либо не будет отключён.
281
+ *
282
+ * @internal
186
283
  */
187
- getNode(id: string): RaphNode | undefined;
284
+ _addDisposalSweeper(sweeper: RuntimeDisposalSweeper, due: number): void;
188
285
  /**
189
- * Заменяет полное определение phase pipeline до его первого выполнения.
286
+ * Отключает участника уборки; отключение неизвестного участника безопасно.
287
+ *
288
+ * @internal
190
289
  */
191
- definePhases(phases: readonly RaphPhase[]): void;
290
+ _removeDisposalSweeper(sweeper: RuntimeDisposalSweeper): void;
192
291
  /**
193
- * Добавляет phase до первого выполнения pipeline.
292
+ * Вызывает участников уборки, чей срок подошёл, и назначает ближайший
293
+ * следующий срок. Участник, чей срок не подошёл, вызова не получает:
294
+ * освобождение владельца стоит участникам работы, только когда подходит их
295
+ * собственный срок.
194
296
  */
195
- addPhase(phase: RaphPhase): void;
297
+ private _sweepAfterDisposals;
298
+ /** @internal */
299
+ _ownerDisposalActive(): boolean;
196
300
  /**
197
- * Удаляет пользовательские phases до первого выполнения pipeline.
301
+ * Учитывает нового владельца и возвращает его порядковый номер регистрации.
302
+ * Plain scope сразу входит в набор владельцев вне списков детей; node входит
303
+ * в него сама через `_addTopOwner`, и только если у неё нет parent.
304
+ *
305
+ * @internal
198
306
  */
199
- clearPhases(): void;
307
+ _registerOwner(owner: RaphScope): number;
200
308
  /**
201
- * Регистрирует path observer в phase pipeline.
309
+ * Снимает владельца с учёта. Plain scope выходит и из набора владельцев вне
310
+ * списков детей; node без parent выходит из него сама через
311
+ * `_removeTopOwner`, а node с parent в нём не состоит.
312
+ *
313
+ * @internal
202
314
  */
203
- observeData(node: RaphNode, masks: DataPathDef | readonly DataPathDef[], options: RaphObserveDataOptions): Disposer;
315
+ _unregisterOwner(owner: RaphScope): void;
204
316
  /**
205
- * Регистрирует tracked executor указанной phase.
317
+ * Вносит node без parent в набор владельцев вне списков детей.
318
+ *
319
+ * @internal
206
320
  */
207
- track(node: RaphNode, masks: DataPathDef | readonly DataPathDef[], options?: RaphTrackOptions): Disposer;
321
+ _addTopOwner(node: RaphNode): void;
208
322
  /**
209
- * Помечает node для выполнения в pipeline.
323
+ * Убирает node из набора владельцев вне списков детей: она освобождена либо
324
+ * получила parent. Повторный вызов и вызов после освобождения Runtime
325
+ * безопасны.
326
+ *
327
+ * @internal
210
328
  */
211
- invalidateNode(node: RaphNode, phase: string): void;
212
- /**
213
- * Синхронно выполняет все готовые очереди pipeline.
329
+ _removeTopOwner(node: RaphNode): void;
330
+ /** @internal */
331
+ _assertOwnerRuntime(owner: RaphScope): void;
332
+ /** @internal */
333
+ _beginKernelBatch(): void;
334
+ /** @internal */
335
+ _endKernelBatch(): void;
336
+ /** Регистрирует read-only diagnostics projection optional Machine. @internal */
337
+ _registerMachineDebug(registration: RaphMachineDebugRegistration): Disposer;
338
+ /**
339
+ * Проверяет optional diagnostic identity без создания public facade.
340
+ *
341
+ * @internal
214
342
  */
215
- flush(): void;
343
+ _hasMachineDebug(id: string): boolean;
216
344
  /**
217
- * Получает lease автоматического frame-loop.
345
+ * Проверяет optional trace path без выделения operation ID.
346
+ *
347
+ * @internal
218
348
  */
219
- acquireLoop(owner: string): FrameLoopLease;
349
+ _traces(kind: RaphTraceKind): boolean;
350
+ /** Возвращает наследуемый cause для optional execution layers. @internal */
351
+ _currentTraceCauseId(): number | undefined;
352
+ /** Выдаёт operation id только на активном trace path. @internal */
353
+ _nextTraceOperation(kind: RaphTraceKind): number | undefined;
220
354
  /**
221
- * Запускает manual lease автоматического frame-loop.
355
+ * Проверяет, должен ли untracked work изолировать reactive или Runtime owner context.
356
+ *
357
+ * @internal
222
358
  */
223
- startLoop(): void;
359
+ _hasActiveReactiveContext(): boolean;
360
+ /** Записывает optional trace event без machine dependency. @internal */
361
+ _recordTrace(event: RaphTraceEventInput): void;
362
+ /** Наследует cause через outputs/tasks optional execution layers. @internal */
363
+ _runWithTraceCause<T>(causeId: number | undefined, operation: () => T): T;
224
364
  /**
225
- * Останавливает manual lease автоматического frame-loop.
365
+ * Выполняет единственную проверку binding: pipeline доверяет её результату.
226
366
  */
227
- stopLoop(): void;
367
+ private _validatePhaseBinding;
228
368
  /**
229
- * Создаёт управляемое derived-представление source path в target path.
369
+ * Освобождает binding, регистрация которого не удалась, и повторно бросает
370
+ * причину сбоя; ошибка самого освобождения присоединяется к ней.
230
371
  */
231
- derive<TSource, TTarget>(options: DerivedOptions<TSource, TTarget>): RaphDerivedHandle<TSource, TTarget>;
372
+ private _rollbackRegistration;
373
+ private _createDebugSnapshot;
374
+ private _createDebugTree;
375
+ private _createDebugStats;
232
376
  /**
233
- * Освобождает execution graph и отсоединяет runtime от shared Kernel.
377
+ * Возвращает число владельцев, которых Runtime числит живыми: зарегистрированных
378
+ * и ещё не снятых с учёта. После освобождения Runtime их нет.
234
379
  */
235
- dispose(): void;
380
+ private _liveOwnerCount;
236
381
  /**
237
- * Регистрирует listener освобождения runtime.
238
- * @internal
382
+ * Собирает всех владельцев, которых Runtime числит живыми. Владельцы вне
383
+ * списков детей идут в порядке регистрации, каждый — вместе с потомками по
384
+ * спискам детей. Node, чей dispose ещё исполняется, из списка parent уже
385
+ * вышла либо потеряла parent, который сбросил свой список: её и оставшихся
386
+ * у неё детей добавляют места границ освобождения.
239
387
  */
240
- _onDisposed(listener: () => void): Disposer;
241
- private _watchPath;
242
- private _createDebugSnapshot;
243
- private _watchMeta;
244
- private _watchMetaInPhase;
388
+ private _collectOwners;
245
389
  private _releasePathHandle;
246
390
  private get _execution();
247
391
  private get _clock();
248
392
  private _tickFrameLoop;
393
+ /**
394
+ * Записывает frame signal в собственной границе записи, минуя политику
395
+ * actions: кадр продвигает сам Runtime.
396
+ */
397
+ private _setFrameTick;
249
398
  private _attachWritableComputed;
250
399
  private _own;
400
+ private _runTracked;
401
+ private _runUntracked;
402
+ private _runWrite;
251
403
  /**
252
- * Регистрирует lifecycle owner в runtime registry.
404
+ * Открывает границу записи без closure; повторяет начало `_runWrite`.
405
+ *
253
406
  * @internal
254
407
  */
255
- _registerOwner(owner: RaphScope): void;
408
+ _enterWrite(): void;
256
409
  /**
257
- * Удаляет lifecycle owner из runtime registry.
410
+ * Закрывает успешную запись, открытую `_enterWrite`; внешняя граница очищает
411
+ * transient causes и запускает фазы с теми же ошибками, что и `_runWrite`.
412
+ *
258
413
  * @internal
259
414
  */
260
- _unregisterOwner(owner: RaphScope): void;
415
+ _exitWrite(): void;
261
416
  /**
262
- * Проверяет, что owner принадлежит этому живому runtime.
417
+ * Закрывает запись после ошибки операции и возвращает ошибку для throw:
418
+ * исходную либо AggregateError, если упало и закрытие внешней границы.
419
+ *
263
420
  * @internal
264
421
  */
265
- _assertOwnerRuntime(owner: RaphScope): void;
266
- private _runTracked;
267
- private _runUntracked;
268
- private _runWrite;
269
- private _requestExecution;
422
+ _failWrite(operationError: unknown): unknown;
270
423
  /**
271
- * Открывает shared Kernel transaction для runtime.
272
- * @internal
424
+ * Сообщает, что внешняя write-, batch-, Kernel- или disposal-граница ещё открыта.
425
+ * В этом состоянии оба шага `_finishExecutionBoundary` заведомо ничего не делают:
426
+ * transient causes очищаются и фазы запускаются только при нулевых глубинах.
273
427
  */
274
- _beginKernelTransaction(): void;
428
+ private _executionBoundaryOpen;
429
+ /** Закрывает внешнюю границу; массив ошибок создаётся только при первой ошибке. */
430
+ private _finishExecutionBoundary;
431
+ private _clearTransientCausesIfSettled;
432
+ private _requestExecution;
433
+ private _assertTrackedRead;
275
434
  /**
276
- * Закрывает shared Kernel transaction и запускает отложенное выполнение.
435
+ * Проверяет tracked read из optional owned source.
436
+ *
277
437
  * @internal
278
438
  */
279
- _endKernelTransaction(): void;
280
- private _assertTrackedRead;
439
+ _assertSourceReadable(owner: RaphScope): void;
440
+ private _assertImplicitDependency;
281
441
  private _assertWriteAllowed;
282
442
  private _throwCrossRuntime;
283
- private _throwDisposed;
284
443
  private _assertAlive;
285
444
  }