@craft-ts/core 0.7.0-beta.13 → 0.7.0-beta.16

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 (699) hide show
  1. package/package.json +10 -2
  2. package/src/index.d.ts +156 -148
  3. package/src/index.js +153 -142
  4. package/src/lib/after-recomputation.d.ts +3 -4
  5. package/src/lib/after-recomputation.js +3 -4
  6. package/src/lib/app-checked-di.d.ts +3 -4
  7. package/src/lib/app-checked-di.js +0 -1
  8. package/src/lib/async-process.d.ts +18 -19
  9. package/src/lib/async-process.js +24 -25
  10. package/src/lib/branded-component/branded-component.d.ts +3 -4
  11. package/src/lib/branded-component/branded-component.js +0 -1
  12. package/src/lib/browser-boundaries.d.ts +6 -7
  13. package/src/lib/browser-boundaries.js +5 -6
  14. package/src/lib/client-di-requirement.d.ts +1 -2
  15. package/src/lib/client-di-requirement.js +0 -1
  16. package/src/lib/client-function-middleware.d.ts +8 -92
  17. package/src/lib/client-function-middleware.js +89 -90
  18. package/src/lib/component-monitoring.d.ts +1 -2
  19. package/src/lib/component-monitoring.js +2 -3
  20. package/src/lib/component-register.d.ts +1 -2
  21. package/src/lib/component-register.js +1 -2
  22. package/src/lib/computed-source.d.ts +3 -4
  23. package/src/lib/computed-source.js +2 -3
  24. package/src/lib/correlation-id-plugin.d.ts +1 -2
  25. package/src/lib/correlation-id-plugin.js +6 -7
  26. package/src/lib/correlation-id.d.ts +4 -5
  27. package/src/lib/correlation-id.js +3 -4
  28. package/src/lib/craft-a11y.d.ts +3 -4
  29. package/src/lib/craft-a11y.js +5 -6
  30. package/src/lib/craft-activated-route.d.ts +2 -3
  31. package/src/lib/craft-activated-route.js +2 -3
  32. package/src/lib/craft-app-config.d.ts +4 -5
  33. package/src/lib/craft-app-config.js +3 -4
  34. package/src/lib/craft-codec.d.ts +0 -1
  35. package/src/lib/craft-codec.js +0 -1
  36. package/src/lib/craft-computed.d.ts +6 -7
  37. package/src/lib/craft-computed.js +7 -8
  38. package/src/lib/craft-control-flow.d.ts +0 -1
  39. package/src/lib/craft-control-flow.js +2 -3
  40. package/src/lib/craft-effect.d.ts +2 -3
  41. package/src/lib/craft-effect.js +7 -8
  42. package/src/lib/craft-exception.d.ts +0 -1
  43. package/src/lib/craft-exception.js +0 -1
  44. package/src/lib/craft-gen.d.ts +1 -2
  45. package/src/lib/craft-gen.js +2 -3
  46. package/src/lib/craft-generator-runtime.d.ts +21 -5
  47. package/src/lib/craft-generator-runtime.js +28 -6
  48. package/src/lib/craft-guard-runtime.d.ts +4 -5
  49. package/src/lib/craft-guard-runtime.js +6 -7
  50. package/src/lib/craft-handshake.d.ts +1 -2
  51. package/src/lib/craft-handshake.js +0 -1
  52. package/src/lib/craft-http-client.d.ts +3 -4
  53. package/src/lib/craft-http-client.js +4 -5
  54. package/src/lib/craft-http-trace.d.ts +1 -2
  55. package/src/lib/craft-http-trace.js +5 -2
  56. package/src/lib/craft-hydration.d.ts +11 -0
  57. package/src/lib/craft-hydration.js +2 -0
  58. package/src/lib/craft-lazy.d.ts +3 -4
  59. package/src/lib/craft-lazy.js +5 -6
  60. package/src/lib/craft-load-retry.d.ts +2 -3
  61. package/src/lib/craft-load-retry.js +11 -4
  62. package/src/lib/craft-machine-history.d.ts +6 -7
  63. package/src/lib/craft-machine-history.js +6 -7
  64. package/src/lib/craft-match.d.ts +0 -1
  65. package/src/lib/craft-match.js +0 -1
  66. package/src/lib/craft-method.d.ts +3 -4
  67. package/src/lib/craft-method.js +5 -6
  68. package/src/lib/craft-node-directive.d.ts +3 -4
  69. package/src/lib/craft-node-directive.js +2 -3
  70. package/src/lib/craft-pending.d.ts +3 -4
  71. package/src/lib/craft-pending.js +2 -3
  72. package/src/lib/craft-pipe.d.ts +1 -2
  73. package/src/lib/craft-pipe.js +7 -8
  74. package/src/lib/craft-platform.d.ts +2 -3
  75. package/src/lib/craft-platform.js +2 -3
  76. package/src/lib/craft-primitive-gen.d.ts +7 -8
  77. package/src/lib/craft-primitive-gen.js +4 -5
  78. package/src/lib/craft-primitive-registry.d.ts +4 -2
  79. package/src/lib/craft-primitive-registry.js +5 -3
  80. package/src/lib/craft-program-operators.d.ts +3 -4
  81. package/src/lib/craft-program-operators.js +4 -5
  82. package/src/lib/craft-program-runtime.d.ts +3 -4
  83. package/src/lib/craft-program-runtime.js +7 -8
  84. package/src/lib/craft-register-for-runtime.d.ts +2 -3
  85. package/src/lib/craft-register-for-runtime.js +2 -3
  86. package/src/lib/craft-register-for.d.ts +3 -4
  87. package/src/lib/craft-register-for.js +6 -7
  88. package/src/lib/craft-render-identity.d.ts +0 -1
  89. package/src/lib/craft-render-identity.js +1 -2
  90. package/src/lib/craft-replay.d.ts +0 -1
  91. package/src/lib/craft-replay.js +0 -1
  92. package/src/lib/craft-request-context.d.ts +15 -0
  93. package/src/lib/craft-request-context.js +40 -0
  94. package/src/lib/craft-resolve.d.ts +2 -3
  95. package/src/lib/craft-resolve.js +0 -1
  96. package/src/lib/craft-resource.d.ts +2 -3
  97. package/src/lib/craft-resource.js +14 -6
  98. package/src/lib/craft-route-exceptions.d.ts +27 -28
  99. package/src/lib/craft-route-exceptions.js +3 -4
  100. package/src/lib/craft-route-load-error.d.ts +92 -93
  101. package/src/lib/craft-route-load-error.js +6 -7
  102. package/src/lib/craft-route-meta.d.ts +4 -5
  103. package/src/lib/craft-route-meta.js +0 -1
  104. package/src/lib/craft-route-target.d.ts +1 -2
  105. package/src/lib/craft-route-target.js +1 -2
  106. package/src/lib/craft-router-outlet.d.ts +7 -7
  107. package/src/lib/craft-router-outlet.js +24 -18
  108. package/src/lib/craft-router-tokens.d.ts +3 -4
  109. package/src/lib/craft-router-tokens.js +2 -3
  110. package/src/lib/craft-router-trace.d.ts +3 -4
  111. package/src/lib/craft-router-trace.js +9 -3
  112. package/src/lib/craft-router.d.ts +16 -17
  113. package/src/lib/craft-router.js +75 -74
  114. package/src/lib/craft-routes.d.ts +20 -15
  115. package/src/lib/craft-routes.js +13 -12
  116. package/src/lib/craft-runtime-mode.d.ts +13 -0
  117. package/src/lib/craft-runtime-mode.js +21 -0
  118. package/src/lib/craft-security.d.ts +87 -0
  119. package/src/lib/craft-security.js +117 -0
  120. package/src/lib/craft-service.d.ts +12 -13
  121. package/src/lib/craft-service.js +11 -12
  122. package/src/lib/craft-service.shared.d.ts +0 -1
  123. package/src/lib/craft-service.shared.js +0 -1
  124. package/src/lib/craft-settled.d.ts +23 -16
  125. package/src/lib/craft-settled.js +9 -10
  126. package/src/lib/craft-ssr.d.ts +2 -3
  127. package/src/lib/craft-ssr.js +4 -5
  128. package/src/lib/craft-state-machine-runtime.d.ts +2 -3
  129. package/src/lib/craft-state-machine-runtime.js +3 -4
  130. package/src/lib/craft-state-machine.d.ts +5 -6
  131. package/src/lib/craft-state-machine.js +9 -10
  132. package/src/lib/craft-target-runtime.d.ts +1 -2
  133. package/src/lib/craft-target-runtime.js +2 -3
  134. package/src/lib/craft-transfer-snapshot.d.ts +10 -5
  135. package/src/lib/craft-transfer-snapshot.js +139 -14
  136. package/src/lib/craft-unique.d.ts +0 -1
  137. package/src/lib/craft-unique.js +0 -1
  138. package/src/lib/craft-until-settled.d.ts +5 -6
  139. package/src/lib/craft-until-settled.js +4 -5
  140. package/src/lib/craft-use.d.ts +0 -1
  141. package/src/lib/craft-use.js +2 -3
  142. package/src/lib/craft-view-transition.d.ts +2 -3
  143. package/src/lib/craft-view-transition.js +2 -3
  144. package/src/lib/dev-tools.d.ts +7 -0
  145. package/src/lib/dev-tools.js +244 -0
  146. package/src/lib/dom-event-hook.d.ts +1 -2
  147. package/src/lib/dom-event-hook.js +1 -2
  148. package/src/lib/fn-wrapper.d.ts +2 -3
  149. package/src/lib/fn-wrapper.js +3 -4
  150. package/src/lib/form/craft-field.d.ts +2 -3
  151. package/src/lib/form/craft-field.directive.d.ts +6 -7
  152. package/src/lib/form/craft-field.directive.js +5 -6
  153. package/src/lib/form/craft-field.js +1 -2
  154. package/src/lib/form/field-exception.d.ts +4 -5
  155. package/src/lib/form/field-exception.js +1 -2
  156. package/src/lib/form/field-lens.d.ts +0 -1
  157. package/src/lib/form/field-lens.js +0 -1
  158. package/src/lib/form/insert-form-attributes.d.ts +6 -7
  159. package/src/lib/form/insert-form-attributes.js +5 -6
  160. package/src/lib/form/insert-form-internals.d.ts +11 -12
  161. package/src/lib/form/insert-form-internals.js +9 -10
  162. package/src/lib/form/insert-form-schema.d.ts +3 -4
  163. package/src/lib/form/insert-form-schema.js +4 -5
  164. package/src/lib/form/insert-form-submit.d.ts +7 -8
  165. package/src/lib/form/insert-form-submit.js +3 -4
  166. package/src/lib/form/insert-form.d.ts +6 -7
  167. package/src/lib/form/insert-form.js +8 -9
  168. package/src/lib/form/insert-select-form-tree.d.ts +2 -3
  169. package/src/lib/form/insert-select-form-tree.js +5 -6
  170. package/src/lib/form/insert-sub-form-field.d.ts +3 -4
  171. package/src/lib/form/insert-sub-form-field.js +6 -7
  172. package/src/lib/form/make-form-tree-insert.d.ts +1 -2
  173. package/src/lib/form/make-form-tree-insert.js +3 -4
  174. package/src/lib/form/target-form-field.d.ts +0 -1
  175. package/src/lib/form/target-form-field.js +0 -1
  176. package/src/lib/form/validator.d.ts +5 -6
  177. package/src/lib/form/validator.js +3 -4
  178. package/src/lib/from-event-to-source$.d.ts +2 -3
  179. package/src/lib/from-event-to-source$.js +3 -4
  180. package/src/lib/global-persister-handler.service.d.ts +1 -2
  181. package/src/lib/global-persister-handler.service.js +2 -3
  182. package/src/lib/host/craft-compat.d.ts +2 -3
  183. package/src/lib/host/craft-compat.js +2 -3
  184. package/src/lib/host/craft-dom.d.ts +0 -1
  185. package/src/lib/host/craft-dom.js +0 -1
  186. package/src/lib/host/craft-http.d.ts +0 -1
  187. package/src/lib/host/craft-http.js +0 -1
  188. package/src/lib/host/craft-injector-host.d.ts +2 -3
  189. package/src/lib/host/craft-injector-host.js +1 -2
  190. package/src/lib/host/craft-injector.d.ts +0 -1
  191. package/src/lib/host/craft-injector.js +0 -1
  192. package/src/lib/host/craft-linked-signal.d.ts +1 -2
  193. package/src/lib/host/craft-linked-signal.js +2 -3
  194. package/src/lib/host/craft-router-runtime.d.ts +0 -1
  195. package/src/lib/host/craft-router-runtime.js +0 -1
  196. package/src/lib/host/craft-router-types.d.ts +1 -2
  197. package/src/lib/host/craft-router-types.js +1 -2
  198. package/src/lib/host/craft-signal.d.ts +0 -1
  199. package/src/lib/host/craft-signal.js +1 -2
  200. package/src/lib/host/craft-test-bed.d.ts +2 -3
  201. package/src/lib/host/craft-test-bed.js +2 -3
  202. package/src/lib/host-tag.d.ts +1 -2
  203. package/src/lib/host-tag.js +1 -2
  204. package/src/lib/http-server.d.ts +156 -0
  205. package/src/lib/http-server.js +590 -0
  206. package/src/lib/insert-entities.d.ts +5 -6
  207. package/src/lib/insert-entities.js +1 -2
  208. package/src/lib/insert-noop-typing-anchor.d.ts +1 -2
  209. package/src/lib/insert-noop-typing-anchor.js +0 -1
  210. package/src/lib/insert-pagination-placeholder-data.d.ts +5 -6
  211. package/src/lib/insert-pagination-placeholder-data.js +5 -6
  212. package/src/lib/insert-react-on-mutation.d.ts +5 -6
  213. package/src/lib/insert-react-on-mutation.js +2 -3
  214. package/src/lib/insert-select-resource.d.ts +2 -3
  215. package/src/lib/insert-select-resource.js +1 -2
  216. package/src/lib/insert-select.d.ts +5 -6
  217. package/src/lib/insert-select.js +18 -19
  218. package/src/lib/insert-storage-persister.d.ts +4 -5
  219. package/src/lib/insert-storage-persister.js +2 -3
  220. package/src/lib/insert-typed-pipes.d.ts +3 -4
  221. package/src/lib/insert-typed-pipes.js +2 -3
  222. package/src/lib/lambda-adapter.d.ts +52 -0
  223. package/src/lib/lambda-adapter.js +101 -0
  224. package/src/lib/linked-source.d.ts +3 -4
  225. package/src/lib/linked-source.js +2 -3
  226. package/src/lib/local-storage-persister.d.ts +2 -3
  227. package/src/lib/local-storage-persister.js +3 -4
  228. package/src/lib/middleware-schema-shared.d.ts +9 -21
  229. package/src/lib/middleware-schema-shared.js +6 -1
  230. package/src/lib/mock-http-request-for-route.d.ts +3 -4
  231. package/src/lib/mock-http-request-for-route.js +0 -1
  232. package/src/lib/mutation.d.ts +18 -19
  233. package/src/lib/mutation.js +23 -24
  234. package/src/lib/on$.d.ts +6 -7
  235. package/src/lib/on$.js +4 -5
  236. package/src/lib/portable-server-function.d.ts +8 -9
  237. package/src/lib/portable-server-function.js +12 -5
  238. package/src/lib/preserved-resource.d.ts +2 -3
  239. package/src/lib/preserved-resource.js +4 -5
  240. package/src/lib/primitive-method-runtime-context.d.ts +1 -2
  241. package/src/lib/primitive-method-runtime-context.js +2 -3
  242. package/src/lib/primitive-resource-runtime-context.d.ts +1 -2
  243. package/src/lib/primitive-resource-runtime-context.js +2 -3
  244. package/src/lib/query-params.d.ts +12 -13
  245. package/src/lib/query-params.js +15 -16
  246. package/src/lib/query.core.d.ts +15 -14
  247. package/src/lib/query.core.js +1 -2
  248. package/src/lib/query.d.ts +19 -20
  249. package/src/lib/query.js +23 -24
  250. package/src/lib/reactive-read.d.ts +2 -3
  251. package/src/lib/reactive-read.js +2 -3
  252. package/src/lib/render/channels.d.ts +130 -0
  253. package/src/lib/render/channels.js +0 -0
  254. package/src/lib/resource-by-id.d.ts +4 -5
  255. package/src/lib/resource-by-id.js +4 -5
  256. package/src/lib/resource-exception.d.ts +2 -3
  257. package/src/lib/resource-exception.js +1 -2
  258. package/src/lib/route-checked-di.d.ts +4 -5
  259. package/src/lib/route-checked-di.js +0 -1
  260. package/src/lib/schema-validation.d.ts +4 -5
  261. package/src/lib/schema-validation.js +2 -3
  262. package/src/lib/send-context-to-ai.d.ts +3 -4
  263. package/src/lib/send-context-to-ai.js +1 -2
  264. package/src/lib/send-context-to-ai.tokens.d.ts +1 -2
  265. package/src/lib/send-context-to-ai.tokens.js +0 -1
  266. package/src/lib/server-function-client.d.ts +18 -7
  267. package/src/lib/server-function-client.js +31 -9
  268. package/src/lib/server-function-contract.d.ts +1 -2
  269. package/src/lib/server-function-contract.js +0 -1
  270. package/src/lib/server-function-middleware.d.ts +49 -132
  271. package/src/lib/server-function-middleware.js +83 -103
  272. package/src/lib/server-function.d.ts +58 -8
  273. package/src/lib/server-function.js +20 -6
  274. package/src/lib/server-layer.d.ts +3 -4
  275. package/src/lib/server-layer.js +1 -2
  276. package/src/lib/server.d.ts +39 -6
  277. package/src/lib/server.js +259 -27
  278. package/src/lib/setup-craft-service-test.d.ts +3 -4
  279. package/src/lib/setup-craft-service-test.js +6 -7
  280. package/src/lib/setup-craft-service-testing-by-register.d.ts +4 -5
  281. package/src/lib/setup-craft-service-testing-by-register.js +4 -5
  282. package/src/lib/signal-proxy.d.ts +2 -3
  283. package/src/lib/signal-proxy.js +1 -2
  284. package/src/lib/signal-source.d.ts +3 -4
  285. package/src/lib/signal-source.js +7 -8
  286. package/src/lib/source$.d.ts +3 -4
  287. package/src/lib/source$.js +7 -8
  288. package/src/lib/source-from-event.d.ts +2 -3
  289. package/src/lib/source-from-event.js +2 -3
  290. package/src/lib/stacked-source.d.ts +1 -2
  291. package/src/lib/stacked-source.js +1 -2
  292. package/src/lib/standard-schema.d.ts +0 -1
  293. package/src/lib/standard-schema.js +0 -1
  294. package/src/lib/state-method-runtime-context.d.ts +2 -3
  295. package/src/lib/state-method-runtime-context.js +1 -2
  296. package/src/lib/state.d.ts +13 -14
  297. package/src/lib/state.js +17 -18
  298. package/src/lib/storage-persister.service.d.ts +3 -4
  299. package/src/lib/storage-persister.service.js +3 -4
  300. package/src/lib/take-app-snapshot.d.ts +1 -2
  301. package/src/lib/take-app-snapshot.js +10 -4
  302. package/src/lib/template-trace.d.ts +1 -2
  303. package/src/lib/template-trace.js +5 -2
  304. package/src/lib/temporal-runtime.d.ts +1 -2
  305. package/src/lib/temporal-runtime.js +1 -2
  306. package/src/lib/to-source.d.ts +3 -4
  307. package/src/lib/to-source.js +2 -3
  308. package/src/lib/util/craft-resource-ref.d.ts +2 -3
  309. package/src/lib/util/craft-resource-ref.js +0 -1
  310. package/src/lib/util/craft-resource-status.d.ts +1 -2
  311. package/src/lib/util/craft-resource-status.js +0 -1
  312. package/src/lib/util/entities-util.d.ts +0 -1
  313. package/src/lib/util/entities-util.js +0 -1
  314. package/src/lib/util/explicit-effect.d.ts +1 -2
  315. package/src/lib/util/explicit-effect.js +1 -2
  316. package/src/lib/util/extract-signal-props-and-methods.d.ts +2 -3
  317. package/src/lib/util/extract-signal-props-and-methods.js +0 -1
  318. package/src/lib/util/method-trigger-nonce.d.ts +1 -2
  319. package/src/lib/util/method-trigger-nonce.js +0 -1
  320. package/src/lib/util/persister.type.d.ts +2 -3
  321. package/src/lib/util/persister.type.js +0 -1
  322. package/src/lib/util/persister.util.d.ts +0 -1
  323. package/src/lib/util/persister.util.js +0 -1
  324. package/src/lib/util/react-on-mutation-effect.d.ts +5 -6
  325. package/src/lib/util/react-on-mutation-effect.js +4 -5
  326. package/src/lib/util/resource-by-id-changes-tracker.util.d.ts +2 -3
  327. package/src/lib/util/resource-by-id-changes-tracker.util.js +2 -3
  328. package/src/lib/util/source.type.d.ts +2 -3
  329. package/src/lib/util/source.type.js +0 -1
  330. package/src/lib/util/types/access-type-object-property-by-dotted-path.type.d.ts +1 -2
  331. package/src/lib/util/types/access-type-object-property-by-dotted-path.type.js +0 -1
  332. package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.d.ts +4 -5
  333. package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.js +0 -1
  334. package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.d.ts +3 -4
  335. package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.js +0 -1
  336. package/src/lib/util/types/brand.d.ts +0 -1
  337. package/src/lib/util/types/brand.js +0 -1
  338. package/src/lib/util/types/object-deep-path-mapper.type.d.ts +1 -2
  339. package/src/lib/util/types/object-deep-path-mapper.type.js +0 -1
  340. package/src/lib/util/types/resource-by-id-config.type.d.ts +3 -4
  341. package/src/lib/util/types/resource-by-id-config.type.js +0 -1
  342. package/src/lib/util/types/resource-with-params-or-params-fn.type.d.ts +2 -3
  343. package/src/lib/util/types/resource-with-params-or-params-fn.type.js +0 -1
  344. package/src/lib/util/types/shared.type.d.ts +6 -7
  345. package/src/lib/util/types/shared.type.js +0 -1
  346. package/src/lib/util/types/util.d.ts +2 -3
  347. package/src/lib/util/types/util.js +3 -3
  348. package/src/lib/util/types/util.type.d.ts +3 -4
  349. package/src/lib/util/types/util.type.js +0 -1
  350. package/src/lib/util/update-state.util.d.ts +0 -1
  351. package/src/lib/util/update-state.util.js +0 -1
  352. package/src/lib/util/util.d.ts +2 -3
  353. package/src/lib/util/util.js +1 -2
  354. package/src/lib/util/util.type.d.ts +5 -6
  355. package/src/lib/util/util.type.js +0 -1
  356. package/src/lib/worker-adapter.d.ts +8 -0
  357. package/src/lib/worker-adapter.js +8 -0
  358. package/src/lib/yieldable.d.ts +4 -5
  359. package/src/lib/yieldable.js +4 -5
  360. package/src/index.d.ts.map +0 -1
  361. package/src/index.js.map +0 -1
  362. package/src/lib/after-recomputation.d.ts.map +0 -1
  363. package/src/lib/after-recomputation.js.map +0 -1
  364. package/src/lib/app-checked-di.d.ts.map +0 -1
  365. package/src/lib/app-checked-di.js.map +0 -1
  366. package/src/lib/async-process.d.ts.map +0 -1
  367. package/src/lib/async-process.js.map +0 -1
  368. package/src/lib/branded-component/branded-component.d.ts.map +0 -1
  369. package/src/lib/branded-component/branded-component.js.map +0 -1
  370. package/src/lib/browser-boundaries.d.ts.map +0 -1
  371. package/src/lib/browser-boundaries.js.map +0 -1
  372. package/src/lib/client-di-requirement.d.ts.map +0 -1
  373. package/src/lib/client-di-requirement.js.map +0 -1
  374. package/src/lib/client-function-middleware.d.ts.map +0 -1
  375. package/src/lib/client-function-middleware.js.map +0 -1
  376. package/src/lib/component-monitoring.d.ts.map +0 -1
  377. package/src/lib/component-monitoring.js.map +0 -1
  378. package/src/lib/component-register.d.ts.map +0 -1
  379. package/src/lib/component-register.js.map +0 -1
  380. package/src/lib/computed-source.d.ts.map +0 -1
  381. package/src/lib/computed-source.js.map +0 -1
  382. package/src/lib/correlation-id-plugin.d.ts.map +0 -1
  383. package/src/lib/correlation-id-plugin.js.map +0 -1
  384. package/src/lib/correlation-id.d.ts.map +0 -1
  385. package/src/lib/correlation-id.js.map +0 -1
  386. package/src/lib/craft-a11y.d.ts.map +0 -1
  387. package/src/lib/craft-a11y.js.map +0 -1
  388. package/src/lib/craft-activated-route.d.ts.map +0 -1
  389. package/src/lib/craft-activated-route.js.map +0 -1
  390. package/src/lib/craft-app-config.d.ts.map +0 -1
  391. package/src/lib/craft-app-config.js.map +0 -1
  392. package/src/lib/craft-codec.d.ts.map +0 -1
  393. package/src/lib/craft-codec.js.map +0 -1
  394. package/src/lib/craft-computed.d.ts.map +0 -1
  395. package/src/lib/craft-computed.js.map +0 -1
  396. package/src/lib/craft-control-flow.d.ts.map +0 -1
  397. package/src/lib/craft-control-flow.js.map +0 -1
  398. package/src/lib/craft-effect.d.ts.map +0 -1
  399. package/src/lib/craft-effect.js.map +0 -1
  400. package/src/lib/craft-exception.d.ts.map +0 -1
  401. package/src/lib/craft-exception.js.map +0 -1
  402. package/src/lib/craft-gen.d.ts.map +0 -1
  403. package/src/lib/craft-gen.js.map +0 -1
  404. package/src/lib/craft-generator-runtime.d.ts.map +0 -1
  405. package/src/lib/craft-generator-runtime.js.map +0 -1
  406. package/src/lib/craft-guard-runtime.d.ts.map +0 -1
  407. package/src/lib/craft-guard-runtime.js.map +0 -1
  408. package/src/lib/craft-handshake.d.ts.map +0 -1
  409. package/src/lib/craft-handshake.js.map +0 -1
  410. package/src/lib/craft-http-client.d.ts.map +0 -1
  411. package/src/lib/craft-http-client.js.map +0 -1
  412. package/src/lib/craft-http-trace.d.ts.map +0 -1
  413. package/src/lib/craft-http-trace.js.map +0 -1
  414. package/src/lib/craft-lazy.d.ts.map +0 -1
  415. package/src/lib/craft-lazy.js.map +0 -1
  416. package/src/lib/craft-load-retry.d.ts.map +0 -1
  417. package/src/lib/craft-load-retry.js.map +0 -1
  418. package/src/lib/craft-machine-history.d.ts.map +0 -1
  419. package/src/lib/craft-machine-history.js.map +0 -1
  420. package/src/lib/craft-match.d.ts.map +0 -1
  421. package/src/lib/craft-match.js.map +0 -1
  422. package/src/lib/craft-method.d.ts.map +0 -1
  423. package/src/lib/craft-method.js.map +0 -1
  424. package/src/lib/craft-node-directive.d.ts.map +0 -1
  425. package/src/lib/craft-node-directive.js.map +0 -1
  426. package/src/lib/craft-pending.d.ts.map +0 -1
  427. package/src/lib/craft-pending.js.map +0 -1
  428. package/src/lib/craft-pipe.d.ts.map +0 -1
  429. package/src/lib/craft-pipe.js.map +0 -1
  430. package/src/lib/craft-platform.d.ts.map +0 -1
  431. package/src/lib/craft-platform.js.map +0 -1
  432. package/src/lib/craft-primitive-gen.d.ts.map +0 -1
  433. package/src/lib/craft-primitive-gen.js.map +0 -1
  434. package/src/lib/craft-primitive-registry.d.ts.map +0 -1
  435. package/src/lib/craft-primitive-registry.js.map +0 -1
  436. package/src/lib/craft-program-operators.d.ts.map +0 -1
  437. package/src/lib/craft-program-operators.js.map +0 -1
  438. package/src/lib/craft-program-runtime.d.ts.map +0 -1
  439. package/src/lib/craft-program-runtime.js.map +0 -1
  440. package/src/lib/craft-register-for-runtime.d.ts.map +0 -1
  441. package/src/lib/craft-register-for-runtime.js.map +0 -1
  442. package/src/lib/craft-register-for.d.ts.map +0 -1
  443. package/src/lib/craft-register-for.js.map +0 -1
  444. package/src/lib/craft-render-identity.d.ts.map +0 -1
  445. package/src/lib/craft-render-identity.js.map +0 -1
  446. package/src/lib/craft-replay.d.ts.map +0 -1
  447. package/src/lib/craft-replay.js.map +0 -1
  448. package/src/lib/craft-resolve.d.ts.map +0 -1
  449. package/src/lib/craft-resolve.js.map +0 -1
  450. package/src/lib/craft-resource.d.ts.map +0 -1
  451. package/src/lib/craft-resource.js.map +0 -1
  452. package/src/lib/craft-route-exceptions.d.ts.map +0 -1
  453. package/src/lib/craft-route-exceptions.js.map +0 -1
  454. package/src/lib/craft-route-load-error.d.ts.map +0 -1
  455. package/src/lib/craft-route-load-error.js.map +0 -1
  456. package/src/lib/craft-route-meta.d.ts.map +0 -1
  457. package/src/lib/craft-route-meta.js.map +0 -1
  458. package/src/lib/craft-route-target.d.ts.map +0 -1
  459. package/src/lib/craft-route-target.js.map +0 -1
  460. package/src/lib/craft-router-outlet.d.ts.map +0 -1
  461. package/src/lib/craft-router-outlet.js.map +0 -1
  462. package/src/lib/craft-router-tokens.d.ts.map +0 -1
  463. package/src/lib/craft-router-tokens.js.map +0 -1
  464. package/src/lib/craft-router-trace.d.ts.map +0 -1
  465. package/src/lib/craft-router-trace.js.map +0 -1
  466. package/src/lib/craft-router.d.ts.map +0 -1
  467. package/src/lib/craft-router.js.map +0 -1
  468. package/src/lib/craft-routes.d.ts.map +0 -1
  469. package/src/lib/craft-routes.js.map +0 -1
  470. package/src/lib/craft-service.d.ts.map +0 -1
  471. package/src/lib/craft-service.js.map +0 -1
  472. package/src/lib/craft-service.shared.d.ts.map +0 -1
  473. package/src/lib/craft-service.shared.js.map +0 -1
  474. package/src/lib/craft-settled.d.ts.map +0 -1
  475. package/src/lib/craft-settled.js.map +0 -1
  476. package/src/lib/craft-ssr.d.ts.map +0 -1
  477. package/src/lib/craft-ssr.js.map +0 -1
  478. package/src/lib/craft-state-machine-runtime.d.ts.map +0 -1
  479. package/src/lib/craft-state-machine-runtime.js.map +0 -1
  480. package/src/lib/craft-state-machine.d.ts.map +0 -1
  481. package/src/lib/craft-state-machine.js.map +0 -1
  482. package/src/lib/craft-target-runtime.d.ts.map +0 -1
  483. package/src/lib/craft-target-runtime.js.map +0 -1
  484. package/src/lib/craft-transfer-snapshot.d.ts.map +0 -1
  485. package/src/lib/craft-transfer-snapshot.js.map +0 -1
  486. package/src/lib/craft-unique.d.ts.map +0 -1
  487. package/src/lib/craft-unique.js.map +0 -1
  488. package/src/lib/craft-until-settled.d.ts.map +0 -1
  489. package/src/lib/craft-until-settled.js.map +0 -1
  490. package/src/lib/craft-use.d.ts.map +0 -1
  491. package/src/lib/craft-use.js.map +0 -1
  492. package/src/lib/craft-view-transition.d.ts.map +0 -1
  493. package/src/lib/craft-view-transition.js.map +0 -1
  494. package/src/lib/dom-event-hook.d.ts.map +0 -1
  495. package/src/lib/dom-event-hook.js.map +0 -1
  496. package/src/lib/fn-wrapper.d.ts.map +0 -1
  497. package/src/lib/fn-wrapper.js.map +0 -1
  498. package/src/lib/form/craft-field.d.ts.map +0 -1
  499. package/src/lib/form/craft-field.directive.d.ts.map +0 -1
  500. package/src/lib/form/craft-field.directive.js.map +0 -1
  501. package/src/lib/form/craft-field.js.map +0 -1
  502. package/src/lib/form/field-exception.d.ts.map +0 -1
  503. package/src/lib/form/field-exception.js.map +0 -1
  504. package/src/lib/form/field-lens.d.ts.map +0 -1
  505. package/src/lib/form/field-lens.js.map +0 -1
  506. package/src/lib/form/insert-form-attributes.d.ts.map +0 -1
  507. package/src/lib/form/insert-form-attributes.js.map +0 -1
  508. package/src/lib/form/insert-form-internals.d.ts.map +0 -1
  509. package/src/lib/form/insert-form-internals.js.map +0 -1
  510. package/src/lib/form/insert-form-schema.d.ts.map +0 -1
  511. package/src/lib/form/insert-form-schema.js.map +0 -1
  512. package/src/lib/form/insert-form-submit.d.ts.map +0 -1
  513. package/src/lib/form/insert-form-submit.js.map +0 -1
  514. package/src/lib/form/insert-form.d.ts.map +0 -1
  515. package/src/lib/form/insert-form.js.map +0 -1
  516. package/src/lib/form/insert-select-form-tree.d.ts.map +0 -1
  517. package/src/lib/form/insert-select-form-tree.js.map +0 -1
  518. package/src/lib/form/insert-sub-form-field.d.ts.map +0 -1
  519. package/src/lib/form/insert-sub-form-field.js.map +0 -1
  520. package/src/lib/form/make-form-tree-insert.d.ts.map +0 -1
  521. package/src/lib/form/make-form-tree-insert.js.map +0 -1
  522. package/src/lib/form/target-form-field.d.ts.map +0 -1
  523. package/src/lib/form/target-form-field.js.map +0 -1
  524. package/src/lib/form/validator.d.ts.map +0 -1
  525. package/src/lib/form/validator.js.map +0 -1
  526. package/src/lib/from-event-to-source$.d.ts.map +0 -1
  527. package/src/lib/from-event-to-source$.js.map +0 -1
  528. package/src/lib/global-persister-handler.service.d.ts.map +0 -1
  529. package/src/lib/global-persister-handler.service.js.map +0 -1
  530. package/src/lib/host/craft-compat.d.ts.map +0 -1
  531. package/src/lib/host/craft-compat.js.map +0 -1
  532. package/src/lib/host/craft-dom.d.ts.map +0 -1
  533. package/src/lib/host/craft-dom.js.map +0 -1
  534. package/src/lib/host/craft-http.d.ts.map +0 -1
  535. package/src/lib/host/craft-http.js.map +0 -1
  536. package/src/lib/host/craft-injector-host.d.ts.map +0 -1
  537. package/src/lib/host/craft-injector-host.js.map +0 -1
  538. package/src/lib/host/craft-injector.d.ts.map +0 -1
  539. package/src/lib/host/craft-injector.js.map +0 -1
  540. package/src/lib/host/craft-linked-signal.d.ts.map +0 -1
  541. package/src/lib/host/craft-linked-signal.js.map +0 -1
  542. package/src/lib/host/craft-router-runtime.d.ts.map +0 -1
  543. package/src/lib/host/craft-router-runtime.js.map +0 -1
  544. package/src/lib/host/craft-router-types.d.ts.map +0 -1
  545. package/src/lib/host/craft-router-types.js.map +0 -1
  546. package/src/lib/host/craft-signal.d.ts.map +0 -1
  547. package/src/lib/host/craft-signal.js.map +0 -1
  548. package/src/lib/host/craft-test-bed.d.ts.map +0 -1
  549. package/src/lib/host/craft-test-bed.js.map +0 -1
  550. package/src/lib/host-tag.d.ts.map +0 -1
  551. package/src/lib/host-tag.js.map +0 -1
  552. package/src/lib/insert-entities.d.ts.map +0 -1
  553. package/src/lib/insert-entities.js.map +0 -1
  554. package/src/lib/insert-noop-typing-anchor.d.ts.map +0 -1
  555. package/src/lib/insert-noop-typing-anchor.js.map +0 -1
  556. package/src/lib/insert-pagination-placeholder-data.d.ts.map +0 -1
  557. package/src/lib/insert-pagination-placeholder-data.js.map +0 -1
  558. package/src/lib/insert-react-on-mutation.d.ts.map +0 -1
  559. package/src/lib/insert-react-on-mutation.js.map +0 -1
  560. package/src/lib/insert-select-resource.d.ts.map +0 -1
  561. package/src/lib/insert-select-resource.js.map +0 -1
  562. package/src/lib/insert-select.d.ts.map +0 -1
  563. package/src/lib/insert-select.js.map +0 -1
  564. package/src/lib/insert-storage-persister.d.ts.map +0 -1
  565. package/src/lib/insert-storage-persister.js.map +0 -1
  566. package/src/lib/insert-typed-pipes.d.ts.map +0 -1
  567. package/src/lib/insert-typed-pipes.js.map +0 -1
  568. package/src/lib/linked-source.d.ts.map +0 -1
  569. package/src/lib/linked-source.js.map +0 -1
  570. package/src/lib/local-storage-persister.d.ts.map +0 -1
  571. package/src/lib/local-storage-persister.js.map +0 -1
  572. package/src/lib/middleware-schema-shared.d.ts.map +0 -1
  573. package/src/lib/middleware-schema-shared.js.map +0 -1
  574. package/src/lib/mock-http-request-for-route.d.ts.map +0 -1
  575. package/src/lib/mock-http-request-for-route.js.map +0 -1
  576. package/src/lib/mutation.d.ts.map +0 -1
  577. package/src/lib/mutation.js.map +0 -1
  578. package/src/lib/on$.d.ts.map +0 -1
  579. package/src/lib/on$.js.map +0 -1
  580. package/src/lib/portable-server-function.d.ts.map +0 -1
  581. package/src/lib/portable-server-function.js.map +0 -1
  582. package/src/lib/preserved-resource.d.ts.map +0 -1
  583. package/src/lib/preserved-resource.js.map +0 -1
  584. package/src/lib/primitive-method-runtime-context.d.ts.map +0 -1
  585. package/src/lib/primitive-method-runtime-context.js.map +0 -1
  586. package/src/lib/primitive-resource-runtime-context.d.ts.map +0 -1
  587. package/src/lib/primitive-resource-runtime-context.js.map +0 -1
  588. package/src/lib/query-params.d.ts.map +0 -1
  589. package/src/lib/query-params.js.map +0 -1
  590. package/src/lib/query.core.d.ts.map +0 -1
  591. package/src/lib/query.core.js.map +0 -1
  592. package/src/lib/query.d.ts.map +0 -1
  593. package/src/lib/query.js.map +0 -1
  594. package/src/lib/reactive-read.d.ts.map +0 -1
  595. package/src/lib/reactive-read.js.map +0 -1
  596. package/src/lib/resource-by-id.d.ts.map +0 -1
  597. package/src/lib/resource-by-id.js.map +0 -1
  598. package/src/lib/resource-exception.d.ts.map +0 -1
  599. package/src/lib/resource-exception.js.map +0 -1
  600. package/src/lib/route-checked-di.d.ts.map +0 -1
  601. package/src/lib/route-checked-di.js.map +0 -1
  602. package/src/lib/schema-validation.d.ts.map +0 -1
  603. package/src/lib/schema-validation.js.map +0 -1
  604. package/src/lib/send-context-to-ai.d.ts.map +0 -1
  605. package/src/lib/send-context-to-ai.js.map +0 -1
  606. package/src/lib/send-context-to-ai.tokens.d.ts.map +0 -1
  607. package/src/lib/send-context-to-ai.tokens.js.map +0 -1
  608. package/src/lib/server-function-client.d.ts.map +0 -1
  609. package/src/lib/server-function-client.js.map +0 -1
  610. package/src/lib/server-function-contract.d.ts.map +0 -1
  611. package/src/lib/server-function-contract.js.map +0 -1
  612. package/src/lib/server-function-middleware.d.ts.map +0 -1
  613. package/src/lib/server-function-middleware.js.map +0 -1
  614. package/src/lib/server-function.d.ts.map +0 -1
  615. package/src/lib/server-function.js.map +0 -1
  616. package/src/lib/server-layer.d.ts.map +0 -1
  617. package/src/lib/server-layer.js.map +0 -1
  618. package/src/lib/server.d.ts.map +0 -1
  619. package/src/lib/server.js.map +0 -1
  620. package/src/lib/setup-craft-service-test.d.ts.map +0 -1
  621. package/src/lib/setup-craft-service-test.js.map +0 -1
  622. package/src/lib/setup-craft-service-testing-by-register.d.ts.map +0 -1
  623. package/src/lib/setup-craft-service-testing-by-register.js.map +0 -1
  624. package/src/lib/signal-proxy.d.ts.map +0 -1
  625. package/src/lib/signal-proxy.js.map +0 -1
  626. package/src/lib/signal-source.d.ts.map +0 -1
  627. package/src/lib/signal-source.js.map +0 -1
  628. package/src/lib/source$.d.ts.map +0 -1
  629. package/src/lib/source$.js.map +0 -1
  630. package/src/lib/source-from-event.d.ts.map +0 -1
  631. package/src/lib/source-from-event.js.map +0 -1
  632. package/src/lib/stacked-source.d.ts.map +0 -1
  633. package/src/lib/stacked-source.js.map +0 -1
  634. package/src/lib/standard-schema.d.ts.map +0 -1
  635. package/src/lib/standard-schema.js.map +0 -1
  636. package/src/lib/state-method-runtime-context.d.ts.map +0 -1
  637. package/src/lib/state-method-runtime-context.js.map +0 -1
  638. package/src/lib/state.d.ts.map +0 -1
  639. package/src/lib/state.js.map +0 -1
  640. package/src/lib/storage-persister.service.d.ts.map +0 -1
  641. package/src/lib/storage-persister.service.js.map +0 -1
  642. package/src/lib/take-app-snapshot.d.ts.map +0 -1
  643. package/src/lib/take-app-snapshot.js.map +0 -1
  644. package/src/lib/template-trace.d.ts.map +0 -1
  645. package/src/lib/template-trace.js.map +0 -1
  646. package/src/lib/temporal-runtime.d.ts.map +0 -1
  647. package/src/lib/temporal-runtime.js.map +0 -1
  648. package/src/lib/to-source.d.ts.map +0 -1
  649. package/src/lib/to-source.js.map +0 -1
  650. package/src/lib/util/craft-resource-ref.d.ts.map +0 -1
  651. package/src/lib/util/craft-resource-ref.js.map +0 -1
  652. package/src/lib/util/craft-resource-status.d.ts.map +0 -1
  653. package/src/lib/util/craft-resource-status.js.map +0 -1
  654. package/src/lib/util/entities-util.d.ts.map +0 -1
  655. package/src/lib/util/entities-util.js.map +0 -1
  656. package/src/lib/util/explicit-effect.d.ts.map +0 -1
  657. package/src/lib/util/explicit-effect.js.map +0 -1
  658. package/src/lib/util/extract-signal-props-and-methods.d.ts.map +0 -1
  659. package/src/lib/util/extract-signal-props-and-methods.js.map +0 -1
  660. package/src/lib/util/method-trigger-nonce.d.ts.map +0 -1
  661. package/src/lib/util/method-trigger-nonce.js.map +0 -1
  662. package/src/lib/util/persister.type.d.ts.map +0 -1
  663. package/src/lib/util/persister.type.js.map +0 -1
  664. package/src/lib/util/persister.util.d.ts.map +0 -1
  665. package/src/lib/util/persister.util.js.map +0 -1
  666. package/src/lib/util/react-on-mutation-effect.d.ts.map +0 -1
  667. package/src/lib/util/react-on-mutation-effect.js.map +0 -1
  668. package/src/lib/util/resource-by-id-changes-tracker.util.d.ts.map +0 -1
  669. package/src/lib/util/resource-by-id-changes-tracker.util.js.map +0 -1
  670. package/src/lib/util/source.type.d.ts.map +0 -1
  671. package/src/lib/util/source.type.js.map +0 -1
  672. package/src/lib/util/types/access-type-object-property-by-dotted-path.type.d.ts.map +0 -1
  673. package/src/lib/util/types/access-type-object-property-by-dotted-path.type.js.map +0 -1
  674. package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.d.ts.map +0 -1
  675. package/src/lib/util/types/boolean-or-mapper-fn-by-path-by-id.type.js.map +0 -1
  676. package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.d.ts.map +0 -1
  677. package/src/lib/util/types/boolean-or-mapper-fn-by-path.type.js.map +0 -1
  678. package/src/lib/util/types/brand.d.ts.map +0 -1
  679. package/src/lib/util/types/brand.js.map +0 -1
  680. package/src/lib/util/types/object-deep-path-mapper.type.d.ts.map +0 -1
  681. package/src/lib/util/types/object-deep-path-mapper.type.js.map +0 -1
  682. package/src/lib/util/types/resource-by-id-config.type.d.ts.map +0 -1
  683. package/src/lib/util/types/resource-by-id-config.type.js.map +0 -1
  684. package/src/lib/util/types/resource-with-params-or-params-fn.type.d.ts.map +0 -1
  685. package/src/lib/util/types/resource-with-params-or-params-fn.type.js.map +0 -1
  686. package/src/lib/util/types/shared.type.d.ts.map +0 -1
  687. package/src/lib/util/types/shared.type.js.map +0 -1
  688. package/src/lib/util/types/util.d.ts.map +0 -1
  689. package/src/lib/util/types/util.js.map +0 -1
  690. package/src/lib/util/types/util.type.d.ts.map +0 -1
  691. package/src/lib/util/types/util.type.js.map +0 -1
  692. package/src/lib/util/update-state.util.d.ts.map +0 -1
  693. package/src/lib/util/update-state.util.js.map +0 -1
  694. package/src/lib/util/util.d.ts.map +0 -1
  695. package/src/lib/util/util.js.map +0 -1
  696. package/src/lib/util/util.type.d.ts.map +0 -1
  697. package/src/lib/util/util.type.js.map +0 -1
  698. package/src/lib/yieldable.d.ts.map +0 -1
  699. package/src/lib/yieldable.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"async-process.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/async-process.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n assertInInjectionContext,\n computed,\n batch as craftBatch,\n DestroyRef,\n inject,\n Injector,\n isSignal,\n Provider,\n ResourceLoaderParams,\n ResourceOptions,\n ResourceStreamingLoader,\n runInInjectionContext,\n Signal,\n signal,\n untracked,\n WritableSignal,\n} from './host/craft-compat';\nimport { InsertionsResourcesFactory } from './query.core';\nimport {\n executeGeneratorCompatibleFactory,\n GeneratorCompatibleFactory,\n isGenerator,\n isGeneratorFunction,\n runCraftGenerator,\n} from './craft-generator-runtime';\nimport { executeGeneratorCompatibleFactoryAsync } from './craft-program-runtime';\nimport {\n attachCraftSettledValue,\n createYieldableSettledValue,\n CraftNotSettled,\n type CraftSettledSignal,\n} from './craft-settled';\nimport type { ExtractCraftGenExceptions } from './craft-gen';\nimport { ReadonlySource } from './util/source.type';\nimport {\n CraftResourceStatus,\n toCraftStatus,\n} from './util/craft-resource-status';\nimport { resourceById, ResourceByIdRef } from './resource-by-id';\nimport { isSource } from './util/util';\nimport {\n methodParamsWrapperEqual,\n unwrapMethodParams,\n wrapMethodParams,\n} from './util/method-trigger-nonce';\nimport { MergeObjects } from './util/util.type';\nimport { craftResource } from './craft-resource';\nimport { preservedResource } from './preserved-resource';\nimport { CraftResourceRef } from './util/craft-resource-ref';\nimport {\n AnyCraftException,\n ExtractCraftException,\n InsertMetaInCraftExceptionIfExists,\n StripCraftException,\n isCraftException,\n} from './craft-exception';\nimport { CORRELATION_ID_SERVICE } from './correlation-id';\nimport {\n createNamedPrimitiveGen,\n type CraftPrimitiveGen,\n type NamedCraftPrimitiveGen,\n} from './craft-primitive-gen';\nimport { takeUntilDestroyed } from './host/craft-compat';\nimport {\n createSchemaValidationRuntime,\n type CraftSchema,\n type SchemaValidationPolicy,\n type SchemaParseExceptions,\n type SchemaInput,\n type SchemaOutput,\n useSchemaValidationPolicy,\n} from './schema-validation';\nimport {\n APP_SNAPSHOT_REGISTRY,\n INSERTION_SNAPSHOT_REGISTRY,\n InsertionSnapshotRegistry,\n TAKE_APP_SNAPSHOT,\n triggerAndCollectInsertions,\n} from './take-app-snapshot';\nimport {\n createResourceExceptionsRuntime,\n enrichResourceException,\n} from './resource-exception';\nimport type {\n BrandedServiceProvider,\n SERVICE_HELPER_DEPENDENCIES,\n ServiceDependencyMapFromYieldedAndValues,\n} from './craft-service';\nimport { ɵcreateHostTaggedInjector, ɵHOST_TAG_LIST } from './craft-service';\nimport { injectFnWrapper } from './fn-wrapper';\nimport { ɵprovidePrimitiveMethodRuntimeContext } from './primitive-method-runtime-context';\nimport {\n ɵcreatePrimitiveResourceByIdRuntimeContext,\n ɵcreatePrimitiveResourceRuntimeContext,\n ɵobservePrimitiveResourceRuntimeContext,\n} from './primitive-resource-runtime-context';\nimport {\n createYieldableInsertionMethod,\n isNonYieldableInsertionMethod,\n yieldableInvocation,\n} from './yieldable';\nimport type { YieldableInvocation } from './yieldable';\nimport type {\n BrandReactiveProperties,\n YieldableInsertionMethods,\n} from './yieldable';\nimport {\n createYieldableReactiveFacade,\n deepYieldable,\n hasDeepYieldableInsertion,\n isYieldableReactiveValue,\n nameInsertedReactiveValue,\n type YieldableReactiveProperties,\n type DeepYieldableReactiveValue,\n} from './reactive-read';\nimport { craftUse } from './craft-use';\n\ntype AsyncProcessConfigProviderNames<Providers> =\n Providers extends readonly (infer P)[]\n ? P extends BrandedServiceProvider<infer Name, any, any>\n ? Name\n : never\n : never;\n\ntype SatisfyDependencies<Deps, SatisfiedNames extends string> = {\n [K in keyof Deps as K extends SatisfiedNames ? never : K]: Deps[K];\n};\n\ntype AsyncProcessTrackedDependencies<\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n InsertionsYielded = never,\n Providers = never,\n Insertions = never,\n> = [AsyncProcessConfigProviderNames<Providers>] extends [never]\n ? ServiceDependencyMapFromYieldedAndValues<\n | ParamsYielded\n | MethodYielded\n | LoaderYielded\n | StreamYielded\n | InsertionsYielded,\n Insertions\n >\n : SatisfyDependencies<\n ServiceDependencyMapFromYieldedAndValues<\n | ParamsYielded\n | MethodYielded\n | LoaderYielded\n | StreamYielded\n | InsertionsYielded,\n Insertions\n >,\n AsyncProcessConfigProviderNames<Providers>\n >;\n\ntype AsyncProcessDependenciesMetadata<Dependencies> = [\n keyof Dependencies,\n] extends [never]\n ? {}\n : {\n readonly [SERVICE_HELPER_DEPENDENCIES]?: Dependencies;\n };\n\nconst ASYNC_PROCESS_INVALID_YIELD_ERROR_MESSAGE =\n 'asyncProcess generators can only yield craftService dependencies or exposed dependency helpers.';\nconst ASYNC_PROCESS_APP_START_ERROR_MESSAGE =\n 'asyncProcess generators do not support onAppStart(...).';\n\n// ! It looks like TS does not handle to expose the ResourceByIdHandler without erasing the () => ... part\n/** The `craftException`s a resource-like async process may surface. */\nexport type ResourceLikeAsyncProcessExceptionUnion<\n AsyncProcessException extends AsyncProcessExceptionConstraints,\n> =\n ResourceLikeAsyncProcessExceptions<AsyncProcessException> extends {\n exception: Signal<infer Exception>;\n }\n ? Exclude<Exception, undefined>\n : never;\n\nexport type AsyncProcessRef<\n Value,\n ArgParams,\n Params,\n Insertions,\n IsMethod,\n SourceParams,\n GroupIdentifier,\n AsyncProcessExceptions extends\n AsyncProcessExceptionConstraints = AsyncProcessExceptionConstraints,\n Dependencies = {},\n HasSchema extends boolean = false,\n MethodYielded = never,\n Name extends string = string,\n> = MergeObjects<\n [\n HasSchema extends true ? { readonly hasSchema: Signal<true> } : {},\n [unknown] extends [GroupIdentifier]\n ? {\n readonly resource: CraftResourceRef<Value, Params>;\n readonly value: Signal<Value | undefined>;\n readonly status: Signal<CraftResourceStatus>;\n readonly isLoading: Signal<boolean>;\n hasValue(): boolean;\n /**\n * The settled read: never `undefined`, never a value while an\n * exception is carried — it suspends instead, to the nearest\n * `pendingBlock`.\n */\n readonly settledValue: CraftSettledSignal<\n Exclude<Value, undefined>,\n Name,\n ResourceLikeAsyncProcessExceptionUnion<AsyncProcessExceptions>\n >;\n } & ResourceLikeAsyncProcessExceptions<AsyncProcessExceptions>\n : {},\n YieldableInsertionMethods<Insertions>,\n IsMethod extends true\n ? {\n method: (\n args: ArgParams,\n ) => YieldableInvocation<MethodYielded, Params>;\n }\n : IsMethod extends 'params'\n ? {\n readonly resourceParamsSrc: Signal<Params | undefined>;\n }\n : {\n source: ReadonlySource<SourceParams>;\n },\n [unknown] extends [GroupIdentifier]\n ? {}\n : ResourceByIdRef<GroupIdentifier & string, Value, Params> & {\n _resourceById: ResourceByIdRef<\n GroupIdentifier & string,\n Value,\n Params\n >;\n /**\n * Get the associated resource by id\n *\n * Only added to help TS inference (TS cannot infer ResourceByIdHandler without erasing the signal getter, () => ResourceByIdRef<...>) )\n *\n * return the associated resource or undefined if not existing\n */\n select: (id: GroupIdentifier) =>\n | ({\n readonly value: Signal<Value | undefined>;\n readonly status: Signal<CraftResourceStatus>;\n readonly isLoading: Signal<boolean>;\n hasValue(): boolean;\n readonly settledValue: CraftSettledSignal<\n Exclude<Value, undefined>,\n Name,\n ResourceLikeAsyncProcessExceptionUnion<AsyncProcessExceptions>\n >;\n } & ResourceLikeAsyncProcessExceptions<\n AsyncProcessExceptions,\n GroupIdentifier\n >)\n | undefined;\n selectOrCreate: (id: GroupIdentifier) => {\n readonly value: Signal<Value | undefined>;\n readonly status: Signal<CraftResourceStatus>;\n readonly isLoading: Signal<boolean>;\n hasValue(): boolean;\n readonly settledValue: CraftSettledSignal<\n Exclude<Value, undefined>,\n Name,\n ResourceLikeAsyncProcessExceptionUnion<AsyncProcessExceptions>\n >;\n } & ResourceLikeAsyncProcessExceptions<\n AsyncProcessExceptions,\n GroupIdentifier\n >;\n } & ([GroupIdentifier] extends [string]\n ? ResourceByIdLikeAsyncProcessExceptions<\n AsyncProcessExceptions,\n GroupIdentifier\n >\n : {}),\n AsyncProcessDependenciesMetadata<Dependencies>,\n ]\n>;\n\ntype AsyncProcessConfig<\n ResourceState,\n Params,\n ParamsArgs,\n SourceParams,\n GroupIdentifier,\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n> = Omit<ResourceOptions<NoInfer<ResourceState>, Params>, 'params' | 'loader'> &\n (\n | {\n /**\n * Used to generate a method in the store, when called will trigger the resource loader/stream.\n *\n * Only support one parameter which can be an object to pass multiple parameters.\n */\n method:\n | GeneratorCompatibleFactory<\n (args: ParamsArgs) => Params,\n MethodYielded\n >\n | ReadonlySource<SourceParams>;\n /**\n * A unique identifier for the resource, derived from the params.\n * It should be a string that uniquely identifies the resource based on the params.\n */\n identifier?: (\n params: NoInfer<NonNullable<StripCraftException<Params>>>,\n ) => GroupIdentifier;\n loader: GeneratorCompatibleFactory<\n (\n param: ResourceLoaderParams<\n NonNullable<\n [unknown] extends [Params]\n ? NoInfer<StripCraftException<SourceParams>>\n : NoInfer<StripCraftException<Params>>\n >\n >,\n ) => Promise<ResourceState>,\n LoaderYielded\n >;\n params?: never;\n stream?: never;\n preservePreviousValue?: () => boolean;\n }\n | {\n method:\n | GeneratorCompatibleFactory<\n (args: ParamsArgs) => Params,\n MethodYielded\n >\n | ReadonlySource<SourceParams>;\n loader?: never;\n identifier?: (\n params: NoInfer<NonNullable<StripCraftException<Params>>>,\n ) => GroupIdentifier;\n /**\n * Loading function which returns a `Promise` of a signal of the resource's value for a given\n * request, which can change over time as new values are received from a stream.\n */\n stream: GeneratorCompatibleFactory<\n ResourceStreamingLoader<\n ResourceState,\n ResourceLoaderParams<\n NonNullable<\n [unknown] extends [Params]\n ? NoInfer<StripCraftException<SourceParams>>\n : NoInfer<StripCraftException<Params>>\n >\n >\n >,\n StreamYielded\n >;\n params?: never;\n preservePreviousValue?: () => boolean;\n }\n | {\n /**\n * A reactive function which determines the request to be made. Whenever the request changes, the\n * loader will be triggered to fetch a new value for the resource.\n */\n params: GeneratorCompatibleFactory<() => Params, ParamsYielded>;\n /**\n * A unique identifier for the resource, derived from the params.\n * It should be a string that uniquely identifies the resource based on the params.\n */\n identifier?: (\n params: NoInfer<NonNullable<StripCraftException<Params>>>,\n ) => GroupIdentifier;\n loader: GeneratorCompatibleFactory<\n (\n param: ResourceLoaderParams<\n NonNullable<NoInfer<StripCraftException<Params>>>\n >,\n ) => Promise<ResourceState>,\n LoaderYielded\n >;\n method?: never;\n stream?: never;\n preservePreviousValue?: () => boolean;\n }\n ) & {\n methodSchema?: CraftSchema;\n paramsSchema?: CraftSchema;\n loaderSchema?: CraftSchema;\n schemaValidationPolicy?: SchemaValidationPolicy;\n };\n\nexport type AsyncProcessExceptionConstraints = {\n params: AnyCraftException;\n loader: AnyCraftException;\n};\n\nexport type ResourceLikeAsyncProcessExceptions<\n AsyncProcessException extends\n AsyncProcessExceptionConstraints = AsyncProcessExceptionConstraints,\n GroupIdentifier = unknown,\n> = {\n hasException: Signal<boolean>;\n exception: Signal<\n | InsertMetaInCraftExceptionIfExists<\n AsyncProcessException['params'],\n 'params',\n GroupIdentifier\n >\n | InsertMetaInCraftExceptionIfExists<\n AsyncProcessException['loader'],\n 'loader',\n GroupIdentifier\n >\n | undefined\n >;\n /** Deep reader: `exceptions.loader`, `exceptions.params`, and `exceptions.list`. */\n exceptions: DeepYieldableReactiveValue<{\n list: (\n | InsertMetaInCraftExceptionIfExists<\n AsyncProcessException['params'],\n 'params',\n GroupIdentifier\n >\n | InsertMetaInCraftExceptionIfExists<\n AsyncProcessException['loader'],\n 'loader',\n GroupIdentifier\n >\n )[];\n params?: InsertMetaInCraftExceptionIfExists<\n AsyncProcessException['params'],\n 'params',\n unknown\n >;\n loader?: InsertMetaInCraftExceptionIfExists<\n AsyncProcessException['loader'],\n 'loader',\n GroupIdentifier\n >;\n }> &\n (AsyncProcessException extends { parse: infer Parse }\n ? { parse: Parse }\n : {});\n};\n\nexport type ResourceByIdLikeAsyncProcessExceptions<\n AsyncProcessException extends\n AsyncProcessExceptionConstraints = AsyncProcessExceptionConstraints,\n GroupIdentifier extends string = string,\n> = {\n hasException: Signal<boolean>;\n /** Deep reader: `exceptions.loader`, `exceptions.params`, and `exceptions.list`. */\n exceptions: DeepYieldableReactiveValue<{\n list: (\n | InsertMetaInCraftExceptionIfExists<\n AsyncProcessException['params'],\n 'params',\n unknown\n >\n | InsertMetaInCraftExceptionIfExists<\n AsyncProcessException['loader'],\n 'loader',\n GroupIdentifier\n >\n )[];\n params?: InsertMetaInCraftExceptionIfExists<\n AsyncProcessException['params'],\n 'params',\n unknown\n >;\n loader: Partial<\n Record<\n GroupIdentifier,\n InsertMetaInCraftExceptionIfExists<\n AsyncProcessException['loader'],\n 'loader',\n GroupIdentifier\n >\n >\n >;\n }> &\n (AsyncProcessException extends { parse: infer Parse }\n ? { parse: Parse }\n : {});\n};\n\nexport type AsyncProcessOutput<\n State extends object | undefined,\n Params,\n ArgParams,\n SourceParams,\n GroupIdentifier,\n Insertions,\n AsyncProcessExceptions extends AsyncProcessExceptionConstraints,\n Dependencies = {},\n HasSchema extends boolean = false,\n MethodYielded = never,\n Name extends string = string,\n> = YieldableReactiveProperties<\n AsyncProcessRef<\n StripCraftException<State>,\n ArgParams,\n StripCraftException<Params>,\n BrandReactiveProperties<Insertions>,\n [unknown] extends [ArgParams]\n ? [unknown] extends [SourceParams]\n ? 'params'\n : false\n : true, // ! force to method to have one arg minimum, we can not compare SourceParams type, because it also infer Params\n SourceParams,\n GroupIdentifier,\n AsyncProcessExceptions,\n Dependencies,\n HasSchema,\n MethodYielded,\n Name\n >\n>;\n\ntype SchemaAsyncProcessConfig<\n MethodSchema extends CraftSchema,\n ParamsSchema extends CraftSchema,\n LoaderSchema extends CraftSchema,\n> = {\n methodSchema: MethodSchema;\n paramsSchema: ParamsSchema;\n loaderSchema: LoaderSchema;\n method: (args: SchemaOutput<MethodSchema>) => SchemaInput<ParamsSchema>;\n loader: (\n param: ResourceLoaderParams<SchemaOutput<ParamsSchema>>,\n ) => Promise<SchemaInput<LoaderSchema>> | SchemaInput<LoaderSchema>;\n [key: string]: unknown;\n};\n\nexport function asyncProcess<\n Name extends string,\n MethodSchema extends CraftSchema,\n ParamsSchema extends CraftSchema,\n LoaderSchema extends CraftSchema,\n>(\n name: Name,\n config: SchemaAsyncProcessConfig<MethodSchema, ParamsSchema, LoaderSchema>,\n): NamedCraftPrimitiveGen<\n Name,\n AsyncProcessOutput<\n SchemaOutput<LoaderSchema>,\n SchemaOutput<ParamsSchema>,\n SchemaInput<MethodSchema>,\n SchemaOutput<ParamsSchema>,\n unknown,\n {},\n AsyncProcessExceptionConstraints & { parse: SchemaParseExceptions },\n {},\n true,\n never,\n Name\n >\n>;\n\nexport function asyncProcess<\n Name extends string,\n MethodSchema extends CraftSchema,\n Params,\n State extends object | undefined,\n>(\n name: Name,\n config: {\n methodSchema: MethodSchema;\n method: (args: SchemaOutput<MethodSchema>) => Params;\n loader: (param: ResourceLoaderParams<Params>) => Promise<State> | State;\n [key: string]: unknown;\n },\n): NamedCraftPrimitiveGen<\n Name,\n AsyncProcessOutput<\n State,\n Params,\n SchemaInput<MethodSchema>,\n Params,\n unknown,\n {},\n AsyncProcessExceptionConstraints & { parse: SchemaParseExceptions },\n {},\n true,\n never,\n Name\n >\n>;\n\nexport function asyncProcess<\n Name extends string,\n ParamsSchema extends CraftSchema,\n ParamsState extends object | undefined,\n>(\n name: Name,\n config: {\n paramsSchema: ParamsSchema;\n params: () => SchemaInput<ParamsSchema>;\n loader: (\n param: ResourceLoaderParams<SchemaOutput<ParamsSchema>>,\n ) => Promise<ParamsState> | ParamsState;\n [key: string]: unknown;\n },\n): NamedCraftPrimitiveGen<\n Name,\n AsyncProcessOutput<\n ParamsState,\n SchemaOutput<ParamsSchema>,\n unknown,\n SchemaOutput<ParamsSchema>,\n unknown,\n {},\n AsyncProcessExceptionConstraints & { parse: SchemaParseExceptions },\n {},\n true,\n never,\n Name\n >\n>;\n\nexport function asyncProcess<\n Name extends string,\n LoaderSchema extends CraftSchema,\n LoaderParams,\n>(\n name: Name,\n config: {\n loaderSchema: LoaderSchema;\n params: () => LoaderParams;\n loader: (\n param: ResourceLoaderParams<LoaderParams>,\n ) => Promise<SchemaInput<LoaderSchema>> | SchemaInput<LoaderSchema>;\n [key: string]: unknown;\n },\n): NamedCraftPrimitiveGen<\n Name,\n AsyncProcessOutput<\n SchemaOutput<LoaderSchema>,\n LoaderParams,\n unknown,\n LoaderParams,\n unknown,\n {},\n AsyncProcessExceptionConstraints & { parse: SchemaParseExceptions },\n {},\n true,\n never,\n Name\n >\n>;\n\n/**\n * Creates an async method that manages asynchronous operations with automatic state tracking.\n *\n * This function creates a reactive async operation by:\n * - Managing loading, resolved, exception, and idle states automatically\n * - Supporting both method-based (manual) and source-based (automatic) triggering\n * - Enabling parallel execution with identifiers\n * - Providing signals for value, status, exceptions, and loading state\n * - Supporting streaming data with progressive updates\n * - Enabling custom insertions for extending functionality\n *\n * @remarks\n * **Trigger Patterns:**\n * - **Method-based**: Explicit `method` function returns params, called manually\n * - **Source-based**: Bound to a source using `afterRecomputation()`, triggers automatically\n *\n * **Use Cases:**\n * - **Debounced operations**: Search, validation with delay\n * - **Background tasks**: Processing without blocking UI\n * - **Polling**: Periodic data updates\n *\n * **State Management:**\n * - `idle`: Initial state, no operation started\n * - `loading`: Operation in progress\n * - `resolved`: Operation completed successfully\n * - `exception`: A `craftException` was returned by the method/loader (technical\n * errors are left to throw and are not part of the craft status)\n *\n * **Identifier Usage:**\n * - Without identifier: Single global state for the async method\n * - With identifier: Multiple parallel instances with independent states\n *\n * **Insertions:**\n * - Extend functionality with custom insertions\n * - Examples: persistence, caching, retry logic\n * - Insertions receive access to resource state and params\n *\n * @template AsyncProcesstate - The type of data returned by the async operation\n * @template AsyncProcessParams - The type of params passed to the loader\n * @template AsyncProcessArgsParams - The type of arguments for the method function\n * @template SourceParams - The type emitted by the source (for source-based methods)\n * @template GroupIdentifier - The type of identifier for parallel execution\n *\n * @param name - The async process name. Used to key the returned record\n * (`const loadUser = yield* asyncProcess('loadUser', config)`) and as the\n * injector host tag (`asyncProcess:loadUser`), so the primitive is precisely\n * locatable in snapshots and logs.\n * @param AsyncProcessConfig - Configuration object:\n * - `method`: Function returning params OR source for automatic triggering\n * - `loader`: Async function that performs the operation (mutually exclusive with `stream`)\n * - `stream`: Streaming loader for progressive updates (mutually exclusive with `loader`)\n * - `identifier`: Optional function to derive unique ID for parallel execution\n * - `preservePreviousValue`: Optional function returning whether to keep the previous value while loading (default: false)\n *\n * @returns A single-use primitive generator resolving to an async method\n * reference with:\n * - `value`: Signal containing the result (or undefined)\n * - `status`: Signal with the craft state ('idle' | 'loading' | 'reloading' | 'resolved' | 'local' | 'exception')\n * - `exception`: Signal with the primary `craftException` (or undefined)\n * - `exceptions`: Signal with the captured exceptions (`list` / `params` / `loader`)\n * - `hasException()`: Signal indicating whether an exception is captured\n * - `isLoading`: Signal for loading state\n * - `hasValue()`: Function to check if value exists\n * - `method`: (method-based only) Function to trigger the operation\n * - `source`: (source-based only) Readonly source for automatic triggering\n * - `select(id)`: (with identifier) Access individual instance by ID\n * - `selectOrCreate(id)`: (with identifier) Access or create an individual instance\n *\n * Consume it with `yield*` inside a generator host (craftService factory,\n * craftGen, …) or with `craftUse(...)` elsewhere (typically a component field).\n *\n * @example\n * Basic method-based async method\n * ```ts\n * const delay = craftUse(asyncProcess('delay', {\n * method: (delay: number) => delay,\n * loader: async ({ params }) => {\n * await new Promise(resolve => setTimeout(resolve, 500)); // Simulate delay\n * return 'done';\n * },\n * }));\n *\n * // Trigger manually\n * delay.method(500);\n *\n * // Track state\n * console.log(delay.status()); // 'loading'\n * console.log(delay.isLoading()); // true\n *\n * // After completion\n * console.log(delay.status()); // 'resolved'\n * console.log(delay.value()); // 'done'\n * console.log(delay.hasValue()); // true\n * ```\n *\n * @example\n * Source-based async method for automatic execution\n * ```ts\n * const delaySource = source<number>();\n *\n * const delay = craftUse(asyncProcess('delay', {\n * method: afterRecomputation(delaySource, (term) => term),\n * loader: async ({ params }) => {\n * // Debounce at source level\n * await new Promise(resolve => setTimeout(resolve, 300));\n * return 'done';\n * },\n * }));\n *\n * // Triggers automatically when source emits\n * delaySource.set(500);\n * // -> delay executes automatically\n *\n * // No manual method, only source\n * console.log(delay.source); // ReadonlySource<number>\n * console.log(delay.status()); // Current state\n * ```\n *\n * @example\n * Business exceptions with `craftException`\n * ```ts\n * import { asyncProcess, craftException } from '@craft-ts/core';\n *\n * const loadUser = craftUse(asyncProcess('loadUser', {\n * method: (value: string) =>\n * value.length < 3\n * ? craftException(\n * { code: 'SEARCH_TERM_TOO_SHORT' },\n * { min: 3, received: value.length },\n * )\n * : value,\n * loader: async ({ params }) =>\n * params === 'blocked'\n * ? craftException(\n * { code: 'USER_ACCESS_FORBIDDEN' },\n * { id: params },\n * )\n * : { id: params, name: 'John Doe' },\n * }));\n *\n * loadUser.method('ab');\n * console.log(loadUser.hasException()); // true\n * console.log(loadUser.exceptions().params?.SEARCH_TERM_TOO_SHORT);\n *\n * loadUser.method('blocked');\n * console.log(loadUser.exceptions().loader?.USER_ACCESS_FORBIDDEN);\n * ```\n *\n * @example\n * Async method with identifier for parallel operations\n * ```ts\n * const delayById = craftUse(asyncProcess('delayById', {\n * method: (id: string) => id,\n * identifier: (id) => id,\n * loader: async () => {\n * await new Promise(resolve => setTimeout(resolve, 300));\n * return 'done'; // Simulate delay\n * },\n * }));\n *\n * delayById.method('id1');\n * delayById.method('id2');\n * delayById.method('id3');\n *\n * // Access individual states\n * const delay1 = delayById.select('id1');\n * console.log(delay1?.status()); // 'loading' or 'resolved'\n * console.log(delay1?.value()); // 'done'\n *\n * const delay2 = delayById.select('id2');\n * console.log(delay2?.status()); // Independent state\n * ```\n *\n * @example\n * Calling async js native API\n * ```ts\n * const shareContent = craftUse(asyncProcess('shareContent', {\n * method: (payload: { title: string, url: string }) => payload,\n * loader: async ({ params }) => {\n * return navigator.share(params);\n * },\n * }, ({resource}) => ({isMenuOpen: computed(() => resource.status() === 'loading')} )));\n *\n * // Trigger shareContent\n * shareContent.method({ title: 'Hello AI!', url: 'https://example.com' });\n * shareContent.isMenuOpen(); // true while loading\n *\n * ```\n */\nexport function asyncProcess<\n Name extends string,\n AsyncProcesstate extends object | undefined,\n AsyncProcessParams,\n AsyncProcessArgsParams,\n SourceParams,\n GroupIdentifier,\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n Config = {},\n Providers extends readonly Provider[] = Config extends {\n readonly providers: infer P extends readonly Provider[];\n }\n ? P\n : never[],\n Exceptions extends AsyncProcessExceptionConstraints = {\n params: ExtractCraftException<AsyncProcessParams>;\n loader:\n | ExtractCraftException<AsyncProcesstate>\n | Extract<ExtractCraftGenExceptions<LoaderYielded>, AnyCraftException>;\n },\n>(\n name: Name,\n AsyncProcessConfig: AsyncProcessConfig<\n AsyncProcesstate,\n AsyncProcessParams,\n AsyncProcessArgsParams,\n SourceParams,\n GroupIdentifier,\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded\n > &\n Config,\n): NamedCraftPrimitiveGen<\n Name,\n AsyncProcessOutput<\n StripCraftException<AsyncProcesstate>,\n StripCraftException<AsyncProcessParams>,\n AsyncProcessArgsParams,\n SourceParams,\n GroupIdentifier,\n {},\n Exceptions,\n AsyncProcessTrackedDependencies<\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded,\n never,\n Providers\n >,\n false,\n MethodYielded,\n Name\n >\n>;\nexport function asyncProcess<\n Name extends string,\n AsyncProcesstate extends object | undefined,\n AsyncProcessParams,\n AsyncProcessArgsParams,\n SourceParams,\n GroupIdentifier,\n Insertion1,\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n Insertion1Yielded = never,\n Config = {},\n Providers extends readonly Provider[] = Config extends {\n readonly providers: infer P extends readonly Provider[];\n }\n ? P\n : never[],\n Exceptions extends AsyncProcessExceptionConstraints = {\n params: ExtractCraftException<AsyncProcessParams>;\n loader:\n | ExtractCraftException<AsyncProcesstate>\n | Extract<ExtractCraftGenExceptions<LoaderYielded>, AnyCraftException>;\n },\n>(\n name: Name,\n AsyncProcessConfig: AsyncProcessConfig<\n AsyncProcesstate,\n AsyncProcessParams,\n AsyncProcessArgsParams,\n SourceParams,\n GroupIdentifier,\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded\n > &\n Config,\n insertion1: InsertionsResourcesFactory<\n NoInfer<GroupIdentifier>,\n NoInfer<StripCraftException<AsyncProcesstate>>,\n NoInfer<StripCraftException<AsyncProcessParams>>,\n NoInfer<Exceptions>,\n Insertion1,\n {},\n Insertion1Yielded,\n Name\n >,\n): NamedCraftPrimitiveGen<\n Name,\n AsyncProcessOutput<\n StripCraftException<AsyncProcesstate>,\n StripCraftException<AsyncProcessParams>,\n AsyncProcessArgsParams,\n SourceParams,\n GroupIdentifier,\n Insertion1,\n Exceptions,\n AsyncProcessTrackedDependencies<\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded,\n Insertion1Yielded,\n Providers,\n Insertion1\n >,\n false,\n MethodYielded,\n Name\n >\n>;\n\nexport function asyncProcess(\n name: string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n AsyncProcessConfig: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ...insertions: any[]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n return createNamedPrimitiveGen(\n name,\n createAsyncProcessRef(name, AsyncProcessConfig, ...insertions),\n );\n}\n\nfunction createAsyncProcessRef<\n AsyncProcesstate extends object | undefined,\n AsyncProcessParams,\n AsyncProcessArgsParams,\n SourceParams,\n GroupIdentifier,\n ParamsYielded = never,\n MethodYielded = never,\n LoaderYielded = never,\n StreamYielded = never,\n Config = {},\n Providers extends readonly Provider[] = Config extends {\n readonly providers: infer P extends readonly Provider[];\n }\n ? P\n : never[],\n Exceptions extends AsyncProcessExceptionConstraints = {\n params: ExtractCraftException<AsyncProcessParams>;\n loader:\n | ExtractCraftException<AsyncProcesstate>\n | Extract<ExtractCraftGenExceptions<LoaderYielded>, AnyCraftException>;\n },\n>(\n name: string,\n AsyncProcessConfig: AsyncProcessConfig<\n AsyncProcesstate,\n AsyncProcessParams,\n AsyncProcessArgsParams,\n SourceParams,\n GroupIdentifier,\n ParamsYielded,\n MethodYielded,\n LoaderYielded,\n StreamYielded\n > & { providers?: readonly Provider[] },\n ...insertions: any[]\n): AsyncProcessOutput<\n AsyncProcesstate,\n AsyncProcessParams,\n AsyncProcessArgsParams,\n SourceParams,\n GroupIdentifier,\n {},\n Exceptions,\n {},\n false,\n MethodYielded\n> {\n const insertionSnapshotRegistry = new InsertionSnapshotRegistry();\n const asyncExtraProviders = [\n {\n provide: INSERTION_SNAPSHOT_REGISTRY,\n useValue: insertionSnapshotRegistry,\n },\n ...(AsyncProcessConfig.providers ?? []),\n ];\n let injector: Injector | undefined;\n if (\n [\n 'params' in AsyncProcessConfig ? AsyncProcessConfig.params : undefined,\n 'method' in AsyncProcessConfig ? AsyncProcessConfig.method : undefined,\n 'loader' in AsyncProcessConfig ? AsyncProcessConfig.loader : undefined,\n 'stream' in AsyncProcessConfig ? AsyncProcessConfig.stream : undefined,\n ...insertions,\n ].some((value) => isGeneratorFunction(value))\n ) {\n assertInInjectionContext(asyncProcess);\n injector = ɵcreateHostTaggedInjector(\n inject(Injector),\n `asyncProcess:${name}`,\n asyncExtraProviders,\n );\n }\n\n const getInjector = () => {\n if (!injector) {\n assertInInjectionContext(asyncProcess);\n injector = ɵcreateHostTaggedInjector(\n inject(Injector),\n `asyncProcess:${name}`,\n asyncExtraProviders,\n );\n }\n\n return injector;\n };\n\n const AsyncProcessResourceParamsFnSignal = signal<\n AsyncProcessParams | undefined\n >(undefined);\n\n // Incremented on every explicit method call so the resource request always\n // changes, forcing the loader to re-run even when the method returns the same\n // value or `undefined`. Starts at 0 = \"never called\" to preserve idle.\n const methodTriggerSeq = signal(0);\n\n const hasParamsFn =\n 'params' in AsyncProcessConfig &&\n typeof AsyncProcessConfig.params === 'function';\n const isConnectedToSource =\n !hasParamsFn && isSource(AsyncProcessConfig.method);\n const hasMethodFn =\n !hasParamsFn &&\n typeof AsyncProcessConfig.method === 'function' &&\n !isSignal(AsyncProcessConfig.method);\n\n const isUsingIdentifier = 'identifier' in AsyncProcessConfig;\n\n const methodParamsException = signal<AnyCraftException | undefined>(\n undefined,\n );\n const schemaParseExceptions = signal<Record<string, AnyCraftException>>({});\n const configuredSchemas = {\n method: AsyncProcessConfig.methodSchema as CraftSchema | undefined,\n params: AsyncProcessConfig.paramsSchema as CraftSchema | undefined,\n loader: AsyncProcessConfig.loaderSchema as CraftSchema | undefined,\n };\n const hasConfiguredSchema = Object.values(configuredSchemas).some(Boolean);\n const setSchemaException = (\n stage: string,\n exception: AnyCraftException | undefined,\n ) => {\n untracked(() => {\n schemaParseExceptions.update((current) => {\n const next = { ...current };\n if (exception) next[stage] = exception;\n else delete next[stage];\n return next;\n });\n });\n };\n const schemaPolicy = useSchemaValidationPolicy(\n getInjector(),\n AsyncProcessConfig.schemaValidationPolicy as\n | SchemaValidationPolicy\n | undefined,\n );\n const schemaValidation = {\n method: createSchemaValidationRuntime({\n schema: configuredSchemas.method,\n primitive: 'asyncProcess',\n name,\n policy: schemaPolicy,\n setException: setSchemaException,\n }),\n params: createSchemaValidationRuntime({\n schema: configuredSchemas.params,\n primitive: 'asyncProcess',\n name,\n policy: schemaPolicy,\n setException: setSchemaException,\n }),\n loader: createSchemaValidationRuntime({\n schema: configuredSchemas.loader,\n primitive: 'asyncProcess',\n name,\n policy: schemaPolicy,\n setException: setSchemaException,\n }),\n };\n const schemaParse = computed(() => {\n const values = schemaParseExceptions();\n return {\n ...(values['method'] ? { method: values['method'] } : {}),\n ...(values['params'] ? { params: values['params'] } : {}),\n ...(values['loader'] ? { loader: values['loader'] } : {}),\n };\n });\n\n const getIdentifierFromParams = (params: unknown): string | undefined => {\n if (!isUsingIdentifier || !('identifier' in AsyncProcessConfig)) {\n return undefined;\n }\n\n if (params === undefined || params === null) {\n return undefined;\n }\n\n return AsyncProcessConfig.identifier?.(params as any) as string | undefined;\n };\n\n const sanitizeParamsResult = (value: AsyncProcessParams | undefined) => {\n if (isCraftException(value)) {\n return undefined;\n }\n\n return value;\n };\n\n const reactiveParamsException = computed(() => {\n if (hasMethodFn) {\n return undefined;\n }\n const schemaParamsException = schemaParseExceptions()['params'];\n if (schemaParamsException) {\n return enrichResourceException(schemaParamsException, {\n scope: 'params',\n });\n }\n\n if (hasParamsFn) {\n const paramsValue = executeGeneratorCompatibleFactory({\n factory: (AsyncProcessConfig as { params: () => AsyncProcessParams })\n .params,\n thisArg: undefined,\n getInjector,\n args: [],\n invalidYieldErrorMessage: ASYNC_PROCESS_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: ASYNC_PROCESS_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n ASYNC_PROCESS_APP_START_ERROR_MESSAGE,\n });\n return isCraftException(paramsValue)\n ? enrichResourceException(paramsValue, { scope: 'params' })\n : undefined;\n }\n\n if (isConnectedToSource) {\n const sourceValue = (\n AsyncProcessConfig.method as unknown as Signal<\n AsyncProcessParams | undefined\n >\n )();\n return isCraftException(sourceValue)\n ? enrichResourceException(sourceValue, { scope: 'params' })\n : undefined;\n }\n\n return undefined;\n });\n\n const paramsException = computed(() => {\n return hasMethodFn ? methodParamsException() : reactiveParamsException();\n });\n\n const {\n setLoaderException,\n exceptions,\n hasException,\n createSelectExceptions,\n createSelectHasException,\n } = createResourceExceptionsRuntime({\n isUsingIdentifier,\n paramsException,\n });\n\n const wrappedSourceParams = isConnectedToSource\n ? ((() => {\n const value = sanitizeParamsResult(\n (\n AsyncProcessConfig.method as unknown as Signal<\n AsyncProcessParams | undefined\n >\n )(),\n );\n if (!configuredSchemas.params || isCraftException(value)) return value;\n const parsed = schemaValidation.params.parseSync<AsyncProcessParams>(\n value,\n 'params',\n 'source',\n );\n return parsed.accepted ? parsed.value : undefined;\n }) as Signal<AsyncProcessParams | undefined>)\n : undefined;\n\n const wrappedParamsFn = hasParamsFn\n ? ((() => {\n const value = executeGeneratorCompatibleFactory({\n factory: (\n AsyncProcessConfig as {\n params: () => AsyncProcessParams;\n }\n ).params,\n thisArg: undefined,\n getInjector,\n args: [],\n invalidYieldErrorMessage: ASYNC_PROCESS_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: ASYNC_PROCESS_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n ASYNC_PROCESS_APP_START_ERROR_MESSAGE,\n }) as AsyncProcessParams;\n if (!configuredSchemas.params || isCraftException(value)) {\n return sanitizeParamsResult(value);\n }\n const parsed = schemaValidation.params.parseSync<AsyncProcessParams>(\n value,\n 'params',\n 'params',\n );\n return parsed.accepted ? parsed.value : undefined;\n }) as () => AsyncProcessParams | undefined)\n : undefined;\n\n const wrappedLoader =\n 'loader' in AsyncProcessConfig && AsyncProcessConfig.loader\n ? ((async (param: ResourceLoaderParams<any>) => {\n const injector = getInjector();\n const correlationSvc = injector.get(CORRELATION_ID_SERVICE, null);\n const operationId = correlationSvc?.lastCorrelationId() ?? null;\n if (operationId) correlationSvc?.startOperation(operationId);\n\n // Unwrap the method-trigger nonce so the user loader and identifier logic\n // only ever see plain params (no-op for source / params-fn / byId modes).\n const rawParams = unwrapMethodParams(param.params);\n const loaderParam = { ...param, params: rawParams };\n\n try {\n const step = await executeGeneratorCompatibleFactoryAsync({\n factory: AsyncProcessConfig.loader as (\n param: ResourceLoaderParams<any>,\n ) => Promise<any>,\n thisArg: undefined,\n getInjector,\n args: [loaderParam],\n invalidYieldErrorMessage:\n ASYNC_PROCESS_INVALID_YIELD_ERROR_MESSAGE,\n appStartNotSupportedErrorMessage:\n ASYNC_PROCESS_APP_START_ERROR_MESSAGE,\n });\n\n if (step.kind === 'shortCircuit') {\n const exceptionId = getIdentifierFromParams(rawParams);\n setLoaderException(\n enrichResourceException(step.exception, {\n scope: 'loader',\n identifier: exceptionId,\n }),\n exceptionId,\n );\n return undefined;\n }\n\n const result = step.value;\n\n if (isCraftException(result)) {\n const exceptionId = getIdentifierFromParams(rawParams);\n setLoaderException(\n enrichResourceException(result, {\n scope: 'loader',\n identifier: exceptionId,\n }),\n exceptionId,\n );\n return undefined;\n }\n\n let validatedResult = result;\n if (configuredSchemas.loader) {\n const parsed = await schemaValidation.loader.parseAsync<any>(\n result,\n 'loader',\n 'loader',\n getIdentifierFromParams(rawParams),\n );\n if (!parsed.accepted) {\n const exceptionId = getIdentifierFromParams(rawParams);\n setLoaderException(\n enrichResourceException(parsed.exception, {\n scope: 'loader',\n identifier: exceptionId,\n }),\n exceptionId,\n );\n return undefined;\n }\n validatedResult = parsed.value;\n }\n\n const successId = getIdentifierFromParams(rawParams);\n setLoaderException(undefined, successId);\n return validatedResult;\n } catch (error) {\n if (!isCraftException(error)) {\n injector.get(TAKE_APP_SNAPSHOT, null)?.();\n }\n throw error;\n } finally {\n if (operationId) correlationSvc?.endOperation(operationId);\n }\n }) as typeof AsyncProcessConfig.loader)\n : undefined;\n\n const wrappedStream =\n 'stream' in AsyncProcessConfig && AsyncProcessConfig.stream\n ? (((...args: unknown[]) => {\n const result = executeGeneratorCompatibleFactory({\n factory: AsyncProcessConfig.stream as (\n ...args: unknown[]\n ) => unknown,\n thisArg: undefined,\n getInjector,\n args,\n invalidYieldErrorMessage: ASYNC_PROCESS_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: ASYNC_PROCESS_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n ASYNC_PROCESS_APP_START_ERROR_MESSAGE,\n });\n const wrapStreamSignal = (streamSignal: unknown) => {\n if (!configuredSchemas.loader || !isSignal(streamSignal)) {\n return streamSignal;\n }\n let lastValue: unknown;\n return computed(() => {\n const streamItem = (streamSignal as Signal<unknown>)();\n if (\n streamItem &&\n typeof streamItem === 'object' &&\n 'error' in streamItem\n ) {\n return streamItem;\n }\n const rawValue =\n streamItem &&\n typeof streamItem === 'object' &&\n 'value' in streamItem\n ? streamItem.value\n : streamItem;\n const parsed = schemaValidation.loader.parseSync<unknown>(\n rawValue,\n 'loader',\n 'stream',\n );\n if (!parsed.accepted) {\n return lastValue === undefined\n ? undefined\n : { value: lastValue };\n }\n lastValue = parsed.value;\n return { value: lastValue };\n });\n };\n if (\n result &&\n typeof (result as Promise<unknown>).then === 'function'\n ) {\n return Promise.resolve(result).then(wrapStreamSignal);\n }\n return wrapStreamSignal(result);\n }) as typeof AsyncProcessConfig.stream)\n : undefined;\n\n const resourceParamsSrc = isConnectedToSource\n ? (wrappedSourceParams as typeof AsyncProcessConfig.method)\n : hasParamsFn\n ? wrappedParamsFn\n : AsyncProcessResourceParamsFnSignal;\n\n // Method-based, non-grouped: feed the resource a nonce-tagged request so every\n // explicit call re-runs the loader (even for identical / `undefined` params),\n // while `resourceParamsSrc` stays the raw signal for all public consumers.\n const usesMethodParamsSignal = !isConnectedToSource && !hasParamsFn;\n const methodTaggedParams = computed(() => {\n const seq = methodTriggerSeq();\n if (seq === 0) return undefined; // idle until the first call\n return wrapMethodParams(AsyncProcessResourceParamsFnSignal(), seq);\n });\n\n const asyncProcessResourceOptions = {\n ...AsyncProcessConfig,\n params: usesMethodParamsSignal\n ? (methodTaggedParams as unknown as typeof resourceParamsSrc)\n : resourceParamsSrc,\n equal: usesMethodParamsSignal\n ? methodParamsWrapperEqual(\n (AsyncProcessConfig as { equal?: (a: any, b: any) => boolean }).equal,\n )\n : (AsyncProcessConfig as { equal?: (a: any, b: any) => boolean }).equal,\n loader: wrappedLoader,\n stream: wrappedStream,\n } as ResourceOptions<any, any>;\n\n const resourceTarget = isUsingIdentifier\n ? resourceById<\n AsyncProcesstate,\n AsyncProcessParams,\n GroupIdentifier & string,\n string,\n unknown,\n unknown\n >({\n ...AsyncProcessConfig,\n params: resourceParamsSrc,\n loader: wrappedLoader,\n stream: wrappedStream,\n identifier: AsyncProcessConfig.identifier,\n } as any)\n : AsyncProcessConfig.preservePreviousValue?.()\n ? preservedResource<AsyncProcesstate, AsyncProcessParams>(\n asyncProcessResourceOptions,\n )\n : craftResource<AsyncProcesstate, AsyncProcessParams>(\n asyncProcessResourceOptions,\n );\n\n if (configuredSchemas.loader) {\n const target = resourceTarget as any;\n const originalResourceSet = target.set.bind(target);\n const originalResourceUpdate = target.update.bind(target);\n target.set = (value: unknown) => {\n const parsed = schemaValidation.loader.parseSync<unknown>(\n value,\n 'loader',\n 'set',\n );\n if (parsed.accepted) originalResourceSet(parsed.value);\n };\n target.update = (updateFn: (current: unknown) => unknown) =>\n originalResourceUpdate((current: unknown) => {\n const parsed = schemaValidation.loader.parseSync<unknown>(\n updateFn(current),\n 'loader',\n 'update',\n );\n return parsed.accepted ? parsed.value : current;\n });\n }\n\n runInInjectionContext(getInjector(), () =>\n ɵobservePrimitiveResourceRuntimeContext(\n isUsingIdentifier\n ? ɵcreatePrimitiveResourceByIdRuntimeContext(\n 'asyncProcess',\n resourceTarget as any,\n )\n : ɵcreatePrimitiveResourceRuntimeContext(\n 'asyncProcess',\n resourceTarget as any,\n ),\n name,\n ),\n );\n\n // Capture the raw Angular status BEFORE `Object.assign` overrides\n // `resourceTarget.status` with the craft computed (avoids a computation cycle).\n const rawResourceStatus = (\n resourceTarget as CraftResourceRef<AsyncProcesstate, AsyncProcessParams>\n ).status;\n const publicExceptions = hasConfiguredSchema\n ? computed(() => ({ ...exceptions(), parse: schemaParse() }))\n : exceptions;\n\n const asyncOutput = Object.assign(\n resourceTarget,\n // byId is used to helps TS to correctly infer the resourceByGroup\n isUsingIdentifier\n ? {\n /**\n * Only added to help TS inference (TS cannot infer ResourceByIdHandler without erasing the signal getter, () => ResourceByIdRef<...>) )\n */\n _resourceById: resourceTarget as ResourceByIdRef<\n GroupIdentifier & string,\n AsyncProcesstate,\n AsyncProcessParams\n >,\n select: (id: GroupIdentifier) => {\n const selectExceptions = createSelectExceptions(\n id as unknown as string,\n );\n const selectHasException = createSelectHasException(\n id as unknown as string,\n );\n\n return computed(() => {\n const list = (\n resourceTarget as ResourceByIdRef<\n GroupIdentifier & string,\n AsyncProcesstate,\n AsyncProcessParams\n >\n )();\n //@ts-expect-error GroupIdentifier & string is not recognized correctly\n const resource = list[id];\n if (!resource) {\n return undefined;\n }\n\n const rawSelectStatus = resource.status;\n const result = Object.assign(resource, {\n status: computed(() =>\n toCraftStatus(rawSelectStatus(), selectHasException()),\n ),\n exception: computed(() => selectExceptions().list[0]),\n hasException: selectHasException,\n hasSchema: signal(hasConfiguredSchema),\n exceptions: hasConfiguredSchema\n ? computed(() => ({\n ...selectExceptions(),\n parse: schemaParse(),\n }))\n : selectExceptions,\n });\n attachCraftSettledValue(name, result);\n return result;\n })();\n },\n selectOrCreate: (id: GroupIdentifier) => {\n const selected = (\n resourceTarget as ResourceByIdRef<\n GroupIdentifier & string,\n AsyncProcesstate,\n AsyncProcessParams\n >\n ).addById(id as GroupIdentifier & string);\n const selectExceptions = createSelectExceptions(\n id as unknown as string,\n );\n const selectHasException = createSelectHasException(\n id as unknown as string,\n );\n const rawSelectStatus = selected.status;\n const result = Object.assign(selected, {\n status: computed(() =>\n toCraftStatus(rawSelectStatus(), selectHasException()),\n ),\n exception: computed(() => selectExceptions().list[0]),\n hasException: selectHasException,\n hasSchema: signal(hasConfiguredSchema),\n exceptions: hasConfiguredSchema\n ? computed(() => ({\n ...selectExceptions(),\n parse: schemaParse(),\n }))\n : selectExceptions,\n });\n attachCraftSettledValue(name, result);\n return result;\n },\n }\n : {},\n {\n ...(isUsingIdentifier\n ? {}\n : {\n status: computed(() =>\n toCraftStatus(rawResourceStatus(), hasException()),\n ),\n exception: computed(() => exceptions().list[0]),\n }),\n hasException,\n hasSchema: signal(hasConfiguredSchema),\n exceptions: publicExceptions,\n ...(hasParamsFn\n ? { resourceParamsSrc }\n : {\n method: isSignal(AsyncProcessConfig.method)\n ? undefined\n : (arg: AsyncProcessArgsParams) => {\n let methodArg: unknown = arg;\n if (configuredSchemas.method) {\n const parsedMethod =\n schemaValidation.method.parseSync<unknown>(\n arg,\n 'method',\n 'method',\n );\n if (!parsedMethod.accepted) {\n methodParamsException.set(\n enrichResourceException(parsedMethod.exception, {\n scope: 'params',\n }),\n );\n return yieldableInvocation<\n MethodYielded,\n AsyncProcessParams\n >(parsedMethod.exception as AsyncProcessParams);\n }\n methodArg = parsedMethod.value;\n }\n const result = executeGeneratorCompatibleFactory({\n factory: (\n AsyncProcessConfig as {\n method: (\n args: AsyncProcessArgsParams,\n ) => AsyncProcessParams;\n }\n ).method,\n thisArg: undefined,\n getInjector,\n args: [methodArg as AsyncProcessArgsParams],\n invalidYieldErrorMessage:\n ASYNC_PROCESS_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage:\n ASYNC_PROCESS_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n ASYNC_PROCESS_APP_START_ERROR_MESSAGE,\n });\n if (isCraftException(result)) {\n methodParamsException.set(\n enrichResourceException(result, { scope: 'params' }),\n );\n return yieldableInvocation<\n MethodYielded,\n AsyncProcessParams\n >(result as AsyncProcessParams);\n }\n\n let paramsResult = result as AsyncProcessParams;\n if (configuredSchemas.params) {\n const parsedParams =\n schemaValidation.params.parseSync<AsyncProcessParams>(\n result,\n 'params',\n 'method',\n );\n if (!parsedParams.accepted) {\n methodParamsException.set(\n enrichResourceException(parsedParams.exception, {\n scope: 'params',\n }),\n );\n return yieldableInvocation<\n MethodYielded,\n AsyncProcessParams\n >(parsedParams.exception as AsyncProcessParams);\n }\n paramsResult = parsedParams.value;\n }\n\n if (methodParamsException()) {\n methodParamsException.set(undefined);\n }\n\n if (isUsingIdentifier) {\n const id = AsyncProcessConfig.identifier?.(arg as any);\n (\n resourceTarget as ResourceByIdRef<\n GroupIdentifier & string,\n AsyncProcesstate,\n AsyncProcessParams\n >\n ).addById(id as GroupIdentifier & string);\n }\n // These two signals form one method request. Publish them as\n // one batch so the resource watch cannot start the loader\n // once for the nonce and once again for the params.\n craftBatch(() => {\n methodTriggerSeq.update((n) => n + 1);\n AsyncProcessResourceParamsFnSignal.set(paramsResult);\n });\n return yieldableInvocation<MethodYielded, AsyncProcessParams>(\n paramsResult,\n );\n },\n }),\n },\n ) as unknown as AsyncProcessOutput<\n AsyncProcesstate,\n AsyncProcessParams,\n AsyncProcessArgsParams,\n SourceParams,\n GroupIdentifier,\n {},\n Exceptions,\n {},\n false,\n MethodYielded\n >;\n\n if (!isUsingIdentifier) {\n attachCraftSettledValue(name, asyncOutput as object);\n }\n\n const publicAsyncContext = createYieldableReactiveFacade(asyncOutput, {\n name,\n primitive: 'asyncProcess',\n path: name,\n }) as any;\n\n const insertionSettledState = isUsingIdentifier\n ? createYieldableSettledValue(\n computed(() => {\n const params = craftUse(\n publicAsyncContext.resourceParamsSrc(),\n ) as any;\n if (params == null) throw new CraftNotSettled(name);\n const id = AsyncProcessConfig.identifier?.(params);\n if (id == null) throw new CraftNotSettled(name);\n const selected = publicAsyncContext.select(id);\n if (!selected) throw new CraftNotSettled(name);\n return craftUse(selected.settledValue());\n }),\n {\n primitive: 'asyncProcess',\n insertion: 'settledState',\n path: `${name}.settledState`,\n },\n )\n : createYieldableSettledValue(\n computed(() => craftUse(publicAsyncContext.settledValue())),\n {\n primitive: 'asyncProcess',\n insertion: 'settledState',\n path: `${name}.settledState`,\n },\n );\n\n const insertionsResult = (\n insertions as InsertionsResourcesFactory<\n NoInfer<GroupIdentifier>,\n NoInfer<StripCraftException<AsyncProcesstate>>,\n NoInfer<StripCraftException<AsyncProcessParams>>,\n AsyncProcessExceptionConstraints,\n {},\n {}\n >[]\n )?.reduce(\n (acc, insert) => {\n const rawResult = executeGeneratorCompatibleFactory({\n factory: insert as (context: unknown) => Record<string, unknown>,\n thisArg: undefined,\n getInjector,\n args: [\n {\n ...(isUsingIdentifier\n ? {\n resourceById: createYieldableReactiveFacade(resourceTarget, {\n name: 'resourceById',\n primitive: 'asyncProcess',\n path: `${name}.resourceById`,\n }),\n }\n : { resource: publicAsyncContext }),\n resourceParamsSrc: createYieldableReactiveFacade(\n resourceParamsSrc,\n {\n name: 'resourceParamsSrc',\n primitive: 'asyncProcess',\n path: `${name}.resourceParamsSrc`,\n },\n ),\n hasException: publicAsyncContext.hasException,\n exceptions: publicAsyncContext.exceptions,\n insertions: acc as {},\n state: createYieldableReactiveFacade(resourceTarget.state, {\n name: 'state',\n primitive: 'asyncProcess',\n path: `${name}.state`,\n }),\n settledState: insertionSettledState,\n set: (nextState: any) =>\n yieldableInvocation(resourceTarget.set(nextState)),\n update: (updateFn: (currentState: any) => any) =>\n yieldableInvocation(resourceTarget.update(updateFn)),\n patch: (patchFn: (currentState: any) => Partial<any>) =>\n yieldableInvocation(\n resourceTarget.update((current: any) => ({\n ...current,\n ...patchFn(current),\n })),\n ),\n __primitiveKind: 'asyncProcess',\n } as any,\n ],\n invalidYieldErrorMessage: ASYNC_PROCESS_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage: ASYNC_PROCESS_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n ASYNC_PROCESS_APP_START_ERROR_MESSAGE,\n });\n const wrappedResult = Object.entries(rawResult).reduce(\n (wrappedAcc, [key, value]) => {\n if (\n typeof value === 'function' &&\n !isSignal(value) &&\n !isYieldableReactiveValue(value) &&\n !isNonYieldableInsertionMethod(value)\n ) {\n const injector = getInjector();\n const methodInjector = ɵcreateHostTaggedInjector(\n injector,\n `method:${key}`,\n [\n ɵprovidePrimitiveMethodRuntimeContext(\n 'asyncProcess',\n {\n state: resourceTarget.state,\n set: resourceTarget.set,\n update: resourceTarget.update,\n patch: (patchFn) =>\n resourceTarget.update((current: any) => ({\n ...current,\n ...patchFn(current),\n })),\n },\n value as (...args: never[]) => unknown,\n ),\n ],\n );\n const wrappedFn = runInInjectionContext(methodInjector, () =>\n injectFnWrapper()(value as (...args: unknown[]) => unknown),\n );\n wrappedAcc[key] = createYieldableInsertionMethod(wrappedFn, {\n injector: methodInjector,\n invalidYieldErrorMessage:\n ASYNC_PROCESS_INVALID_YIELD_ERROR_MESSAGE,\n multipleAppStartErrorMessage:\n ASYNC_PROCESS_APP_START_ERROR_MESSAGE,\n onAppStartNotSupportedErrorMessage:\n ASYNC_PROCESS_APP_START_ERROR_MESSAGE,\n });\n } else {\n const namedValue = nameInsertedReactiveValue(\n value,\n key,\n 'asyncProcess',\n `${name}.${key}`,\n );\n wrappedAcc[key] = createYieldableReactiveFacade(namedValue, {\n name: key,\n primitive: 'asyncProcess',\n insertion: key,\n path: `${name}.${key}`,\n });\n }\n return wrappedAcc;\n },\n {} as Record<string, unknown>,\n );\n return { ...acc, ...wrappedResult };\n },\n {} as Record<string, unknown>,\n );\n\n Object.assign(asyncOutput, insertionsResult);\n\n const snapshotRegistry = injector\n ? injector.get(APP_SNAPSHOT_REGISTRY, null)\n : (() => {\n try {\n return inject(APP_SNAPSHOT_REGISTRY, { optional: true });\n } catch {\n return null;\n }\n })();\n\n const hostTagList: readonly string[] = injector\n ? (injector.get(ɵHOST_TAG_LIST, null) ?? [])\n : (() => {\n try {\n return inject(ɵHOST_TAG_LIST, { optional: true }) ?? [];\n } catch {\n return [];\n }\n })();\n\n const destroyRefAsync = injector\n ? injector.get(DestroyRef, null)\n : (() => {\n try {\n return inject(DestroyRef, { optional: true });\n } catch {\n return null;\n }\n })();\n\n if (snapshotRegistry && destroyRefAsync) {\n snapshotRegistry.triggerSnapshot$\n .pipe(takeUntilDestroyed(destroyRefAsync))\n .subscribe(() => {\n const insertionSnapshots = triggerAndCollectInsertions(\n insertionSnapshotRegistry,\n );\n let stateSnapshot: unknown;\n try {\n if (isUsingIdentifier) {\n const byId = (resourceTarget as any)();\n stateSnapshot = {\n params: AsyncProcessResourceParamsFnSignal(),\n resources: Object.entries(byId ?? {}).reduce(\n (acc, [id, res]: [string, any]) => {\n acc[id] = res?.state?.();\n return acc;\n },\n {} as Record<string, unknown>,\n ),\n ...(insertionSnapshots ? { insertions: insertionSnapshots } : {}),\n };\n } else {\n const resourceState = (asyncOutput as any).state();\n stateSnapshot = {\n params: AsyncProcessResourceParamsFnSignal(),\n ...resourceState,\n ...(insertionSnapshots ? { insertions: insertionSnapshots } : {}),\n };\n }\n } catch (error) {\n stateSnapshot = {\n error: error instanceof Error ? error.message : String(error),\n };\n }\n snapshotRegistry.allSnapShot$.next({\n source: 'asyncProcess',\n from: hostTagList,\n state: stateSnapshot,\n });\n });\n }\n\n if (!('resource' in asyncOutput)) {\n Object.defineProperty(asyncOutput, 'resource', {\n value: asyncOutput,\n enumerable: false,\n configurable: true,\n });\n }\n const publicAsyncProcess = createYieldableReactiveFacade(asyncOutput, {\n name,\n primitive: 'asyncProcess',\n path: name,\n });\n return (\n hasDeepYieldableInsertion(insertions)\n ? deepYieldable(publicAsyncProcess)\n : publicAsyncProcess\n ) as typeof asyncOutput;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"branded-component.d.ts","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/branded-component/branded-component.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"branded-component.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/branded-component/branded-component.ts"],"names":[],"mappings":"AAqVA,MAAM,UAAU,IAAI,CAAC,QAA0B,EAAE;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,aAAgB,EAChB,iBAAoC;IAEpC,OAAO,aAAa,CAAC;AACvB,CAAC","sourcesContent":["import type { InputSignalWithTransform } from '../host/craft-compat';\nimport type {\n BrandedServiceProvider,\n CompleteServiceDependencyMapFromYielded,\n ExtractServiceHelperDependencyMap,\n SERVICE_HELPER_DEPENDENCIES,\n} from '../craft-service';\nimport type {\n CRAFT_SERVICE_PROVIDER_BRAND,\n MergeObjectUnion,\n RequirementScope,\n Simplify,\n} from '../craft-service.shared';\n\nexport type AngularBrandDeps = {\n injected?: readonly unknown[];\n importDeps?: readonly unknown[];\n providers?: readonly unknown[];\n};\n\n/**\n * Type-only dependency metadata carried by functional Craft components and\n * route fragments. The optional property never needs to exist at runtime.\n */\nexport declare const CRAFT_COMPONENT_DEPS: unique symbol;\n\nexport type ComponentDepsCarrier<ComponentDeps extends object = object> = {\n readonly [CRAFT_COMPONENT_DEPS]?: ComponentDeps;\n};\n\n/** Type-only exception contract carried by functional components and routes. */\nexport declare const CRAFT_COMPONENT_EXCEPTIONS: unique symbol;\n\nexport type ComponentExceptionsCarrier<Exceptions extends string = string> = {\n readonly [CRAFT_COMPONENT_EXCEPTIONS]?: Exceptions;\n};\n\ntype NarrowComponentExceptions<Exceptions> = [Exceptions] extends [string]\n ? string extends Exceptions\n ? never\n : Exceptions\n : never;\n\nexport type ComponentExceptionsOf<Value> = Value extends object\n ? typeof CRAFT_COMPONENT_EXCEPTIONS extends keyof Value\n ? Value extends ComponentExceptionsCarrier<infer Exceptions>\n ? NarrowComponentExceptions<Exceptions>\n : never\n : never\n : never;\n\nexport type ComponentDepsOf<Value> = Value extends {\n readonly [CRAFT_COMPONENT_DEPS]?: infer ComponentDeps extends object;\n}\n ? typeof CRAFT_COMPONENT_DEPS extends keyof Value\n ? ComponentDeps\n : {}\n : {};\n\ntype ExtractPublicInstance<Component> = Component extends abstract new (\n ...args: unknown[]\n) => infer Instance\n ? Instance\n : Component;\n\n// The `WriteT` side of `InputSignalWithTransform` is contravariant, so the\n// checks below must use `any` (not `unknown`) or no input property matches.\ntype ToPublicSignalType<T> =\n T extends InputSignalWithTransform<infer ReadT, any> ? () => ReadT : T;\n\ntype InputSignalPropertyKeys<Instance> = Extract<\n {\n [K in keyof Instance]: Instance[K] extends InputSignalWithTransform<\n any,\n any\n >\n ? K\n : never;\n }[keyof Instance],\n string\n>;\n\n// Accepts either a component class (`typeof MyComponent`) or an instance type,\n// keeps only `input()` properties, and exposes each one as a plain callable\n// (`() => T`) with the internal `InputSignal` brand symbols stripped.\nexport type GetPublicComponentProperties<Component> =\n ExtractPublicInstance<Component> extends object\n ? Simplify<{\n [K in InputSignalPropertyKeys<\n ExtractPublicInstance<Component>\n >]: ToPublicSignalType<ExtractPublicInstance<Component>[K]>;\n }>\n : never;\n\nexport type DerivedService<Service, Tracking extends object> = Simplify<\n Omit<\n Service,\n 'usesWholeService' | 'derivedPropertiesUsed' | 'derivedPropertiesExposed'\n > &\n Tracking\n>;\n\ntype GetDepsMap<Input> = Input extends { deps: infer Deps extends object }\n ? Deps\n : {};\n\ntype GetPropertiesDepsMap<Input> = Input extends {\n propertiesDeps: infer PropertiesDeps extends object;\n}\n ? PropertiesDeps\n : {};\n\ntype GetProvidedMap<Input> = Input extends {\n provided: infer Provided extends object;\n}\n ? Provided\n : {};\n\ntype GetExplicitMissingProviderMap<Input> = Input extends {\n missingProvider: infer MissingProvider extends object;\n}\n ? MissingProvider\n : {};\n\ntype DependencyChildren<Node> = Node extends {\n dependencies: infer Dependencies extends object;\n}\n ? Dependencies\n : {};\n\ntype DependencyScope<Node> = Node extends { providedIn: infer Scope }\n ? Scope\n : never;\n\ntype IsRequirementScopedServiceDependency<Dependency> = [\n DependencyScope<Dependency>,\n] extends [never]\n ? false\n : DependencyScope<Dependency> extends RequirementScope\n ? true\n : false;\n\ntype IsComponentGenDepsDependency<Dependency> = Dependency extends {\n deps: infer _Deps extends object;\n provided: infer _Provided extends object;\n}\n ? true\n : false;\n\ntype IsTrackedDependencyNode<Dependency> = Dependency extends {\n providedIn: infer _Scope;\n dependencies: infer _Dependencies extends object;\n}\n ? true\n : false;\n\ntype ExtractHelperMetadata<Value> = Value extends {\n readonly [SERVICE_HELPER_DEPENDENCIES]?: infer Metadata;\n}\n ? Metadata\n : never;\n\ntype NormalizeExtractedDeps<Value> = [\n ExtractServiceHelperDependencyMap<Value>,\n] extends [never]\n ? Value extends object\n ? [ExtractHelperMetadata<Value>] extends [never]\n ? IsComponentGenDepsDependency<Value> extends true\n ? GetDepsMap<Value>\n : IsTrackedDependencyNode<Value> extends true\n ? {}\n : {}\n : ExtractHelperMetadata<Value> extends object\n ? ExtractHelperMetadata<Value>\n : {}\n : {}\n : ExtractServiceHelperDependencyMap<Value>;\n\nexport type ExtractDeps<Value> = Simplify<NormalizeExtractedDeps<Value>>;\n\ntype ComponentProviderNames<Providers> =\n Providers extends readonly (infer Provider)[]\n ? ComponentProviderNames<Provider>\n : Providers extends {\n readonly [CRAFT_SERVICE_PROVIDER_BRAND]?: infer Metadata;\n }\n ? Metadata extends { name: infer Name extends string }\n ? Name\n : never\n : never;\n\ntype ComponentProvidedMap<Providers> = {\n [Name in ComponentProviderNames<Providers>]: true;\n};\n\ntype ComponentTrackedContextValue<Context extends object> = {\n [Key in keyof Context]: Context[Key] extends object\n ? typeof SERVICE_HELPER_DEPENDENCIES extends keyof Context[Key]\n ? Context[Key]\n : never\n : never;\n}[keyof Context];\n\ntype ComponentContextDeps<Context> = Context extends object\n ? MergeObjectUnion<\n ExtractDeps<ComponentTrackedContextValue<Context>>\n > extends infer Dependencies extends object\n ? string extends keyof Dependencies\n ? {}\n : Dependencies\n : {}\n : {};\n\n/**\n * Builds the complete dependency contract of a functional component from its\n * yielded requests, the tracked helpers returned in its context, its local\n * providers, and its public input/output properties.\n */\nexport type CraftComponentDependencies<\n Yielded,\n Context,\n Providers,\n PublicProperties extends object,\n TemplateDependencies extends object = never,\n> = GetDeps<{\n deps: Simplify<\n CompleteServiceDependencyMapFromYielded<Yielded> &\n Omit<\n ComponentContextDeps<Context>,\n keyof CompleteServiceDependencyMapFromYielded<Yielded>\n >\n >;\n propertiesDeps: {};\n provided: ComponentProvidedMap<Providers>;\n publicProperties: PublicProperties;\n missingProvider: [TemplateDependencies] extends [never]\n ? {}\n : MissingProvidersFromDepsMap<{\n readonly __craft_template_dependencies__: TemplateDependencies;\n }>;\n}>;\n\ntype ComponentMissingProviderRecord<Dependency> =\n IsComponentGenDepsDependency<Dependency> extends true\n ? Dependency extends {\n missingProvider: infer MissingProvider extends object;\n }\n ? MissingProvider\n : {}\n : {};\n\ntype DependencyMapValue<Dependency> = Dependency extends object\n ? Dependency[Extract<keyof Dependency, string>]\n : never;\n\ntype ContainsNestedDependencyEntries<Dependency> = [\n Extract<\n DependencyMapValue<Dependency>,\n | {\n scope: unknown;\n dependencies: object;\n }\n | {\n deps: object;\n provided: object;\n }\n >,\n] extends [never]\n ? false\n : true;\n\ntype NestedMissingProviderRecord<Dependency> = Dependency extends object\n ? IsComponentGenDepsDependency<Dependency> extends true\n ? {}\n : IsTrackedDependencyNode<Dependency> extends true\n ? {}\n : ContainsNestedDependencyEntries<Dependency> extends true\n ? MissingProvidersFromDepsMap<Dependency>\n : {}\n : {};\n\ntype DirectMissingProviderRecord<Name extends string, Dependency> =\n IsRequirementScopedServiceDependency<Dependency> extends true\n ? {\n [Key in Name]: Dependency;\n }\n : {};\n\ntype MissingProviderRecordFromDependency<\n Name extends string,\n Dependency,\n> = MergeObjectUnion<\n | DirectMissingProviderRecord<Name, Dependency>\n | ComponentMissingProviderRecord<Dependency>\n | NestedMissingProviderRecord<Dependency>\n | (IsTrackedDependencyNode<Dependency> extends true\n ? MissingProvidersFromDepsMap<DependencyChildren<Dependency>>\n : {})\n>;\n\nexport type MissingProvidersFromDepsMap<Deps extends object> = Simplify<\n MergeObjectUnion<\n {\n [Name in Extract<\n keyof Deps,\n string\n >]: MissingProviderRecordFromDependency<Name, Deps[Name]>;\n }[Extract<keyof Deps, string>]\n >\n>;\n\ntype MissingProvidersFromPropertiesDeps<Input> = Simplify<\n MergeObjectUnion<\n {\n [PropertyName in Extract<\n keyof GetPropertiesDepsMap<Input>,\n string\n >]: GetPropertiesDepsMap<Input>[PropertyName] extends object\n ? MissingProvidersFromDepsMap<GetPropertiesDepsMap<Input>[PropertyName]>\n : {};\n }[Extract<keyof GetPropertiesDepsMap<Input>, string>]\n >\n>;\n\ntype ComputedMissingProviders<Input> = Simplify<\n Omit<\n Simplify<\n MissingProvidersFromDepsMap<GetDepsMap<Input>> &\n MissingProvidersFromPropertiesDeps<Input> &\n GetExplicitMissingProviderMap<Input>\n >,\n keyof GetProvidedMap<Input>\n >\n>;\n\nexport type GetDeps<Input extends object> = Simplify<\n Omit<Input, 'missingProvider'> & {\n missingProvider: ComputedMissingProviders<Input>;\n }\n>;\n\nexport function deps(value: AngularBrandDeps = {}): AngularBrandDeps {\n return value;\n}\n\nexport function brandAngularSymbol<T extends object>(\n angularSymbol: T,\n _dependencyGroups?: AngularBrandDeps,\n): T {\n return angularSymbol;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser-boundaries.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/browser-boundaries.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAG7B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAepD,KAAK,kBAAkB,CAAC,OAAO,SAAS,MAAM,EAAE,OAAO,GAAG,OAAO,IAAI;KAClE,GAAG,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAC3C,GAAG,IAAI,EAAE,MAAM,IAAI,KAChB,MAAM,MAAM,GACb,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,GACtD,KAAK;CACV,CAAC;AAOF,KAAK,sBAAsB,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,IAAI,eAAe,CACxE,IAAI,EACJ,QAAQ,EACR,EAAE,EACF,MAAM,EACN,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAC/E,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC1B,WAAW,EAAE,qBAAqB,CAAC;CACpC,CAAC;AAEF,KAAK,gBAAgB,GAAG,QAAQ,CAAC;IAC/B,CAAC,4BAA4B,CAAC,EAAE,IAAI,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,kBAAkB,CAAC;CACrD,CAAC,CAAC;AAEH,KAAK,oBAAoB,GACrB,gBAAgB,CACd,sBAAsB,CACpB,gBAAgB,EAChB,iBAAiB,CAClB,CAAC,gBAAgB,CAAC,CACpB,GACD,gBAAgB,CAAC;AAErB,KAAK,kBAAkB,GAAG,gBAAgB,CACxC,sBAAsB,CACpB,sBAAsB,EACtB,uBAAuB,CACxB,CAAC,sBAAsB,CAAC,CAC1B,CAAC;AASF,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,cAAc,CAAC,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC1C,QAAQ,IAAI,IAAI,CAAC;IACjB,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,IAAI,IAAI,CAAC;IACd,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,IAAI,MAAM,CAAC;CAClB;AAED,8DAA8D;AAC9D,QAAA,MAAM,cAAc,mFAGnB,CAAC;AACF,eAAO,MAAM,cAAc,EAAE,OAAO,cAAc,CAAC,cACpB,CAAC;AAChC,eAAO,MAAM,yBAAyB,EAAE,OAAO,cAAc,CAAC,yBACpB,CAAC;AAC3C,eAAO,MAAM,qBAAqB,EAAE,OAAO,cAAc,CAAC,qBACpB,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,IAAI,MAAM,CAAC;IACf,MAAM,IAAI,MAAM,CAAC;IACjB,QAAQ,IAAI,MAAM,CAAC;IACnB,IAAI,IAAI,MAAM,CAAC;IACf,QAAQ,IAAI,MAAM,CAAC;IACnB,IAAI,IAAI,MAAM,CAAC;IACf,QAAQ,IAAI,MAAM,CAAC;IACnB,MAAM,IAAI,MAAM,CAAC;IACjB,IAAI,IAAI,MAAM,CAAC;IACf,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;IACjC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,IAAI,MAAM,CAAC;IACjB,KAAK,IAAI,GAAG,CAAC;IACb,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;IAChB,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IACtE,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;CAC1E;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,IAAI,MAAM,CAAC;IACpB,QAAQ,IAAI,MAAM,CAAC;IACnB,SAAS,IAAI,SAAS,MAAM,EAAE,CAAC;IAC/B,MAAM,IAAI,OAAO,CAAC;IAClB,aAAa,IAAI,OAAO,CAAC;IACzB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,4BAA4B;IAC3C,GAAG,IAAI,MAAM,CAAC;IACd,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,eAAe,CAAC;IACtE,OAAO,CACL,WAAW,EAAE,MAAM,EACnB,qBAAqB,CAAC,EAAE,MAAM,GAAG,yBAAyB,EAC1D,OAAO,CAAC,EAAE,MAAM,GACf,kBAAkB,CAAC;IACtB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,IAAI,MAAM,CAAC;IACrB,eAAe,CAAC,UAAU,SAAS,eAAe,EAChD,UAAU,EAAE,UAAU,GACrB,UAAU,CAAC;IACd,MAAM,CACJ,SAAS,EAAE,mBAAmB,EAC9B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,IAAI,MAAM,CAAC;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,IAAI,MAAM,CAAC;IACf,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,IAAI,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC;IACjD,eAAe,IAAI,uBAAuB,CAAC;IAC3C,QAAQ,IAAI,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,IAAI,MAAM,CAAC;IACrB,WAAW,IAAI,MAAM,CAAC;IACtB,OAAO,IAAI,MAAM,CAAC;IAClB,OAAO,IAAI,MAAM,CAAC;IAClB,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC7E,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACpC;AA+KD,yHAAyH;AACzH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE9D;AAuMD,eAAO,MAAM,cAAc,EAAE,sBAAsB,CACjD,gBAAgB,EAChB,iBAAiB,CAClB,CAAC,gBAAgB,CAAiC,CAAC;AACpD,eAAO,MAAM,yBAAyB,EAAE,sBAAsB,CAC5D,gBAAgB,EAChB,iBAAiB,CAClB,CAAC,2BAA2B,CAA4C,CAAC;AAoB1E,eAAO,MAAM,mBAAmB,EAAE,sBAAsB,CACtD,qBAAqB,EACrB,iBAAiB,CAClB,CAAC,qBAAqB,CAA2C,CAAC;AACnE,eAAO,MAAM,+BAA+B,EAAE,sBAAsB,CAClE,qBAAqB,EACrB,iBAAiB,CAClB,CAAC,iCAAiC,CACkB,CAAC;AAoBtD,eAAO,MAAM,qBAAqB,EAAE,sBAAsB,CACxD,uBAAuB,EACvB,iBAAiB,CAClB,CAAC,uBAAuB,CAA+C,CAAC;AACzE,eAAO,MAAM,iCAAiC,EAAE,sBAAsB,CACpE,uBAAuB,EACvB,iBAAiB,CAClB,CAAC,mCAAmC,CACoB,CAAC;AAmB1D,eAAO,MAAM,cAAc,EAAE,sBAAsB,CACjD,gBAAgB,EAChB,iBAAiB,CAClB,CAAC,gBAAgB,CAAiC,CAAC;AACpD,eAAO,MAAM,yBAAyB,EAAE,sBAAsB,CAC5D,gBAAgB,EAChB,iBAAiB,CAClB,CAAC,2BAA2B,CAA4C,CAAC;AA0B1E,eAAO,MAAM,sBAAsB,EAAE,sBAAsB,CACzD,wBAAwB,EACxB,yBAAyB,CAC1B,CAAC,wBAAwB,CAAiD,CAAC;AAC5E,eAAO,MAAM,kCAAkC,EAAE,sBAAsB,CACrE,wBAAwB,EACxB,yBAAyB,CAC1B,CAAC,oCAAoC,CACqB,CAAC;AAuB5D,eAAO,MAAM,qBAAqB,EAAE,sBAAsB,CACxD,uBAAuB,EACvB,wBAAwB,CACzB,CAAC,uBAAuB,CAA+C,CAAC;AACzE,eAAO,MAAM,iCAAiC,EAAE,sBAAsB,CACpE,uBAAuB,EACvB,wBAAwB,CACzB,CAAC,mCAAmC,CACoB,CAAC;AAqB1D,eAAO,MAAM,uBAAuB,EAAE,sBAAsB,CAC1D,yBAAyB,EACzB,0BAA0B,CAC3B,CAAC,yBAAyB,CAAmD,CAAC;AAC/E,eAAO,MAAM,mCAAmC,EAAE,sBAAsB,CACtE,yBAAyB,EACzB,0BAA0B,CAC3B,CAAC,qCAAqC,CACsB,CAAC;AAqC9D,eAAO,MAAM,yBAAyB,EAAE,sBAAsB,CAC5D,2BAA2B,EAC3B,4BAA4B,CAC7B,CAAC,2BAA2B,CACwB,CAAC;AACtD,eAAO,MAAM,qCAAqC,EAAE,sBAAsB,CACxE,2BAA2B,EAC3B,4BAA4B,CAC7B,CAAC,uCAAuC,CACwB,CAAC;AA2BlE,eAAO,MAAM,oBAAoB,EAAE,sBAAsB,CACvD,sBAAsB,EACtB,uBAAuB,CACxB,CAAC,sBAAsB,CAA6C,CAAC;AACtE,eAAO,MAAM,gCAAgC,EAAE,sBAAsB,CACnE,sBAAsB,EACtB,uBAAuB,CACxB,CAAC,kCAAkC,CACmB,CAAC;AAsCxD,eAAO,MAAM,sBAAsB,EAAE,sBAAsB,CACzD,wBAAwB,EACxB,yBAAyB,CAC1B,CAAC,wBAAwB,CAAiD,CAAC;AAC5E,eAAO,MAAM,kCAAkC,EAAE,sBAAsB,CACrE,wBAAwB,EACxB,yBAAyB,CAC1B,CAAC,oCAAoC,CACqB,CAAC;AA4B5D,eAAO,MAAM,oBAAoB,EAAE,sBAAsB,CACvD,sBAAsB,EACtB,uBAAuB,CACxB,CAAC,sBAAsB,CAA6C,CAAC;AACtE,eAAO,MAAM,gCAAgC,EAAE,sBAAsB,CACnE,sBAAsB,EACtB,uBAAuB,CACxB,CAAC,kCAAkC,CACmB,CAAC;AA+CxD,eAAO,MAAM,OAAO,EAAE,kBAAkB,CACtC,iBAAiB,EACjB,oBAAoB,CAarB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,kBAAkB,CAC3C,iBAAiB,EACjB,gBAAgB,CAAC,OAAO,mBAAmB,CAAC,CAQ7C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,kBAAkB,CAC7C,iBAAiB,EACjB,gBAAgB,CAAC,OAAO,qBAAqB,CAAC,CAQ/C,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,kBAAkB,CACtC,iBAAiB,EACjB,gBAAgB,CAAC,OAAO,cAAc,CAAC,CAOxC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,kBAAkB,CAC9C,yBAAyB,EACzB,gBAAgB,CAAC,OAAO,sBAAsB,CAAC,CAchD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,kBAAkB,CAC7C,wBAAwB,EACxB,gBAAgB,CAAC,OAAO,qBAAqB,CAAC,CAS/C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,CAC/C,0BAA0B,EAC1B,gBAAgB,CAAC,OAAO,uBAAuB,CAAC,CASjD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,kBAAkB,CACjD,4BAA4B,EAC5B,gBAAgB,CAAC,OAAO,yBAAyB,CAAC,CAOnD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,kBAAkB,CAC5C,uBAAuB,EACvB,kBAAkB,CAWnB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,kBAAkB,CAC9C,yBAAyB,EACzB,gBAAgB,CAAC,OAAO,sBAAsB,CAAC,CAUhD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,kBAAkB,CAC5C,uBAAuB,EACvB,gBAAgB,CAAC,OAAO,oBAAoB,CAAC,CAS9C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser-boundaries.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/browser-boundaries.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n abstract,\n craftService,\n type CraftServiceApi,\n type GetServiceYields,\n type ServiceTrackingMetadata,\n ɵHOST_TAG_LIST,\n ɵTRACK_TAGS_LIST,\n} from './craft-service';\nimport { type TrackTag } from './host-tag';\nimport {\n CORRELATION_ID_SERVICE,\n getCurrentStartCorrelationId,\n type CorrelationIdMetadata,\n} from './correlation-id';\nimport { SERVICE_YIELD_REQUEST_MARKER } from './craft-generator-runtime';\nimport type { Injector } from './host/craft-compat';\nimport { CRAFT_PLATFORM, type CraftPlatform } from './craft-platform';\nimport { getCurrentCraftInjector } from './host/craft-injector';\n\ntype AnyBrowserBoundaryMethod = (...args: any[]) => any;\ntype ConsoleMetadataMethod = 'debug' | 'info' | 'log' | 'warn' | 'error';\n\ntype MethodArgs<Method> = Method extends (...args: infer Args) => any\n ? Args\n : never;\n\ntype MethodResult<Method> = Method extends (...args: any[]) => infer Result\n ? Result\n : never;\n\ntype BrowserBoundaryDsl<Service extends object, Yielded = unknown> = {\n [Key in keyof Service]: Service[Key] extends (\n ...args: infer Args\n ) => infer Result\n ? (...args: Args) => Generator<Yielded, Result, unknown>\n : never;\n};\n\ntype BrowserBoundary<Service extends object> = (\n bindings?: undefined,\n expose?: (service: Service) => unknown,\n) => Generator<any, any, any>;\n\ntype BrowserBoundaryService<Name extends string, Output> = CraftServiceApi<\n Name,\n 'global',\n {},\n Output,\n ServiceTrackingMetadata<Name, 'global', Output, never, undefined, never, true>\n>;\n\ntype ConsoleMetaContext = {\n from: readonly string[];\n tags: readonly TrackTag[];\n correlation: CorrelationIdMetadata;\n};\n\ntype ConsoleMetaYield = Readonly<{\n [SERVICE_YIELD_REQUEST_MARKER]: true;\n providedIn: 'function';\n resolve: (injector: Injector) => ConsoleMetaContext;\n}>;\n\ntype ConsoleBoundaryYield =\n | GetServiceYields<\n BrowserBoundaryService<\n 'ConsoleService',\n ConsoleServiceApi\n >['ConsoleService']\n >\n | ConsoleMetaYield;\n\ntype BrowserCryptoYield = GetServiceYields<\n BrowserBoundaryService<\n 'BrowserCryptoService',\n BrowserCryptoServiceApi\n >['BrowserCryptoService']\n>;\n\ntype StorageLike = Pick<\n Storage,\n 'clear' | 'getItem' | 'key' | 'removeItem' | 'setItem'\n> & {\n readonly length: number;\n};\n\nexport type CookieSameSite = 'lax' | 'strict' | 'none';\n\nexport type CookieSetOptions = {\n domain?: string;\n expires?: Date | string;\n maxAge?: number;\n partitioned?: boolean;\n path?: string;\n sameSite?: CookieSameSite;\n secure?: boolean;\n};\n\nexport type CookieRemoveOptions = Omit<CookieSetOptions, 'expires' | 'maxAge'>;\n\nexport interface ConsoleServiceApi {\n debug(...data: unknown[]): void;\n info(...data: unknown[]): void;\n log(...data: unknown[]): void;\n warn(...data: unknown[]): void;\n error(...data: unknown[]): void;\n trace(...data: unknown[]): void;\n group(...label: unknown[]): void;\n groupCollapsed(...label: unknown[]): void;\n groupEnd(): void;\n time(label?: string): void;\n timeEnd(label?: string): void;\n}\n\nexport interface StorageServiceApi {\n getItem(key: string): string | null;\n setItem(key: string, value: string): void;\n removeItem(key: string): void;\n clear(): void;\n key(index: number): string | null;\n length(): number;\n}\n\n/** Storage backend selected by the application through DI. */\nconst storageService = craftService(\n { name: 'StorageService', providedIn: 'abstract' },\n abstract<StorageServiceApi>(),\n);\nexport const StorageService: typeof storageService.StorageService =\n storageService.StorageService;\nexport const StorageServiceRequirement: typeof storageService.StorageServiceRequirement =\n storageService.StorageServiceRequirement;\nexport const provideStorageService: typeof storageService.provideStorageService =\n storageService.provideStorageService;\n\nexport interface CookiesServiceApi {\n get(name: string): string | undefined;\n getAll(): Record<string, string>;\n set(name: string, value: string, options?: CookieSetOptions): void;\n remove(name: string, options?: CookieRemoveOptions): void;\n has(name: string): boolean;\n}\n\nexport interface BrowserLocationServiceApi {\n href(): string;\n origin(): string;\n protocol(): string;\n host(): string;\n hostname(): string;\n port(): string;\n pathname(): string;\n search(): string;\n hash(): string;\n assign(url: string | URL): void;\n replace(url: string | URL): void;\n reload(): void;\n}\n\nexport interface BrowserHistoryServiceApi {\n length(): number;\n state(): any;\n back(): void;\n forward(): void;\n go(delta?: number): void;\n pushState(data: any, unused: string, url?: string | URL | null): void;\n replaceState(data: any, unused: string, url?: string | URL | null): void;\n}\n\nexport interface BrowserNavigatorServiceApi {\n userAgent(): string;\n language(): string;\n languages(): readonly string[];\n onLine(): boolean;\n cookieEnabled(): boolean;\n sendBeacon(url: string | URL, data?: BodyInit | null): boolean;\n share(data?: ShareData): Promise<void>;\n}\n\nexport interface BrowserPerformanceServiceApi {\n now(): number;\n mark(name: string, options?: PerformanceMarkOptions): PerformanceMark;\n measure(\n measureName: string,\n startOrMeasureOptions?: string | PerformanceMeasureOptions,\n endMark?: string,\n ): PerformanceMeasure;\n clearMarks(markName?: string): void;\n clearMeasures(measureName?: string): void;\n}\n\nexport interface BrowserCryptoServiceApi {\n randomUUID(): string;\n getRandomValues<TypedArray extends ArrayBufferView>(\n typedArray: TypedArray,\n ): TypedArray;\n digest(\n algorithm: AlgorithmIdentifier,\n data: BufferSource,\n ): Promise<ArrayBuffer>;\n}\n\nexport interface BrowserDocumentServiceApi {\n title(): string;\n setTitle(value: string): void;\n lang(): string;\n setLang(value: string): void;\n dir(): 'ltr' | 'rtl' | 'auto' | '';\n setDir(value: 'ltr' | 'rtl' | 'auto' | ''): void;\n visibilityState(): DocumentVisibilityState;\n hasFocus(): boolean;\n}\n\nexport interface BrowserWindowServiceApi {\n innerWidth(): number;\n innerHeight(): number;\n scrollX(): number;\n scrollY(): number;\n scrollTo(...args: [options: ScrollToOptions] | [x: number, y: number]): void;\n alert(message?: string): void;\n confirm(message?: string): boolean;\n}\n\nfunction createBoundaryCall<\n Service extends object,\n ServiceHelper extends BrowserBoundary<Service> = BrowserBoundary<Service>,\n>(serviceHelper: ServiceHelper) {\n type Yielded = GetServiceYields<ServiceHelper>;\n\n return function <Key extends keyof Service & string>(key: Key) {\n return function* (\n ...args: MethodArgs<Service[Key]>\n ): Generator<Yielded, MethodResult<Service[Key]>, unknown> {\n const exposed = (yield* serviceHelper(undefined, (service) => ({\n method: service[key],\n }))) as {\n method: Service[Key];\n };\n\n return (exposed.method as AnyBrowserBoundaryMethod)(\n ...args,\n ) as MethodResult<Service[Key]>;\n };\n };\n}\n\nconst CONSOLE_INTERNAL_FRAME_PATTERNS = [\n 'runCraftGenerator',\n 'executeGeneratorCompatibleFactory',\n 'runInInjectionContext',\n 'createConsoleCall',\n 'Object.log',\n 'Object.info',\n 'Object.debug',\n 'Object.warn',\n 'Object.error',\n 'Object.trace',\n];\n\nfunction parseConsoleStackTrace(stack: string | undefined): string {\n if (!stack) return '';\n\n const lines = stack.split('\\n');\n\n const filtered = lines\n .slice(1) // remove the \"Error\" header line\n .filter(\n (line) =>\n !CONSOLE_INTERNAL_FRAME_PATTERNS.some((pattern) =>\n line.includes(pattern),\n ),\n );\n\n return filtered.join('\\n');\n}\n\ntype ConsoleBrowserInfo = {\n userAgent: string;\n language: string;\n languages: readonly string[];\n onLine: boolean;\n platform: string | undefined;\n screen: { width: number; height: number } | undefined;\n};\n\nfunction getConsoleBrowserInfo(): ConsoleBrowserInfo | undefined {\n const nav = globalThis.navigator;\n if (!nav) return undefined;\n\n const scr = globalThis.screen;\n\n return {\n userAgent: nav.userAgent,\n language: nav.language,\n languages: nav.languages,\n onLine: nav.onLine,\n platform:\n 'platform' in nav ? (nav as { platform?: string }).platform : undefined,\n screen: scr ? { width: scr.width, height: scr.height } : undefined,\n };\n}\n\nfunction createConsoleCall<Key extends ConsoleMetadataMethod>(key: Key) {\n return function* (\n ...args: MethodArgs<ConsoleServiceApi[Key]>\n ): Generator<\n ConsoleBoundaryYield,\n MethodResult<ConsoleServiceApi[Key]>,\n unknown\n > {\n const consoleService = yield* ConsoleService();\n const {\n from,\n tags,\n correlation: correlationMeta,\n } = (yield {\n [SERVICE_YIELD_REQUEST_MARKER]: true,\n providedIn: 'function' as const,\n resolve: (injector: Injector): ConsoleMetaContext => ({\n from: injector.get(ɵHOST_TAG_LIST),\n tags: injector.get(ɵTRACK_TAGS_LIST),\n correlation: {\n lastCorrelationId:\n injector.get(CORRELATION_ID_SERVICE, null)?.lastCorrelationId() ??\n null,\n mayCorrelatedIds:\n injector.get(CORRELATION_ID_SERVICE, null)?.mayCorrelatedIds() ??\n [],\n startCorrelationId: getCurrentStartCorrelationId(),\n },\n }),\n } satisfies ConsoleMetaYield) as unknown as ConsoleMetaContext;\n\n const metadata: {\n from: readonly string[];\n tags: readonly TrackTag[];\n trace: string;\n correlationId: CorrelationIdMetadata;\n timestamp: string;\n route: string;\n browser?: ConsoleBrowserInfo;\n } = {\n from,\n tags,\n trace: parseConsoleStackTrace(new Error().stack),\n correlationId: correlationMeta,\n timestamp: new Date().toUTCString(),\n route: globalThis.window?.location?.href ?? '',\n };\n\n if (key === 'error') {\n metadata.browser = getConsoleBrowserInfo();\n }\n\n return (consoleService[key] as AnyBrowserBoundaryMethod)(\n ...args,\n metadata,\n ) as MethodResult<ConsoleServiceApi[Key]>;\n };\n}\n\nfunction requireBrowserValue<Value>(\n value: Value | null | undefined,\n name: string,\n): Value {\n if (value === undefined || value === null) {\n throw new Error(\n `Browser boundary \"${name}\" is not available outside a browser environment.`,\n );\n }\n\n return value;\n}\n\nfunction getBrowserWindow() {\n return requireBrowserValue(\n getActivePlatform()?.window ?? globalThis.window,\n 'window',\n );\n}\n\nfunction getBrowserDocument() {\n return requireBrowserValue(\n getActivePlatform()?.document ?? globalThis.document,\n 'document',\n );\n}\n\nfunction getActivePlatform(): CraftPlatform | undefined {\n try {\n return getCurrentCraftInjector().get(CRAFT_PLATFORM, null) ?? undefined;\n } catch {\n return undefined;\n }\n}\n\n/** @internal Angular TitleStrategy writes the document title through the same boundary as `BrowserDocument.setTitle`. */\nexport function ɵapplyBrowserDocumentTitle(value: string): void {\n getBrowserDocument().title = value;\n}\n\nfunction createInMemoryStorage(): StorageLike {\n const values = new Map<string, string>();\n\n return {\n clear: () => {\n values.clear();\n },\n getItem: (key) => values.get(key) ?? null,\n key: (index) => Array.from(values.keys())[index] ?? null,\n removeItem: (key) => {\n values.delete(key);\n },\n setItem: (key, value) => {\n values.set(key, value);\n },\n get length() {\n return values.size;\n },\n };\n}\n\nfunction getBrowserStorage(\n name: 'localStorage' | 'sessionStorage',\n): StorageLike {\n const platform = getActivePlatform();\n if (platform) return platform[name];\n const browserWindow = getBrowserWindow() as unknown as Window &\n Record<string | symbol, unknown>;\n const candidate = browserWindow[name] as Partial<StorageLike> | undefined;\n\n if (\n candidate &&\n typeof candidate.getItem === 'function' &&\n typeof candidate.setItem === 'function' &&\n typeof candidate.removeItem === 'function' &&\n typeof candidate.clear === 'function' &&\n typeof candidate.key === 'function' &&\n typeof candidate.length === 'number'\n ) {\n return candidate as StorageLike;\n }\n\n const fallbackKey = Symbol.for(`craft.browser-boundary.${name}`);\n\n if (!(fallbackKey in browserWindow)) {\n Object.defineProperty(browserWindow, fallbackKey, {\n value: createInMemoryStorage(),\n enumerable: false,\n configurable: false,\n writable: false,\n });\n }\n\n return browserWindow[fallbackKey] as StorageLike;\n}\n\nfunction getBrowserLocalStorage() {\n return getBrowserStorage('localStorage');\n}\n\nfunction getBrowserSessionStorage() {\n return getBrowserStorage('sessionStorage');\n}\n\nfunction getBrowserLocation() {\n return requireBrowserValue(getBrowserWindow().location, 'location');\n}\n\nfunction getBrowserHistory() {\n return requireBrowserValue(getBrowserWindow().history, 'history');\n}\n\nfunction getBrowserNavigator() {\n return requireBrowserValue(getBrowserWindow().navigator, 'navigator');\n}\n\nfunction getBrowserPerformance() {\n return requireBrowserValue(getBrowserWindow().performance, 'performance');\n}\n\nfunction getBrowserCrypto() {\n return requireBrowserValue(getBrowserWindow().crypto, 'crypto');\n}\n\nfunction decodeCookieComponent(value: string): string {\n try {\n return decodeURIComponent(value);\n } catch {\n return value;\n }\n}\n\nfunction readCookieEntries(): Array<[string, string]> {\n const rawCookie = getBrowserDocument().cookie;\n\n if (!rawCookie) {\n return [];\n }\n\n return rawCookie\n .split(';')\n .map((part) => part.trim())\n .filter(Boolean)\n .map((part) => {\n const separatorIndex = part.indexOf('=');\n const rawName =\n separatorIndex === -1 ? part : part.slice(0, separatorIndex);\n const rawValue =\n separatorIndex === -1 ? '' : part.slice(separatorIndex + 1);\n\n return [\n decodeCookieComponent(rawName),\n decodeCookieComponent(rawValue),\n ] as const;\n });\n}\n\nfunction buildCookieMap() {\n return Object.fromEntries(readCookieEntries()) as Record<string, string>;\n}\n\nfunction formatCookieSameSite(value: CookieSameSite) {\n return value.charAt(0).toUpperCase() + value.slice(1).toLowerCase();\n}\n\nfunction writeCookie(name: string, value: string, options?: CookieSetOptions) {\n const segments = [`${encodeURIComponent(name)}=${encodeURIComponent(value)}`];\n\n if (options?.domain) {\n segments.push(`Domain=${options.domain}`);\n }\n\n if (options?.expires) {\n segments.push(\n `Expires=${\n options.expires instanceof Date\n ? options.expires.toUTCString()\n : options.expires\n }`,\n );\n }\n\n if (options?.maxAge !== undefined) {\n segments.push(`Max-Age=${options.maxAge}`);\n }\n\n if (options?.path) {\n segments.push(`Path=${options.path}`);\n }\n\n if (options?.sameSite) {\n segments.push(`SameSite=${formatCookieSameSite(options.sameSite)}`);\n }\n\n if (options?.secure) {\n segments.push('Secure');\n }\n\n if (options?.partitioned) {\n segments.push('Partitioned');\n }\n\n getBrowserDocument().cookie = segments.join('; ');\n}\n\nfunction removeCookie(name: string, options?: CookieRemoveOptions) {\n writeCookie(name, '', {\n ...options,\n expires: new Date(0),\n maxAge: 0,\n path: options?.path ?? '/',\n });\n}\n\nconst consoleService: BrowserBoundaryService<\n 'ConsoleService',\n ConsoleServiceApi\n> = craftService(\n {\n name: 'ConsoleService',\n providedIn: 'global',\n browserBoundary: true,\n },\n (): ConsoleServiceApi => ({\n debug: (...data) => globalThis.console.debug(...data),\n info: (...data) => globalThis.console.info(...data),\n log: (...data) => globalThis.console.log(...data),\n warn: (...data) => globalThis.console.warn(...data),\n error: (...data) => globalThis.console.error(...data),\n trace: (...data) => globalThis.console.trace(...data),\n group: (...label) => globalThis.console.group(...label),\n groupCollapsed: (...label) => globalThis.console.groupCollapsed(...label),\n groupEnd: () => globalThis.console.groupEnd(),\n time: (label) => globalThis.console.time(label),\n timeEnd: (label) => globalThis.console.timeEnd(label),\n }),\n);\nexport const ConsoleService: BrowserBoundaryService<\n 'ConsoleService',\n ConsoleServiceApi\n>['ConsoleService'] = consoleService.ConsoleService;\nexport const CONSOLE_SERVICE_META_DATA: BrowserBoundaryService<\n 'ConsoleService',\n ConsoleServiceApi\n>['CONSOLE_SERVICE_META_DATA'] = consoleService.CONSOLE_SERVICE_META_DATA;\n\nconst localStorageService: BrowserBoundaryService<\n 'LocalStorageService',\n StorageServiceApi\n> = craftService(\n {\n name: 'LocalStorageService',\n providedIn: 'global',\n browserBoundary: true,\n },\n (): StorageServiceApi => ({\n getItem: (key) => getBrowserLocalStorage().getItem(key),\n setItem: (key, value) => getBrowserLocalStorage().setItem(key, value),\n removeItem: (key) => getBrowserLocalStorage().removeItem(key),\n clear: () => getBrowserLocalStorage().clear(),\n key: (index) => getBrowserLocalStorage().key(index),\n length: () => getBrowserLocalStorage().length,\n }),\n);\nexport const LocalStorageService: BrowserBoundaryService<\n 'LocalStorageService',\n StorageServiceApi\n>['LocalStorageService'] = localStorageService.LocalStorageService;\nexport const LOCAL_STORAGE_SERVICE_META_DATA: BrowserBoundaryService<\n 'LocalStorageService',\n StorageServiceApi\n>['LOCAL_STORAGE_SERVICE_META_DATA'] =\n localStorageService.LOCAL_STORAGE_SERVICE_META_DATA;\n\nconst sessionStorageService: BrowserBoundaryService<\n 'SessionStorageService',\n StorageServiceApi\n> = craftService(\n {\n name: 'SessionStorageService',\n providedIn: 'global',\n browserBoundary: true,\n },\n (): StorageServiceApi => ({\n getItem: (key) => getBrowserSessionStorage().getItem(key),\n setItem: (key, value) => getBrowserSessionStorage().setItem(key, value),\n removeItem: (key) => getBrowserSessionStorage().removeItem(key),\n clear: () => getBrowserSessionStorage().clear(),\n key: (index) => getBrowserSessionStorage().key(index),\n length: () => getBrowserSessionStorage().length,\n }),\n);\nexport const SessionStorageService: BrowserBoundaryService<\n 'SessionStorageService',\n StorageServiceApi\n>['SessionStorageService'] = sessionStorageService.SessionStorageService;\nexport const SESSION_STORAGE_SERVICE_META_DATA: BrowserBoundaryService<\n 'SessionStorageService',\n StorageServiceApi\n>['SESSION_STORAGE_SERVICE_META_DATA'] =\n sessionStorageService.SESSION_STORAGE_SERVICE_META_DATA;\n\nconst cookiesService: BrowserBoundaryService<\n 'CookiesService',\n CookiesServiceApi\n> = craftService(\n {\n name: 'CookiesService',\n providedIn: 'global',\n browserBoundary: true,\n },\n (): CookiesServiceApi => ({\n get: (name) => buildCookieMap()[name],\n getAll: () => buildCookieMap(),\n set: (name, value, options) => writeCookie(name, value, options),\n remove: (name, options) => removeCookie(name, options),\n has: (name) => Object.prototype.hasOwnProperty.call(buildCookieMap(), name),\n }),\n);\nexport const CookiesService: BrowserBoundaryService<\n 'CookiesService',\n CookiesServiceApi\n>['CookiesService'] = cookiesService.CookiesService;\nexport const COOKIES_SERVICE_META_DATA: BrowserBoundaryService<\n 'CookiesService',\n CookiesServiceApi\n>['COOKIES_SERVICE_META_DATA'] = cookiesService.COOKIES_SERVICE_META_DATA;\n\nconst browserLocationService: BrowserBoundaryService<\n 'BrowserLocationService',\n BrowserLocationServiceApi\n> = craftService(\n {\n name: 'BrowserLocationService',\n providedIn: 'global',\n browserBoundary: true,\n },\n (): BrowserLocationServiceApi => ({\n href: () => getBrowserLocation().href,\n origin: () => getBrowserLocation().origin,\n protocol: () => getBrowserLocation().protocol,\n host: () => getBrowserLocation().host,\n hostname: () => getBrowserLocation().hostname,\n port: () => getBrowserLocation().port,\n pathname: () => getBrowserLocation().pathname,\n search: () => getBrowserLocation().search,\n hash: () => getBrowserLocation().hash,\n assign: (url) => getBrowserLocation().assign(url),\n replace: (url) => getBrowserLocation().replace(url),\n reload: () => getBrowserLocation().reload(),\n }),\n);\nexport const BrowserLocationService: BrowserBoundaryService<\n 'BrowserLocationService',\n BrowserLocationServiceApi\n>['BrowserLocationService'] = browserLocationService.BrowserLocationService;\nexport const BROWSER_LOCATION_SERVICE_META_DATA: BrowserBoundaryService<\n 'BrowserLocationService',\n BrowserLocationServiceApi\n>['BROWSER_LOCATION_SERVICE_META_DATA'] =\n browserLocationService.BROWSER_LOCATION_SERVICE_META_DATA;\n\nconst browserHistoryService: BrowserBoundaryService<\n 'BrowserHistoryService',\n BrowserHistoryServiceApi\n> = craftService(\n {\n name: 'BrowserHistoryService',\n providedIn: 'global',\n browserBoundary: true,\n },\n (): BrowserHistoryServiceApi => ({\n length: () => getBrowserHistory().length,\n state: () => getBrowserHistory().state,\n back: () => getBrowserHistory().back(),\n forward: () => getBrowserHistory().forward(),\n go: (delta) => getBrowserHistory().go(delta),\n pushState: (data, unused, url) =>\n getBrowserHistory().pushState(data, unused, url),\n replaceState: (data, unused, url) =>\n getBrowserHistory().replaceState(data, unused, url),\n }),\n);\nexport const BrowserHistoryService: BrowserBoundaryService<\n 'BrowserHistoryService',\n BrowserHistoryServiceApi\n>['BrowserHistoryService'] = browserHistoryService.BrowserHistoryService;\nexport const BROWSER_HISTORY_SERVICE_META_DATA: BrowserBoundaryService<\n 'BrowserHistoryService',\n BrowserHistoryServiceApi\n>['BROWSER_HISTORY_SERVICE_META_DATA'] =\n browserHistoryService.BROWSER_HISTORY_SERVICE_META_DATA;\n\nconst browserNavigatorService: BrowserBoundaryService<\n 'BrowserNavigatorService',\n BrowserNavigatorServiceApi\n> = craftService(\n {\n name: 'BrowserNavigatorService',\n providedIn: 'global',\n browserBoundary: true,\n },\n (): BrowserNavigatorServiceApi => ({\n userAgent: () => getBrowserNavigator().userAgent,\n language: () => getBrowserNavigator().language,\n languages: () => getBrowserNavigator().languages,\n onLine: () => getBrowserNavigator().onLine,\n cookieEnabled: () => getBrowserNavigator().cookieEnabled,\n sendBeacon: (url, data) => getBrowserNavigator().sendBeacon(url, data),\n share: (data) => getBrowserNavigator().share(data),\n }),\n);\nexport const BrowserNavigatorService: BrowserBoundaryService<\n 'BrowserNavigatorService',\n BrowserNavigatorServiceApi\n>['BrowserNavigatorService'] = browserNavigatorService.BrowserNavigatorService;\nexport const BROWSER_NAVIGATOR_SERVICE_META_DATA: BrowserBoundaryService<\n 'BrowserNavigatorService',\n BrowserNavigatorServiceApi\n>['BROWSER_NAVIGATOR_SERVICE_META_DATA'] =\n browserNavigatorService.BROWSER_NAVIGATOR_SERVICE_META_DATA;\n\nconst browserPerformanceService: BrowserBoundaryService<\n 'BrowserPerformanceService',\n BrowserPerformanceServiceApi\n> = craftService(\n {\n name: 'BrowserPerformanceService',\n providedIn: 'global',\n browserBoundary: true,\n },\n (): BrowserPerformanceServiceApi => ({\n now: () => getBrowserPerformance().now(),\n mark: (name, options) => getBrowserPerformance().mark(name, options),\n measure: (measureName, startOrMeasureOptions, endMark) => {\n if (endMark !== undefined) {\n return getBrowserPerformance().measure(\n measureName,\n startOrMeasureOptions as string,\n endMark,\n );\n }\n\n if (startOrMeasureOptions !== undefined) {\n return getBrowserPerformance().measure(\n measureName,\n startOrMeasureOptions as string | PerformanceMeasureOptions,\n );\n }\n\n return getBrowserPerformance().measure(measureName);\n },\n clearMarks: (markName) => getBrowserPerformance().clearMarks(markName),\n clearMeasures: (measureName) =>\n getBrowserPerformance().clearMeasures(measureName),\n }),\n);\nexport const BrowserPerformanceService: BrowserBoundaryService<\n 'BrowserPerformanceService',\n BrowserPerformanceServiceApi\n>['BrowserPerformanceService'] =\n browserPerformanceService.BrowserPerformanceService;\nexport const BROWSER_PERFORMANCE_SERVICE_META_DATA: BrowserBoundaryService<\n 'BrowserPerformanceService',\n BrowserPerformanceServiceApi\n>['BROWSER_PERFORMANCE_SERVICE_META_DATA'] =\n browserPerformanceService.BROWSER_PERFORMANCE_SERVICE_META_DATA;\n\nconst browserCryptoService: BrowserBoundaryService<\n 'BrowserCryptoService',\n BrowserCryptoServiceApi\n> = craftService(\n {\n name: 'BrowserCryptoService',\n providedIn: 'global',\n browserBoundary: true,\n },\n (): BrowserCryptoServiceApi => ({\n randomUUID: () => getBrowserCrypto().randomUUID(),\n getRandomValues: <TypedArray extends ArrayBufferView>(\n typedArray: TypedArray,\n // lib.dom narrowed getRandomValues to ArrayBufferView<ArrayBuffer>; the\n // boundary stays open to any view and hands it through unchanged.\n ) =>\n (\n getBrowserCrypto().getRandomValues as (\n view: ArrayBufferView,\n ) => ArrayBufferView\n )(typedArray) as TypedArray,\n digest: (algorithm, data) =>\n getBrowserCrypto().subtle.digest(algorithm, data),\n }),\n);\nexport const BrowserCryptoService: BrowserBoundaryService<\n 'BrowserCryptoService',\n BrowserCryptoServiceApi\n>['BrowserCryptoService'] = browserCryptoService.BrowserCryptoService;\nexport const BROWSER_CRYPTO_SERVICE_META_DATA: BrowserBoundaryService<\n 'BrowserCryptoService',\n BrowserCryptoServiceApi\n>['BROWSER_CRYPTO_SERVICE_META_DATA'] =\n browserCryptoService.BROWSER_CRYPTO_SERVICE_META_DATA;\n\nconst browserDocumentService: BrowserBoundaryService<\n 'BrowserDocumentService',\n BrowserDocumentServiceApi\n> = craftService(\n {\n name: 'BrowserDocumentService',\n providedIn: 'global',\n browserBoundary: true,\n },\n (): BrowserDocumentServiceApi => ({\n title: () => getBrowserDocument().title,\n setTitle: (value) => {\n ɵapplyBrowserDocumentTitle(value);\n },\n lang: () => getBrowserDocument().documentElement.lang,\n setLang: (value) => {\n getBrowserDocument().documentElement.lang = value;\n },\n dir: () =>\n (getBrowserDocument().documentElement.getAttribute('dir') ?? '') as\n | 'ltr'\n | 'rtl'\n | 'auto'\n | '',\n setDir: (value) => {\n const el = getBrowserDocument().documentElement;\n if (value) {\n el.setAttribute('dir', value);\n } else {\n el.removeAttribute('dir');\n }\n },\n visibilityState: () => getBrowserDocument().visibilityState,\n hasFocus: () => getBrowserDocument().hasFocus(),\n }),\n);\nexport const BrowserDocumentService: BrowserBoundaryService<\n 'BrowserDocumentService',\n BrowserDocumentServiceApi\n>['BrowserDocumentService'] = browserDocumentService.BrowserDocumentService;\nexport const BROWSER_DOCUMENT_SERVICE_META_DATA: BrowserBoundaryService<\n 'BrowserDocumentService',\n BrowserDocumentServiceApi\n>['BROWSER_DOCUMENT_SERVICE_META_DATA'] =\n browserDocumentService.BROWSER_DOCUMENT_SERVICE_META_DATA;\n\nconst browserWindowService: BrowserBoundaryService<\n 'BrowserWindowService',\n BrowserWindowServiceApi\n> = craftService(\n {\n name: 'BrowserWindowService',\n providedIn: 'global',\n browserBoundary: true,\n },\n (): BrowserWindowServiceApi => ({\n innerWidth: () => getBrowserWindow().innerWidth,\n innerHeight: () => getBrowserWindow().innerHeight,\n scrollX: () => getBrowserWindow().scrollX,\n scrollY: () => getBrowserWindow().scrollY,\n scrollTo: (...args) => {\n if (args.length === 1) {\n getBrowserWindow().scrollTo(args[0]);\n return;\n }\n\n getBrowserWindow().scrollTo(args[0], args[1]);\n },\n alert: (message) => getBrowserWindow().alert(message),\n confirm: (message) => getBrowserWindow().confirm(message),\n }),\n);\nexport const BrowserWindowService: BrowserBoundaryService<\n 'BrowserWindowService',\n BrowserWindowServiceApi\n>['BrowserWindowService'] = browserWindowService.BrowserWindowService;\nexport const BROWSER_WINDOW_SERVICE_META_DATA: BrowserBoundaryService<\n 'BrowserWindowService',\n BrowserWindowServiceApi\n>['BROWSER_WINDOW_SERVICE_META_DATA'] =\n browserWindowService.BROWSER_WINDOW_SERVICE_META_DATA;\n\nconst callRawConsole = createBoundaryCall<\n ConsoleServiceApi,\n typeof ConsoleService\n>(ConsoleService);\nconst callLocalStorage = createBoundaryCall<\n StorageServiceApi,\n typeof LocalStorageService\n>(LocalStorageService);\nconst callSessionStorage = createBoundaryCall<\n StorageServiceApi,\n typeof SessionStorageService\n>(SessionStorageService);\nconst callCookies = createBoundaryCall<\n CookiesServiceApi,\n typeof CookiesService\n>(CookiesService);\nconst callBrowserLocation = createBoundaryCall<\n BrowserLocationServiceApi,\n typeof BrowserLocationService\n>(BrowserLocationService);\nconst callBrowserHistory = createBoundaryCall<\n BrowserHistoryServiceApi,\n typeof BrowserHistoryService\n>(BrowserHistoryService);\nconst callBrowserNavigator = createBoundaryCall<\n BrowserNavigatorServiceApi,\n typeof BrowserNavigatorService\n>(BrowserNavigatorService);\nconst callBrowserPerformance = createBoundaryCall<\n BrowserPerformanceServiceApi,\n typeof BrowserPerformanceService\n>(BrowserPerformanceService);\nconst callBrowserCrypto = createBoundaryCall<\n BrowserCryptoServiceApi,\n typeof BrowserCryptoService\n>(BrowserCryptoService);\nconst callBrowserDocument = createBoundaryCall<\n BrowserDocumentServiceApi,\n typeof BrowserDocumentService\n>(BrowserDocumentService);\nconst callBrowserWindow = createBoundaryCall<\n BrowserWindowServiceApi,\n typeof BrowserWindowService\n>(BrowserWindowService);\n\nexport const Console: BrowserBoundaryDsl<\n ConsoleServiceApi,\n ConsoleBoundaryYield\n> = {\n debug: createConsoleCall('debug'),\n info: createConsoleCall('info'),\n log: createConsoleCall('log'),\n warn: createConsoleCall('warn'),\n error: createConsoleCall('error'),\n trace: callRawConsole('trace'),\n group: callRawConsole('group'),\n groupCollapsed: callRawConsole('groupCollapsed'),\n groupEnd: callRawConsole('groupEnd'),\n time: callRawConsole('time'),\n timeEnd: callRawConsole('timeEnd'),\n};\n\nexport const LocalStorage: BrowserBoundaryDsl<\n StorageServiceApi,\n GetServiceYields<typeof LocalStorageService>\n> = {\n getItem: callLocalStorage('getItem'),\n setItem: callLocalStorage('setItem'),\n removeItem: callLocalStorage('removeItem'),\n clear: callLocalStorage('clear'),\n key: callLocalStorage('key'),\n length: callLocalStorage('length'),\n};\n\nexport const SessionStorage: BrowserBoundaryDsl<\n StorageServiceApi,\n GetServiceYields<typeof SessionStorageService>\n> = {\n getItem: callSessionStorage('getItem'),\n setItem: callSessionStorage('setItem'),\n removeItem: callSessionStorage('removeItem'),\n clear: callSessionStorage('clear'),\n key: callSessionStorage('key'),\n length: callSessionStorage('length'),\n};\n\nexport const Cookies: BrowserBoundaryDsl<\n CookiesServiceApi,\n GetServiceYields<typeof CookiesService>\n> = {\n get: callCookies('get'),\n getAll: callCookies('getAll'),\n set: callCookies('set'),\n remove: callCookies('remove'),\n has: callCookies('has'),\n};\n\nexport const BrowserLocation: BrowserBoundaryDsl<\n BrowserLocationServiceApi,\n GetServiceYields<typeof BrowserLocationService>\n> = {\n href: callBrowserLocation('href'),\n origin: callBrowserLocation('origin'),\n protocol: callBrowserLocation('protocol'),\n host: callBrowserLocation('host'),\n hostname: callBrowserLocation('hostname'),\n port: callBrowserLocation('port'),\n pathname: callBrowserLocation('pathname'),\n search: callBrowserLocation('search'),\n hash: callBrowserLocation('hash'),\n assign: callBrowserLocation('assign'),\n replace: callBrowserLocation('replace'),\n reload: callBrowserLocation('reload'),\n};\n\nexport const BrowserHistory: BrowserBoundaryDsl<\n BrowserHistoryServiceApi,\n GetServiceYields<typeof BrowserHistoryService>\n> = {\n length: callBrowserHistory('length'),\n state: callBrowserHistory('state'),\n back: callBrowserHistory('back'),\n forward: callBrowserHistory('forward'),\n go: callBrowserHistory('go'),\n pushState: callBrowserHistory('pushState'),\n replaceState: callBrowserHistory('replaceState'),\n};\n\nexport const BrowserNavigator: BrowserBoundaryDsl<\n BrowserNavigatorServiceApi,\n GetServiceYields<typeof BrowserNavigatorService>\n> = {\n userAgent: callBrowserNavigator('userAgent'),\n language: callBrowserNavigator('language'),\n languages: callBrowserNavigator('languages'),\n onLine: callBrowserNavigator('onLine'),\n cookieEnabled: callBrowserNavigator('cookieEnabled'),\n sendBeacon: callBrowserNavigator('sendBeacon'),\n share: callBrowserNavigator('share'),\n};\n\nexport const BrowserPerformance: BrowserBoundaryDsl<\n BrowserPerformanceServiceApi,\n GetServiceYields<typeof BrowserPerformanceService>\n> = {\n now: callBrowserPerformance('now'),\n mark: callBrowserPerformance('mark'),\n measure: callBrowserPerformance('measure'),\n clearMarks: callBrowserPerformance('clearMarks'),\n clearMeasures: callBrowserPerformance('clearMeasures'),\n};\n\nexport const BrowserCrypto: BrowserBoundaryDsl<\n BrowserCryptoServiceApi,\n BrowserCryptoYield\n> = {\n randomUUID: callBrowserCrypto('randomUUID'),\n getRandomValues: function* <TypedArray extends ArrayBufferView>(\n typedArray: TypedArray,\n ): Generator<BrowserCryptoYield, TypedArray, unknown> {\n const cryptoService = yield* BrowserCryptoService();\n\n return cryptoService.getRandomValues(typedArray);\n },\n digest: callBrowserCrypto('digest'),\n};\n\nexport const BrowserDocument: BrowserBoundaryDsl<\n BrowserDocumentServiceApi,\n GetServiceYields<typeof BrowserDocumentService>\n> = {\n title: callBrowserDocument('title'),\n setTitle: callBrowserDocument('setTitle'),\n lang: callBrowserDocument('lang'),\n setLang: callBrowserDocument('setLang'),\n dir: callBrowserDocument('dir'),\n setDir: callBrowserDocument('setDir'),\n visibilityState: callBrowserDocument('visibilityState'),\n hasFocus: callBrowserDocument('hasFocus'),\n};\n\nexport const BrowserWindow: BrowserBoundaryDsl<\n BrowserWindowServiceApi,\n GetServiceYields<typeof BrowserWindowService>\n> = {\n innerWidth: callBrowserWindow('innerWidth'),\n innerHeight: callBrowserWindow('innerHeight'),\n scrollX: callBrowserWindow('scrollX'),\n scrollY: callBrowserWindow('scrollY'),\n scrollTo: callBrowserWindow('scrollTo'),\n alert: callBrowserWindow('alert'),\n confirm: callBrowserWindow('confirm'),\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-di-requirement.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/client-di-requirement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,mBAAmB,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;AAE/D,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC;CACrC,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,GACjB,2BAA2B,CAS7B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,kBAAkB,GAAG,2BAA2B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-di-requirement.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/client-di-requirement.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,uBAAuB,CACrC,UAAkB;IAElB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,mBAAmB;QACzB,UAAU;QACV,oBAAoB,EAAE,IAAI;KACW,CAAC,CAAC;AAC3C,CAAC","sourcesContent":["import type { InjectionToken } from './host/craft-compat';\n\nexport type ServerFunctionToken<Value> = InjectionToken<Value>;\n\nexport type ServerPermissionRequirement = {\n readonly kind: 'server-permission';\n readonly permission: string;\n readonly __serverFunctionPipe: true;\n};\n\nexport function requireServerPermission(\n permission: string,\n): ServerPermissionRequirement {\n if (permission.length === 0) {\n throw new Error('A server permission must not be empty.');\n }\n return Object.freeze({\n kind: 'server-permission',\n permission,\n __serverFunctionPipe: true,\n } satisfies ServerPermissionRequirement);\n}\n\n/**\n * Ce qu'un `.pipe(...)` accepte.\n *\n * `requireClientDI` a vécu ici jusqu'à ce que le canal client existe vraiment.\n * Il déclarait un token, une clé de transport, un schéma et un mode — quatre\n * choses pour dire « lis cette valeur dans le navigateur ». Un middleware\n * client construit sur un handshake dit la même chose en la montrant :\n *\n * ```ts\n * craftHandshakeMiddleware(claimedUser, function* () {\n * return { userId: yield* ClaimedUserId() };\n * });\n * ```\n *\n * La clé et le schéma viennent du handshake, donc les deux côtés ne peuvent\n * plus en dire deux choses différentes, et la règle d'architecture sait de quoi\n * elle parle. Le mode n'a plus lieu d'être : un générateur s'exécute à l'appel.\n */\nexport type ServerFunctionPipe = ServerPermissionRequirement;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-function-middleware.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/client-function-middleware.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-function-middleware.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/client-function-middleware.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n flattenMiddlewareGraph,\n type MergeSchemaOutputs,\n type MiddlewareContext,\n type MiddlewareResult,\n} from './middleware-schema-shared';\nimport { executeGeneratorCompatibleFactoryAsync } from './craft-program-runtime';\nimport { CraftGenShortCircuit } from './craft-gen';\nimport type { Injector } from './host/craft-compat';\nimport type { CraftHandshakeSchema } from './craft-handshake';\nimport { craftHandshakeName } from './craft-handshake';\nimport type { CraftSchema, SchemaInput } from './schema-validation';\n\n/**\n * Middleware **client** d'une server function : le pendant navigateur du\n * middleware serveur, déclaré par `craftMiddleware(id).client(run)`.\n *\n * Deux différences assumées avec la famille serveur :\n *\n * - `run` est un **générateur craft nu** (`function* ({ next }) { ... }`), pas\n * un Effect : c'est la même famille que les guards `canActivate`/`canMatch`,\n * et le core reste sans dépendance runtime sur Effect côté client comme côté\n * serveur. Un `yield* someEffect` reste possible si le pont Effect est\n * installé dans l'application ;\n * - ce qu'il publie n'est **pas** de la donnée de confiance : le contexte est\n * transporté au serveur, revalidé par schéma, et atterrit dans un champ\n * distinct (`clientContext`) pour que le handler ne le confonde jamais avec\n * le contexte produit par la chaîne serveur.\n */\nexport type ClientMiddlewareNext = <Context extends MiddlewareContext>(patch: {\n readonly context: Context;\n}) => Generator<unknown, MiddlewareResult<Context>, unknown>;\n\nexport type ClientMiddlewareRunContext<\n ContextIn extends MiddlewareContext = MiddlewareContext,\n> = {\n /** L'input passé à la façade client, tel quel : il n'est pas validé ici. */\n readonly input: unknown;\n readonly context: ContextIn;\n readonly next: ClientMiddlewareNext;\n};\n\nexport interface CraftClientMiddleware<\n Id extends string = string,\n Provides extends readonly CraftSchema[] = readonly CraftSchema[],\n ContextOut extends MiddlewareContext = MiddlewareContext,\n> {\n readonly kind: 'client-function-middleware';\n readonly id: Id;\n /** Schémas déclarés par `.provides(...)`, dépendances comprises. */\n readonly provides: Provides;\n readonly dependencies: readonly AnyCraftClientMiddleware[];\n readonly run: (\n context: ClientMiddlewareRunContext,\n ) => Generator<unknown, unknown, unknown>;\n /** Porteur type-only du contexte publié, dépendances transitives comprises. */\n readonly __clientContextOut?: ContextOut;\n}\n\nexport type AnyCraftClientMiddleware = CraftClientMiddleware<\n string,\n readonly CraftSchema[],\n any\n>;\n\nexport type ClientMiddlewareProvidesOf<Middleware> =\n Middleware extends CraftClientMiddleware<any, infer Provides, any>\n ? Provides\n : readonly [];\n\nexport type ClientMiddlewareContextOf<Middleware> =\n Middleware extends CraftClientMiddleware<any, any, infer Context>\n ? Context\n : never;\n\n/** Concatène les schémas `.provides(...)` d'une liste de middleware client. */\nexport type ClientMiddlewareProvidesOfAll<\n Middlewares extends readonly AnyCraftClientMiddleware[],\n> = Middlewares extends readonly [\n infer Head extends AnyCraftClientMiddleware,\n ...infer Tail extends readonly AnyCraftClientMiddleware[],\n]\n ? readonly [\n ...ClientMiddlewareProvidesOf<Head>,\n ...ClientMiddlewareProvidesOfAll<Tail>,\n ]\n : readonly [];\n\n/** Contexte publié par une liste de middleware client, fusionné dans l'ordre. */\nexport type MergedClientMiddlewareContext<\n Middlewares extends readonly AnyCraftClientMiddleware[],\n> = Middlewares extends readonly [\n infer Head extends AnyCraftClientMiddleware,\n ...infer Tail extends readonly AnyCraftClientMiddleware[],\n]\n ? ClientMiddlewareContextOf<Head> & MergedClientMiddlewareContext<Tail>\n : Record<never, never>;\n\nexport function isCraftClientMiddleware(\n value: unknown,\n): value is AnyCraftClientMiddleware {\n return (\n typeof value === 'object' &&\n value !== null &&\n (value as { kind?: unknown }).kind === 'client-function-middleware'\n );\n}\n\nexport function flattenClientMiddlewares(\n middlewares: readonly AnyCraftClientMiddleware[],\n): readonly AnyCraftClientMiddleware[] {\n return flattenMiddlewareGraph(middlewares);\n}\n\n/** Schémas `.provides(...)` collectés le long de la chaîne, dédupliqués. */\nexport function collectClientMiddlewareSchemas(\n middlewares: readonly AnyCraftClientMiddleware[],\n): readonly CraftSchema[] {\n const schemas: CraftSchema[] = [];\n for (const middleware of flattenClientMiddlewares(middlewares)) {\n for (const schema of middleware.provides) {\n if (!schemas.includes(schema)) schemas.push(schema);\n }\n }\n return schemas;\n}\n\nexport class ClientFunctionContextError extends Error {\n readonly code = 'CRAFT_CLIENT_FUNCTION_CONTEXT_INVALID';\n readonly id: string;\n readonly issues: readonly { readonly message: string }[];\n\n constructor(id: string, issues: readonly { readonly message: string }[]) {\n super(\n `CRAFT_CLIENT_FUNCTION_CONTEXT_INVALID: client middleware chain of \"${id}\" produced an invalid context: ${issues\n .map((issue) => issue.message)\n .join(', ')}`,\n );\n this.id = id;\n this.issues = issues;\n this.name = 'ClientFunctionContextError';\n }\n}\n\n/**\n * Compose la chaîne client en oignon, comme `runMiddlewareChain` côté serveur,\n * mais en pilotant des générateurs craft : le générateur retourné relaie les\n * `yield` de chaque étape à l'hôte (`craftUse`, un loader, un guard…) et\n * résout au contexte accumulé.\n *\n * Le brand `MiddlewareResult` reste purement type-level : à l'exécution, la\n * valeur qui remonte est déjà le contexte final, qu'un middleware peut donc\n * observer — voire remplacer — après l'appel à `next()`.\n */\nexport function runClientMiddlewareChain(\n middlewares: readonly AnyCraftClientMiddleware[],\n input: unknown,\n): Generator<unknown, MiddlewareContext, unknown> {\n const chain = flattenClientMiddlewares(middlewares);\n\n function* step(\n index: number,\n context: MiddlewareContext,\n ): Generator<unknown, MiddlewareContext, unknown> {\n const middleware = chain[index];\n if (!middleware) return context;\n const result = yield* middleware.run({\n input,\n context,\n next: ((patch: { readonly context: MiddlewareContext }) =>\n step(index + 1, { ...context, ...patch.context })) as never,\n });\n return result as MiddlewareContext;\n }\n\n return step(0, {});\n}\n\n/**\n * Implémente un handshake côté navigateur, en une déclaration.\n *\n * Le corps est un générateur craft ordinaire — il se lit comme un service :\n * on `yield*` ce dont on a besoin et on retourne le fragment de contexte. Le\n * nom et le schéma ne sont pas répétés ici : ils viennent du handshake, donc le\n * serveur et le client ne peuvent pas en dire deux choses différentes.\n *\n * @example\n * ```ts\n * // shared/claimed-user.ts\n * export const claimedUser = craftHandshake(\n * 'demo.claimed-user',\n * Schema.toStandardSchemaV1(Schema.Struct({ userId: Schema.String })),\n * );\n *\n * // côté navigateur\n * export const claimedUserContext = craftHandshakeMiddleware(\n * claimedUser,\n * function* () {\n * return { userId: yield* ClaimedUserId() };\n * },\n * );\n *\n * // côté serveur — la même valeur, l'autre bout\n * craftMiddleware('demo.matching-user')\n * .pipe(clientContext(claimedUser))\n * .server(…)\n * ```\n */\nexport function craftHandshakeMiddleware<\n Name extends string,\n Schema extends CraftSchema,\n>(\n handshake: CraftHandshakeSchema<Name, Schema>,\n run: () => Generator<unknown, SchemaInput<Schema>, unknown>,\n): CraftClientMiddleware<Name, readonly [Schema], SchemaInput<Schema>> {\n const name = craftHandshakeName(handshake);\n if (name === undefined) {\n throw new Error(\n 'craftHandshakeMiddleware(handshake, run) expects a craftHandshake(name, schema) as its first argument.',\n );\n }\n return Object.freeze({\n kind: 'client-function-middleware' as const,\n id: name as Name,\n provides: [handshake] as unknown as readonly [Schema],\n dependencies: [],\n *run({ next }: ClientMiddlewareRunContext) {\n const fragment = yield* run();\n return yield* next({ context: fragment as never });\n },\n }) as CraftClientMiddleware<Name, readonly [Schema], SchemaInput<Schema>>;\n}\n\nconst INVALID_YIELD_ERROR_MESSAGE =\n 'A client function middleware can only yield craft dependencies, craft primitives, or — with the Effect bridge installed — an Effect.';\n\n/**\n * Drive la chaîne sur la pompe **asynchrone** de craft.\n *\n * Le choix est délibéré : un middleware client lit typiquement une session, un\n * profil, une préférence — des choses qu'un pont (l'adaptateur Effect, par\n * exemple) résout de façon asynchrone. La pompe async restaure le contexte\n * d'injection après chaque `await`, ce qu'un `craftUse` synchrone ne peut pas\n * faire.\n */\nexport async function runClientMiddlewareChainAsync(\n middlewares: readonly AnyCraftClientMiddleware[],\n input: unknown,\n injector: Injector,\n): Promise<MiddlewareContext> {\n const settled = await executeGeneratorCompatibleFactoryAsync({\n factory: () => runClientMiddlewareChain(middlewares, input),\n thisArg: undefined,\n getInjector: () => injector,\n args: [],\n invalidYieldErrorMessage: INVALID_YIELD_ERROR_MESSAGE,\n });\n if (settled.kind === 'shortCircuit') {\n throw new CraftGenShortCircuit(settled.exception);\n }\n return (settled.value ?? {}) as MiddlewareContext;\n}\n\n/**\n * Vérifie que la chaîne a bien produit ce que ses `.provides(...)` annoncent.\n *\n * C'est un garde-fou de développement, pas la garantie de sécurité : la vraie\n * validation est celle du serveur, qui ne fait jamais confiance au navigateur.\n */\nexport async function validateClientContext(\n id: string,\n schemas: readonly CraftSchema[],\n context: MiddlewareContext,\n): Promise<void> {\n for (const schema of schemas) {\n const result = await schema['~standard'].validate(context);\n if (result.issues) throw new ClientFunctionContextError(id, result.issues);\n }\n}\n\nexport type ClientMiddlewareContextOfSchemas<\n Schemas extends readonly CraftSchema[],\n> = MergeSchemaOutputs<Schemas>;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-monitoring.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/component-monitoring.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EAEd,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAG7B,KAAK,0BAA0B,GAC3B,CAAC,MAAM,IAAI,CAAC,GACZ,CAAC,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAE9C,eAAO,MAAM,oBAAoB,4CAI7B,CAAC;AAEL,wBAAgB,mBAAmB,IAAI,IAAI,CAqB1C;AAED,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,0BAA0B,GAC7B,QAAQ,CAEV"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-monitoring.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/component-monitoring.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,MAAM,EACN,QAAQ,EACR,cAAc,EACd,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAM3E,MAAM,CAAC,MAAM,oBAAoB,GAC/B,IAAI,cAAc,CAA6B,sBAAsB,EAAE;IACrE,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS;CAC/B,CAAC,CAAC;AAEL,MAAM,UAAU,mBAAmB;IACjC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAElC,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACnC,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;QACzB,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,iBAAiB,CAAC;gBAChB,QAAQ,EAAE,MAAM;gBAChB,QAAQ;gBACR,SAAS,EAAE,UAAU;gBACrB,wBAAwB,EACtB,0EAA0E;gBAC5E,4BAA4B,EAC1B,kDAAkD;gBACpD,kCAAkC,EAChC,kDAAkD;aACrD,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,EAA8B;IAE9B,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACzD,CAAC","sourcesContent":["import {\n assertInInjectionContext,\n inject,\n Injector,\n InjectionToken,\n runInInjectionContext,\n type Provider,\n} from './host/craft-compat';\nimport { isGenerator, runCraftGenerator } from './craft-generator-runtime';\n\ntype ComponentMonitoringFactory =\n | (() => void)\n | (() => Generator<unknown, void, unknown>);\n\nexport const COMPONENT_MONITORING =\n new InjectionToken<ComponentMonitoringFactory>('COMPONENT_MONITORING', {\n providedIn: 'root',\n factory: () => () => undefined,\n });\n\nexport function componentMonitoring(): void {\n assertInInjectionContext(componentMonitoring);\n const monitor = inject(COMPONENT_MONITORING);\n const injector = inject(Injector);\n\n runInInjectionContext(injector, () => {\n const result = monitor();\n if (isGenerator(result)) {\n runCraftGenerator({\n iterator: result,\n injector,\n hostScope: 'function',\n invalidYieldErrorMessage:\n 'componentMonitoring generators can only yield craftService dependencies.',\n multipleAppStartErrorMessage:\n 'componentMonitoring does not support onAppStart.',\n onAppStartNotSupportedErrorMessage:\n 'componentMonitoring does not support onAppStart.',\n });\n }\n });\n}\n\nexport function provideComponentMonitoring(\n fn: ComponentMonitoringFactory,\n): Provider {\n return { provide: COMPONENT_MONITORING, useValue: fn };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-register.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/component-register.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAGrE,MAAM,MAAM,iBAAiB,GAAG;IAAE,IAAI,IAAI,MAAM,CAAA;CAAE,CAAC;AAEnD,wBAAgB,uBAAuB,IAAI,iBAAiB,CAQ3D;AAED,eAAO,MAAM,kBAAkB,4CACqB,CAAC;AAErD,eAAO,MAAM,0BAA0B,mBAA4B,CAAC;AAEpE,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC;IAC9C,IAAI,EAAE,EAAE,CAAC;IACT,QAAQ,EAAE,EAAE,CAAC;CACd,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-register.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/component-register.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAInD,MAAM,UAAU,uBAAuB;IACrC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO;QACL,IAAI;YACF,OAAO,IAAI,CAAC,CAAC;YACb,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAC7B,UAAU,CAAoB,mBAAmB,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,0BAA0B,GAAG,uBAAuB,EAAE,CAAC","sourcesContent":["import type { GetDeps } from './branded-component/branded-component';\nimport { craftToken } from './host/craft-injector';\n\nexport type ComponentRegister = { next(): number };\n\nexport function createComponentRegister(): ComponentRegister {\n let counter = 0;\n return {\n next() {\n counter += 1;\n return counter;\n },\n };\n}\n\nexport const COMPONENT_REGISTER =\n craftToken<ComponentRegister>('ComponentRegister');\n\nexport const ɵfallbackComponentRegister = createComponentRegister();\n\nexport type GenDeps_ComponentRegister = GetDeps<{\n deps: {};\n provided: {};\n}>;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"computed-source.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/computed-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsSG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,aAAa,EACvD,YAAY,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,EACrE,UAAU,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,aAAa,EAChE,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,CAAC;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,cAAc,CAAC,aAAa,CAAC,CA0B/B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"computed-source.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/computed-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA2B,MAAM,qBAAqB,CAAC;AAG5E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsSG;AACH,MAAM,UAAU,cAAc,CAC5B,YAAqE,EACrE,UAAgE,EAChE,OAGC;IAED,MAAM,QAAQ,GAAG,CAAC,eAAgD,EAAE,EAAE,CACpE,YAAY,CAAyC;QACnD,MAAM,EAAE,YAAmC;QAC3C,WAAW,EAAE,CAAC,kBAAkB,EAAE,YAAY,EAAE,EAAE;YAChD,8CAA8C;YAC9C,IAAI,CAAC,YAAY,IAAI,eAAe,EAAE,iBAAiB,KAAK,KAAK,EAAE,CAAC;gBAClE,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACxC,CAAC;QACD,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAChD,GAAG,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;KAC7D,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,MAAM,CAClB,QAAQ,CAAC;QACP,iBAAiB,EAAE,IAAI;KACxB,CAAC,EACF;QACE,iBAAiB,EAAE,QAAQ,CAAC;YAC1B,iBAAiB,EAAE,KAAK;SACzB,CAAC;KACH,EACD,aAAa,CACS,CAAC;AAC3B,CAAC","sourcesContent":["import { linkedSignal, Signal, ValueEqualityFn } from './host/craft-compat';\nimport { ReadonlySource } from './util/source.type';\nimport { SignalSource } from './signal-source';\nimport { SourceBranded } from './util/util';\n\n/**\n * Creates a derived readonly source that transforms values from an origin source using a computation function.\n *\n * This function enables reactive transformations of source emissions by:\n * - Computing new values whenever the origin source emits\n * - Maintaining source semantics (emits only when explicitly set, not on first read)\n * - Supporting custom equality comparisons for memoization\n * - Providing both standard and value-preserving listeners\n * - Creating composable source pipelines\n *\n * @remarks\n * **Emission Behavior:**\n * - Only emits when the origin source emits (explicit set/update)\n * - First read returns `undefined` by default (maintains source semantics)\n * - Use `preserveLastValue` variant to get computed value on first read\n *\n * **Use Cases:**\n * - **Data transformation**: Convert source payloads to different shapes\n * - **Filtering**: Extract specific fields from complex source data\n * - **Formatting**: Apply formatting logic to source values\n * - **Type narrowing**: Cast or validate source data types\n * - **Composition**: Chain multiple source transformations\n * - **Business logic**: Apply domain-specific computations\n *\n * **Source vs Signal:**\n * - Sources emit only on explicit events (set/update calls)\n * - Signals recompute on every access when dependencies change\n * - computedSource maintains source lazy behavior\n *\n * **Equality Comparison:**\n * - Default: Uses Angular's default equality check\n * - Custom: Provide `equal` option for custom comparison\n * - Prevents unnecessary emissions when computed value hasn't changed\n *\n * @template SourceState - The type of values emitted by the origin source\n * @template ComputedValue - The type of values produced by the computation\n *\n * @param signalOrigin - The source or readonly source to derive from.\n * Values emitted by this source are passed to the computation function.\n *\n * @param computedFn - Function that transforms source values to computed values.\n * Called each time the origin source emits.\n *\n * @param options - Optional configuration:\n * - `equal`: Custom equality function for computed values\n * - `debugName`: Name for debugging purposes\n *\n * @returns A readonly source that emits computed values with:\n * - Standard behavior: First read returns `undefined`, subsequent reads return computed value after source emits\n * - `preserveLastValue` property: Returns computed value immediately on first read if source has emitted\n *\n * @example\n * Basic transformation of source data\n * ```ts\n * const userSource = source<{ firstName: string; lastName: string }>();\n *\n * // Compute full name from user data\n * const fullNameSource = computedSource(\n * userSource,\n * (user) => `${user.firstName} ${user.lastName}`\n * );\n *\n * // Use in async method or query\n * const greetUser = craftUse(asyncProcess({\n * method: afterRecomputation(fullNameSource, (fullName) => fullName),\n * loader: async ({ params }) => {\n * return `Hello, ${params}!`;\n * },\n * }));\n *\n * // Trigger chain\n * userSource.set({ firstName: 'John', lastName: 'Doe' });\n * // -> fullNameSource emits 'John Doe'\n * // -> greetUser executes with 'John Doe'\n * ```\n *\n * @example\n * Extracting specific fields from complex data\n * ```ts\n * type FormData = {\n * personal: { name: string; email: string };\n * address: { street: string; city: string };\n * preferences: { newsletter: boolean };\n * };\n *\n * const formSource = source<FormData>();\n *\n * // Extract only email for validation\n * const emailSource = computedSource(\n * formSource,\n * (form) => form.personal.email\n * );\n *\n * // Extract only address for geocoding\n * const addressSource = computedSource(\n * formSource,\n * (form) => form.address\n * );\n *\n * // Use extracted sources\n * const validateEmail = craftUse(asyncProcess({\n * method: afterRecomputation(emailSource, (email) => email),\n * loader: async ({ params }) => {\n * const response = await fetch('/api/validate-email', {\n * method: 'POST',\n * body: JSON.stringify({ email: params }),\n * });\n * return response.json();\n * },\n * }));\n *\n * // Update form triggers both validations\n * formSource.set({\n * personal: { name: 'John', email: 'john@example.com' },\n * address: { street: '123 Main St', city: 'NYC' },\n * preferences: { newsletter: true },\n * });\n * ```\n *\n * @example\n * Chaining computed sources for multi-step transformation\n * ```ts\n * const inputSource = source<string>();\n *\n * // Step 1: Trim and lowercase\n * const normalizedSource = computedSource(\n * inputSource,\n * (input) => input.trim().toLowerCase()\n * );\n *\n * // Step 2: Extract search terms\n * const searchTermsSource = computedSource(\n * normalizedSource,\n * (normalized) => normalized.split(' ').filter(term => term.length > 0)\n * );\n *\n * // Step 3: Create search query\n * const searchQuerySource = computedSource(\n * searchTermsSource,\n * (terms) => ({ terms, operator: 'AND' as const })\n * );\n *\n * // Final async method uses fully transformed data\n * const search = craftUse(asyncProcess({\n * method: afterRecomputation(searchQuerySource, (query) => query),\n * loader: async ({ params }) => {\n * const response = await fetch('/api/search', {\n * method: 'POST',\n * body: JSON.stringify(params),\n * });\n * return response.json();\n * },\n * }));\n *\n * // Single input triggers entire chain\n * inputSource.set(' Angular Signals ');\n * // -> normalizedSource emits 'angular signals'\n * // -> searchTermsSource emits ['angular', 'signals']\n * // -> searchQuerySource emits { terms: ['angular', 'signals'], operator: 'AND' }\n * // -> search executes\n * ```\n *\n * @example\n * Custom equality comparison\n * ```ts\n * type SearchParams = { query: string; timestamp: number };\n *\n * const searchSource = source<SearchParams>();\n *\n * // Only emit when query changes, ignore timestamp\n * const queryOnlySource = computedSource(\n * searchSource,\n * (params) => params.query,\n * {\n * equal: (a, b) => a === b, // Compare strings\n * }\n * );\n *\n * // Update with same query but different timestamp\n * searchSource.set({ query: 'test', timestamp: Date.now() });\n * // -> queryOnlySource emits 'test'\n *\n * searchSource.set({ query: 'test', timestamp: Date.now() });\n * // -> queryOnlySource does NOT emit (same query)\n *\n * searchSource.set({ query: 'new', timestamp: Date.now() });\n * // -> queryOnlySource emits 'new'\n * ```\n *\n * @example\n * Type narrowing and validation\n * ```ts\n * type ApiResponse =\n * | { type: 'success'; data: unknown }\n * | { type: 'error'; message: string };\n *\n * const responseSource = source<ApiResponse>();\n *\n * // Extract only successful data\n * const successDataSource = computedSource(\n * responseSource,\n * (response) => {\n * if (response.type === 'success') {\n * return response.data;\n * }\n * return null;\n * }\n * );\n *\n * // Extract only errors\n * const errorSource = computedSource(\n * responseSource,\n * (response) => {\n * if (response.type === 'error') {\n * return response.message;\n * }\n * return null;\n * }\n * );\n *\n * // Handle success and errors separately\n * const Processuccess = craftUse(asyncProcess({\n * method: afterRecomputation(successDataSource, (data) => data),\n * loader: async ({ params }) => {\n * if (!params) return null;\n * // Process successful data\n * return processData(params);\n * },\n * }));\n *\n * const logError = craftUse(asyncProcess({\n * method: afterRecomputation(errorSource, (error) => error),\n * loader: async ({ params }) => {\n * if (!params) return null;\n * // Log error\n * await logToService(params);\n * return { logged: true };\n * },\n * }));\n * ```\n *\n * @example\n * Formatting and presentation logic\n * ```ts\n * type Price = { amount: number; currency: string };\n *\n * const priceSource = source<Price>();\n *\n * // Format price for display\n * const formattedPriceSource = computedSource(\n * priceSource,\n * (price) => {\n * const formatter = new Intl.NumberFormat('en-US', {\n * style: 'currency',\n * currency: price.currency,\n * });\n * return formatter.format(price.amount);\n * }\n * );\n *\n * // Use formatted value in UI updates\n * const updatePriceDisplay = craftUse(asyncProcess({\n * method: afterRecomputation(formattedPriceSource, (formatted) => formatted),\n * loader: async ({ params }) => {\n * // Update analytics or external service\n * await trackPriceView(params);\n * return { displayed: params };\n * },\n * }));\n *\n * priceSource.set({ amount: 1234.56, currency: 'USD' });\n * // -> formattedPriceSource emits '$1,234.56'\n * ```\n *\n * @example\n * Using preserveLastValue for immediate computed access\n * ```ts\n * const counterSource = source<number>();\n *\n * const doubledSource = computedSource(\n * counterSource,\n * (count) => count * 2\n * );\n *\n * // Standard behavior\n * console.log(doubledSource()); // undefined (no emission yet)\n *\n * counterSource.set(5);\n * console.log(doubledSource()); // 10\n *\n * // Using preserveLastValue\n * const immediateDoubled = doubledSource.preserveLastValue;\n * console.log(immediateDoubled()); // 10 (gets last computed value immediately)\n * ```\n */\nexport function computedSource<SourceState, ComputedValue>(\n signalOrigin: SignalSource<SourceState> | ReadonlySource<SourceState>,\n computedFn: (sourceValue: NoInfer<SourceState>) => ComputedValue,\n options?: {\n equal?: ValueEqualityFn<NoInfer<ComputedValue> | undefined>;\n debugName?: string;\n },\n): ReadonlySource<ComputedValue> {\n const listener = (listenerOptions: { nullishFirstValue?: boolean }) =>\n linkedSignal<SourceState, ComputedValue | undefined>({\n source: signalOrigin as Signal<SourceState>,\n computation: (currentSourceState, previousData) => {\n // always when first listened return undefined\n if (!previousData && listenerOptions?.nullishFirstValue !== false) {\n return undefined;\n }\n\n return computedFn(currentSourceState);\n },\n ...(options?.equal && { equal: options?.equal }),\n ...(options?.debugName && { debugName: options?.debugName }),\n });\n return Object.assign(\n listener({\n nullishFirstValue: true,\n }),\n {\n preserveLastValue: listener({\n nullishFirstValue: false,\n }),\n },\n SourceBranded,\n ) as ReadonlySource<any>;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"correlation-id-plugin.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/correlation-id-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAmF7B,wBAAgB,4BAA4B,IAAI,CAC5C,QAAQ,GACR,oBAAoB,CACvB,EAAE,CAgBF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"correlation-id-plugin.js","sourceRoot":"","sources":["../../../../../libs/core/src/lib/correlation-id-plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n inject,\n Injector,\n provideAppInitializer,\n runInInjectionContext,\n untracked,\n type EnvironmentProviders,\n type Provider,\n} from './host/craft-compat';\nimport {\n CORRELATION_ID_SERVICE,\n createCorrelationIdService,\n getCurrentStartCorrelationId,\n setCurrentStartCorrelationId,\n} from './correlation-id';\nimport {\n provideCraftDomEventHook,\n type CraftDomEventHook,\n} from './dom-event-hook';\nimport { SERVICE_YIELD_REQUEST_MARKER } from './craft-generator-runtime';\nimport { provideFnWrapper, type FnWrapper } from './fn-wrapper';\nimport { CRAFT_TEMPORAL_RUNTIME } from './temporal-runtime';\n\nconst correlationIdDomEventHook: CraftDomEventHook = (interaction, next) => {\n const service = inject(CORRELATION_ID_SERVICE);\n service?.generateAndSet(interaction.interactionName);\n return next();\n};\n\nconst POPSTATE_COUNTER_KEY = '__craftTsNavCounter';\n\nfunction initPopstateTracking(injector: Injector): void {\n if (typeof window === 'undefined') return;\n\n // Initialize navigation counter in history state\n const currentState = window.history.state ?? {};\n const initialCounter = (currentState[POPSTATE_COUNTER_KEY] as number) ?? 0;\n if (currentState[POPSTATE_COUNTER_KEY] === undefined) {\n window.history.replaceState(\n { ...currentState, [POPSTATE_COUNTER_KEY]: initialCounter },\n '',\n );\n }\n\n let lastCounter = initialCounter;\n\n window.addEventListener('popstate', (event) => {\n const state = event.state ?? {};\n const newCounter = (state[POPSTATE_COUNTER_KEY] as number) ?? 0;\n\n runInInjectionContext(injector, () => {\n const service = inject(CORRELATION_ID_SERVICE);\n if (service) {\n const prefix = newCounter > lastCounter ? 'nav-forward' : 'nav-back';\n service.generateAndSet(prefix);\n }\n });\n\n lastCounter = newCounter;\n });\n}\n\n// FnWrapper that captures lastCorrelationId at generator invocation time\nconst correlationIdFnWrapper: FnWrapper = function* (factory, thisArg, args) {\n const service = (yield {\n [SERVICE_YIELD_REQUEST_MARKER]: true,\n providedIn: 'function' as const,\n resolve: (injector: Injector) => injector.get(CORRELATION_ID_SERVICE, null),\n }) as ReturnType<typeof createCorrelationIdService> | null;\n\n // Untracked, and this is load-bearing: this wrapper runs inside EVERY craft\n // factory execution, template bindings included, so a tracked read here\n // subscribes every binding in the application to `lastCorrelationId`. The DOM\n // event hook writes that signal on every interaction — so one click would\n // invalidate every binding on the page, whatever its real dependencies.\n // The correlation id is ambient observability metadata: it describes the\n // computation, it is never an input to it.\n const startCorrelationId =\n untracked(() => service?.lastCorrelationId()) ?? null;\n const previousStartId = getCurrentStartCorrelationId();\n setCurrentStartCorrelationId(startCorrelationId);\n\n try {\n return yield* (\n factory as (...a: unknown[]) => Generator<unknown, unknown, unknown>\n ).apply(thisArg as object, args);\n } finally {\n setCurrentStartCorrelationId(previousStartId);\n }\n};\n\nexport function provideCorrelationIdTracking(): (\n | Provider\n | EnvironmentProviders\n)[] {\n return [\n {\n provide: CORRELATION_ID_SERVICE,\n useFactory: () =>\n createCorrelationIdService(inject(CRAFT_TEMPORAL_RUNTIME)),\n },\n provideCraftDomEventHook(correlationIdDomEventHook),\n provideAppInitializer(() => {\n initPopstateTracking(inject(Injector));\n }),\n provideFnWrapper(\n 'Warning: dependency injection here is not type-safe and may fail at runtime',\n correlationIdFnWrapper,\n ),\n ];\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"correlation-id.d.ts","sourceRoot":"","sources":["../../../../../libs/core/src/lib/correlation-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,QAAQ,EACR,cAAc,EAGd,KAAK,MAAM,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,oBAAoB,CAAC;AAE5B,4EAA4E;AAC5E,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GACP,OAAO,GACP,UAAU,GACV,aAAa,GACb,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IACrD,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAAC;IACpD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,sBAAsB,gDAI/B,CAAC;AAEL,wBAAgB,0BAA0B,CACxC,eAAe,CAAC,EAAE,oBAAoB,GACrC,uBAAuB,CAgDzB;AAcD,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEpE;AAED,wBAAgB,4BAA4B,IAAI,MAAM,GAAG,IAAI,CAE5D;AAED,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,CAAC,4BAA4B,CAAC,EAAE,IAAI,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,CACP,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,oBAAoB,KAC5B,qBAAqB,CAAC;CAC5B,CAAC,CAAC;AAEH,wBAAiB,aAAa,IAAI,SAAS,CACzC,kBAAkB,EAClB,qBAAqB,EACrB,OAAO,CACR,CAiBA;AAED,wBAAgB,0BAA0B,IAAI,uBAAuB,GAAG,IAAI,CAE3E"}