@fougere/core 0.9.3-alpha.0 → 0.11.0-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 (1031) hide show
  1. package/dist/AdapterConfig.d.ts +10 -0
  2. package/dist/AdapterConfig.d.ts.map +1 -0
  3. package/dist/AdapterConfig.js +3 -0
  4. package/dist/AdapterConfig.js.map +1 -0
  5. package/dist/AnswerFor.d.ts +5 -0
  6. package/dist/AnswerFor.d.ts.map +1 -0
  7. package/dist/AnswerFor.js +2 -0
  8. package/dist/AnswerFor.js.map +1 -0
  9. package/dist/Binding.d.ts +4 -0
  10. package/dist/Binding.d.ts.map +1 -0
  11. package/dist/Binding.js +2 -0
  12. package/dist/Binding.js.map +1 -0
  13. package/dist/{identity.d.ts → CallIdentity.d.ts} +4 -17
  14. package/dist/CallIdentity.d.ts.map +1 -0
  15. package/dist/{identity.js → CallIdentity.js} +3 -6
  16. package/dist/CallIdentity.js.map +1 -0
  17. package/dist/Constraint.d.ts +3 -0
  18. package/dist/Constraint.d.ts.map +1 -0
  19. package/dist/Constraint.js +2 -0
  20. package/dist/Constraint.js.map +1 -0
  21. package/dist/{conventions.d.ts → Conventions.d.ts} +14 -8
  22. package/dist/Conventions.d.ts.map +1 -0
  23. package/dist/{conventions.js → Conventions.js} +7 -3
  24. package/dist/Conventions.js.map +1 -0
  25. package/dist/ConventionsInput.d.ts +8 -0
  26. package/dist/ConventionsInput.d.ts.map +1 -0
  27. package/dist/ConventionsInput.js +2 -0
  28. package/dist/ConventionsInput.js.map +1 -0
  29. package/dist/Ctor.d.ts +3 -0
  30. package/dist/Ctor.d.ts.map +1 -0
  31. package/dist/Ctor.js +2 -0
  32. package/dist/Ctor.js.map +1 -0
  33. package/dist/Declared.d.ts +8 -0
  34. package/dist/Declared.d.ts.map +1 -0
  35. package/dist/Declared.js +2 -0
  36. package/dist/Declared.js.map +1 -0
  37. package/dist/DeclaredHandler.d.ts +18 -0
  38. package/dist/DeclaredHandler.d.ts.map +1 -0
  39. package/dist/DeclaredHandler.js +2 -0
  40. package/dist/DeclaredHandler.js.map +1 -0
  41. package/dist/DeclaredSubject.d.ts +7 -0
  42. package/dist/DeclaredSubject.d.ts.map +1 -0
  43. package/dist/DeclaredSubject.js +2 -0
  44. package/dist/DeclaredSubject.js.map +1 -0
  45. package/dist/{graph.d.ts → DomainCluster.d.ts} +3 -12
  46. package/dist/DomainCluster.d.ts.map +1 -0
  47. package/dist/{graph.js → DomainCluster.js} +1 -1
  48. package/dist/DomainCluster.js.map +1 -0
  49. package/dist/EffectiveCollector.d.ts +8 -0
  50. package/dist/EffectiveCollector.d.ts.map +1 -0
  51. package/dist/EffectiveCollector.js +2 -0
  52. package/dist/EffectiveCollector.js.map +1 -0
  53. package/dist/EffectiveOperation.d.ts +65 -0
  54. package/dist/EffectiveOperation.d.ts.map +1 -0
  55. package/dist/EffectiveOperation.js +2 -0
  56. package/dist/EffectiveOperation.js.map +1 -0
  57. package/dist/EffectiveOperationModel.d.ts +24 -0
  58. package/dist/EffectiveOperationModel.d.ts.map +1 -0
  59. package/dist/{effective-operation.js → EffectiveOperationModel.js} +9 -23
  60. package/dist/EffectiveOperationModel.js.map +1 -0
  61. package/dist/EffectiveOperationOptions.d.ts +7 -0
  62. package/dist/EffectiveOperationOptions.d.ts.map +1 -0
  63. package/dist/EffectiveOperationOptions.js +2 -0
  64. package/dist/EffectiveOperationOptions.js.map +1 -0
  65. package/dist/EffectiveOperationSemantics.d.ts +8 -0
  66. package/dist/EffectiveOperationSemantics.d.ts.map +1 -0
  67. package/dist/EffectiveOperationSemantics.js +8 -0
  68. package/dist/EffectiveOperationSemantics.js.map +1 -0
  69. package/dist/EffectiveOperationsMap.d.ts +3 -0
  70. package/dist/EffectiveOperationsMap.d.ts.map +1 -0
  71. package/dist/EffectiveOperationsMap.js +2 -0
  72. package/dist/EffectiveOperationsMap.js.map +1 -0
  73. package/dist/EffectiveParameter.d.ts +14 -0
  74. package/dist/EffectiveParameter.d.ts.map +1 -0
  75. package/dist/EffectiveParameter.js +2 -0
  76. package/dist/EffectiveParameter.js.map +1 -0
  77. package/dist/EntityNode.d.ts +7 -0
  78. package/dist/EntityNode.d.ts.map +1 -0
  79. package/dist/EntityNode.js +2 -0
  80. package/dist/EntityNode.js.map +1 -0
  81. package/dist/{config-loader.d.ts → FougereConfig.d.ts} +16 -16
  82. package/dist/FougereConfig.d.ts.map +1 -0
  83. package/dist/{config-loader.js → FougereConfig.js} +1 -2
  84. package/dist/FougereConfig.js.map +1 -0
  85. package/dist/FougereNames.d.ts +4 -0
  86. package/dist/FougereNames.d.ts.map +1 -0
  87. package/dist/FougereNames.js +2 -0
  88. package/dist/FougereNames.js.map +1 -0
  89. package/dist/FougerePorts.d.ts +9 -0
  90. package/dist/FougerePorts.d.ts.map +1 -0
  91. package/dist/FougerePorts.js +2 -0
  92. package/dist/FougerePorts.js.map +1 -0
  93. package/dist/FrondConfig.d.ts +36 -0
  94. package/dist/FrondConfig.d.ts.map +1 -0
  95. package/dist/{frond-config.js → FrondConfig.js} +1 -1
  96. package/dist/FrondConfig.js.map +1 -0
  97. package/dist/{declare.d.ts → FrondDeclaration.d.ts} +7 -29
  98. package/dist/FrondDeclaration.d.ts.map +1 -0
  99. package/dist/{declare.js → FrondDeclaration.js} +2 -3
  100. package/dist/FrondDeclaration.js.map +1 -0
  101. package/dist/FrondIdentity.d.ts +8 -0
  102. package/dist/FrondIdentity.d.ts.map +1 -0
  103. package/dist/FrondIdentity.js +2 -0
  104. package/dist/FrondIdentity.js.map +1 -0
  105. package/dist/NameOf.d.ts +10 -0
  106. package/dist/NameOf.d.ts.map +1 -0
  107. package/dist/NameOf.js +2 -0
  108. package/dist/NameOf.js.map +1 -0
  109. package/dist/OperationOverride.d.ts +38 -0
  110. package/dist/OperationOverride.d.ts.map +1 -0
  111. package/dist/OperationOverride.js +2 -0
  112. package/dist/OperationOverride.js.map +1 -0
  113. package/dist/PortChoice.d.ts +13 -0
  114. package/dist/PortChoice.d.ts.map +1 -0
  115. package/dist/PortChoice.js +2 -0
  116. package/dist/PortChoice.js.map +1 -0
  117. package/dist/{source.d.ts → Source.d.ts} +5 -24
  118. package/dist/Source.d.ts.map +1 -0
  119. package/dist/{source.js → Source.js} +5 -4
  120. package/dist/Source.js.map +1 -0
  121. package/dist/SourceConfig.d.ts +10 -0
  122. package/dist/SourceConfig.d.ts.map +1 -0
  123. package/dist/SourceConfig.js +2 -0
  124. package/dist/SourceConfig.js.map +1 -0
  125. package/dist/SourceView.d.ts +13 -0
  126. package/dist/SourceView.d.ts.map +1 -0
  127. package/dist/SourceView.js +2 -0
  128. package/dist/SourceView.js.map +1 -0
  129. package/dist/VerifiedCall.d.ts +8 -0
  130. package/dist/VerifiedCall.d.ts.map +1 -0
  131. package/dist/VerifiedCall.js +2 -0
  132. package/dist/VerifiedCall.js.map +1 -0
  133. package/dist/boot/App.d.ts +71 -0
  134. package/dist/boot/App.d.ts.map +1 -0
  135. package/dist/boot/App.js +2 -0
  136. package/dist/boot/App.js.map +1 -0
  137. package/dist/boot/AppLifecycle.d.ts +2 -19
  138. package/dist/boot/AppLifecycle.d.ts.map +1 -1
  139. package/dist/boot/AppLifecycle.js.map +1 -1
  140. package/dist/boot/AuthConfig.d.ts +14 -0
  141. package/dist/boot/AuthConfig.d.ts.map +1 -0
  142. package/dist/boot/AuthConfig.js +2 -0
  143. package/dist/boot/AuthConfig.js.map +1 -0
  144. package/dist/boot/AuthContext.d.ts +12 -0
  145. package/dist/boot/AuthContext.d.ts.map +1 -0
  146. package/dist/boot/AuthContext.js +2 -0
  147. package/dist/boot/AuthContext.js.map +1 -0
  148. package/dist/boot/AuthRuntime.d.ts +19 -0
  149. package/dist/boot/AuthRuntime.d.ts.map +1 -0
  150. package/dist/boot/AuthRuntime.js +2 -0
  151. package/dist/boot/AuthRuntime.js.map +1 -0
  152. package/dist/boot/CreateAppOptions.d.ts +81 -0
  153. package/dist/boot/CreateAppOptions.d.ts.map +1 -0
  154. package/dist/boot/CreateAppOptions.js +2 -0
  155. package/dist/boot/CreateAppOptions.js.map +1 -0
  156. package/dist/boot/Emissions.d.ts +11 -7
  157. package/dist/boot/Emissions.d.ts.map +1 -1
  158. package/dist/boot/Emissions.js +83 -45
  159. package/dist/boot/Emissions.js.map +1 -1
  160. package/dist/boot/Extension.d.ts +20 -0
  161. package/dist/boot/Extension.d.ts.map +1 -0
  162. package/dist/boot/Extension.js +2 -0
  163. package/dist/boot/Extension.js.map +1 -0
  164. package/dist/boot/Hosting.d.ts +38 -0
  165. package/dist/boot/Hosting.d.ts.map +1 -0
  166. package/dist/boot/Hosting.js +2 -0
  167. package/dist/boot/Hosting.js.map +1 -0
  168. package/dist/boot/Peer.d.ts +16 -0
  169. package/dist/boot/Peer.d.ts.map +1 -0
  170. package/dist/boot/Peer.js +2 -0
  171. package/dist/boot/Peer.js.map +1 -0
  172. package/dist/boot/apply.d.ts +1 -1
  173. package/dist/boot/apply.js +1 -1
  174. package/dist/boot/apply.js.map +1 -1
  175. package/dist/boot/bootstrap.d.ts +2 -1
  176. package/dist/boot/bootstrap.d.ts.map +1 -1
  177. package/dist/boot/bootstrap.js +196 -59
  178. package/dist/boot/bootstrap.js.map +1 -1
  179. package/dist/boot/card.d.ts +2 -2
  180. package/dist/boot/card.d.ts.map +1 -1
  181. package/dist/boot/card.js +11 -8
  182. package/dist/boot/card.js.map +1 -1
  183. package/dist/boot/declared.d.ts +2 -2
  184. package/dist/boot/declared.d.ts.map +1 -1
  185. package/dist/boot/declared.js +36 -4
  186. package/dist/boot/declared.js.map +1 -1
  187. package/dist/boot/frame.d.ts +1 -1
  188. package/dist/boot/frame.js +1 -1
  189. package/dist/boot/hosted.d.ts +1 -1
  190. package/dist/boot/hosted.d.ts.map +1 -1
  191. package/dist/boot/install.d.ts +21 -7
  192. package/dist/boot/install.d.ts.map +1 -1
  193. package/dist/boot/install.js +41 -27
  194. package/dist/boot/install.js.map +1 -1
  195. package/dist/boot/ownership.d.ts +7 -5
  196. package/dist/boot/ownership.d.ts.map +1 -1
  197. package/dist/boot/ownership.js +81 -40
  198. package/dist/boot/ownership.js.map +1 -1
  199. package/dist/boot/peerOver.d.ts +4 -0
  200. package/dist/boot/peerOver.d.ts.map +1 -0
  201. package/dist/boot/peerOver.js +12 -0
  202. package/dist/boot/peerOver.js.map +1 -0
  203. package/dist/boot/ports.d.ts +4 -3
  204. package/dist/boot/ports.d.ts.map +1 -1
  205. package/dist/boot/ports.js +48 -37
  206. package/dist/boot/ports.js.map +1 -1
  207. package/dist/boot/relations.d.ts +54 -0
  208. package/dist/boot/relations.d.ts.map +1 -0
  209. package/dist/boot/relations.js +150 -0
  210. package/dist/boot/relations.js.map +1 -0
  211. package/dist/boot/remote.d.ts +3 -8
  212. package/dist/boot/remote.d.ts.map +1 -1
  213. package/dist/boot/remote.js +19 -15
  214. package/dist/boot/remote.js.map +1 -1
  215. package/dist/boot/runner.d.ts +2 -2
  216. package/dist/boot/runner.d.ts.map +1 -1
  217. package/dist/boot/seed.d.ts +4 -3
  218. package/dist/boot/seed.d.ts.map +1 -1
  219. package/dist/boot/seed.js +6 -6
  220. package/dist/boot/seed.js.map +1 -1
  221. package/dist/boot/statement-drift.d.ts +4 -3
  222. package/dist/boot/statement-drift.d.ts.map +1 -1
  223. package/dist/boot/statement-drift.js.map +1 -1
  224. package/dist/boot/together.d.ts +11 -4
  225. package/dist/boot/together.d.ts.map +1 -1
  226. package/dist/boot/together.js +62 -28
  227. package/dist/boot/together.js.map +1 -1
  228. package/dist/builtin/Carry.d.ts +29 -0
  229. package/dist/builtin/Carry.d.ts.map +1 -0
  230. package/dist/builtin/Carry.js +46 -0
  231. package/dist/builtin/Carry.js.map +1 -0
  232. package/dist/builtin/LogLevel.d.ts +2 -0
  233. package/dist/builtin/LogLevel.d.ts.map +1 -0
  234. package/dist/builtin/LogLevel.js +2 -0
  235. package/dist/builtin/LogLevel.js.map +1 -0
  236. package/dist/builtin/LogRecord.d.ts +12 -0
  237. package/dist/builtin/LogRecord.d.ts.map +1 -0
  238. package/dist/builtin/LogRecord.js +2 -0
  239. package/dist/builtin/LogRecord.js.map +1 -0
  240. package/dist/builtin/LogSink.d.ts +4 -0
  241. package/dist/builtin/LogSink.d.ts.map +1 -0
  242. package/dist/builtin/LogSink.js +2 -0
  243. package/dist/builtin/LogSink.js.map +1 -0
  244. package/dist/builtin/Logger.d.ts +27 -0
  245. package/dist/builtin/Logger.d.ts.map +1 -0
  246. package/dist/builtin/{logger.js → Logger.js} +1 -47
  247. package/dist/builtin/Logger.js.map +1 -0
  248. package/dist/builtin/LoggerOptions.d.ts +14 -0
  249. package/dist/builtin/LoggerOptions.d.ts.map +1 -0
  250. package/dist/builtin/LoggerOptions.js +2 -0
  251. package/dist/builtin/LoggerOptions.js.map +1 -0
  252. package/dist/builtin/Rendered.d.ts +21 -0
  253. package/dist/builtin/Rendered.d.ts.map +1 -0
  254. package/dist/builtin/Rendered.js +2 -0
  255. package/dist/builtin/Rendered.js.map +1 -0
  256. package/dist/contract.d.ts +35 -13
  257. package/dist/contract.d.ts.map +1 -1
  258. package/dist/contract.js +9 -6
  259. package/dist/contract.js.map +1 -1
  260. package/dist/crypto/CryptoPort.d.ts +12 -0
  261. package/dist/crypto/CryptoPort.d.ts.map +1 -0
  262. package/dist/crypto/CryptoPort.js +2 -0
  263. package/dist/crypto/CryptoPort.js.map +1 -0
  264. package/dist/crypto/PublicJwk.d.ts +8 -0
  265. package/dist/crypto/PublicJwk.d.ts.map +1 -0
  266. package/dist/crypto/PublicJwk.js +2 -0
  267. package/dist/crypto/PublicJwk.js.map +1 -0
  268. package/dist/crypto/Signer.d.ts +5 -0
  269. package/dist/crypto/Signer.d.ts.map +1 -0
  270. package/dist/crypto/Signer.js +2 -0
  271. package/dist/crypto/Signer.js.map +1 -0
  272. package/dist/crypto/Verifier.d.ts +6 -0
  273. package/dist/crypto/Verifier.d.ts.map +1 -0
  274. package/dist/crypto/Verifier.js +2 -0
  275. package/dist/crypto/Verifier.js.map +1 -0
  276. package/dist/crypto/node.d.ts +4 -1
  277. package/dist/crypto/node.d.ts.map +1 -1
  278. package/dist/crypto/node.js.map +1 -1
  279. package/dist/crypto/webcrypto.d.ts +4 -1
  280. package/dist/crypto/webcrypto.d.ts.map +1 -1
  281. package/dist/crypto/webcrypto.js.map +1 -1
  282. package/dist/define.d.ts +1 -1
  283. package/dist/descriptor/CollectorEntry.d.ts +12 -0
  284. package/dist/descriptor/CollectorEntry.d.ts.map +1 -0
  285. package/dist/descriptor/CollectorEntry.js +2 -0
  286. package/dist/descriptor/CollectorEntry.js.map +1 -0
  287. package/dist/descriptor/EntityEntry.d.ts +13 -0
  288. package/dist/descriptor/EntityEntry.d.ts.map +1 -0
  289. package/dist/descriptor/EntityEntry.js +2 -0
  290. package/dist/descriptor/EntityEntry.js.map +1 -0
  291. package/dist/descriptor/ExtensionEntry.d.ts +20 -0
  292. package/dist/descriptor/ExtensionEntry.d.ts.map +1 -0
  293. package/dist/descriptor/ExtensionEntry.js +2 -0
  294. package/dist/descriptor/ExtensionEntry.js.map +1 -0
  295. package/dist/descriptor/FrondDescriptor.d.ts +61 -0
  296. package/dist/descriptor/FrondDescriptor.d.ts.map +1 -0
  297. package/dist/descriptor/{frond.js → FrondDescriptor.js} +1 -1
  298. package/dist/descriptor/FrondDescriptor.js.map +1 -0
  299. package/dist/descriptor/FrondSource.d.ts +8 -0
  300. package/dist/descriptor/FrondSource.d.ts.map +1 -0
  301. package/dist/descriptor/FrondSource.js +2 -0
  302. package/dist/descriptor/FrondSource.js.map +1 -0
  303. package/dist/descriptor/Fronds.d.ts +2 -1
  304. package/dist/descriptor/Fronds.d.ts.map +1 -1
  305. package/dist/descriptor/Fronds.js.map +1 -1
  306. package/dist/descriptor/HandlerEntry.d.ts +27 -0
  307. package/dist/descriptor/HandlerEntry.d.ts.map +1 -0
  308. package/dist/descriptor/HandlerEntry.js +2 -0
  309. package/dist/descriptor/HandlerEntry.js.map +1 -0
  310. package/dist/descriptor/MiddlewareEntry.d.ts +17 -0
  311. package/dist/descriptor/MiddlewareEntry.d.ts.map +1 -0
  312. package/dist/descriptor/MiddlewareEntry.js +2 -0
  313. package/dist/descriptor/MiddlewareEntry.js.map +1 -0
  314. package/dist/descriptor/PresenterEntry.d.ts +23 -0
  315. package/dist/descriptor/PresenterEntry.d.ts.map +1 -0
  316. package/dist/descriptor/PresenterEntry.js +2 -0
  317. package/dist/descriptor/PresenterEntry.js.map +1 -0
  318. package/dist/descriptor/PresenterFieldMeta.d.ts +14 -0
  319. package/dist/descriptor/PresenterFieldMeta.d.ts.map +1 -0
  320. package/dist/descriptor/PresenterFieldMeta.js +2 -0
  321. package/dist/descriptor/PresenterFieldMeta.js.map +1 -0
  322. package/dist/descriptor/ProviderEntry.d.ts +19 -0
  323. package/dist/descriptor/ProviderEntry.d.ts.map +1 -0
  324. package/dist/descriptor/ProviderEntry.js +2 -0
  325. package/dist/descriptor/ProviderEntry.js.map +1 -0
  326. package/dist/descriptor/SeedEntry.d.ts +11 -0
  327. package/dist/descriptor/SeedEntry.d.ts.map +1 -0
  328. package/dist/descriptor/SeedEntry.js +2 -0
  329. package/dist/descriptor/SeedEntry.js.map +1 -0
  330. package/dist/descriptor/SeedFactory.d.ts +3 -0
  331. package/dist/descriptor/SeedFactory.d.ts.map +1 -0
  332. package/dist/descriptor/SeedFactory.js +2 -0
  333. package/dist/descriptor/SeedFactory.js.map +1 -0
  334. package/dist/descriptor/bases.d.ts +17 -0
  335. package/dist/descriptor/bases.d.ts.map +1 -0
  336. package/dist/descriptor/bases.js +26 -0
  337. package/dist/descriptor/bases.js.map +1 -0
  338. package/dist/descriptor/index.d.ts +22 -6
  339. package/dist/descriptor/index.d.ts.map +1 -1
  340. package/dist/descriptor/index.js +19 -5
  341. package/dist/descriptor/index.js.map +1 -1
  342. package/dist/descriptor/surface.d.ts +3 -2
  343. package/dist/descriptor/surface.d.ts.map +1 -1
  344. package/dist/descriptor/surface.js +1 -1
  345. package/dist/descriptor/surface.js.map +1 -1
  346. package/dist/diagnostic.d.ts +33 -0
  347. package/dist/diagnostic.d.ts.map +1 -0
  348. package/dist/diagnostic.js +12 -0
  349. package/dist/diagnostic.js.map +1 -0
  350. package/dist/dispatch/ArgumentResolver.d.ts +2 -5
  351. package/dist/dispatch/ArgumentResolver.d.ts.map +1 -1
  352. package/dist/dispatch/ArgumentResolver.js.map +1 -1
  353. package/dist/dispatch/CollectorLookup.d.ts +3 -0
  354. package/dist/dispatch/CollectorLookup.d.ts.map +1 -0
  355. package/dist/dispatch/CollectorLookup.js +2 -0
  356. package/dist/dispatch/CollectorLookup.js.map +1 -0
  357. package/dist/dispatch/CollectorResolver.d.ts +5 -0
  358. package/dist/dispatch/CollectorResolver.d.ts.map +1 -0
  359. package/dist/dispatch/CollectorResolver.js +2 -0
  360. package/dist/dispatch/CollectorResolver.js.map +1 -0
  361. package/dist/dispatch/Dependent.d.ts +19 -0
  362. package/dist/dispatch/Dependent.d.ts.map +1 -0
  363. package/dist/dispatch/Dependent.js +2 -0
  364. package/dist/dispatch/Dependent.js.map +1 -0
  365. package/dist/dispatch/DispatchEvent.d.ts +3 -4
  366. package/dist/dispatch/DispatchEvent.d.ts.map +1 -1
  367. package/dist/dispatch/DispatchEvent.js.map +1 -1
  368. package/dist/dispatch/DispatchLifecycle.d.ts +2 -1
  369. package/dist/dispatch/DispatchLifecycle.d.ts.map +1 -1
  370. package/dist/dispatch/DispatchLifecycle.js.map +1 -1
  371. package/dist/dispatch/DispatchObserver.d.ts +3 -0
  372. package/dist/dispatch/DispatchObserver.d.ts.map +1 -0
  373. package/dist/dispatch/DispatchObserver.js +2 -0
  374. package/dist/dispatch/DispatchObserver.js.map +1 -0
  375. package/dist/dispatch/DispatchPort.d.ts +1 -1
  376. package/dist/dispatch/DispatchStage.d.ts +2 -0
  377. package/dist/dispatch/DispatchStage.d.ts.map +1 -0
  378. package/dist/dispatch/DispatchStage.js +2 -0
  379. package/dist/dispatch/DispatchStage.js.map +1 -0
  380. package/dist/dispatch/Dispatcher.d.ts +15 -2
  381. package/dist/dispatch/Dispatcher.d.ts.map +1 -1
  382. package/dist/dispatch/Dispatcher.js +36 -8
  383. package/dist/dispatch/Dispatcher.js.map +1 -1
  384. package/dist/dispatch/Facade.d.ts +25 -0
  385. package/dist/dispatch/Facade.d.ts.map +1 -0
  386. package/dist/dispatch/Facade.js +2 -0
  387. package/dist/dispatch/Facade.js.map +1 -0
  388. package/dist/dispatch/GuardReport.d.ts +9 -0
  389. package/dist/dispatch/GuardReport.d.ts.map +1 -0
  390. package/dist/dispatch/GuardReport.js +2 -0
  391. package/dist/dispatch/GuardReport.js.map +1 -0
  392. package/dist/dispatch/HandlerFacade.d.ts +9 -28
  393. package/dist/dispatch/HandlerFacade.d.ts.map +1 -1
  394. package/dist/dispatch/HandlerFacade.js +19 -19
  395. package/dist/dispatch/HandlerFacade.js.map +1 -1
  396. package/dist/dispatch/InFlight.d.ts.map +1 -1
  397. package/dist/dispatch/InFlight.js +2 -1
  398. package/dist/dispatch/InFlight.js.map +1 -1
  399. package/dist/dispatch/Journal.d.ts +25 -0
  400. package/dist/dispatch/Journal.d.ts.map +1 -0
  401. package/dist/dispatch/Journal.js +3 -0
  402. package/dist/dispatch/Journal.js.map +1 -0
  403. package/dist/dispatch/LocalRoutePolicy.d.ts +1 -1
  404. package/dist/dispatch/LocalRoutePolicy.d.ts.map +1 -1
  405. package/dist/dispatch/LocalRoutePolicy.js +2 -1
  406. package/dist/dispatch/LocalRoutePolicy.js.map +1 -1
  407. package/dist/dispatch/OperationRoute.d.ts +2 -2
  408. package/dist/dispatch/OperationRoute.d.ts.map +1 -1
  409. package/dist/dispatch/OperationRoute.js.map +1 -1
  410. package/dist/dispatch/PresenterArgs.d.ts +2 -0
  411. package/dist/dispatch/PresenterArgs.d.ts.map +1 -0
  412. package/dist/dispatch/PresenterArgs.js +2 -0
  413. package/dist/dispatch/PresenterArgs.js.map +1 -0
  414. package/dist/dispatch/PresenterExecutor.d.ts +1 -1
  415. package/dist/dispatch/PresenterExecutor.d.ts.map +1 -1
  416. package/dist/dispatch/PresenterExecutor.js +2 -1
  417. package/dist/dispatch/PresenterExecutor.js.map +1 -1
  418. package/dist/dispatch/RelationCheck.d.ts +22 -0
  419. package/dist/dispatch/RelationCheck.d.ts.map +1 -0
  420. package/dist/dispatch/RelationCheck.js +2 -0
  421. package/dist/dispatch/RelationCheck.js.map +1 -0
  422. package/dist/dispatch/Release.d.ts +36 -0
  423. package/dist/dispatch/Release.d.ts.map +1 -0
  424. package/dist/dispatch/Release.js +124 -0
  425. package/dist/dispatch/Release.js.map +1 -0
  426. package/dist/dispatch/Route.d.ts +3 -2
  427. package/dist/dispatch/Route.d.ts.map +1 -1
  428. package/dist/dispatch/RouteExecution.d.ts +3 -0
  429. package/dist/dispatch/RouteExecution.d.ts.map +1 -0
  430. package/dist/dispatch/RouteExecution.js +2 -0
  431. package/dist/dispatch/RouteExecution.js.map +1 -0
  432. package/dist/dispatch/RoutePolicy.d.ts +1 -1
  433. package/dist/dispatch/StorageGuard.d.ts +24 -13
  434. package/dist/dispatch/StorageGuard.d.ts.map +1 -1
  435. package/dist/dispatch/StorageGuard.js +69 -12
  436. package/dist/dispatch/StorageGuard.js.map +1 -1
  437. package/dist/dispatch/presenterArguments.d.ts +3 -3
  438. package/dist/dispatch/presenterArguments.d.ts.map +1 -1
  439. package/dist/dispatch/routeNotFound.d.ts +2 -2
  440. package/dist/dispatch/routeNotFound.d.ts.map +1 -1
  441. package/dist/dispatch/routeNotFound.js +2 -1
  442. package/dist/dispatch/routeNotFound.js.map +1 -1
  443. package/dist/dispatch/validateInput.d.ts +1 -1
  444. package/dist/dispatch/validateInput.d.ts.map +1 -1
  445. package/dist/dispatch/validateInput.js +2 -1
  446. package/dist/dispatch/validateInput.js.map +1 -1
  447. package/dist/entry/facade.js +1 -1
  448. package/dist/entry/transport.d.ts +1 -1
  449. package/dist/entry/transport.d.ts.map +1 -1
  450. package/dist/entry/transport.js +1 -1
  451. package/dist/index.d.ts +97 -33
  452. package/dist/index.d.ts.map +1 -1
  453. package/dist/index.js +20 -13
  454. package/dist/index.js.map +1 -1
  455. package/dist/node.d.ts +2 -2
  456. package/dist/node.d.ts.map +1 -1
  457. package/dist/node.js +2 -2
  458. package/dist/node.js.map +1 -1
  459. package/dist/prefab/AggregateConstructor.d.ts +8 -0
  460. package/dist/prefab/AggregateConstructor.d.ts.map +1 -0
  461. package/dist/prefab/AggregateConstructor.js +2 -0
  462. package/dist/prefab/AggregateConstructor.js.map +1 -0
  463. package/dist/prefab/AggregateOf.d.ts +7 -0
  464. package/dist/prefab/AggregateOf.d.ts.map +1 -0
  465. package/dist/prefab/AggregateOf.js +2 -0
  466. package/dist/prefab/AggregateOf.js.map +1 -0
  467. package/dist/prefab/AggregateShape.d.ts +9 -0
  468. package/dist/prefab/AggregateShape.d.ts.map +1 -0
  469. package/dist/prefab/AggregateShape.js +2 -0
  470. package/dist/prefab/AggregateShape.js.map +1 -0
  471. package/dist/prefab/{crud.d.ts → CrudConstructor.d.ts} +5 -21
  472. package/dist/prefab/CrudConstructor.d.ts.map +1 -0
  473. package/dist/prefab/{crud.js → CrudConstructor.js} +1 -1
  474. package/dist/prefab/CrudConstructor.js.map +1 -0
  475. package/dist/prefab/CrudOpName.d.ts +3 -0
  476. package/dist/prefab/CrudOpName.d.ts.map +1 -0
  477. package/dist/prefab/CrudOpName.js +2 -0
  478. package/dist/prefab/CrudOpName.js.map +1 -0
  479. package/dist/prefab/CrudOps.d.ts +20 -0
  480. package/dist/prefab/CrudOps.d.ts.map +1 -0
  481. package/dist/prefab/CrudOps.js +2 -0
  482. package/dist/prefab/CrudOps.js.map +1 -0
  483. package/dist/prefab/CrudViews.d.ts +5 -0
  484. package/dist/prefab/CrudViews.d.ts.map +1 -0
  485. package/dist/prefab/CrudViews.js +2 -0
  486. package/dist/prefab/CrudViews.js.map +1 -0
  487. package/dist/prefab/MirrorConstructor.d.ts +9 -0
  488. package/dist/prefab/MirrorConstructor.d.ts.map +1 -0
  489. package/dist/prefab/{mirror.js → MirrorConstructor.js} +1 -1
  490. package/dist/prefab/MirrorConstructor.js.map +1 -0
  491. package/dist/prefab/MirrorOf.d.ts +19 -0
  492. package/dist/prefab/MirrorOf.d.ts.map +1 -0
  493. package/dist/prefab/MirrorOf.js +2 -0
  494. package/dist/prefab/MirrorOf.js.map +1 -0
  495. package/dist/prefab/Refreshed.d.ts +10 -0
  496. package/dist/prefab/Refreshed.d.ts.map +1 -0
  497. package/dist/prefab/Refreshed.js +2 -0
  498. package/dist/prefab/Refreshed.js.map +1 -0
  499. package/dist/prefab/RepositoryConstructor.d.ts +15 -0
  500. package/dist/prefab/RepositoryConstructor.d.ts.map +1 -0
  501. package/dist/prefab/{repository.js → RepositoryConstructor.js} +1 -1
  502. package/dist/prefab/RepositoryConstructor.js.map +1 -0
  503. package/dist/prefab/RepositoryOf.d.ts +7 -0
  504. package/dist/prefab/RepositoryOf.d.ts.map +1 -0
  505. package/dist/prefab/RepositoryOf.js +2 -0
  506. package/dist/prefab/RepositoryOf.js.map +1 -0
  507. package/dist/scan.d.ts +3 -22
  508. package/dist/scan.d.ts.map +1 -1
  509. package/dist/storage/{criterion.d.ts → Comparison.d.ts} +2 -3
  510. package/dist/storage/Comparison.d.ts.map +1 -0
  511. package/dist/storage/{criterion.js → Comparison.js} +1 -2
  512. package/dist/storage/Comparison.js.map +1 -0
  513. package/dist/storage/ComparisonName.d.ts +3 -0
  514. package/dist/storage/ComparisonName.d.ts.map +1 -0
  515. package/dist/storage/ComparisonName.js +2 -0
  516. package/dist/storage/ComparisonName.js.map +1 -0
  517. package/dist/storage/ListOptions.d.ts +23 -0
  518. package/dist/storage/ListOptions.d.ts.map +1 -0
  519. package/dist/storage/ListOptions.js +2 -0
  520. package/dist/storage/ListOptions.js.map +1 -0
  521. package/dist/storage/ListResult.d.ts +10 -0
  522. package/dist/storage/ListResult.d.ts.map +1 -0
  523. package/dist/storage/ListResult.js +2 -0
  524. package/dist/storage/ListResult.js.map +1 -0
  525. package/dist/storage/SelectOption.d.ts +6 -0
  526. package/dist/storage/SelectOption.d.ts.map +1 -0
  527. package/dist/storage/SelectOption.js +2 -0
  528. package/dist/storage/SelectOption.js.map +1 -0
  529. package/dist/storage/{port.d.ts → Storage.d.ts} +4 -47
  530. package/dist/storage/Storage.d.ts.map +1 -0
  531. package/dist/storage/{port.js → Storage.js} +1 -1
  532. package/dist/storage/Storage.js.map +1 -0
  533. package/dist/storage/StorageFactory.d.ts +8 -0
  534. package/dist/storage/StorageFactory.d.ts.map +1 -0
  535. package/dist/storage/StorageFactory.js +2 -0
  536. package/dist/storage/StorageFactory.js.map +1 -0
  537. package/dist/storage/{store.d.ts → Store.d.ts} +3 -5
  538. package/dist/storage/Store.d.ts.map +1 -0
  539. package/dist/storage/{store.js → Store.js} +3 -4
  540. package/dist/storage/Store.js.map +1 -0
  541. package/dist/storage/Together.d.ts +8 -0
  542. package/dist/storage/Together.d.ts.map +1 -0
  543. package/dist/storage/Together.js +2 -0
  544. package/dist/storage/Together.js.map +1 -0
  545. package/dist/storage/Values.d.ts +3 -0
  546. package/dist/storage/Values.d.ts.map +1 -0
  547. package/dist/storage/Values.js +2 -0
  548. package/dist/storage/Values.js.map +1 -0
  549. package/dist/verify.d.ts +6 -15
  550. package/dist/verify.d.ts.map +1 -1
  551. package/dist/verify.js +5 -5
  552. package/dist/verify.js.map +1 -1
  553. package/dist/wire/Addresses.d.ts +16 -0
  554. package/dist/wire/Addresses.d.ts.map +1 -0
  555. package/dist/wire/Addresses.js +2 -0
  556. package/dist/wire/Addresses.js.map +1 -0
  557. package/dist/wire/Answer.d.ts +3 -0
  558. package/dist/wire/Answer.d.ts.map +1 -0
  559. package/dist/wire/Answer.js +2 -0
  560. package/dist/wire/Answer.js.map +1 -0
  561. package/dist/wire/AnyHandler.d.ts +3 -0
  562. package/dist/wire/AnyHandler.d.ts.map +1 -0
  563. package/dist/wire/AnyHandler.js +2 -0
  564. package/dist/wire/AnyHandler.js.map +1 -0
  565. package/dist/wire/AppMiddleware.d.ts +8 -0
  566. package/dist/wire/AppMiddleware.d.ts.map +1 -0
  567. package/dist/wire/{middleware.js → AppMiddleware.js} +1 -2
  568. package/dist/wire/AppMiddleware.js.map +1 -0
  569. package/dist/wire/AppNext.d.ts +2 -0
  570. package/dist/wire/AppNext.d.ts.map +1 -0
  571. package/dist/wire/AppNext.js +2 -0
  572. package/dist/wire/AppNext.js.map +1 -0
  573. package/dist/wire/Call.d.ts +10 -0
  574. package/dist/wire/Call.d.ts.map +1 -0
  575. package/dist/wire/Call.js +12 -0
  576. package/dist/wire/Call.js.map +1 -0
  577. package/dist/wire/CallPage.d.ts +9 -0
  578. package/dist/wire/CallPage.d.ts.map +1 -0
  579. package/dist/wire/CallPage.js +2 -0
  580. package/dist/wire/CallPage.js.map +1 -0
  581. package/dist/wire/{CallLog.d.ts → CallRecord.d.ts} +3 -10
  582. package/dist/wire/CallRecord.d.ts.map +1 -0
  583. package/dist/wire/CallRecord.js +2 -0
  584. package/dist/wire/CallRecord.js.map +1 -0
  585. package/dist/wire/{emit.d.ts → Emit.d.ts} +10 -18
  586. package/dist/wire/Emit.d.ts.map +1 -0
  587. package/dist/wire/{emit.js → Emit.js} +17 -6
  588. package/dist/wire/Emit.js.map +1 -0
  589. package/dist/wire/ErrorCode.d.ts +23 -0
  590. package/dist/wire/ErrorCode.d.ts.map +1 -0
  591. package/dist/wire/ErrorCode.js +30 -0
  592. package/dist/wire/ErrorCode.js.map +1 -0
  593. package/dist/wire/Facade.d.ts +10 -0
  594. package/dist/wire/Facade.d.ts.map +1 -0
  595. package/dist/wire/Facade.js +9 -0
  596. package/dist/wire/Facade.js.map +1 -0
  597. package/dist/wire/FacadeName.d.ts +14 -0
  598. package/dist/wire/FacadeName.d.ts.map +1 -0
  599. package/dist/wire/FacadeName.js +2 -0
  600. package/dist/wire/FacadeName.js.map +1 -0
  601. package/dist/wire/Fact.d.ts +9 -0
  602. package/dist/wire/Fact.d.ts.map +1 -0
  603. package/dist/wire/Fact.js +2 -0
  604. package/dist/wire/Fact.js.map +1 -0
  605. package/dist/wire/FougereError.d.ts +35 -0
  606. package/dist/wire/FougereError.d.ts.map +1 -0
  607. package/dist/wire/{errors.js → FougereError.js} +9 -32
  608. package/dist/wire/FougereError.js.map +1 -0
  609. package/dist/wire/FougereErrorOptions.d.ts +10 -0
  610. package/dist/wire/FougereErrorOptions.d.ts.map +1 -0
  611. package/dist/wire/FougereErrorOptions.js +2 -0
  612. package/dist/wire/FougereErrorOptions.js.map +1 -0
  613. package/dist/wire/FougereHandlers.d.ts +10 -0
  614. package/dist/wire/FougereHandlers.d.ts.map +1 -0
  615. package/dist/wire/FougereHandlers.js +2 -0
  616. package/dist/wire/FougereHandlers.js.map +1 -0
  617. package/dist/wire/FougereOperations.d.ts +4 -0
  618. package/dist/wire/FougereOperations.d.ts.map +1 -0
  619. package/dist/wire/FougereOperations.js +2 -0
  620. package/dist/wire/FougereOperations.js.map +1 -0
  621. package/dist/wire/FrondCall.d.ts +10 -0
  622. package/dist/wire/FrondCall.d.ts.map +1 -0
  623. package/dist/wire/FrondCall.js +2 -0
  624. package/dist/wire/FrondCall.js.map +1 -0
  625. package/dist/wire/HandlerOf.d.ts +10 -0
  626. package/dist/wire/HandlerOf.d.ts.map +1 -0
  627. package/dist/wire/HandlerOf.js +2 -0
  628. package/dist/wire/HandlerOf.js.map +1 -0
  629. package/dist/wire/Invocation.d.ts +4 -11
  630. package/dist/wire/Invocation.d.ts.map +1 -1
  631. package/dist/wire/Invocation.js +4 -1
  632. package/dist/wire/Invocation.js.map +1 -1
  633. package/dist/wire/InvocationContext.d.ts +12 -0
  634. package/dist/wire/InvocationContext.d.ts.map +1 -0
  635. package/dist/wire/InvocationContext.js +2 -0
  636. package/dist/wire/InvocationContext.js.map +1 -0
  637. package/dist/wire/{middleware.d.ts → OperationContext.d.ts} +2 -9
  638. package/dist/wire/OperationContext.d.ts.map +1 -0
  639. package/dist/wire/OperationContext.js +2 -0
  640. package/dist/wire/OperationContext.js.map +1 -0
  641. package/dist/wire/{operation.d.ts → OperationContract.d.ts} +15 -12
  642. package/dist/wire/OperationContract.d.ts.map +1 -0
  643. package/dist/wire/{operation.js → OperationContract.js} +1 -1
  644. package/dist/wire/OperationContract.js.map +1 -0
  645. package/dist/wire/OperationKind.d.ts +2 -0
  646. package/dist/wire/OperationKind.d.ts.map +1 -0
  647. package/dist/wire/OperationKind.js +2 -0
  648. package/dist/wire/OperationKind.js.map +1 -0
  649. package/dist/wire/OperationKindInference.d.ts +8 -0
  650. package/dist/wire/OperationKindInference.d.ts.map +1 -0
  651. package/dist/wire/OperationKindInference.js +2 -0
  652. package/dist/wire/OperationKindInference.js.map +1 -0
  653. package/dist/wire/OperationsMap.d.ts +7 -0
  654. package/dist/wire/OperationsMap.d.ts.map +1 -0
  655. package/dist/wire/OperationsMap.js +7 -0
  656. package/dist/wire/OperationsMap.js.map +1 -0
  657. package/dist/wire/Param.d.ts +8 -0
  658. package/dist/wire/Param.d.ts.map +1 -0
  659. package/dist/wire/Param.js +2 -0
  660. package/dist/wire/Param.js.map +1 -0
  661. package/dist/wire/PartialInvocation.d.ts +3 -0
  662. package/dist/wire/PartialInvocation.d.ts.map +1 -0
  663. package/dist/wire/PartialInvocation.js +2 -0
  664. package/dist/wire/PartialInvocation.js.map +1 -0
  665. package/dist/wire/Pipe.d.ts +10 -0
  666. package/dist/wire/Pipe.d.ts.map +1 -0
  667. package/dist/wire/Pipe.js +2 -0
  668. package/dist/wire/Pipe.js.map +1 -0
  669. package/dist/wire/Refused.d.ts +10 -0
  670. package/dist/wire/Refused.d.ts.map +1 -0
  671. package/dist/wire/Refused.js +2 -0
  672. package/dist/wire/Refused.js.map +1 -0
  673. package/dist/wire/RouteAddress.d.ts +1 -7
  674. package/dist/wire/RouteAddress.d.ts.map +1 -1
  675. package/dist/wire/RouteAddress.js.map +1 -1
  676. package/dist/wire/RouteAddressInput.d.ts +6 -0
  677. package/dist/wire/RouteAddressInput.d.ts.map +1 -0
  678. package/dist/wire/RouteAddressInput.js +2 -0
  679. package/dist/wire/RouteAddressInput.js.map +1 -0
  680. package/dist/wire/RouteKind.d.ts +3 -0
  681. package/dist/wire/RouteKind.d.ts.map +1 -0
  682. package/dist/wire/RouteKind.js +2 -0
  683. package/dist/wire/RouteKind.js.map +1 -0
  684. package/dist/wire/Rows.d.ts +8 -0
  685. package/dist/wire/Rows.d.ts.map +1 -0
  686. package/dist/wire/Rows.js +2 -0
  687. package/dist/wire/Rows.js.map +1 -0
  688. package/dist/wire/RpcAnswer.d.ts +6 -0
  689. package/dist/wire/RpcAnswer.d.ts.map +1 -0
  690. package/dist/wire/RpcAnswer.js +3 -0
  691. package/dist/wire/RpcAnswer.js.map +1 -0
  692. package/dist/wire/Signature.d.ts +13 -0
  693. package/dist/wire/Signature.d.ts.map +1 -0
  694. package/dist/wire/Signature.js +2 -0
  695. package/dist/wire/Signature.js.map +1 -0
  696. package/dist/wire/SignedCall.d.ts +14 -0
  697. package/dist/wire/SignedCall.d.ts.map +1 -0
  698. package/dist/wire/SignedCall.js +3 -0
  699. package/dist/wire/SignedCall.js.map +1 -0
  700. package/dist/wire/Transport.d.ts +5 -0
  701. package/dist/wire/Transport.d.ts.map +1 -0
  702. package/dist/wire/Transport.js +2 -0
  703. package/dist/wire/Transport.js.map +1 -0
  704. package/dist/wire/{signature.d.ts → TypeRef.d.ts} +1 -17
  705. package/dist/wire/TypeRef.d.ts.map +1 -0
  706. package/dist/wire/TypeRef.js +2 -0
  707. package/dist/wire/TypeRef.js.map +1 -0
  708. package/dist/wire/binding.d.ts +1 -1
  709. package/dist/wire/binding.d.ts.map +1 -1
  710. package/dist/wire/card/CardOp.d.ts +22 -0
  711. package/dist/wire/card/CardOp.d.ts.map +1 -0
  712. package/dist/wire/card/CardOp.js +2 -0
  713. package/dist/wire/card/CardOp.js.map +1 -0
  714. package/dist/wire/card/IdentityCard.d.ts +22 -0
  715. package/dist/wire/card/IdentityCard.d.ts.map +1 -0
  716. package/dist/wire/card/IdentityCard.js +25 -0
  717. package/dist/wire/card/IdentityCard.js.map +1 -0
  718. package/dist/wire/drift.d.ts +6 -6
  719. package/dist/wire/drift.d.ts.map +1 -1
  720. package/dist/wire/drift.js +18 -18
  721. package/dist/wire/drift.js.map +1 -1
  722. package/dist/wire/http-error.d.ts +1 -2
  723. package/dist/wire/http-error.d.ts.map +1 -1
  724. package/dist/wire/http-error.js +4 -3
  725. package/dist/wire/http-error.js.map +1 -1
  726. package/dist/wire/loggerMiddleware.d.ts +2 -2
  727. package/dist/wire/loggerMiddleware.d.ts.map +1 -1
  728. package/dist/wire/refusals.d.ts +33 -0
  729. package/dist/wire/refusals.d.ts.map +1 -0
  730. package/dist/wire/refusals.js +44 -0
  731. package/dist/wire/refusals.js.map +1 -0
  732. package/dist/wire/topology/DeclaredEdge.d.ts +6 -0
  733. package/dist/wire/topology/DeclaredEdge.d.ts.map +1 -0
  734. package/dist/wire/topology/DeclaredEdge.js +2 -0
  735. package/dist/wire/topology/DeclaredEdge.js.map +1 -0
  736. package/dist/wire/topology/DeclaredFrond.d.ts +11 -0
  737. package/dist/wire/topology/DeclaredFrond.d.ts.map +1 -0
  738. package/dist/wire/topology/DeclaredFrond.js +2 -0
  739. package/dist/wire/topology/DeclaredFrond.js.map +1 -0
  740. package/dist/wire/topology/DeclaredTopology.d.ts +12 -0
  741. package/dist/wire/topology/DeclaredTopology.d.ts.map +1 -0
  742. package/dist/wire/topology/DeclaredTopology.js +2 -0
  743. package/dist/wire/topology/DeclaredTopology.js.map +1 -0
  744. package/dist/wire/topology/Edge.d.ts +8 -0
  745. package/dist/wire/topology/Edge.d.ts.map +1 -0
  746. package/dist/wire/topology/Edge.js +2 -0
  747. package/dist/wire/topology/Edge.js.map +1 -0
  748. package/dist/wire/topology/FrondPlacement.d.ts +8 -0
  749. package/dist/wire/topology/FrondPlacement.d.ts.map +1 -0
  750. package/dist/wire/topology/FrondPlacement.js +2 -0
  751. package/dist/wire/topology/FrondPlacement.js.map +1 -0
  752. package/dist/wire/topology/TopologyReport.d.ts +14 -0
  753. package/dist/wire/topology/TopologyReport.d.ts.map +1 -0
  754. package/dist/wire/topology/TopologyReport.js +2 -0
  755. package/dist/wire/topology/TopologyReport.js.map +1 -0
  756. package/package.json +4 -4
  757. package/src/AdapterConfig.ts +11 -0
  758. package/src/AnswerFor.ts +7 -0
  759. package/src/Binding.ts +4 -0
  760. package/src/{identity.ts → CallIdentity.ts} +9 -25
  761. package/src/Constraint.ts +2 -0
  762. package/src/{conventions.ts → Conventions.ts} +20 -9
  763. package/src/ConventionsInput.ts +8 -0
  764. package/src/Ctor.ts +2 -0
  765. package/src/Declared.ts +8 -0
  766. package/src/DeclaredHandler.ts +18 -0
  767. package/src/DeclaredSubject.ts +6 -0
  768. package/src/{graph.ts → DomainCluster.ts} +2 -12
  769. package/src/EffectiveCollector.ts +7 -0
  770. package/src/EffectiveOperation.ts +62 -0
  771. package/src/{effective-operation.ts → EffectiveOperationModel.ts} +28 -125
  772. package/src/EffectiveOperationOptions.ts +7 -0
  773. package/src/EffectiveOperationSemantics.ts +7 -0
  774. package/src/EffectiveOperationsMap.ts +3 -0
  775. package/src/EffectiveParameter.ts +13 -0
  776. package/src/EntityNode.ts +6 -0
  777. package/src/{config-loader.ts → FougereConfig.ts} +15 -20
  778. package/src/FougereNames.ts +2 -0
  779. package/src/FougerePorts.ts +7 -0
  780. package/src/{frond-config.ts → FrondConfig.ts} +8 -46
  781. package/src/{declare.ts → FrondDeclaration.ts} +14 -35
  782. package/src/FrondIdentity.ts +7 -0
  783. package/src/NameOf.ts +12 -0
  784. package/src/OperationOverride.ts +38 -0
  785. package/src/PortChoice.ts +13 -0
  786. package/src/{source.ts → Source.ts} +7 -23
  787. package/src/SourceConfig.ts +10 -0
  788. package/src/SourceView.ts +7 -0
  789. package/src/VerifiedCall.ts +7 -0
  790. package/src/boot/App.ts +71 -0
  791. package/src/boot/AppLifecycle.ts +2 -20
  792. package/src/boot/AuthConfig.ts +14 -0
  793. package/src/boot/AuthContext.ts +12 -0
  794. package/src/boot/AuthRuntime.ts +19 -0
  795. package/src/boot/CreateAppOptions.ts +81 -0
  796. package/src/boot/Emissions.ts +86 -56
  797. package/src/boot/Extension.ts +20 -0
  798. package/src/boot/Hosting.ts +38 -0
  799. package/src/boot/Peer.ts +15 -0
  800. package/src/boot/apply.ts +2 -2
  801. package/src/boot/bootstrap.ts +240 -87
  802. package/src/boot/card.ts +15 -11
  803. package/src/boot/declared.ts +40 -5
  804. package/src/boot/frame.ts +2 -2
  805. package/src/boot/hosted.ts +1 -1
  806. package/src/boot/install.ts +65 -33
  807. package/src/boot/ownership.ts +92 -52
  808. package/src/boot/peerOver.ts +17 -0
  809. package/src/boot/ports.ts +52 -41
  810. package/src/boot/relations.ts +172 -0
  811. package/src/boot/remote.ts +24 -17
  812. package/src/boot/runner.ts +2 -2
  813. package/src/boot/seed.ts +12 -10
  814. package/src/boot/statement-drift.ts +6 -5
  815. package/src/boot/together.ts +82 -38
  816. package/src/builtin/Carry.ts +49 -0
  817. package/src/builtin/LogLevel.ts +1 -0
  818. package/src/builtin/LogRecord.ts +12 -0
  819. package/src/builtin/LogSink.ts +4 -0
  820. package/src/builtin/{logger.ts → Logger.ts} +5 -98
  821. package/src/builtin/LoggerOptions.ts +14 -0
  822. package/src/builtin/Rendered.ts +21 -0
  823. package/src/contract.ts +36 -16
  824. package/src/crypto/CryptoPort.ts +12 -0
  825. package/src/crypto/PublicJwk.ts +7 -0
  826. package/src/crypto/Signer.ts +4 -0
  827. package/src/crypto/Verifier.ts +5 -0
  828. package/src/crypto/node.ts +4 -1
  829. package/src/crypto/webcrypto.ts +4 -1
  830. package/src/define.ts +1 -1
  831. package/src/descriptor/CollectorEntry.ts +11 -0
  832. package/src/descriptor/EntityEntry.ts +13 -0
  833. package/src/descriptor/ExtensionEntry.ts +15 -0
  834. package/src/descriptor/FrondDescriptor.ts +58 -0
  835. package/src/descriptor/FrondSource.ts +7 -0
  836. package/src/descriptor/Fronds.ts +2 -1
  837. package/src/descriptor/HandlerEntry.ts +27 -0
  838. package/src/descriptor/MiddlewareEntry.ts +16 -0
  839. package/src/descriptor/PresenterEntry.ts +23 -0
  840. package/src/descriptor/PresenterFieldMeta.ts +14 -0
  841. package/src/descriptor/ProviderEntry.ts +18 -0
  842. package/src/descriptor/SeedEntry.ts +11 -0
  843. package/src/descriptor/SeedFactory.ts +2 -0
  844. package/src/descriptor/bases.ts +30 -0
  845. package/src/descriptor/index.ts +24 -6
  846. package/src/descriptor/surface.ts +3 -2
  847. package/src/diagnostic.ts +41 -0
  848. package/src/dispatch/ArgumentResolver.ts +2 -7
  849. package/src/dispatch/CollectorLookup.ts +3 -0
  850. package/src/dispatch/CollectorResolver.ts +5 -0
  851. package/src/dispatch/Dependent.ts +19 -0
  852. package/src/dispatch/DispatchEvent.ts +3 -6
  853. package/src/dispatch/DispatchLifecycle.ts +2 -1
  854. package/src/dispatch/DispatchObserver.ts +3 -0
  855. package/src/dispatch/DispatchPort.ts +1 -1
  856. package/src/dispatch/DispatchStage.ts +1 -0
  857. package/src/dispatch/Dispatcher.ts +44 -8
  858. package/src/dispatch/Facade.ts +25 -0
  859. package/src/dispatch/GuardReport.ts +9 -0
  860. package/src/dispatch/HandlerFacade.ts +28 -46
  861. package/src/dispatch/InFlight.ts +2 -1
  862. package/src/dispatch/Journal.ts +26 -0
  863. package/src/dispatch/LocalRoutePolicy.ts +3 -2
  864. package/src/dispatch/OperationRoute.ts +2 -3
  865. package/src/dispatch/PresenterArgs.ts +1 -0
  866. package/src/dispatch/PresenterExecutor.ts +3 -3
  867. package/src/dispatch/RelationCheck.ts +21 -0
  868. package/src/dispatch/Release.ts +156 -0
  869. package/src/dispatch/Route.ts +3 -2
  870. package/src/dispatch/RouteExecution.ts +3 -0
  871. package/src/dispatch/RoutePolicy.ts +1 -1
  872. package/src/dispatch/StorageGuard.ts +75 -19
  873. package/src/dispatch/presenterArguments.ts +3 -3
  874. package/src/dispatch/routeNotFound.ts +3 -2
  875. package/src/dispatch/validateInput.ts +3 -2
  876. package/src/entry/facade.ts +2 -2
  877. package/src/entry/transport.ts +2 -2
  878. package/src/index.ts +101 -52
  879. package/src/node.ts +2 -2
  880. package/src/prefab/AggregateConstructor.ts +9 -0
  881. package/src/prefab/AggregateOf.ts +6 -0
  882. package/src/prefab/AggregateShape.ts +7 -0
  883. package/src/prefab/{crud.ts → CrudConstructor.ts} +10 -18
  884. package/src/prefab/CrudOpName.ts +2 -0
  885. package/src/prefab/CrudOps.ts +24 -0
  886. package/src/prefab/CrudViews.ts +5 -0
  887. package/src/prefab/MirrorConstructor.ts +35 -0
  888. package/src/prefab/MirrorOf.ts +19 -0
  889. package/src/prefab/Refreshed.ts +9 -0
  890. package/src/prefab/{repository.ts → RepositoryConstructor.ts} +8 -24
  891. package/src/prefab/RepositoryOf.ts +7 -0
  892. package/src/scan.ts +3 -23
  893. package/src/storage/{criterion.ts → Comparison.ts} +1 -3
  894. package/src/storage/ComparisonName.ts +3 -0
  895. package/src/storage/ListOptions.ts +29 -0
  896. package/src/storage/ListResult.ts +9 -0
  897. package/src/storage/SelectOption.ts +6 -0
  898. package/src/storage/{port.ts → Storage.ts} +5 -56
  899. package/src/storage/StorageFactory.ts +8 -0
  900. package/src/storage/{store.ts → Store.ts} +5 -7
  901. package/src/storage/Together.ts +6 -0
  902. package/src/storage/Values.ts +2 -0
  903. package/src/verify.ts +12 -21
  904. package/src/wire/Addresses.ts +17 -0
  905. package/src/wire/Answer.ts +3 -0
  906. package/src/wire/AnyHandler.ts +2 -0
  907. package/src/wire/AppMiddleware.ts +24 -0
  908. package/src/wire/AppNext.ts +1 -0
  909. package/src/wire/Call.ts +15 -0
  910. package/src/wire/CallPage.ts +9 -0
  911. package/src/wire/{CallLog.ts → CallRecord.ts} +2 -10
  912. package/src/wire/{emit.ts → Emit.ts} +24 -24
  913. package/src/wire/ErrorCode.ts +33 -0
  914. package/src/wire/Facade.ts +28 -0
  915. package/src/wire/FacadeName.ts +13 -0
  916. package/src/wire/Fact.ts +8 -0
  917. package/src/wire/{errors.ts → FougereError.ts} +14 -53
  918. package/src/wire/FougereErrorOptions.ts +10 -0
  919. package/src/wire/FougereHandlers.ts +8 -0
  920. package/src/wire/FougereOperations.ts +2 -0
  921. package/src/wire/FrondCall.ts +9 -0
  922. package/src/wire/HandlerOf.ts +10 -0
  923. package/src/wire/Invocation.ts +5 -12
  924. package/src/wire/InvocationContext.ts +11 -0
  925. package/src/wire/OperationContext.ts +18 -0
  926. package/src/wire/{operation.ts → OperationContract.ts} +14 -23
  927. package/src/wire/OperationKind.ts +1 -0
  928. package/src/wire/OperationKindInference.ts +8 -0
  929. package/src/wire/OperationsMap.ts +14 -0
  930. package/src/wire/Param.ts +8 -0
  931. package/src/wire/PartialInvocation.ts +3 -0
  932. package/src/wire/Pipe.ts +9 -0
  933. package/src/wire/Refused.ts +13 -0
  934. package/src/wire/RouteAddress.ts +1 -8
  935. package/src/wire/RouteAddressInput.ts +5 -0
  936. package/src/wire/RouteKind.ts +2 -0
  937. package/src/wire/Rows.ts +7 -0
  938. package/src/wire/RpcAnswer.ts +7 -0
  939. package/src/wire/Signature.ts +13 -0
  940. package/src/wire/SignedCall.ts +14 -0
  941. package/src/wire/Transport.ts +5 -0
  942. package/src/wire/{signature.ts → TypeRef.ts} +0 -18
  943. package/src/wire/binding.ts +1 -1
  944. package/src/wire/card/CardOp.ts +22 -0
  945. package/src/wire/card/IdentityCard.ts +41 -0
  946. package/src/wire/drift.ts +22 -22
  947. package/src/wire/http-error.ts +4 -3
  948. package/src/wire/loggerMiddleware.ts +2 -2
  949. package/src/wire/refusals.ts +55 -0
  950. package/src/wire/topology/DeclaredEdge.ts +5 -0
  951. package/src/wire/topology/DeclaredFrond.ts +10 -0
  952. package/src/wire/topology/DeclaredTopology.ts +12 -0
  953. package/src/wire/topology/Edge.ts +7 -0
  954. package/src/wire/topology/FrondPlacement.ts +7 -0
  955. package/src/wire/topology/TopologyReport.ts +14 -0
  956. package/dist/boot/auth.d.ts +0 -43
  957. package/dist/boot/auth.d.ts.map +0 -1
  958. package/dist/boot/auth.js +0 -2
  959. package/dist/boot/auth.js.map +0 -1
  960. package/dist/boot/types.d.ts +0 -147
  961. package/dist/boot/types.d.ts.map +0 -1
  962. package/dist/boot/types.js +0 -2
  963. package/dist/boot/types.js.map +0 -1
  964. package/dist/builtin/logger.d.ts +0 -96
  965. package/dist/builtin/logger.d.ts.map +0 -1
  966. package/dist/builtin/logger.js.map +0 -1
  967. package/dist/config-loader.d.ts.map +0 -1
  968. package/dist/config-loader.js.map +0 -1
  969. package/dist/conventions.d.ts.map +0 -1
  970. package/dist/conventions.js.map +0 -1
  971. package/dist/crypto/port.d.ts +0 -26
  972. package/dist/crypto/port.d.ts.map +0 -1
  973. package/dist/crypto/port.js +0 -3
  974. package/dist/crypto/port.js.map +0 -1
  975. package/dist/declare.d.ts.map +0 -1
  976. package/dist/declare.js.map +0 -1
  977. package/dist/descriptor/frond.d.ts +0 -187
  978. package/dist/descriptor/frond.d.ts.map +0 -1
  979. package/dist/descriptor/frond.js.map +0 -1
  980. package/dist/effective-operation.d.ts +0 -113
  981. package/dist/effective-operation.d.ts.map +0 -1
  982. package/dist/effective-operation.js.map +0 -1
  983. package/dist/frond-config.d.ts +0 -71
  984. package/dist/frond-config.d.ts.map +0 -1
  985. package/dist/frond-config.js.map +0 -1
  986. package/dist/graph.d.ts.map +0 -1
  987. package/dist/graph.js.map +0 -1
  988. package/dist/identity.d.ts.map +0 -1
  989. package/dist/identity.js.map +0 -1
  990. package/dist/prefab/crud.d.ts.map +0 -1
  991. package/dist/prefab/crud.js.map +0 -1
  992. package/dist/prefab/mirror.d.ts +0 -33
  993. package/dist/prefab/mirror.d.ts.map +0 -1
  994. package/dist/prefab/mirror.js.map +0 -1
  995. package/dist/prefab/repository.d.ts +0 -40
  996. package/dist/prefab/repository.d.ts.map +0 -1
  997. package/dist/prefab/repository.js.map +0 -1
  998. package/dist/source.d.ts.map +0 -1
  999. package/dist/source.js.map +0 -1
  1000. package/dist/storage/criterion.d.ts.map +0 -1
  1001. package/dist/storage/criterion.js.map +0 -1
  1002. package/dist/storage/port.d.ts.map +0 -1
  1003. package/dist/storage/port.js.map +0 -1
  1004. package/dist/storage/store.d.ts.map +0 -1
  1005. package/dist/storage/store.js.map +0 -1
  1006. package/dist/wire/CallLog.d.ts.map +0 -1
  1007. package/dist/wire/CallLog.js +0 -2
  1008. package/dist/wire/CallLog.js.map +0 -1
  1009. package/dist/wire/call.d.ts +0 -130
  1010. package/dist/wire/call.d.ts.map +0 -1
  1011. package/dist/wire/call.js +0 -47
  1012. package/dist/wire/call.js.map +0 -1
  1013. package/dist/wire/emit.d.ts.map +0 -1
  1014. package/dist/wire/emit.js.map +0 -1
  1015. package/dist/wire/errors.d.ts +0 -58
  1016. package/dist/wire/errors.d.ts.map +0 -1
  1017. package/dist/wire/errors.js.map +0 -1
  1018. package/dist/wire/middleware.d.ts.map +0 -1
  1019. package/dist/wire/middleware.js.map +0 -1
  1020. package/dist/wire/operation.d.ts.map +0 -1
  1021. package/dist/wire/operation.js.map +0 -1
  1022. package/dist/wire/signature.d.ts.map +0 -1
  1023. package/dist/wire/signature.js +0 -2
  1024. package/dist/wire/signature.js.map +0 -1
  1025. package/src/boot/auth.ts +0 -45
  1026. package/src/boot/types.ts +0 -148
  1027. package/src/crypto/port.ts +0 -29
  1028. package/src/descriptor/frond.ts +0 -195
  1029. package/src/prefab/mirror.ts +0 -60
  1030. package/src/wire/call.ts +0 -178
  1031. package/src/wire/middleware.ts +0 -43
@@ -0,0 +1,62 @@
1
+ import { EFFECTIVE_OPERATION_SEMANTICS } from './EffectiveOperationSemantics.js';
2
+ import { type BindingPlan } from './wire/binding.js';
3
+ import { type OperationContract } from './wire/OperationContract.js';
4
+ import { type OperationKind } from './wire/OperationKind.js';
5
+ import type { EffectiveParameter } from './EffectiveParameter.js';
6
+ import type { EffectiveCollector } from './EffectiveCollector.js';
7
+
8
+ export interface EffectiveOperation extends OperationContract {
9
+ /** Stable qualified identity: `blog/public/Post.publish`. */
10
+ id: string;
11
+ /** Human-facing identity independent of placement: `Post.publish`. */
12
+ operation: string;
13
+ name: string;
14
+ kind: OperationKind;
15
+ kindSource: 'explicit' | 'convention';
16
+ handler: {
17
+ className: string;
18
+ address: string;
19
+ filePath: string;
20
+ };
21
+ /** The class and method that execute after an optional operation override. */
22
+ implementation: {
23
+ className: string;
24
+ address: string;
25
+ method: string;
26
+ filePath: string;
27
+ };
28
+ /** Every valid operation has a plan, including the empty plan. */
29
+ binding: BindingPlan;
30
+ parameters: EffectiveParameter[];
31
+ collectors: EffectiveCollector[];
32
+ contexts: string[];
33
+ placement: {
34
+ frond: string;
35
+ runtime: 'local' | 'remote';
36
+ remote?: string;
37
+ };
38
+ /**
39
+ * What running this op reaches, and how much of that crosses a process.
40
+ *
41
+ * `placement` says where the op ANSWERS; this says where it GOES. The pair is what every
42
+ * number a process hard-codes is really a function of — how often a trace is sampled, where
43
+ * a latency histogram's bounds should sit, what a load threshold may assume. An op that
44
+ * answers here and hops twice is not the same subject as one that answers here and hops none.
45
+ *
46
+ * Read from the handler, never from the op: a dependency is declared on the constructor, so
47
+ * the crossing belongs to the CLASS. Every op of one handler reaches the same fronds, and
48
+ * saying otherwise would dress a structural fact as a precise effect.
49
+ */
50
+ reach: {
51
+ fronds: { frond: string; runtime: 'local' | 'remote' }[];
52
+ /** How many of them are a process away — zero when everything it reaches runs here. */
53
+ hops: number;
54
+ };
55
+ exposure: {
56
+ surfaces: string[];
57
+ adapters: string[];
58
+ };
59
+ /** Whether output is an explicitly closed per-operation view. */
60
+ outputClosed: boolean;
61
+ semantics: typeof EFFECTIVE_OPERATION_SEMANTICS;
62
+ }
@@ -1,103 +1,26 @@
1
- /** The operation model after every declaration and convention has been resolved. */
2
1
  import { lowerFirst, type SchemaView } from '@fougere/schema';
3
2
  import { statementDrift } from './boot/statement-drift.js';
4
3
  import { reachedBy, servedBy } from './boot/declared.js';
5
4
  import { computeBindingPlan, type BindingPlan } from './wire/binding.js';
6
5
  import { targetOf } from './prefab/prefab.js';
7
- import type { CollectorEntry, FrondDescriptor, HandlerEntry } from './descriptor/frond.js';
6
+ import { EFFECTIVE_OPERATION_SEMANTICS } from './EffectiveOperationSemantics.js';
7
+ import type { CollectorEntry } from './descriptor/CollectorEntry.js';
8
+ import type { FrondDescriptor } from './descriptor/FrondDescriptor.js';
9
+ import type { HandlerEntry } from './descriptor/HandlerEntry.js';
8
10
  import { servedSurfaces } from './descriptor/surface.js';
9
- import type { ScanDiagnostic } from './scan.js';
11
+ import type { Diagnostic } from './diagnostic.js';
10
12
  import { verify } from './verify.js';
11
- import {
12
- inferOperationKind,
13
- type OperationContract,
14
- type OperationKind,
15
- type OperationsMap,
16
- type TypeRef,
17
- knownVerbs,
18
- } from './wire/operation.js';
13
+ import { inferOperationKind, knownVerbs, type OperationContract } from './wire/OperationContract.js';
14
+ import { type OperationKind } from './wire/OperationKind.js';
15
+ import { type OperationsMap } from './wire/OperationsMap.js';
16
+ import { type TypeRef } from './wire/TypeRef.js';
17
+ import type { EffectiveParameter } from './EffectiveParameter.js';
18
+ import type { EffectiveOperation } from './EffectiveOperation.js';
19
+ import type { EffectiveOperationsMap } from './EffectiveOperationsMap.js';
20
+ import type { EffectiveOperationOptions } from './EffectiveOperationOptions.js';
19
21
 
20
22
  type Binding = BindingPlan[number];
21
23
 
22
- export interface EffectiveParameter {
23
- /** Position in the TypeScript signature. Never used to infer provenance. */
24
- position: number;
25
- name: string;
26
- type: string | null;
27
- optional: boolean;
28
- nullable: boolean;
29
- /** `?` and `| undefined` both mean canonical absence. */
30
- undefinable: boolean;
31
- /** The resolved provenance of this parameter. */
32
- binding: Binding;
33
- }
34
-
35
- export interface EffectiveCollector {
36
- parameter: string;
37
- typeName: string;
38
- className: string;
39
- frond: string;
40
- filePath: string;
41
- }
42
-
43
- export interface EffectiveOperation extends OperationContract {
44
- /** Stable qualified identity: `blog/public/Post.publish`. */
45
- id: string;
46
- /** Human-facing identity independent of placement: `Post.publish`. */
47
- operation: string;
48
- name: string;
49
- kind: OperationKind;
50
- kindSource: 'explicit' | 'convention';
51
- handler: {
52
- className: string;
53
- address: string;
54
- filePath: string;
55
- };
56
- /** The class and method that execute after an optional operation override. */
57
- implementation: {
58
- className: string;
59
- address: string;
60
- method: string;
61
- filePath: string;
62
- };
63
- /** Every valid operation has a plan, including the empty plan. */
64
- binding: BindingPlan;
65
- parameters: EffectiveParameter[];
66
- collectors: EffectiveCollector[];
67
- contexts: string[];
68
- placement: {
69
- frond: string;
70
- runtime: 'local' | 'remote';
71
- remote?: string;
72
- };
73
- /**
74
- * What running this op reaches, and how much of that crosses a process.
75
- *
76
- * `placement` says where the op ANSWERS; this says where it GOES. The pair is what every
77
- * number a process hard-codes is really a function of — how often a trace is sampled, where
78
- * a latency histogram's bounds should sit, what a load threshold may assume. An op that
79
- * answers here and hops twice is not the same subject as one that answers here and hops none.
80
- *
81
- * Read from the handler, never from the op: a dependency is declared on the constructor, so
82
- * the crossing belongs to the CLASS. Every op of one handler reaches the same fronds, and
83
- * saying otherwise would dress a structural fact as a precise effect.
84
- */
85
- reach: {
86
- fronds: { frond: string; runtime: 'local' | 'remote' }[];
87
- /** How many of them are a process away — zero when everything it reaches runs here. */
88
- hops: number;
89
- };
90
- exposure: {
91
- surfaces: string[];
92
- adapters: string[];
93
- };
94
- /** Whether output is an explicitly closed per-operation view. */
95
- outputClosed: boolean;
96
- semantics: typeof EFFECTIVE_OPERATION_SEMANTICS;
97
- }
98
-
99
- export type EffectiveOperationsMap = Map<string, EffectiveOperation>;
100
-
101
24
  /**
102
25
  * Where an op's work goes: the fronds its handler reaches, and how many are a process away.
103
26
  *
@@ -118,19 +41,6 @@ function reachOf(
118
41
  return { fronds, hops: fronds.filter((one) => one.runtime === 'remote').length };
119
42
  }
120
43
 
121
- /** The absence rules every door normalises to before the handler is invoked. */
122
- export const EFFECTIVE_OPERATION_SEMANTICS = Object.freeze({
123
- optional: 'undefined' as const,
124
- undefined: 'absence' as const,
125
- null: 'explicit-value' as const,
126
- jsonObjectUndefined: 'omitted' as const,
127
- });
128
-
129
- export interface EffectiveOperationOptions {
130
- diagnostics?: readonly ScanDiagnostic[];
131
- remotes?: Record<string, string>;
132
- adapters?: Record<string, boolean | undefined>;
133
- }
134
44
 
135
45
  /**
136
46
  * One resolved program. The handler map preserves object identity from the scan, so the
@@ -138,13 +48,13 @@ export interface EffectiveOperationOptions {
138
48
  */
139
49
  export class EffectiveOperationModel {
140
50
  readonly operations: EffectiveOperation[];
141
- readonly diagnostics: ScanDiagnostic[];
142
- readonly resolutionDiagnostics: ScanDiagnostic[];
51
+ readonly diagnostics: Diagnostic[];
52
+ readonly resolutionDiagnostics: Diagnostic[];
143
53
 
144
54
  constructor(
145
55
  operations: EffectiveOperation[],
146
- diagnostics: ScanDiagnostic[],
147
- resolutionDiagnostics: ScanDiagnostic[],
56
+ diagnostics: Diagnostic[],
57
+ resolutionDiagnostics: Diagnostic[],
148
58
  private readonly byHandler: Map<HandlerEntry, EffectiveOperationsMap>,
149
59
  ) {
150
60
  this.operations = operations;
@@ -164,7 +74,7 @@ export function resolveEffectiveOperations(
164
74
  ): EffectiveOperationModel {
165
75
  const operations: EffectiveOperation[] = [];
166
76
  const byHandler = new Map<HandlerEntry, EffectiveOperationsMap>();
167
- const resolutionDiagnostics: ScanDiagnostic[] = [];
77
+ const resolutionDiagnostics: Diagnostic[] = [];
168
78
  const scanDiagnostics = [...(options.diagnostics ?? [])];
169
79
  const schemas = new Map(
170
80
  fronds.flatMap((frond) => frond.entities.map((entity) => [entity.name, entity.entityClass] as const)),
@@ -341,19 +251,12 @@ export function resolveEffectiveOperations(
341
251
 
342
252
  // Topology and DI are part of the same effective program. A dependency targeting an
343
253
  // actually remote frond is a refusal, not the warning appropriate to a future split.
344
- for (const violation of verify({ fronds })) {
345
- const remoteBoundary = options.remotes?.[violation.frond] !== undefined
346
- || options.remotes?.[violation.dependsOn.frond] !== undefined;
347
- resolutionDiagnostics.push({
348
- severity: remoteBoundary && violation.rule === 'cross-frond-dependency'
349
- ? 'blocking'
350
- : violation.severity,
351
- code: violation.rule,
352
- filePath: violation.filePath,
353
- frond: violation.frond,
354
- subject: violation.subject,
355
- message: violation.message,
356
- });
254
+ for (const misplaced of verify({ fronds })) {
255
+ const remoteBoundary = options.remotes?.[misplaced.frond] !== undefined
256
+ || options.remotes?.[misplaced.dependsOn.frond] !== undefined;
257
+ resolutionDiagnostics.push(remoteBoundary && misplaced.code === 'cross-frond-dependency'
258
+ ? { ...misplaced, severity: 'blocking' }
259
+ : misplaced);
357
260
  }
358
261
 
359
262
  const resolution = uniqueDiagnostics(resolutionDiagnostics);
@@ -380,7 +283,7 @@ function normalizeBinding(
380
283
  handler: HandlerEntry,
381
284
  frond: FrondDescriptor,
382
285
  name: string,
383
- diagnostics: ScanDiagnostic[],
286
+ diagnostics: Diagnostic[],
384
287
  ): (OperationContract & { binding: BindingPlan }) | undefined {
385
288
  const params = contract.signature?.params ?? [];
386
289
  if (!contract.binding) {
@@ -435,7 +338,7 @@ function validateProvenance(
435
338
  contract: OperationContract & { binding: BindingPlan },
436
339
  parameters: EffectiveParameter[],
437
340
  localCollectors: Map<string, CollectorEntry[]>,
438
- diagnostics: ScanDiagnostic[],
341
+ diagnostics: Diagnostic[],
439
342
  ): boolean {
440
343
  let valid = true;
441
344
  const declared = (handler.ctor as { __ops?: Record<string, OperationContract> }).__ops?.[name];
@@ -543,7 +446,7 @@ function implementationOf(
543
446
  frond: FrondDescriptor,
544
447
  handler: HandlerEntry,
545
448
  name: string,
546
- diagnostics: ScanDiagnostic[],
449
+ diagnostics: Diagnostic[],
547
450
  ): EffectiveOperation['implementation'] | undefined {
548
451
  const override = frond.operationsOverrides?.[name];
549
452
  const candidates = override?.handlerName
@@ -616,7 +519,7 @@ function exposedAdapters(
616
519
  .sort();
617
520
  }
618
521
 
619
- function uniqueDiagnostics(diagnostics: readonly ScanDiagnostic[]): ScanDiagnostic[] {
522
+ function uniqueDiagnostics(diagnostics: readonly Diagnostic[]): Diagnostic[] {
620
523
  const seen = new Set<string>();
621
524
  return diagnostics.filter((diagnostic) => {
622
525
  const key = [diagnostic.code, diagnostic.filePath, diagnostic.subject, diagnostic.message].join('\0');
@@ -0,0 +1,7 @@
1
+ import type { Diagnostic } from './diagnostic.js';
2
+
3
+ export interface EffectiveOperationOptions {
4
+ diagnostics?: readonly Diagnostic[];
5
+ remotes?: Record<string, string>;
6
+ adapters?: Record<string, boolean | undefined>;
7
+ }
@@ -0,0 +1,7 @@
1
+ /** The absence rules every facade normalises to before the handler is invoked. */
2
+ export const EFFECTIVE_OPERATION_SEMANTICS = Object.freeze({
3
+ optional: 'undefined' as const,
4
+ undefined: 'absence' as const,
5
+ null: 'explicit-value' as const,
6
+ jsonObjectUndefined: 'omitted' as const,
7
+ });
@@ -0,0 +1,3 @@
1
+ import type { EffectiveOperation } from './EffectiveOperation.js';
2
+
3
+ export type EffectiveOperationsMap = Map<string, EffectiveOperation>;
@@ -0,0 +1,13 @@
1
+ import type { Binding } from './Binding.js';
2
+ export interface EffectiveParameter {
3
+ /** Position in the TypeScript signature. Never used to infer provenance. */
4
+ position: number;
5
+ name: string;
6
+ type: string | null;
7
+ optional: boolean;
8
+ nullable: boolean;
9
+ /** `?` and `| undefined` both mean canonical absence. */
10
+ undefinable: boolean;
11
+ /** The resolved provenance of this parameter. */
12
+ binding: Binding;
13
+ }
@@ -0,0 +1,6 @@
1
+ export interface EntityNode {
2
+ name: string;
3
+ frond: string;
4
+ refs: string[]; // entity names this entity references
5
+ referencedBy: string[]; // entity names that reference this entity
6
+ }
@@ -1,17 +1,18 @@
1
1
  import { resolve } from 'node:path';
2
2
  import { existsSync } from 'node:fs';
3
- import type { AuthConfig } from './boot/auth.js';
4
- import type { LogLevel } from './builtin/logger.js';
5
- import type { ConventionsInput } from './conventions.js';
3
+ import type { AuthConfig } from './boot/AuthConfig.js';
4
+ import type { LogLevel } from './builtin/LogLevel.js';
5
+ import type { ConventionsInput } from './ConventionsInput.js';
6
+ import type { NameOf } from './NameOf.js';
7
+ import type { PortChoice } from './PortChoice.js';
6
8
  import { getModuleLoader } from './loader.js';
7
-
8
- // ── Types ────────────────────────────────────────
9
+ import type { AdapterConfig } from './AdapterConfig.js';
9
10
 
10
11
  export interface FougereConfig {
11
12
  /** Database configuration — the DEFAULT source, the one an entity lands in unnamed. */
12
13
  db?: 'sqlite' | { dialect: 'sqlite'; path?: string } | false;
13
14
  /** The other places rows live — a name, an engine, and the entities it holds. */
14
- sources?: Record<string, { dialect?: 'sqlite'; path?: string; entities: string[] }>;
15
+ sources?: Record<string, { dialect?: 'sqlite'; path?: string; entities: NameOf<'entity'>[] }>;
15
16
  /**
16
17
  * The names the scan reads instead of deriving them — the import scope, the fronds directory,
17
18
  * the seven convention directories.
@@ -19,28 +20,22 @@ export interface FougereConfig {
19
20
  conventions?: ConventionsInput;
20
21
  /** How much every logger says. */
21
22
  logLevel?: LogLevel;
22
- /** Remote fronds — frondName → base URL. */
23
+ /**
24
+ * Remote fronds — frondName → base URL.
25
+ *
26
+ * The KEY is not narrowed to `NameOf<'frond'>`, and that is a choice: constraining it means
27
+ * making every key optional, which puts `| undefined` on the values and changes what six
28
+ * readers here already treat as present. The name is checked at boot instead.
29
+ */
23
30
  remotes?: Record<string, string>;
24
31
  /** What answers a port — a name, or the chain from the outside in. */
25
- ports?: Record<string, string | readonly string[]>;
32
+ ports?: PortChoice;
26
33
  /** Auth declaration — picks a provider package and forwards options to it. */
27
34
  auth?: AuthConfig;
28
35
  /** Which protocol adapters this app serves. */
29
36
  adapters?: AdapterConfig;
30
37
  }
31
38
 
32
- /** Protocol adapters, by the name of the package that provides them. */
33
- export interface AdapterConfig {
34
- /** `@fougere/adapter-rest` — REST under `/api/{frond}/{plural}`. */
35
- rest?: boolean;
36
- /** `@fougere/adapter-graphql` — a GraphQL schema over the same operations. */
37
- graphql?: boolean;
38
- /** A surface of your own; the framework only records that you declared it. */
39
- [adapter: string]: boolean | undefined;
40
- }
41
-
42
- // ── Loading ──────────────────────────────────────
43
-
44
39
  const CONFIG_FILES = ['fougere.config.ts', 'fougere.config.js', 'fougere.config.mjs'];
45
40
 
46
41
  async function loadConfigFrom(dir: string, fresh?: boolean): Promise<FougereConfig> {
@@ -0,0 +1,2 @@
1
+ /** The names the scan found, per kind. Augmented from the generated file, empty otherwise. */
2
+ export interface FougereNames {}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Each port, and the classes that extend it — a RELATION, not two lists.
3
+ *
4
+ * Two unions would accept `ports: { Payment: 'FileStorage' }`: both names exist, and nothing
5
+ * would say that one does not answer the other. What the boot refuses, the type refuses first.
6
+ */
7
+ export interface FougerePorts {}
@@ -1,55 +1,17 @@
1
1
  import { resolve } from 'node:path';
2
+ import type { NameOf } from './NameOf.js';
2
3
  import { existsSync } from 'node:fs';
3
- import type { EntityConstructor, SchemaView } from '@fougere/schema';
4
- import type { BindingPlan } from './wire/binding.js';
5
-
6
- // ── Types ────────────────────────────────────────
7
-
8
- /** Per-operation override. */
9
- export interface OperationOverride {
10
- /** Force operation kind, over the naming convention (`isReadOp`). */
11
- kind?: 'query' | 'command';
12
- /** The GraphQL root field this op answers to. */
13
- graphql?: string;
14
- /**
15
- * Where this op answers over REST — the dual of `graphql:`, and the frond's to say for
16
- * the same reason: how an operation is CALLED belongs beside it, not in whatever host
17
- * mounts the router. The prefix stays the host's: naming is the frond's, mounting is not.
18
- */
19
- rest?: { method?: string; path?: string; status?: number };
20
- /**
21
- * Handler class to delegate to (overrides the default `{Entity}Handler` lookup).
22
- * Class name is used to resolve from DI. E.g. `ArchiveHandler` → `app.resolve('ArchiveHandler')`.
23
- */
24
- handler?: EntityConstructor;
25
- /** Method name on `handler` (defaults to the operation name). */
26
- method?: string;
27
- /** CASL ability check (e.g. */
28
- policy?: string;
29
-
30
- // ── The contract itself — see the note above ──
31
-
32
- /** What validates the input. The view carries its own mode (`partial()` → patch). */
33
- input?: SchemaView;
34
- /**
35
- * Where each argument is read from — states what the scan would otherwise derive
36
- * from the method signature. An empty array is meaningful: "this op takes nothing".
37
- */
38
- binding?: BindingPlan;
39
-
40
- /** Per-operation output view, below prefab declarations and above handler/entity defaults. */
41
- output?: SchemaView;
42
- }
4
+ import type { OperationOverride } from './OperationOverride.js';
43
5
 
44
6
  export interface FrondConfig {
45
7
  /** Class names exposed as the frond's public contract (all surfaces). */
46
- expose?: string[];
8
+ expose?: (NameOf<'handler'> | NameOf<'entity'>)[];
47
9
  /** The entities this frond may read ACROSS sources, by name. */
48
- reads?: string[];
10
+ reads?: NameOf<'entity'>[];
49
11
  /** Per-surface entity lists. Overrides default deduction for each named surface. */
50
- surfaces?: Record<string, string[]>;
12
+ surfaces?: Record<string, NameOf<'entity'>[]>;
51
13
  /** Interface → implementation bindings for DI (e.g. { Database: 'SqliteDatabase' }). */
52
- bindings?: Record<string, string>;
14
+ bindings?: Record<string, NameOf<'provider'>>;
53
15
  /**
54
16
  * The ops that FINISH a fact, in the order they run — by class name, keyed by fact.
55
17
  *
@@ -57,13 +19,13 @@ export interface FrondConfig {
57
19
  * fact itself and it has one owner. Without it two links refuse: nothing would say which
58
20
  * ran first, and scan order is not an answer.
59
21
  */
60
- pipes?: Record<string, string[]>;
22
+ pipes?: Record<NameOf<'entity'>, NameOf<'handler'>[]>;
61
23
  /**
62
24
  * How far a middleware reaches, by class name. A middleware answers for its own frond
63
25
  * without being named here; `'app'` is the exception, and it is stated by the frond
64
26
  * that decides for the others.
65
27
  */
66
- middlewares?: Record<string, 'frond' | 'app'>;
28
+ middlewares?: Record<NameOf<'middleware'>, 'frond' | 'app'>;
67
29
  /** Per-operation overrides. Key = operation name (method name on a handler). */
68
30
  operations?: Record<string, OperationOverride>;
69
31
  }
@@ -1,44 +1,22 @@
1
- /** A frond stated by its author, for an app that will not scan. */
2
1
  import { lowerFirst, type SchemaView } from '@fougere/schema';
3
- import type {
4
- CollectorEntry, EntityEntry, FrondDescriptor, HandlerEntry, MiddlewareEntry,
5
- PresenterEntry, ProviderEntry, SeedEntry,
6
- } from './descriptor/frond.js';
7
- import { DEFAULT_CONVENTIONS } from './conventions.js';
2
+ import type { CollectorEntry } from './descriptor/CollectorEntry.js';
3
+ import type { EntityEntry } from './descriptor/EntityEntry.js';
4
+ import type { FrondDescriptor } from './descriptor/FrondDescriptor.js';
5
+ import type { HandlerEntry } from './descriptor/HandlerEntry.js';
6
+ import type { MiddlewareEntry } from './descriptor/MiddlewareEntry.js';
7
+ import type { PresenterEntry } from './descriptor/PresenterEntry.js';
8
+ import type { ProviderEntry } from './descriptor/ProviderEntry.js';
9
+ import type { SeedEntry } from './descriptor/SeedEntry.js';
10
+ import { DEFAULT_CONVENTIONS } from './Conventions.js';
8
11
  import { getPresenterFields } from './prefab/presenter.js';
9
- import type { OperationContract } from './wire/operation.js';
12
+ import type { OperationContract } from './wire/OperationContract.js';
13
+ import type { DeclaredSubject } from './DeclaredSubject.js';
14
+ import type { DeclaredHandler } from './DeclaredHandler.js';
15
+ import type { Declared } from './Declared.js';
10
16
 
11
17
  /** A class, as a declaration hands it over: the constructor itself. */
12
18
  type Ctor = new (...args: never[]) => unknown;
13
19
 
14
- /** What a subject needs beyond its class, when its constructor names a frame or a port. */
15
- export interface DeclaredSubject {
16
- ctor: Ctor;
17
- deps?: string[];
18
- }
19
-
20
- /** A handler, and the surface it answers on when it is not the default one. */
21
- export interface DeclaredHandler extends DeclaredSubject {
22
- /**
23
- * The scan reads this from the directory (`handlers/public/`), so a statement has to say it: two
24
- * handlers over one entity collide on their address otherwise, and the refusal names the same
25
- * route twice.
26
- */
27
- surface?: string;
28
- /**
29
- * What each method takes and answers — read from SOURCE by the scan, and unreachable
30
- * from a class at runtime. A prefab declares its own (`Crud.__ops`) and needs nothing
31
- * here; a method someone wrote does, or the route it should serve does not exist.
32
- */
33
- operations?: ReadonlyMap<string, OperationContract> | Record<string, OperationContract>;
34
- }
35
-
36
- /** A class on its own, or a class with what it asks for. */
37
- export type Declared = Ctor | (DeclaredSubject & {
38
- /** The container key, when the class's own name cannot be trusted to survive a build. */
39
- name?: string;
40
- });
41
-
42
20
  const ctorOf = (d: Declared): Ctor => (typeof d === 'function' ? d : d.ctor);
43
21
 
44
22
  /**
@@ -57,6 +35,7 @@ function subjectOf(ctor: Ctor, kind: string): { name: string } {
57
35
 
58
36
  return subject;
59
37
  }
38
+
60
39
  const depsOf = (d: Declared): string[] => (typeof d === 'function' ? [] : d.deps ?? []);
61
40
 
62
41
  /**
@@ -0,0 +1,7 @@
1
+ /** What a deployment hands a frond that CALLS: its own key, and the root's word for it. */
2
+ export interface FrondIdentity {
3
+ /** The frond's private key, PEM (PKCS#8). */
4
+ privateKey: string;
5
+ /** The root's statement binding this frond's name to its public key. */
6
+ grant: string;
7
+ }
package/src/NameOf.ts ADDED
@@ -0,0 +1,12 @@
1
+ import type { FougereNames } from './FougereNames.js';
2
+
3
+ /**
4
+ * One kind's union, or `string` where nothing was generated.
5
+ *
6
+ * A conditional and never `Partial<FougereNames>`: an un-augmented interface makes that
7
+ * `Partial<{}>`, which in TypeScript means "anything non-nullish" — the silent hole `adapters:`
8
+ * already has. Falling back to `string` is what a config had before this file existed.
9
+ */
10
+ export type NameOf<K extends string> = FougereNames extends Record<K, infer Found extends string>
11
+ ? Found
12
+ : string;
@@ -0,0 +1,38 @@
1
+ import type { EntityConstructor, SchemaView } from '@fougere/schema';
2
+ import type { BindingPlan } from './wire/binding.js';
3
+
4
+ /** Per-operation override. */
5
+ export interface OperationOverride {
6
+ /** Force operation kind, over the naming convention (`isReadOp`). */
7
+ kind?: 'query' | 'command';
8
+ /** The GraphQL root field this op answers to. */
9
+ graphql?: string;
10
+ /**
11
+ * Where this op answers over REST — the dual of `graphql:`, and the frond's to say for
12
+ * the same reason: how an operation is CALLED belongs beside it, not in whatever host
13
+ * mounts the router. The prefix stays the host's: naming is the frond's, mounting is not.
14
+ */
15
+ rest?: { method?: string; path?: string; status?: number };
16
+ /**
17
+ * Handler class to delegate to (overrides the default `{Entity}Handler` lookup).
18
+ * Class name is used to resolve from DI. E.g. `ArchiveHandler` → `app.resolve('ArchiveHandler')`.
19
+ */
20
+ handler?: EntityConstructor;
21
+ /** Method name on `handler` (defaults to the operation name). */
22
+ method?: string;
23
+ /** CASL ability check (e.g. */
24
+ policy?: string;
25
+
26
+ // ── The contract itself — see the note above ──
27
+
28
+ /** What validates the input. The view carries its own mode (`partial()` → patch). */
29
+ input?: SchemaView;
30
+ /**
31
+ * Where each argument is read from — states what the scan would otherwise derive
32
+ * from the method signature. An empty array is meaningful: "this op takes nothing".
33
+ */
34
+ binding?: BindingPlan;
35
+
36
+ /** Per-operation output view, below prefab declarations and above handler/entity defaults. */
37
+ output?: SchemaView;
38
+ }
@@ -0,0 +1,13 @@
1
+ import type { FougerePorts } from './FougerePorts.js';
2
+ import type { AnswerFor } from './AnswerFor.js';
3
+
4
+ /**
5
+ * The ports of this app, each mapped to what may answer it.
6
+ *
7
+ * `keyof FougerePorts` is `never` before generation, and a mapped type over `never` is `{}` —
8
+ * which would refuse every key rather than accept any. So the empty case widens to the plain
9
+ * record the config had, and only a generated file narrows it.
10
+ */
11
+ export type PortChoice = keyof FougerePorts extends never
12
+ ? Record<string, string | readonly string[]>
13
+ : { [Port in keyof FougerePorts]?: AnswerFor<Port & string> | readonly AnswerFor<Port & string>[] };