@fougere/core 0.12.1-alpha.0 → 0.12.4-alpha.0

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 (261) hide show
  1. package/dist/CallIdentity.d.ts.map +1 -1
  2. package/dist/CallIdentity.js.map +1 -1
  3. package/dist/DomainCluster.d.ts.map +1 -1
  4. package/dist/DomainCluster.js +1 -1
  5. package/dist/DomainCluster.js.map +1 -1
  6. package/dist/EffectiveOperationModel.d.ts +1 -4
  7. package/dist/EffectiveOperationModel.d.ts.map +1 -1
  8. package/dist/EffectiveOperationModel.js +182 -173
  9. package/dist/EffectiveOperationModel.js.map +1 -1
  10. package/dist/FougereConfig.d.ts +5 -3
  11. package/dist/FougereConfig.d.ts.map +1 -1
  12. package/dist/FougereConfig.js +11 -13
  13. package/dist/FougereConfig.js.map +1 -1
  14. package/dist/FrondConfig.d.ts.map +1 -1
  15. package/dist/FrondConfig.js.map +1 -1
  16. package/dist/FrondDeclaration.d.ts.map +1 -1
  17. package/dist/FrondDeclaration.js +1 -5
  18. package/dist/FrondDeclaration.js.map +1 -1
  19. package/dist/Source.js +3 -3
  20. package/dist/Source.js.map +1 -1
  21. package/dist/SourceView.d.ts +0 -2
  22. package/dist/SourceView.d.ts.map +1 -1
  23. package/dist/boot/App.d.ts +2 -4
  24. package/dist/boot/App.d.ts.map +1 -1
  25. package/dist/boot/AppLifecycle.d.ts +5 -0
  26. package/dist/boot/AppLifecycle.d.ts.map +1 -1
  27. package/dist/boot/AppLifecycle.js +19 -10
  28. package/dist/boot/AppLifecycle.js.map +1 -1
  29. package/dist/boot/AuthRuntime.d.ts +5 -12
  30. package/dist/boot/AuthRuntime.d.ts.map +1 -1
  31. package/dist/boot/AuthRuntime.js +2 -1
  32. package/dist/boot/AuthRuntime.js.map +1 -1
  33. package/dist/boot/CreateAppOptions.d.ts +0 -11
  34. package/dist/boot/CreateAppOptions.d.ts.map +1 -1
  35. package/dist/boot/Emissions.d.ts.map +1 -1
  36. package/dist/boot/Emissions.js +3 -6
  37. package/dist/boot/Emissions.js.map +1 -1
  38. package/dist/boot/Hosting.d.ts +2 -1
  39. package/dist/boot/Hosting.d.ts.map +1 -1
  40. package/dist/boot/ambient.als.d.ts.map +1 -1
  41. package/dist/boot/ambient.als.js.map +1 -1
  42. package/dist/boot/apply.d.ts.map +1 -1
  43. package/dist/boot/apply.js.map +1 -1
  44. package/dist/boot/arity.d.ts +13 -0
  45. package/dist/boot/arity.d.ts.map +1 -0
  46. package/dist/boot/arity.js +33 -0
  47. package/dist/boot/arity.js.map +1 -0
  48. package/dist/boot/bootstrap.d.ts.map +1 -1
  49. package/dist/boot/bootstrap.js +143 -265
  50. package/dist/boot/bootstrap.js.map +1 -1
  51. package/dist/boot/card.d.ts.map +1 -1
  52. package/dist/boot/card.js.map +1 -1
  53. package/dist/boot/frame.d.ts.map +1 -1
  54. package/dist/boot/frame.js.map +1 -1
  55. package/dist/boot/install.d.ts.map +1 -1
  56. package/dist/boot/install.js +105 -115
  57. package/dist/boot/install.js.map +1 -1
  58. package/dist/boot/ownership.d.ts.map +1 -1
  59. package/dist/boot/ownership.js.map +1 -1
  60. package/dist/boot/relations.d.ts +10 -0
  61. package/dist/boot/relations.d.ts.map +1 -1
  62. package/dist/boot/relations.js +35 -2
  63. package/dist/boot/relations.js.map +1 -1
  64. package/dist/boot/remote.d.ts.map +1 -1
  65. package/dist/boot/remote.js.map +1 -1
  66. package/dist/boot/seed.d.ts.map +1 -1
  67. package/dist/boot/seed.js +1 -1
  68. package/dist/boot/seed.js.map +1 -1
  69. package/dist/boot/statement-drift.d.ts +6 -0
  70. package/dist/boot/statement-drift.d.ts.map +1 -1
  71. package/dist/boot/statement-drift.js +19 -0
  72. package/dist/boot/statement-drift.js.map +1 -1
  73. package/dist/boot/together.d.ts.map +1 -1
  74. package/dist/boot/together.js.map +1 -1
  75. package/dist/builtin/Carry.d.ts.map +1 -1
  76. package/dist/builtin/Carry.js.map +1 -1
  77. package/dist/builtin/Logger.d.ts.map +1 -1
  78. package/dist/builtin/Logger.js +3 -1
  79. package/dist/builtin/Logger.js.map +1 -1
  80. package/dist/builtin/config.js.map +1 -1
  81. package/dist/contract.d.ts.map +1 -1
  82. package/dist/contract.js.map +1 -1
  83. package/dist/crypto/encoding.d.ts.map +1 -1
  84. package/dist/crypto/encoding.js.map +1 -1
  85. package/dist/crypto/node.d.ts.map +1 -1
  86. package/dist/crypto/node.js.map +1 -1
  87. package/dist/crypto/webcrypto.d.ts.map +1 -1
  88. package/dist/crypto/webcrypto.js.map +1 -1
  89. package/dist/descriptor/Fronds.d.ts +5 -0
  90. package/dist/descriptor/Fronds.d.ts.map +1 -1
  91. package/dist/descriptor/Fronds.js +8 -0
  92. package/dist/descriptor/Fronds.js.map +1 -1
  93. package/dist/descriptor/index.d.ts +1 -0
  94. package/dist/descriptor/index.d.ts.map +1 -1
  95. package/dist/descriptor/index.js +1 -0
  96. package/dist/descriptor/index.js.map +1 -1
  97. package/dist/dispatch/ArrayResult.d.ts.map +1 -1
  98. package/dist/dispatch/ArrayResult.js.map +1 -1
  99. package/dist/dispatch/Dispatcher.d.ts.map +1 -1
  100. package/dist/dispatch/Dispatcher.js.map +1 -1
  101. package/dist/dispatch/HandlerFacade.d.ts +6 -1
  102. package/dist/dispatch/HandlerFacade.d.ts.map +1 -1
  103. package/dist/dispatch/HandlerFacade.js +11 -3
  104. package/dist/dispatch/HandlerFacade.js.map +1 -1
  105. package/dist/dispatch/InFlight.d.ts +3 -2
  106. package/dist/dispatch/InFlight.d.ts.map +1 -1
  107. package/dist/dispatch/InFlight.js +11 -1
  108. package/dist/dispatch/InFlight.js.map +1 -1
  109. package/dist/dispatch/LocalRoutePolicy.d.ts.map +1 -1
  110. package/dist/dispatch/LocalRoutePolicy.js.map +1 -1
  111. package/dist/dispatch/RouteRegistry.d.ts.map +1 -1
  112. package/dist/dispatch/RouteRegistry.js.map +1 -1
  113. package/dist/dispatch/StorageGuard.d.ts.map +1 -1
  114. package/dist/dispatch/StorageGuard.js +4 -1
  115. package/dist/dispatch/StorageGuard.js.map +1 -1
  116. package/dist/identity-keys.d.ts.map +1 -1
  117. package/dist/identity-keys.js.map +1 -1
  118. package/dist/index.d.ts +2 -4
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +2 -0
  121. package/dist/index.js.map +1 -1
  122. package/dist/loader.d.ts.map +1 -1
  123. package/dist/loader.js.map +1 -1
  124. package/dist/node.d.ts +1 -1
  125. package/dist/node.d.ts.map +1 -1
  126. package/dist/node.js +1 -1
  127. package/dist/node.js.map +1 -1
  128. package/dist/prefab/CrudConstructor.d.ts.map +1 -1
  129. package/dist/prefab/CrudConstructor.js.map +1 -1
  130. package/dist/prefab/collector.d.ts.map +1 -1
  131. package/dist/prefab/collector.js.map +1 -1
  132. package/dist/prefab/presenter.d.ts.map +1 -1
  133. package/dist/prefab/presenter.js.map +1 -1
  134. package/dist/storage/Comparison.d.ts +2 -2
  135. package/dist/storage/Comparison.d.ts.map +1 -1
  136. package/dist/storage/Comparison.js +3 -1
  137. package/dist/storage/Comparison.js.map +1 -1
  138. package/dist/storage/Storage.d.ts.map +1 -1
  139. package/dist/storage/Storage.js.map +1 -1
  140. package/dist/storage/Store.d.ts.map +1 -1
  141. package/dist/storage/Store.js +1 -1
  142. package/dist/storage/Store.js.map +1 -1
  143. package/dist/verify.d.ts.map +1 -1
  144. package/dist/verify.js.map +1 -1
  145. package/dist/wire/AppMiddleware.d.ts.map +1 -1
  146. package/dist/wire/AppMiddleware.js.map +1 -1
  147. package/dist/wire/Emit.d.ts +0 -2
  148. package/dist/wire/Emit.d.ts.map +1 -1
  149. package/dist/wire/Emit.js +1 -1
  150. package/dist/wire/Emit.js.map +1 -1
  151. package/dist/wire/Facade.d.ts +7 -0
  152. package/dist/wire/Facade.d.ts.map +1 -1
  153. package/dist/wire/Facade.js +13 -0
  154. package/dist/wire/Facade.js.map +1 -1
  155. package/dist/wire/FougereError.d.ts.map +1 -1
  156. package/dist/wire/FougereError.js.map +1 -1
  157. package/dist/wire/Invocation.d.ts.map +1 -1
  158. package/dist/wire/Invocation.js.map +1 -1
  159. package/dist/wire/OperationContract.d.ts +0 -4
  160. package/dist/wire/OperationContract.d.ts.map +1 -1
  161. package/dist/wire/OperationContract.js +1 -1
  162. package/dist/wire/OperationContract.js.map +1 -1
  163. package/dist/wire/OperationsMap.d.ts +0 -3
  164. package/dist/wire/OperationsMap.d.ts.map +1 -1
  165. package/dist/wire/OperationsMap.js +0 -5
  166. package/dist/wire/OperationsMap.js.map +1 -1
  167. package/dist/wire/RouteAddress.d.ts.map +1 -1
  168. package/dist/wire/RouteAddress.js.map +1 -1
  169. package/dist/wire/binding.d.ts.map +1 -1
  170. package/dist/wire/binding.js.map +1 -1
  171. package/dist/wire/card/IdentityCard.d.ts.map +1 -1
  172. package/dist/wire/card/IdentityCard.js.map +1 -1
  173. package/dist/wire/drift.d.ts.map +1 -1
  174. package/dist/wire/drift.js.map +1 -1
  175. package/dist/wire/http-error.d.ts.map +1 -1
  176. package/dist/wire/http-error.js.map +1 -1
  177. package/dist/wire/loggerMiddleware.d.ts.map +1 -1
  178. package/dist/wire/loggerMiddleware.js.map +1 -1
  179. package/package.json +5 -5
  180. package/src/CallIdentity.ts +6 -0
  181. package/src/DomainCluster.ts +2 -1
  182. package/src/EffectiveOperationModel.ts +236 -198
  183. package/src/FougereConfig.ts +17 -16
  184. package/src/FrondConfig.ts +2 -0
  185. package/src/FrondDeclaration.ts +1 -7
  186. package/src/Source.ts +3 -3
  187. package/src/SourceView.ts +0 -2
  188. package/src/boot/App.ts +2 -4
  189. package/src/boot/AppLifecycle.ts +22 -10
  190. package/src/boot/AuthRuntime.ts +6 -13
  191. package/src/boot/CreateAppOptions.ts +0 -11
  192. package/src/boot/Emissions.ts +7 -7
  193. package/src/boot/Hosting.ts +2 -1
  194. package/src/boot/ambient.als.ts +2 -0
  195. package/src/boot/apply.ts +1 -0
  196. package/src/boot/arity.ts +42 -0
  197. package/src/boot/bootstrap.ts +175 -300
  198. package/src/boot/card.ts +2 -0
  199. package/src/boot/frame.ts +6 -0
  200. package/src/boot/install.ts +123 -146
  201. package/src/boot/ownership.ts +1 -0
  202. package/src/boot/relations.ts +42 -10
  203. package/src/boot/remote.ts +1 -0
  204. package/src/boot/seed.ts +3 -5
  205. package/src/boot/statement-drift.ts +25 -0
  206. package/src/boot/together.ts +3 -0
  207. package/src/builtin/Carry.ts +1 -0
  208. package/src/builtin/Logger.ts +9 -1
  209. package/src/builtin/config.ts +1 -0
  210. package/src/contract.ts +1 -0
  211. package/src/crypto/encoding.ts +4 -0
  212. package/src/crypto/node.ts +2 -0
  213. package/src/crypto/webcrypto.ts +2 -0
  214. package/src/descriptor/Fronds.ts +12 -0
  215. package/src/descriptor/index.ts +1 -0
  216. package/src/dispatch/ArrayResult.ts +1 -0
  217. package/src/dispatch/Dispatcher.ts +1 -0
  218. package/src/dispatch/HandlerFacade.ts +16 -4
  219. package/src/dispatch/InFlight.ts +18 -2
  220. package/src/dispatch/LocalRoutePolicy.ts +1 -0
  221. package/src/dispatch/RouteRegistry.ts +4 -0
  222. package/src/dispatch/StorageGuard.ts +9 -1
  223. package/src/identity-keys.ts +2 -0
  224. package/src/index.ts +2 -4
  225. package/src/loader.ts +1 -0
  226. package/src/node.ts +1 -1
  227. package/src/prefab/CrudConstructor.ts +1 -11
  228. package/src/prefab/collector.ts +1 -0
  229. package/src/prefab/presenter.ts +1 -0
  230. package/src/storage/Comparison.ts +7 -4
  231. package/src/storage/Storage.ts +2 -0
  232. package/src/storage/Store.ts +9 -1
  233. package/src/verify.ts +2 -0
  234. package/src/wire/AppMiddleware.ts +2 -0
  235. package/src/wire/Emit.ts +1 -1
  236. package/src/wire/Facade.ts +17 -10
  237. package/src/wire/FougereError.ts +2 -0
  238. package/src/wire/Invocation.ts +2 -0
  239. package/src/wire/OperationContract.ts +2 -1
  240. package/src/wire/OperationsMap.ts +0 -10
  241. package/src/wire/RouteAddress.ts +2 -0
  242. package/src/wire/binding.ts +1 -0
  243. package/src/wire/card/IdentityCard.ts +1 -0
  244. package/src/wire/drift.ts +3 -0
  245. package/src/wire/http-error.ts +2 -0
  246. package/src/wire/loggerMiddleware.ts +1 -0
  247. package/dist/boot/AuthConfig.d.ts +0 -14
  248. package/dist/boot/AuthConfig.d.ts.map +0 -1
  249. package/dist/boot/AuthConfig.js +0 -2
  250. package/dist/boot/AuthConfig.js.map +0 -1
  251. package/dist/boot/AuthContext.d.ts +0 -12
  252. package/dist/boot/AuthContext.d.ts.map +0 -1
  253. package/dist/boot/AuthContext.js +0 -2
  254. package/dist/boot/AuthContext.js.map +0 -1
  255. package/dist/storage/ComparisonName.d.ts +0 -3
  256. package/dist/storage/ComparisonName.d.ts.map +0 -1
  257. package/dist/storage/ComparisonName.js +0 -2
  258. package/dist/storage/ComparisonName.js.map +0 -1
  259. package/src/boot/AuthConfig.ts +0 -14
  260. package/src/boot/AuthContext.ts +0 -12
  261. package/src/storage/ComparisonName.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"CallIdentity.d.ts","sourceRoot":"","sources":["../src/CallIdentity.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA2DtD,4BAA4B;AAC5B,wBAAsB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7F;AAaD,sCAAsC;AACtC,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAEvH;AA+BD,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,8EAA8E;IAC9E,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5E,oEAAoE;IACpE,eAAe,EAAE,OAAO,CAAC;CAC1B;AAOD,uDAAuD;AACvD,wBAAsB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAgBrH"}
1
+ {"version":3,"file":"CallIdentity.d.ts","sourceRoot":"","sources":["../src/CallIdentity.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA+DtD,4BAA4B;AAC5B,wBAAsB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7F;AAcD,sCAAsC;AACtC,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAEvH;AA+BD,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,8EAA8E;IAC9E,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5E,oEAAoE;IACpE,eAAe,EAAE,OAAO,CAAC;CAC1B;AAOD,uDAAuD;AACvD,wBAAsB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAgBrH"}
@@ -1 +1 @@
1
- {"version":3,"file":"CallIdentity.js","sourceRoot":"","sources":["../src/CallIdentity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CallIdentity.js","sourceRoot":"","sources":["../src/CallIdentity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DomainCluster.d.ts","sourceRoot":"","sources":["../src/DomainCluster.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClE;AAED,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CA6B7E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,aAAa,EAAE,CAwC/E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC9B,cAAc,SAAI,GACjB,aAAa,EAAE,CAmDjB"}
1
+ {"version":3,"file":"DomainCluster.d.ts","sourceRoot":"","sources":["../src/DomainCluster.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClE;AAED,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CA6B7E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,aAAa,EAAE,CAwC/E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC9B,cAAc,SAAI,GACjB,aAAa,EAAE,CAoDjB"}
@@ -7,7 +7,7 @@ export function buildGraph(fronds) {
7
7
  for (const entity of frond.entities) {
8
8
  const refs = [];
9
9
  for (const [, field] of Object.entries(entity.entityClass.getFields())) {
10
- if (Role.of(field).isReference) {
10
+ if (Role.of(field).isReference()) {
11
11
  const resolved = Role.of(field).target;
12
12
  const targetName = typeof resolved === 'function' && 'name' in resolved
13
13
  ? resolved.name.toLowerCase()
@@ -1 +1 @@
1
- {"version":3,"file":"DomainCluster.js","sourceRoot":"","sources":["../src/DomainCluster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DomainCluster.js","sourceRoot":"","sources":["../src/DomainCluster.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type { FrondDescriptor } from './descriptor/FrondDescriptor.js';
2
2
  import type { HandlerEntry } from './descriptor/HandlerEntry.js';
3
3
  import type { Diagnostic } from './diagnostic.js';
4
- import { type OperationsMap } from './wire/OperationsMap.js';
5
4
  import type { EffectiveOperation } from './EffectiveOperation.js';
6
5
  import type { EffectiveOperationsMap } from './EffectiveOperationsMap.js';
7
6
  import type { EffectiveOperationOptions } from './EffectiveOperationOptions.js';
@@ -10,15 +9,13 @@ import type { EffectiveOperationOptions } from './EffectiveOperationOptions.js';
10
9
  * boot never has to find a handler again by an order-dependent name lookup.
11
10
  */
12
11
  export declare class EffectiveOperationModel {
13
- private readonly byHandler;
14
12
  readonly operations: EffectiveOperation[];
15
13
  readonly diagnostics: Diagnostic[];
16
14
  readonly resolutionDiagnostics: Diagnostic[];
15
+ private readonly byHandler;
17
16
  constructor(operations: EffectiveOperation[], diagnostics: Diagnostic[], resolutionDiagnostics: Diagnostic[], byHandler: Map<HandlerEntry, EffectiveOperationsMap>);
18
17
  forHandler(handler: HandlerEntry): EffectiveOperationsMap;
19
18
  }
20
19
  /** Resolve the complete operation model without starting the application. */
21
20
  export declare function resolveEffectiveOperations(fronds: readonly FrondDescriptor[], options?: EffectiveOperationOptions): EffectiveOperationModel;
22
- /** The contract of every operation a handler serves — the three producers, merged once. */
23
- export declare function resolveContracts(handler: Pick<HandlerEntry, 'ctor' | 'operations'>, overrides: FrondDescriptor['operationsOverrides'], collectorTypeNames: Set<string>): OperationsMap;
24
21
  //# sourceMappingURL=EffectiveOperationModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EffectiveOperationModel.d.ts","sourceRoot":"","sources":["../src/EffectiveOperationModel.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAyBhF;;;GAGG;AACH,qBAAa,uBAAuB;IAShC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAR5B,QAAQ,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;IACnC,QAAQ,CAAC,qBAAqB,EAAE,UAAU,EAAE,CAAC;gBAG3C,UAAU,EAAE,kBAAkB,EAAE,EAChC,WAAW,EAAE,UAAU,EAAE,EACzB,qBAAqB,EAAE,UAAU,EAAE,EAClB,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAOvE,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,sBAAsB;CAG1D;AAED,6EAA6E;AAC7E,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,OAAO,GAAE,yBAA8B,GACtC,uBAAuB,CAsNzB;AAuQD,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAAC,EAClD,SAAS,EAAE,eAAe,CAAC,qBAAqB,CAAC,EACjD,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC9B,aAAa,CA0Bf"}
1
+ {"version":3,"file":"EffectiveOperationModel.d.ts","sourceRoot":"","sources":["../src/EffectiveOperationModel.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAOlD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AA4BhF;;;GAGG;AACH,qBAAa,uBAAuB;IAEhC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,EAAE;IACzC,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE;IAClC,QAAQ,CAAC,qBAAqB,EAAE,UAAU,EAAE;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAHjB,UAAU,EAAE,kBAAkB,EAAE,EAChC,WAAW,EAAE,UAAU,EAAE,EACzB,qBAAqB,EAAE,UAAU,EAAE,EAC3B,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAGvE,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,sBAAsB;CAG1D;AAcD,6EAA6E;AAC7E,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,eAAe,EAAE,EAClC,OAAO,GAAE,yBAA8B,GACtC,uBAAuB,CA4CzB"}
@@ -1,5 +1,5 @@
1
1
  import { lowerFirst } from '@fougere/schema';
2
- import { statementDrift } from './boot/statement-drift.js';
2
+ import { statementDrift, unansweredOperations } from './boot/statement-drift.js';
3
3
  import { reachedBy, servedBy } from './boot/declared.js';
4
4
  import { computeBindingPlan } from './wire/binding.js';
5
5
  import { targetOf } from './prefab/prefab.js';
@@ -25,15 +25,15 @@ function reachOf(deps, from, index, remotes) {
25
25
  * boot never has to find a handler again by an order-dependent name lookup.
26
26
  */
27
27
  export class EffectiveOperationModel {
28
- byHandler;
29
28
  operations;
30
29
  diagnostics;
31
30
  resolutionDiagnostics;
31
+ byHandler;
32
32
  constructor(operations, diagnostics, resolutionDiagnostics, byHandler) {
33
- this.byHandler = byHandler;
34
33
  this.operations = operations;
35
34
  this.diagnostics = diagnostics;
36
35
  this.resolutionDiagnostics = resolutionDiagnostics;
36
+ this.byHandler = byHandler;
37
37
  }
38
38
  forHandler(handler) {
39
39
  return this.byHandler.get(handler) ?? new Map();
@@ -43,194 +43,203 @@ export class EffectiveOperationModel {
43
43
  export function resolveEffectiveOperations(fronds, options = {}) {
44
44
  const operations = [];
45
45
  const byHandler = new Map();
46
- const resolutionDiagnostics = [];
47
46
  const scanDiagnostics = [...(options.diagnostics ?? [])];
48
47
  const schemas = new Map(fronds.flatMap((frond) => frond.entities.map((entity) => [entity.name, entity.entityClass])));
49
- /** Every address a frond answers, so a dependency naming one is read as the crossing it is. */
50
48
  const served = servedBy(fronds);
51
- // Input ambiguity is produced where schemas are available (the scanner), but it is a
52
- // resolution failure. Lift it into the same refusal table as kind/binding/topology.
53
- resolutionDiagnostics.push(...scanDiagnostics.filter((diagnostic) => diagnostic.code === 'input-contract-ambiguous'));
49
+ // Input ambiguity is found by the scanner, where schemas are, but it is a resolution failure.
50
+ const diagnostics = scanDiagnostics.filter((diagnostic) => diagnostic.code === 'input-contract-ambiguous');
54
51
  for (const frond of fronds) {
55
52
  const collectorsByType = groupedCollectors(frond.collectors);
56
- for (const [typeName, collectors] of collectorsByType) {
57
- if (collectors.length < 2)
58
- continue;
59
- resolutionDiagnostics.push({
60
- severity: 'blocking',
61
- code: 'collector-ambiguous',
62
- filePath: collectors[0].filePath,
63
- frond: frond.name,
64
- subject: typeName,
65
- message: `Frond '${frond.name}' declares ${collectors.length} collectors for '${typeName}' — `
66
- + `${collectors.map((collector) => collector.ctor.name).sort().join(', ')}. `
67
- + 'Exactly one collector must own a parameter type.',
68
- });
69
- }
53
+ refuseAmbiguousCollectors(frond, collectorsByType, diagnostics);
70
54
  const collectorNames = new Set(frond.collectors.map((collector) => collector.typeName));
71
55
  for (const handler of frond.handlers) {
72
56
  const effective = new Map();
73
57
  byHandler.set(handler, effective);
74
58
  const contracts = resolveContracts(handler, frond.operationsOverrides, collectorNames);
75
- // A statement wins over the scan on purpose; saying so out loud is what keeps the
76
- // win from hiding a rename. Compared here, where both readings are in hand.
77
- resolutionDiagnostics.push(...statementDrift(frond, handler));
78
- for (const [name, rawContract] of contracts) {
79
- const subject = `${handler.ctor.name}.${name}`;
80
- const contract = normalizeBinding(rawContract, handler, frond, name, resolutionDiagnostics);
81
- if (!contract)
59
+ // A statement wins over the scan on purpose; saying so is what keeps the win from hiding a rename.
60
+ diagnostics.push(...statementDrift(frond, handler));
61
+ diagnostics.push(...unansweredOperations(frond, handler, contracts.keys()));
62
+ const resolving = { fronds, frond, handler, schemas, served, collectorsByType, options, diagnostics };
63
+ for (const [name, contract] of contracts) {
64
+ const op = resolveOperation(resolving, name, contract);
65
+ if (!op)
82
66
  continue;
83
- // An operation answers DATA — what JSON keeps. A DECLARED output is converted by its
84
- // fields, so `created()` leaves as an ISO string and nothing is asked of it here; an
85
- // undeclared one has nothing to convert it, so it must already be data. Measured
86
- // 2026-09-18: `{ at: new Date(0) }` reaches a local caller as a `Date` and a remote one
87
- // as a string, and an object carrying methods loses them on both sides, differently.
88
- if (!contract.output && contract.signature?.notData) {
89
- resolutionDiagnostics.push({
90
- severity: 'blocking',
91
- code: 'operation-output-not-data',
92
- filePath: handler.filePath,
93
- frond: frond.name,
94
- subject,
95
- message: `${subject}() answers ${contract.signature.notData}, which carries methods.\n`
96
- + ' An operation answers data — what JSON keeps.\n'
97
- + ' Declare the output as an entity, whose fields convert it, or answer what it produces.',
98
- });
99
- continue;
100
- }
101
- const override = frond.operationsOverrides?.[name];
102
- const inference = inferOperationKind(name);
103
- const inferredKinds = new Set();
104
- if (inference.kind)
105
- inferredKinds.add(inference.kind);
106
- if (inference.queryMatches.length > 0)
107
- inferredKinds.add('query');
108
- if (inference.commandMatches.length > 0)
109
- inferredKinds.add('command');
110
- const kind = override?.kind
111
- ?? (inferredKinds.size === 1 ? [...inferredKinds][0] : undefined);
112
- if (!kind) {
113
- const ambiguous = inferredKinds.size > 1;
114
- resolutionDiagnostics.push({
115
- severity: 'blocking',
116
- code: ambiguous ? 'operation-kind-ambiguous' : 'operation-kind-unknown',
117
- filePath: handler.filePath,
118
- frond: frond.name,
119
- subject,
120
- message: ambiguous
121
- ? `Cannot resolve the kind of ${subject}: its name carries query evidence `
122
- + `(${inference.queryMatches.join(', ')}) and command evidence `
123
- + `(${inference.commandMatches.join(', ')}). `
124
- + `Declare operations.${name}.kind.`
125
- : `Cannot resolve the kind of ${subject}: '${name}' leads with no known verb. `
126
- + `Rename it to lead with one, or declare operations.${name}.kind in `
127
- + `frond.config.ts.\n query: ${knownVerbs().query.join(', ')}`
128
- + `\n command: ${knownVerbs().command.join(', ')}`,
129
- });
130
- continue;
131
- }
132
- const implementation = implementationOf(frond, handler, name, resolutionDiagnostics);
133
- if (!implementation)
134
- continue;
135
- const params = contract.signature?.params ?? [];
136
- const parameters = contract.binding.map((binding, position) => {
137
- const param = params[position];
138
- const undefinable = binding.optional
139
- || param?.optional === true
140
- || param?.type.undefined === true;
141
- return {
142
- position,
143
- name: param?.name ?? binding.name,
144
- type: param?.type.raw ?? null,
145
- optional: undefinable,
146
- nullable: param?.type.nullable === true,
147
- undefinable,
148
- binding,
149
- };
150
- });
151
- if (!validateProvenance(fronds, frond, handler, name, contract, parameters, collectorsByType, resolutionDiagnostics))
152
- continue;
153
- // A fact is validated by the entity it names. This used to be patched into the
154
- // facade after resolution, leaving check/explain with a different input.
155
- const announced = contract.binding.find((binding) => binding.source.kind === 'fact' || binding.source.kind === 'pipe');
156
- const fact = announced?.source.kind === 'fact' || announced?.source.kind === 'pipe'
157
- ? schemas.get(announced.source.factName)
158
- : undefined;
159
- const input = contract.input ?? fact;
160
- // An op that FINISHES a fact answers the fact, so its answer is the fact's shape:
161
- // derived here, where its input already is. Left to the ordinary projection it
162
- // came back stripped — measured, the subscriber got a value with no `id`.
163
- const output = announced?.source.kind === 'pipe' && fact
164
- ? { schema: fact, closed: false }
165
- : effectiveOutput(frond, handler, name, contract);
166
- const className = handler.ctor.name.endsWith('Handler')
167
- ? handler.ctor.name.slice(0, -'Handler'.length)
168
- : handler.ctor.name;
169
- const surface = handler.surface ? `/${handler.surface}` : '/default';
170
- const remote = options.remotes?.[frond.name];
171
- const op = {
172
- ...contract,
173
- ...(input ? { input } : {}),
174
- ...(output.schema ? { output: output.schema } : {}),
175
- id: `${frond.name}${surface}/${className}.${name}`,
176
- operation: `${className}.${name}`,
177
- name,
178
- kind,
179
- kindSource: override?.kind
180
- ? 'explicit'
181
- : 'convention',
182
- handler: {
183
- className: handler.ctor.name,
184
- address: handler.address,
185
- filePath: handler.filePath,
186
- },
187
- implementation,
188
- binding: contract.binding,
189
- parameters,
190
- collectors: parameters.flatMap((parameter) => {
191
- if (parameter.binding.source.kind !== 'collector')
192
- return [];
193
- const collector = collectorsByType.get(parameter.binding.source.typeName)?.[0];
194
- return collector ? [{
195
- parameter: parameter.name,
196
- typeName: collector.typeName,
197
- className: collector.ctor.name,
198
- frond: frond.name,
199
- filePath: collector.filePath,
200
- }] : [];
201
- }),
202
- contexts: parameters
203
- .filter((parameter) => parameter.binding.source.kind === 'context')
204
- .map((parameter) => parameter.name),
205
- placement: {
206
- frond: frond.name,
207
- runtime: remote ? 'remote' : 'local',
208
- ...(remote ? { remote } : {}),
209
- },
210
- reach: reachOf(handler.deps, frond.name, served, options.remotes ?? {}),
211
- exposure: {
212
- surfaces: servedSurfaces(frond, handler).map((surface) => surface ?? 'default'),
213
- adapters: exposedAdapters(handler, options.adapters),
214
- },
215
- outputClosed: output.closed,
216
- semantics: EFFECTIVE_OPERATION_SEMANTICS,
217
- };
218
67
  effective.set(name, op);
219
68
  operations.push(op);
220
69
  }
221
70
  }
222
71
  }
223
- // Topology and DI are part of the same effective program. A dependency targeting an
224
- // actually remote frond is a refusal, not the warning appropriate to a future split.
225
- for (const misplaced of verify({ fronds })) {
72
+ diagnostics.push(...placementRefusals(fronds, options));
73
+ const resolution = uniqueDiagnostics(diagnostics);
74
+ return new EffectiveOperationModel(operations, uniqueDiagnostics([...scanDiagnostics, ...resolution]), resolution, byHandler);
75
+ }
76
+ function refuseAmbiguousCollectors(frond, collectorsByType, diagnostics) {
77
+ for (const [typeName, collectors] of collectorsByType) {
78
+ if (collectors.length < 2)
79
+ continue;
80
+ diagnostics.push({
81
+ severity: 'blocking',
82
+ code: 'collector-ambiguous',
83
+ filePath: collectors[0].filePath,
84
+ frond: frond.name,
85
+ subject: typeName,
86
+ message: `Frond '${frond.name}' declares ${collectors.length} collectors for '${typeName}' — `
87
+ + `${collectors.map((collector) => collector.ctor.name).sort().join(', ')}. `
88
+ + 'Exactly one collector must own a parameter type.',
89
+ });
90
+ }
91
+ }
92
+ /** One operation, or nothing when a refusal was written for it. */
93
+ function resolveOperation(resolving, name, rawContract) {
94
+ const { fronds, frond, handler, schemas, served, collectorsByType, options, diagnostics } = resolving;
95
+ const contract = normalizeBinding(rawContract, handler, frond, name, diagnostics);
96
+ if (!contract || !answersData(resolving, name, contract))
97
+ return undefined;
98
+ const kind = kindOf(resolving, name);
99
+ if (!kind)
100
+ return undefined;
101
+ const implementation = implementationOf(frond, handler, name, diagnostics);
102
+ if (!implementation)
103
+ return undefined;
104
+ const parameters = parametersOf(contract);
105
+ if (!validateProvenance(fronds, frond, handler, name, contract, parameters, collectorsByType, diagnostics)) {
106
+ return undefined;
107
+ }
108
+ // A fact is validated by the entity it names, and an op that FINISHES one answers its shape —
109
+ // left to the ordinary projection, the subscriber got a value with no `id`.
110
+ const announced = contract.binding.find((binding) => binding.source.kind === 'fact' || binding.source.kind === 'pipe');
111
+ const fact = announced?.source.kind === 'fact' || announced?.source.kind === 'pipe'
112
+ ? schemas.get(announced.source.factName)
113
+ : undefined;
114
+ const input = contract.input ?? fact;
115
+ const output = announced?.source.kind === 'pipe' && fact
116
+ ? { schema: fact, closed: false }
117
+ : effectiveOutput(frond, handler, name, contract);
118
+ const className = handler.ctor.name.replace(/Handler$/, '');
119
+ const surface = handler.surface ? `/${handler.surface}` : '/default';
120
+ const remote = options.remotes?.[frond.name];
121
+ return {
122
+ ...contract,
123
+ ...(input ? { input } : {}),
124
+ ...(output.schema ? { output: output.schema } : {}),
125
+ id: `${frond.name}${surface}/${className}.${name}`,
126
+ operation: `${className}.${name}`,
127
+ name,
128
+ kind,
129
+ kindSource: frond.operationsOverrides?.[name]?.kind ? 'explicit' : 'convention',
130
+ handler: { className: handler.ctor.name, address: handler.address, filePath: handler.filePath },
131
+ implementation,
132
+ binding: contract.binding,
133
+ parameters,
134
+ collectors: collectorsOf(parameters, collectorsByType, frond),
135
+ contexts: parameters
136
+ .filter((parameter) => parameter.binding.source.kind === 'context')
137
+ .map((parameter) => parameter.name),
138
+ placement: { frond: frond.name, runtime: remote ? 'remote' : 'local', ...(remote ? { remote } : {}) },
139
+ reach: reachOf(handler.deps, frond.name, served, options.remotes ?? {}),
140
+ exposure: {
141
+ surfaces: servedSurfaces(frond, handler).map((surface) => surface ?? 'default'),
142
+ adapters: exposedAdapters(handler, options.adapters),
143
+ },
144
+ outputClosed: output.closed,
145
+ semantics: EFFECTIVE_OPERATION_SEMANTICS,
146
+ };
147
+ }
148
+ /**
149
+ * An operation answers DATA — what JSON keeps. A declared output is converted by its fields; an
150
+ * undeclared one has nothing to convert it. Measured 2026-09-18: `{ at: new Date(0) }` reaches a
151
+ * local caller as a `Date` and a remote one as a string.
152
+ */
153
+ function answersData({ frond, handler, diagnostics }, name, contract) {
154
+ if (contract.output || !contract.signature?.notData)
155
+ return true;
156
+ const subject = `${handler.ctor.name}.${name}`;
157
+ diagnostics.push({
158
+ severity: 'blocking',
159
+ code: 'operation-output-not-data',
160
+ filePath: handler.filePath,
161
+ frond: frond.name,
162
+ subject,
163
+ message: `${subject}() answers ${contract.signature.notData}, which carries methods.\n`
164
+ + ' An operation answers data — what JSON keeps.\n'
165
+ + ' Declare the output as an entity, whose fields convert it, or answer what it produces.',
166
+ });
167
+ return false;
168
+ }
169
+ /** Stated in `frond.config.ts`, or read off the verb the name leads with — never guessed between two. */
170
+ function kindOf({ frond, handler, diagnostics }, name) {
171
+ const stated = frond.operationsOverrides?.[name]?.kind;
172
+ if (stated)
173
+ return stated;
174
+ const inference = inferOperationKind(name);
175
+ const inferred = new Set();
176
+ if (inference.kind)
177
+ inferred.add(inference.kind);
178
+ if (inference.queryMatches.length > 0)
179
+ inferred.add('query');
180
+ if (inference.commandMatches.length > 0)
181
+ inferred.add('command');
182
+ if (inferred.size === 1)
183
+ return [...inferred][0];
184
+ const subject = `${handler.ctor.name}.${name}`;
185
+ const ambiguous = inferred.size > 1;
186
+ diagnostics.push({
187
+ severity: 'blocking',
188
+ code: ambiguous ? 'operation-kind-ambiguous' : 'operation-kind-unknown',
189
+ filePath: handler.filePath,
190
+ frond: frond.name,
191
+ subject,
192
+ message: ambiguous
193
+ ? `Cannot resolve the kind of ${subject}: its name carries query evidence `
194
+ + `(${inference.queryMatches.join(', ')}) and command evidence `
195
+ + `(${inference.commandMatches.join(', ')}). `
196
+ + `Declare operations.${name}.kind.`
197
+ : `Cannot resolve the kind of ${subject}: '${name}' leads with no known verb. `
198
+ + `Rename it to lead with one, or declare operations.${name}.kind in `
199
+ + `frond.config.ts.\n query: ${knownVerbs().query.join(', ')}`
200
+ + `\n command: ${knownVerbs().command.join(', ')}`,
201
+ });
202
+ return undefined;
203
+ }
204
+ function parametersOf(contract) {
205
+ const params = contract.signature?.params ?? [];
206
+ return contract.binding.map((binding, position) => {
207
+ const param = params[position];
208
+ const undefinable = binding.optional || param?.optional === true || param?.type.undefined === true;
209
+ return {
210
+ position,
211
+ name: param?.name ?? binding.name,
212
+ type: param?.type.raw ?? null,
213
+ optional: undefinable,
214
+ nullable: param?.type.nullable === true,
215
+ undefinable,
216
+ binding,
217
+ };
218
+ });
219
+ }
220
+ function collectorsOf(parameters, collectorsByType, frond) {
221
+ return parameters.flatMap((parameter) => {
222
+ if (parameter.binding.source.kind !== 'collector')
223
+ return [];
224
+ const collector = collectorsByType.get(parameter.binding.source.typeName)?.[0];
225
+ return collector ? [{
226
+ parameter: parameter.name,
227
+ typeName: collector.typeName,
228
+ className: collector.ctor.name,
229
+ frond: frond.name,
230
+ filePath: collector.filePath,
231
+ }] : [];
232
+ });
233
+ }
234
+ /** A dependency on a frond that actually runs elsewhere is a refusal, not the warning a future split deserves. */
235
+ function placementRefusals(fronds, options) {
236
+ return verify({ fronds }).map((misplaced) => {
226
237
  const remoteBoundary = options.remotes?.[misplaced.frond] !== undefined
227
238
  || options.remotes?.[misplaced.dependsOn.frond] !== undefined;
228
- resolutionDiagnostics.push(remoteBoundary && misplaced.code === 'cross-frond-dependency'
239
+ return remoteBoundary && misplaced.code === 'cross-frond-dependency'
229
240
  ? { ...misplaced, severity: 'blocking' }
230
- : misplaced);
231
- }
232
- const resolution = uniqueDiagnostics(resolutionDiagnostics);
233
- return new EffectiveOperationModel(operations, uniqueDiagnostics([...scanDiagnostics, ...resolution]), resolution, byHandler);
241
+ : misplaced;
242
+ });
234
243
  }
235
244
  function groupedCollectors(collectors) {
236
245
  const grouped = new Map();
@@ -461,7 +470,7 @@ function uniqueDiagnostics(diagnostics) {
461
470
  });
462
471
  }
463
472
  /** The contract of every operation a handler serves — the three producers, merged once. */
464
- export function resolveContracts(handler, overrides, collectorTypeNames) {
473
+ function resolveContracts(handler, overrides, collectorTypeNames) {
465
474
  const declared = handler.ctor.__ops ?? {};
466
475
  const contracts = new Map(Object.entries(declared));
467
476
  for (const [opName, scanned] of handler.operations) {
@@ -1 +1 @@
1
- {"version":3,"file":"EffectiveOperationModel.js","sourceRoot":"","sources":["../src/EffectiveOperationModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EffectiveOperationModel.js","sourceRoot":"","sources":["../src/EffectiveOperationModel.ts"],"names":[],"mappings":"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"}