@astrale-os/sdk 0.4.18 → 0.5.0-beta.1

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 (1034) hide show
  1. package/README.md +7 -5
  2. package/dist/auth/index.d.ts +3 -15
  3. package/dist/auth/index.d.ts.map +1 -1
  4. package/dist/auth/index.js +2 -10
  5. package/dist/auth/index.js.map +1 -1
  6. package/dist/capability/client.d.ts +25 -0
  7. package/dist/capability/client.d.ts.map +1 -0
  8. package/dist/capability/client.js +147 -0
  9. package/dist/capability/client.js.map +1 -0
  10. package/dist/capability/contract.d.ts +70 -0
  11. package/dist/capability/contract.d.ts.map +1 -0
  12. package/dist/capability/contract.js +3 -0
  13. package/dist/capability/contract.js.map +1 -0
  14. package/dist/capability/define.d.ts +14 -0
  15. package/dist/capability/define.d.ts.map +1 -0
  16. package/dist/capability/define.js +145 -0
  17. package/dist/capability/define.js.map +1 -0
  18. package/dist/capability/index.d.ts +3 -0
  19. package/dist/capability/index.d.ts.map +1 -0
  20. package/dist/capability/index.js +2 -0
  21. package/dist/capability/index.js.map +1 -0
  22. package/dist/cli/arguments.d.ts +21 -0
  23. package/dist/cli/arguments.d.ts.map +1 -0
  24. package/dist/cli/arguments.js +220 -0
  25. package/dist/cli/arguments.js.map +1 -0
  26. package/dist/cli/dotenv.d.ts +1 -4
  27. package/dist/cli/dotenv.d.ts.map +1 -1
  28. package/dist/cli/dotenv.js +6 -15
  29. package/dist/cli/dotenv.js.map +1 -1
  30. package/dist/cli/index.d.ts +4 -5
  31. package/dist/cli/index.d.ts.map +1 -1
  32. package/dist/cli/index.js +4 -5
  33. package/dist/cli/index.js.map +1 -1
  34. package/dist/cli/run.d.ts +4 -79
  35. package/dist/cli/run.d.ts.map +1 -1
  36. package/dist/cli/run.js +68 -326
  37. package/dist/cli/run.js.map +1 -1
  38. package/dist/deployment/artifact/bindings.d.ts +7 -0
  39. package/dist/deployment/artifact/bindings.d.ts.map +1 -0
  40. package/dist/deployment/artifact/bindings.js +44 -0
  41. package/dist/deployment/artifact/bindings.js.map +1 -0
  42. package/dist/deployment/artifact/deployment.d.ts +35 -0
  43. package/dist/deployment/artifact/deployment.d.ts.map +1 -0
  44. package/dist/deployment/artifact/deployment.js +90 -0
  45. package/dist/deployment/artifact/deployment.js.map +1 -0
  46. package/dist/deployment/artifact/index.d.ts +5 -0
  47. package/dist/deployment/artifact/index.d.ts.map +1 -0
  48. package/dist/deployment/artifact/index.js +4 -0
  49. package/dist/deployment/artifact/index.js.map +1 -0
  50. package/dist/deployment/check/check.d.ts +8 -0
  51. package/dist/deployment/check/check.d.ts.map +1 -0
  52. package/dist/deployment/check/check.js +94 -0
  53. package/dist/deployment/check/check.js.map +1 -0
  54. package/dist/deployment/check/contract.d.ts +29 -0
  55. package/dist/deployment/check/contract.d.ts.map +1 -0
  56. package/dist/deployment/check/contract.js +2 -0
  57. package/dist/deployment/check/contract.js.map +1 -0
  58. package/dist/deployment/check/index.d.ts +3 -0
  59. package/dist/deployment/check/index.d.ts.map +1 -0
  60. package/dist/deployment/check/index.js +2 -0
  61. package/dist/deployment/check/index.js.map +1 -0
  62. package/dist/deployment/index.d.ts +7 -0
  63. package/dist/deployment/index.d.ts.map +1 -0
  64. package/dist/deployment/index.js +4 -0
  65. package/dist/deployment/index.js.map +1 -0
  66. package/dist/deployment/provider/adapter.d.ts +56 -0
  67. package/dist/deployment/provider/adapter.d.ts.map +1 -0
  68. package/dist/deployment/provider/adapter.js +84 -0
  69. package/dist/deployment/provider/adapter.js.map +1 -0
  70. package/dist/deployment/provider/config.d.ts +10 -0
  71. package/dist/deployment/provider/config.d.ts.map +1 -0
  72. package/dist/deployment/provider/config.js +8 -0
  73. package/dist/deployment/provider/config.js.map +1 -0
  74. package/dist/deployment/provider/index.d.ts +5 -0
  75. package/dist/deployment/provider/index.d.ts.map +1 -0
  76. package/dist/deployment/provider/index.js +3 -0
  77. package/dist/deployment/provider/index.js.map +1 -0
  78. package/dist/domain/app.d.ts +34 -0
  79. package/dist/domain/app.d.ts.map +1 -0
  80. package/dist/domain/app.js +2 -0
  81. package/dist/domain/app.js.map +1 -0
  82. package/dist/domain/context.d.ts +66 -0
  83. package/dist/domain/context.d.ts.map +1 -0
  84. package/dist/domain/context.js +2 -0
  85. package/dist/domain/context.js.map +1 -0
  86. package/dist/domain/define.d.ts +91 -65
  87. package/dist/domain/define.d.ts.map +1 -1
  88. package/dist/domain/define.js +74 -59
  89. package/dist/domain/define.js.map +1 -1
  90. package/dist/domain/handlers.d.ts +53 -0
  91. package/dist/domain/handlers.d.ts.map +1 -0
  92. package/dist/domain/handlers.js +88 -0
  93. package/dist/domain/handlers.js.map +1 -0
  94. package/dist/domain/implement.d.ts +5 -0
  95. package/dist/domain/implement.d.ts.map +1 -0
  96. package/dist/domain/implement.js +23 -0
  97. package/dist/domain/implement.js.map +1 -0
  98. package/dist/domain/index.d.ts +11 -4
  99. package/dist/domain/index.d.ts.map +1 -1
  100. package/dist/domain/index.js +6 -3
  101. package/dist/domain/index.js.map +1 -1
  102. package/dist/graph/class/index.d.ts +3 -0
  103. package/dist/graph/class/index.d.ts.map +1 -0
  104. package/dist/graph/class/index.js +3 -0
  105. package/dist/graph/class/index.js.map +1 -0
  106. package/dist/graph/edge/index.d.ts +3 -0
  107. package/dist/graph/edge/index.d.ts.map +1 -0
  108. package/dist/graph/edge/index.js +3 -0
  109. package/dist/graph/edge/index.js.map +1 -0
  110. package/dist/graph/index.d.ts +10 -0
  111. package/dist/graph/index.d.ts.map +1 -0
  112. package/dist/graph/index.js +9 -0
  113. package/dist/graph/index.js.map +1 -0
  114. package/dist/graph/model/index.d.ts +3 -0
  115. package/dist/graph/model/index.d.ts.map +1 -0
  116. package/dist/graph/model/index.js +3 -0
  117. package/dist/graph/model/index.js.map +1 -0
  118. package/dist/graph/node/index.d.ts +3 -0
  119. package/dist/graph/node/index.d.ts.map +1 -0
  120. package/dist/graph/node/index.js +3 -0
  121. package/dist/graph/node/index.js.map +1 -0
  122. package/dist/graph/path/index.d.ts +3 -0
  123. package/dist/graph/path/index.d.ts.map +1 -0
  124. package/dist/graph/path/index.js +3 -0
  125. package/dist/graph/path/index.js.map +1 -0
  126. package/dist/graph/properties/index.d.ts +3 -0
  127. package/dist/graph/properties/index.d.ts.map +1 -0
  128. package/dist/graph/properties/index.js +3 -0
  129. package/dist/graph/properties/index.js.map +1 -0
  130. package/dist/index.d.ts +20 -27
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +10 -47
  133. package/dist/index.js.map +1 -1
  134. package/dist/invocation/handler.d.ts +51 -0
  135. package/dist/invocation/handler.d.ts.map +1 -0
  136. package/dist/invocation/handler.js +266 -0
  137. package/dist/invocation/handler.js.map +1 -0
  138. package/dist/invocation/index.d.ts +3 -0
  139. package/dist/invocation/index.d.ts.map +1 -0
  140. package/dist/invocation/index.js +2 -0
  141. package/dist/invocation/index.js.map +1 -0
  142. package/dist/invocation/receiver.d.ts +5 -0
  143. package/dist/invocation/receiver.d.ts.map +1 -0
  144. package/dist/invocation/receiver.js +70 -0
  145. package/dist/invocation/receiver.js.map +1 -0
  146. package/dist/invocation/result.d.ts +5 -0
  147. package/dist/invocation/result.d.ts.map +1 -0
  148. package/dist/invocation/result.js +146 -0
  149. package/dist/invocation/result.js.map +1 -0
  150. package/dist/invocation/selection.d.ts +21 -0
  151. package/dist/invocation/selection.d.ts.map +1 -0
  152. package/dist/invocation/selection.js +113 -0
  153. package/dist/invocation/selection.js.map +1 -0
  154. package/dist/linter/adapters/typescript/discover.d.ts +4 -0
  155. package/dist/linter/adapters/typescript/discover.d.ts.map +1 -0
  156. package/dist/linter/adapters/typescript/discover.js +412 -0
  157. package/dist/linter/adapters/typescript/discover.js.map +1 -0
  158. package/dist/linter/adapters/typescript/evidence-admission.d.ts +5 -0
  159. package/dist/linter/adapters/typescript/evidence-admission.d.ts.map +1 -0
  160. package/dist/linter/adapters/typescript/evidence-admission.js +22 -0
  161. package/dist/linter/adapters/typescript/evidence-admission.js.map +1 -0
  162. package/dist/linter/adapters/typescript/imports.d.ts +7 -0
  163. package/dist/linter/adapters/typescript/imports.d.ts.map +1 -0
  164. package/dist/linter/adapters/typescript/imports.js +171 -0
  165. package/dist/linter/adapters/typescript/imports.js.map +1 -0
  166. package/dist/linter/adapters/typescript/index.d.ts +48 -0
  167. package/dist/linter/adapters/typescript/index.d.ts.map +1 -0
  168. package/dist/linter/adapters/typescript/index.js +8 -0
  169. package/dist/linter/adapters/typescript/index.js.map +1 -0
  170. package/dist/linter/adapters/typescript/query-observation.d.ts +4 -0
  171. package/dist/linter/adapters/typescript/query-observation.d.ts.map +1 -0
  172. package/dist/linter/adapters/typescript/query-observation.js +172 -0
  173. package/dist/linter/adapters/typescript/query-observation.js.map +1 -0
  174. package/dist/linter/adapters/typescript/suppression-directives.d.ts +5 -0
  175. package/dist/linter/adapters/typescript/suppression-directives.d.ts.map +1 -0
  176. package/dist/linter/adapters/typescript/suppression-directives.js +85 -0
  177. package/dist/linter/adapters/typescript/suppression-directives.js.map +1 -0
  178. package/dist/linter/adapters/typescript/syntax.d.ts +39 -0
  179. package/dist/linter/adapters/typescript/syntax.d.ts.map +1 -0
  180. package/dist/linter/adapters/typescript/syntax.js +183 -0
  181. package/dist/linter/adapters/typescript/syntax.js.map +1 -0
  182. package/dist/linter/adapters/typescript/type-universe.d.ts +2 -0
  183. package/dist/linter/adapters/typescript/type-universe.d.ts.map +1 -0
  184. package/dist/linter/adapters/typescript/type-universe.js +265 -0
  185. package/dist/linter/adapters/typescript/type-universe.js.map +1 -0
  186. package/dist/linter/catalog/compile.d.ts +3 -0
  187. package/dist/linter/catalog/compile.d.ts.map +1 -0
  188. package/dist/linter/catalog/compile.js +111 -0
  189. package/dist/linter/catalog/compile.js.map +1 -0
  190. package/dist/linter/catalog/index.d.ts +19 -0
  191. package/dist/linter/catalog/index.d.ts.map +1 -0
  192. package/dist/linter/catalog/index.js +3 -0
  193. package/dist/linter/catalog/index.js.map +1 -0
  194. package/dist/linter/catalog/revision.d.ts +7 -0
  195. package/dist/linter/catalog/revision.d.ts.map +1 -0
  196. package/dist/linter/catalog/revision.js +13 -0
  197. package/dist/linter/catalog/revision.js.map +1 -0
  198. package/dist/linter/diagnostics/error.d.ts +10 -0
  199. package/dist/linter/diagnostics/error.d.ts.map +1 -0
  200. package/dist/linter/diagnostics/error.js +10 -0
  201. package/dist/linter/diagnostics/error.js.map +1 -0
  202. package/dist/linter/diagnostics/index.d.ts +29 -0
  203. package/dist/linter/diagnostics/index.d.ts.map +1 -0
  204. package/dist/linter/diagnostics/index.js +3 -0
  205. package/dist/linter/diagnostics/index.js.map +1 -0
  206. package/dist/linter/diagnostics/sort.d.ts +3 -0
  207. package/dist/linter/diagnostics/sort.d.ts.map +1 -0
  208. package/dist/linter/diagnostics/sort.js +27 -0
  209. package/dist/linter/diagnostics/sort.js.map +1 -0
  210. package/dist/linter/evaluation/binding/bind.d.ts +5 -0
  211. package/dist/linter/evaluation/binding/bind.d.ts.map +1 -0
  212. package/dist/linter/evaluation/binding/bind.js +356 -0
  213. package/dist/linter/evaluation/binding/bind.js.map +1 -0
  214. package/dist/linter/evaluation/binding/diagnostic.d.ts +5 -0
  215. package/dist/linter/evaluation/binding/diagnostic.d.ts.map +1 -0
  216. package/dist/linter/evaluation/binding/diagnostic.js +17 -0
  217. package/dist/linter/evaluation/binding/diagnostic.js.map +1 -0
  218. package/dist/linter/evaluation/binding/index.d.ts +2 -0
  219. package/dist/linter/evaluation/binding/index.d.ts.map +1 -0
  220. package/dist/linter/evaluation/binding/index.js +2 -0
  221. package/dist/linter/evaluation/binding/index.js.map +1 -0
  222. package/dist/linter/evaluation/contract/availability.d.ts +28 -0
  223. package/dist/linter/evaluation/contract/availability.d.ts.map +1 -0
  224. package/dist/linter/evaluation/contract/availability.js +2 -0
  225. package/dist/linter/evaluation/contract/availability.js.map +1 -0
  226. package/dist/linter/evaluation/contract/decision.d.ts +26 -0
  227. package/dist/linter/evaluation/contract/decision.d.ts.map +1 -0
  228. package/dist/linter/evaluation/contract/decision.js +2 -0
  229. package/dist/linter/evaluation/contract/decision.js.map +1 -0
  230. package/dist/linter/evaluation/contract/evidence.d.ts +12 -0
  231. package/dist/linter/evaluation/contract/evidence.d.ts.map +1 -0
  232. package/dist/linter/evaluation/contract/evidence.js +2 -0
  233. package/dist/linter/evaluation/contract/evidence.js.map +1 -0
  234. package/dist/linter/evaluation/contract/implementation.d.ts +22 -0
  235. package/dist/linter/evaluation/contract/implementation.d.ts.map +1 -0
  236. package/dist/linter/evaluation/contract/implementation.js +2 -0
  237. package/dist/linter/evaluation/contract/implementation.js.map +1 -0
  238. package/dist/linter/evaluation/contract/index.d.ts +5 -0
  239. package/dist/linter/evaluation/contract/index.d.ts.map +1 -0
  240. package/dist/linter/evaluation/contract/index.js +2 -0
  241. package/dist/linter/evaluation/contract/index.js.map +1 -0
  242. package/dist/linter/evaluation/index.d.ts +3 -0
  243. package/dist/linter/evaluation/index.d.ts.map +1 -0
  244. package/dist/linter/evaluation/index.js +2 -0
  245. package/dist/linter/evaluation/index.js.map +1 -0
  246. package/dist/linter/implementations/source/capabilities.d.ts +3 -0
  247. package/dist/linter/implementations/source/capabilities.d.ts.map +1 -0
  248. package/dist/linter/implementations/source/capabilities.js +41 -0
  249. package/dist/linter/implementations/source/capabilities.js.map +1 -0
  250. package/dist/linter/implementations/source/contract.d.ts +17 -0
  251. package/dist/linter/implementations/source/contract.d.ts.map +1 -0
  252. package/dist/linter/implementations/source/contract.js +53 -0
  253. package/dist/linter/implementations/source/contract.js.map +1 -0
  254. package/dist/linter/implementations/source/functions.d.ts +3 -0
  255. package/dist/linter/implementations/source/functions.d.ts.map +1 -0
  256. package/dist/linter/implementations/source/functions.js +102 -0
  257. package/dist/linter/implementations/source/functions.js.map +1 -0
  258. package/dist/linter/implementations/source/global.d.ts +3 -0
  259. package/dist/linter/implementations/source/global.d.ts.map +1 -0
  260. package/dist/linter/implementations/source/global.js +812 -0
  261. package/dist/linter/implementations/source/global.js.map +1 -0
  262. package/dist/linter/implementations/source/index.d.ts +4 -0
  263. package/dist/linter/implementations/source/index.d.ts.map +1 -0
  264. package/dist/linter/implementations/source/index.js +4 -0
  265. package/dist/linter/implementations/source/index.js.map +1 -0
  266. package/dist/linter/implementations/source/integrations.d.ts +3 -0
  267. package/dist/linter/implementations/source/integrations.d.ts.map +1 -0
  268. package/dist/linter/implementations/source/integrations.js +186 -0
  269. package/dist/linter/implementations/source/integrations.js.map +1 -0
  270. package/dist/linter/implementations/source/migrations.d.ts +3 -0
  271. package/dist/linter/implementations/source/migrations.d.ts.map +1 -0
  272. package/dist/linter/implementations/source/migrations.js +115 -0
  273. package/dist/linter/implementations/source/migrations.js.map +1 -0
  274. package/dist/linter/implementations/source/mutations.d.ts +3 -0
  275. package/dist/linter/implementations/source/mutations.d.ts.map +1 -0
  276. package/dist/linter/implementations/source/mutations.js +185 -0
  277. package/dist/linter/implementations/source/mutations.js.map +1 -0
  278. package/dist/linter/implementations/source/queries.d.ts +3 -0
  279. package/dist/linter/implementations/source/queries.d.ts.map +1 -0
  280. package/dist/linter/implementations/source/queries.js +1000 -0
  281. package/dist/linter/implementations/source/queries.js.map +1 -0
  282. package/dist/linter/implementations/source/rules.d.ts +3 -0
  283. package/dist/linter/implementations/source/rules.d.ts.map +1 -0
  284. package/dist/linter/implementations/source/rules.js +141 -0
  285. package/dist/linter/implementations/source/rules.js.map +1 -0
  286. package/dist/linter/implementations/source/schema.d.ts +3 -0
  287. package/dist/linter/implementations/source/schema.d.ts.map +1 -0
  288. package/dist/linter/implementations/source/schema.js +105 -0
  289. package/dist/linter/implementations/source/schema.js.map +1 -0
  290. package/dist/linter/implementations/source/shared.d.ts +42 -0
  291. package/dist/linter/implementations/source/shared.d.ts.map +1 -0
  292. package/dist/linter/implementations/source/shared.js +239 -0
  293. package/dist/linter/implementations/source/shared.js.map +1 -0
  294. package/dist/linter/implementations/source/states.d.ts +3 -0
  295. package/dist/linter/implementations/source/states.d.ts.map +1 -0
  296. package/dist/linter/implementations/source/states.js +2 -0
  297. package/dist/linter/implementations/source/states.js.map +1 -0
  298. package/dist/linter/implementations/source/tests.d.ts +3 -0
  299. package/dist/linter/implementations/source/tests.d.ts.map +1 -0
  300. package/dist/linter/implementations/source/tests.js +28 -0
  301. package/dist/linter/implementations/source/tests.js.map +1 -0
  302. package/dist/linter/implementations/source/ui.d.ts +3 -0
  303. package/dist/linter/implementations/source/ui.d.ts.map +1 -0
  304. package/dist/linter/implementations/source/ui.js +21 -0
  305. package/dist/linter/implementations/source/ui.js.map +1 -0
  306. package/dist/linter/implementations/source/utils.d.ts +3 -0
  307. package/dist/linter/implementations/source/utils.d.ts.map +1 -0
  308. package/dist/linter/implementations/source/utils.js +29 -0
  309. package/dist/linter/implementations/source/utils.js.map +1 -0
  310. package/dist/linter/implementations/source/verifiers.d.ts +3 -0
  311. package/dist/linter/implementations/source/verifiers.d.ts.map +1 -0
  312. package/dist/linter/implementations/source/verifiers.js +33 -0
  313. package/dist/linter/implementations/source/verifiers.js.map +1 -0
  314. package/dist/linter/implementations/source/views.d.ts +3 -0
  315. package/dist/linter/implementations/source/views.d.ts.map +1 -0
  316. package/dist/linter/implementations/source/views.js +36 -0
  317. package/dist/linter/implementations/source/views.js.map +1 -0
  318. package/dist/linter/implementations/source/workflows.d.ts +3 -0
  319. package/dist/linter/implementations/source/workflows.d.ts.map +1 -0
  320. package/dist/linter/implementations/source/workflows.js +308 -0
  321. package/dist/linter/implementations/source/workflows.js.map +1 -0
  322. package/dist/linter/index.d.ts +7 -8
  323. package/dist/linter/index.d.ts.map +1 -1
  324. package/dist/linter/index.js +2 -4
  325. package/dist/linter/index.js.map +1 -1
  326. package/dist/linter/lint.d.ts +22 -6
  327. package/dist/linter/lint.d.ts.map +1 -1
  328. package/dist/linter/lint.js +58 -15
  329. package/dist/linter/lint.js.map +1 -1
  330. package/dist/linter/oxlint/index.d.ts +4 -0
  331. package/dist/linter/oxlint/index.d.ts.map +1 -0
  332. package/dist/linter/oxlint/index.js +2 -0
  333. package/dist/linter/oxlint/index.js.map +1 -0
  334. package/dist/linter/oxlint/process.d.ts +19 -0
  335. package/dist/linter/oxlint/process.d.ts.map +1 -0
  336. package/dist/linter/oxlint/process.js +170 -0
  337. package/dist/linter/oxlint/process.js.map +1 -0
  338. package/dist/linter/oxlint/run.d.ts +7 -6
  339. package/dist/linter/oxlint/run.d.ts.map +1 -1
  340. package/dist/linter/oxlint/run.js +166 -36
  341. package/dist/linter/oxlint/run.js.map +1 -1
  342. package/dist/linter/oxlint-config/ignore-patterns.d.ts +6 -0
  343. package/dist/linter/oxlint-config/ignore-patterns.d.ts.map +1 -0
  344. package/dist/linter/oxlint-config/ignore-patterns.js +10 -0
  345. package/dist/linter/oxlint-config/ignore-patterns.js.map +1 -0
  346. package/dist/linter/oxlint-config/index.d.ts +5 -0
  347. package/dist/linter/oxlint-config/index.d.ts.map +1 -0
  348. package/dist/linter/oxlint-config/index.js +18 -0
  349. package/dist/linter/oxlint-config/index.js.map +1 -0
  350. package/dist/linter/packs/domain.d.ts +3 -0
  351. package/dist/linter/packs/domain.d.ts.map +1 -0
  352. package/dist/linter/packs/domain.js +8 -0
  353. package/dist/linter/packs/domain.js.map +1 -0
  354. package/dist/linter/packs/index.d.ts +9 -0
  355. package/dist/linter/packs/index.d.ts.map +1 -0
  356. package/dist/linter/packs/index.js +2 -0
  357. package/dist/linter/packs/index.js.map +1 -0
  358. package/dist/linter/policy/compile.d.ts +3 -0
  359. package/dist/linter/policy/compile.d.ts.map +1 -0
  360. package/dist/linter/policy/compile.js +256 -0
  361. package/dist/linter/policy/compile.js.map +1 -0
  362. package/dist/linter/policy/generated.d.ts +5 -0
  363. package/dist/linter/policy/generated.d.ts.map +1 -0
  364. package/dist/linter/policy/generated.js +764 -0
  365. package/dist/linter/policy/generated.js.map +1 -0
  366. package/dist/linter/policy/index.d.ts +43 -0
  367. package/dist/linter/policy/index.d.ts.map +1 -0
  368. package/dist/linter/policy/index.js +3 -0
  369. package/dist/linter/policy/index.js.map +1 -0
  370. package/dist/linter/qualification/index.d.ts +11 -0
  371. package/dist/linter/qualification/index.d.ts.map +1 -0
  372. package/dist/linter/qualification/index.js +3 -0
  373. package/dist/linter/qualification/index.js.map +1 -0
  374. package/dist/linter/qualification/query-fixtures.d.ts +3 -0
  375. package/dist/linter/qualification/query-fixtures.d.ts.map +1 -0
  376. package/dist/linter/qualification/query-fixtures.js +69 -0
  377. package/dist/linter/qualification/query-fixtures.js.map +1 -0
  378. package/dist/linter/qualification/runner.d.ts +4 -0
  379. package/dist/linter/qualification/runner.d.ts.map +1 -0
  380. package/dist/linter/qualification/runner.js +7 -0
  381. package/dist/linter/qualification/runner.js.map +1 -0
  382. package/dist/linter/report/format.d.ts +4 -0
  383. package/dist/linter/report/format.d.ts.map +1 -0
  384. package/dist/linter/report/format.js +33 -0
  385. package/dist/linter/report/format.js.map +1 -0
  386. package/dist/linter/report/index.d.ts +3 -0
  387. package/dist/linter/report/index.d.ts.map +1 -0
  388. package/dist/linter/report/index.js +2 -0
  389. package/dist/linter/report/index.js.map +1 -0
  390. package/dist/linter/requirements/index.d.ts +3 -0
  391. package/dist/linter/requirements/index.d.ts.map +1 -0
  392. package/dist/linter/requirements/index.js +2 -0
  393. package/dist/linter/requirements/index.js.map +1 -0
  394. package/dist/linter/requirements/model.d.ts +9 -0
  395. package/dist/linter/requirements/model.d.ts.map +1 -0
  396. package/dist/linter/requirements/model.js +2 -0
  397. package/dist/linter/requirements/model.js.map +1 -0
  398. package/dist/linter/requirements/registry.d.ts +4 -0
  399. package/dist/linter/requirements/registry.d.ts.map +1 -0
  400. package/dist/linter/requirements/registry.js +188 -0
  401. package/dist/linter/requirements/registry.js.map +1 -0
  402. package/dist/linter/semantics/query/decision.d.ts +5 -0
  403. package/dist/linter/semantics/query/decision.d.ts.map +1 -0
  404. package/dist/linter/semantics/query/decision.js +74 -0
  405. package/dist/linter/semantics/query/decision.js.map +1 -0
  406. package/dist/linter/semantics/query/index.d.ts +4 -0
  407. package/dist/linter/semantics/query/index.d.ts.map +1 -0
  408. package/dist/linter/semantics/query/index.js +3 -0
  409. package/dist/linter/semantics/query/index.js.map +1 -0
  410. package/dist/linter/semantics/query/observation.d.ts +36 -0
  411. package/dist/linter/semantics/query/observation.d.ts.map +1 -0
  412. package/dist/linter/semantics/query/observation.js +13 -0
  413. package/dist/linter/semantics/query/observation.js.map +1 -0
  414. package/dist/linter/suppression/apply.d.ts +4 -0
  415. package/dist/linter/suppression/apply.d.ts.map +1 -0
  416. package/dist/linter/suppression/apply.js +48 -0
  417. package/dist/linter/suppression/apply.js.map +1 -0
  418. package/dist/linter/suppression/directive.d.ts +11 -0
  419. package/dist/linter/suppression/directive.d.ts.map +1 -0
  420. package/dist/linter/suppression/directive.js +2 -0
  421. package/dist/linter/suppression/directive.js.map +1 -0
  422. package/dist/linter/suppression/index.d.ts +14 -0
  423. package/dist/linter/suppression/index.d.ts.map +1 -0
  424. package/dist/linter/suppression/index.js +2 -0
  425. package/dist/linter/suppression/index.js.map +1 -0
  426. package/dist/mutation/contract.d.ts +134 -0
  427. package/dist/mutation/contract.d.ts.map +1 -0
  428. package/dist/mutation/contract.js +2 -0
  429. package/dist/mutation/contract.js.map +1 -0
  430. package/dist/mutation/define.d.ts +9 -0
  431. package/dist/mutation/define.d.ts.map +1 -0
  432. package/dist/mutation/define.js +24 -0
  433. package/dist/mutation/define.js.map +1 -0
  434. package/dist/mutation/errors.d.ts +3 -0
  435. package/dist/mutation/errors.d.ts.map +1 -0
  436. package/dist/mutation/errors.js +16 -0
  437. package/dist/mutation/errors.js.map +1 -0
  438. package/dist/mutation/execute.d.ts +11 -0
  439. package/dist/mutation/execute.d.ts.map +1 -0
  440. package/dist/mutation/execute.js +24 -0
  441. package/dist/mutation/execute.js.map +1 -0
  442. package/dist/mutation/index.d.ts +8 -0
  443. package/dist/mutation/index.d.ts.map +1 -0
  444. package/dist/mutation/index.js +5 -0
  445. package/dist/mutation/index.js.map +1 -0
  446. package/dist/mutation/rich.d.ts +4 -0
  447. package/dist/mutation/rich.d.ts.map +1 -0
  448. package/dist/mutation/rich.js +147 -0
  449. package/dist/mutation/rich.js.map +1 -0
  450. package/dist/query/composite/contract.d.ts +37 -0
  451. package/dist/query/composite/contract.d.ts.map +1 -0
  452. package/dist/query/composite/contract.js +2 -0
  453. package/dist/query/composite/contract.js.map +1 -0
  454. package/dist/query/composite/errors.d.ts +8 -0
  455. package/dist/query/composite/errors.d.ts.map +1 -0
  456. package/dist/query/composite/errors.js +9 -0
  457. package/dist/query/composite/errors.js.map +1 -0
  458. package/dist/query/composite/index.d.ts +6 -0
  459. package/dist/query/composite/index.d.ts.map +1 -0
  460. package/dist/query/composite/index.js +3 -0
  461. package/dist/query/composite/index.js.map +1 -0
  462. package/dist/query/composite/plan.d.ts +38 -0
  463. package/dist/query/composite/plan.d.ts.map +1 -0
  464. package/dist/query/composite/plan.js +225 -0
  465. package/dist/query/composite/plan.js.map +1 -0
  466. package/dist/query/contract.d.ts +58 -0
  467. package/dist/query/contract.d.ts.map +1 -0
  468. package/dist/query/contract.js +2 -0
  469. package/dist/query/contract.js.map +1 -0
  470. package/dist/query/define.d.ts +3 -0
  471. package/dist/query/define.d.ts.map +1 -0
  472. package/dist/query/define.js +90 -0
  473. package/dist/query/define.js.map +1 -0
  474. package/dist/query/definition.d.ts +29 -0
  475. package/dist/query/definition.d.ts.map +1 -0
  476. package/dist/query/definition.js +2 -0
  477. package/dist/query/definition.js.map +1 -0
  478. package/dist/query/errors.d.ts +9 -0
  479. package/dist/query/errors.d.ts.map +1 -0
  480. package/dist/query/errors.js +15 -0
  481. package/dist/query/errors.js.map +1 -0
  482. package/dist/query/execute.d.ts +20 -0
  483. package/dist/query/execute.d.ts.map +1 -0
  484. package/dist/query/execute.js +97 -0
  485. package/dist/query/execute.js.map +1 -0
  486. package/dist/query/index.d.ts +15 -0
  487. package/dist/query/index.d.ts.map +1 -0
  488. package/dist/query/index.js +8 -0
  489. package/dist/query/index.js.map +1 -0
  490. package/dist/query/node.d.ts +109 -0
  491. package/dist/query/node.d.ts.map +1 -0
  492. package/dist/query/node.js +156 -0
  493. package/dist/query/node.js.map +1 -0
  494. package/dist/query/result/contract.d.ts +23 -0
  495. package/dist/query/result/contract.d.ts.map +1 -0
  496. package/dist/query/result/contract.js +2 -0
  497. package/dist/query/result/contract.js.map +1 -0
  498. package/dist/query/result/index.d.ts +3 -0
  499. package/dist/query/result/index.d.ts.map +1 -0
  500. package/dist/query/result/index.js +2 -0
  501. package/dist/query/result/index.js.map +1 -0
  502. package/dist/query/result/projection.d.ts +3 -0
  503. package/dist/query/result/projection.d.ts.map +1 -0
  504. package/dist/query/result/projection.js +100 -0
  505. package/dist/query/result/projection.js.map +1 -0
  506. package/dist/query/selection.d.ts +4 -0
  507. package/dist/query/selection.d.ts.map +1 -0
  508. package/dist/query/selection.js +25 -0
  509. package/dist/query/selection.js.map +1 -0
  510. package/dist/react/compile.d.ts +9 -0
  511. package/dist/react/compile.d.ts.map +1 -0
  512. package/dist/react/compile.js +64 -0
  513. package/dist/react/compile.js.map +1 -0
  514. package/dist/react/define.d.ts +8 -0
  515. package/dist/react/define.d.ts.map +1 -0
  516. package/dist/react/define.js +89 -0
  517. package/dist/react/define.js.map +1 -0
  518. package/dist/react/definition.d.ts +69 -0
  519. package/dist/react/definition.d.ts.map +1 -0
  520. package/dist/react/definition.js +2 -0
  521. package/dist/react/definition.js.map +1 -0
  522. package/dist/react/index.d.ts +4 -0
  523. package/dist/react/index.d.ts.map +1 -0
  524. package/dist/react/index.js +3 -0
  525. package/dist/react/index.js.map +1 -0
  526. package/dist/result/index.d.ts +3 -0
  527. package/dist/result/index.d.ts.map +1 -0
  528. package/dist/result/index.js +2 -0
  529. package/dist/result/index.js.map +1 -0
  530. package/dist/result/result.d.ts +10 -0
  531. package/dist/result/result.d.ts.map +1 -0
  532. package/dist/result/result.js +7 -0
  533. package/dist/result/result.js.map +1 -0
  534. package/dist/schema/index.d.ts +3 -0
  535. package/dist/schema/index.d.ts.map +1 -0
  536. package/dist/schema/index.js +3 -0
  537. package/dist/schema/index.js.map +1 -0
  538. package/dist/schema/kernel/index.d.ts +3 -0
  539. package/dist/schema/kernel/index.d.ts.map +1 -0
  540. package/dist/schema/kernel/index.js +3 -0
  541. package/dist/schema/kernel/index.js.map +1 -0
  542. package/dist/schema/v1/index.d.ts +3 -0
  543. package/dist/schema/v1/index.d.ts.map +1 -0
  544. package/dist/schema/v1/index.js +3 -0
  545. package/dist/schema/v1/index.js.map +1 -0
  546. package/dist/server/application.d.ts +35 -0
  547. package/dist/server/application.d.ts.map +1 -0
  548. package/dist/server/application.js +124 -0
  549. package/dist/server/application.js.map +1 -0
  550. package/dist/server/index.d.ts +4 -13
  551. package/dist/server/index.d.ts.map +1 -1
  552. package/dist/server/index.js +2 -8
  553. package/dist/server/index.js.map +1 -1
  554. package/dist/server/node/index.d.ts +3 -0
  555. package/dist/server/node/index.d.ts.map +1 -0
  556. package/dist/server/node/index.js +2 -0
  557. package/dist/server/node/index.js.map +1 -0
  558. package/dist/server/node/server.d.ts +14 -0
  559. package/dist/server/node/server.d.ts.map +1 -0
  560. package/dist/server/node/server.js +71 -0
  561. package/dist/server/node/server.js.map +1 -0
  562. package/dist/server/remote.d.ts +51 -0
  563. package/dist/server/remote.d.ts.map +1 -0
  564. package/dist/server/remote.js +631 -0
  565. package/dist/server/remote.js.map +1 -0
  566. package/dist/server/source.d.ts +13 -0
  567. package/dist/server/source.d.ts.map +1 -0
  568. package/dist/server/source.js +38 -0
  569. package/dist/server/source.js.map +1 -0
  570. package/dist/state/index.d.ts +4 -0
  571. package/dist/state/index.d.ts.map +1 -0
  572. package/dist/state/index.js +2 -0
  573. package/dist/state/index.js.map +1 -0
  574. package/dist/state/machine.d.ts +28 -0
  575. package/dist/state/machine.d.ts.map +1 -0
  576. package/dist/state/machine.js +32 -0
  577. package/dist/state/machine.js.map +1 -0
  578. package/dist/state/relation.d.ts +28 -0
  579. package/dist/state/relation.d.ts.map +1 -0
  580. package/dist/state/relation.js +48 -0
  581. package/dist/state/relation.js.map +1 -0
  582. package/dist/value/index.d.ts +3 -0
  583. package/dist/value/index.d.ts.map +1 -0
  584. package/dist/value/index.js +3 -0
  585. package/dist/value/index.js.map +1 -0
  586. package/dist/view/admission.d.ts +6 -0
  587. package/dist/view/admission.d.ts.map +1 -0
  588. package/dist/view/admission.js +43 -0
  589. package/dist/view/admission.js.map +1 -0
  590. package/dist/view/compile.d.ts +15 -0
  591. package/dist/view/compile.d.ts.map +1 -0
  592. package/dist/view/compile.js +189 -0
  593. package/dist/view/compile.js.map +1 -0
  594. package/dist/view/define.d.ts +20 -0
  595. package/dist/view/define.d.ts.map +1 -0
  596. package/dist/view/define.js +236 -0
  597. package/dist/view/define.js.map +1 -0
  598. package/dist/view/definition.d.ts +96 -0
  599. package/dist/view/definition.d.ts.map +1 -0
  600. package/dist/view/definition.js +2 -0
  601. package/dist/view/definition.js.map +1 -0
  602. package/dist/view/index.d.ts +4 -0
  603. package/dist/view/index.d.ts.map +1 -0
  604. package/dist/view/index.js +3 -0
  605. package/dist/view/index.js.map +1 -0
  606. package/dist/workflow/binding.d.ts +43 -0
  607. package/dist/workflow/binding.d.ts.map +1 -0
  608. package/dist/workflow/binding.js +32 -0
  609. package/dist/workflow/binding.js.map +1 -0
  610. package/dist/workflow/contract.d.ts +56 -0
  611. package/dist/workflow/contract.d.ts.map +1 -0
  612. package/dist/workflow/contract.js +2 -0
  613. package/dist/workflow/contract.js.map +1 -0
  614. package/dist/workflow/define.d.ts +4 -0
  615. package/dist/workflow/define.d.ts.map +1 -0
  616. package/dist/workflow/define.js +57 -0
  617. package/dist/workflow/define.js.map +1 -0
  618. package/dist/workflow/index.d.ts +7 -0
  619. package/dist/workflow/index.d.ts.map +1 -0
  620. package/dist/workflow/index.js +4 -0
  621. package/dist/workflow/index.js.map +1 -0
  622. package/dist/workflow/runner.d.ts +4 -0
  623. package/dist/workflow/runner.d.ts.map +1 -0
  624. package/dist/workflow/runner.js +24 -0
  625. package/dist/workflow/runner.js.map +1 -0
  626. package/dist/workflow/step/index.d.ts +3 -0
  627. package/dist/workflow/step/index.d.ts.map +1 -0
  628. package/dist/workflow/step/index.js +2 -0
  629. package/dist/workflow/step/index.js.map +1 -0
  630. package/dist/workflow/step/inline.d.ts +6 -0
  631. package/dist/workflow/step/inline.d.ts.map +1 -0
  632. package/dist/workflow/step/inline.js +44 -0
  633. package/dist/workflow/step/inline.js.map +1 -0
  634. package/dist/workflow/step/step.d.ts +5 -0
  635. package/dist/workflow/step/step.d.ts.map +1 -0
  636. package/dist/workflow/step/step.js +2 -0
  637. package/dist/workflow/step/step.js.map +1 -0
  638. package/package.json +124 -24
  639. package/dist/auth/authenticate.d.ts +0 -24
  640. package/dist/auth/authenticate.d.ts.map +0 -1
  641. package/dist/auth/authenticate.js +0 -29
  642. package/dist/auth/authenticate.js.map +0 -1
  643. package/dist/auth/check.d.ts +0 -38
  644. package/dist/auth/check.d.ts.map +0 -1
  645. package/dist/auth/check.js +0 -50
  646. package/dist/auth/check.js.map +0 -1
  647. package/dist/auth/compose.d.ts +0 -41
  648. package/dist/auth/compose.d.ts.map +0 -1
  649. package/dist/auth/compose.js +0 -45
  650. package/dist/auth/compose.js.map +0 -1
  651. package/dist/auth/errors.d.ts +0 -16
  652. package/dist/auth/errors.d.ts.map +0 -1
  653. package/dist/auth/errors.js +0 -26
  654. package/dist/auth/errors.js.map +0 -1
  655. package/dist/auth/function-context.d.ts +0 -28
  656. package/dist/auth/function-context.d.ts.map +0 -1
  657. package/dist/auth/function-context.js +0 -47
  658. package/dist/auth/function-context.js.map +0 -1
  659. package/dist/auth/identity.d.ts +0 -18
  660. package/dist/auth/identity.d.ts.map +0 -1
  661. package/dist/auth/identity.js +0 -2
  662. package/dist/auth/identity.js.map +0 -1
  663. package/dist/auth/issuer-mint.d.ts +0 -53
  664. package/dist/auth/issuer-mint.d.ts.map +0 -1
  665. package/dist/auth/issuer-mint.js +0 -35
  666. package/dist/auth/issuer-mint.js.map +0 -1
  667. package/dist/auth/kernel-client.d.ts +0 -37
  668. package/dist/auth/kernel-client.d.ts.map +0 -1
  669. package/dist/auth/kernel-client.js +0 -111
  670. package/dist/auth/kernel-client.js.map +0 -1
  671. package/dist/auth/resolve.d.ts +0 -19
  672. package/dist/auth/resolve.d.ts.map +0 -1
  673. package/dist/auth/resolve.js +0 -43
  674. package/dist/auth/resolve.js.map +0 -1
  675. package/dist/auth/sign.d.ts +0 -15
  676. package/dist/auth/sign.d.ts.map +0 -1
  677. package/dist/auth/sign.js +0 -24
  678. package/dist/auth/sign.js.map +0 -1
  679. package/dist/auth/verify.d.ts +0 -28
  680. package/dist/auth/verify.d.ts.map +0 -1
  681. package/dist/auth/verify.js +0 -151
  682. package/dist/auth/verify.js.map +0 -1
  683. package/dist/cli/spec.d.ts +0 -19
  684. package/dist/cli/spec.d.ts.map +0 -1
  685. package/dist/cli/spec.js +0 -33
  686. package/dist/cli/spec.js.map +0 -1
  687. package/dist/config/adapter.d.ts +0 -148
  688. package/dist/config/adapter.d.ts.map +0 -1
  689. package/dist/config/adapter.js +0 -40
  690. package/dist/config/adapter.js.map +0 -1
  691. package/dist/config/define-domain.d.ts +0 -177
  692. package/dist/config/define-domain.d.ts.map +0 -1
  693. package/dist/config/define-domain.js +0 -145
  694. package/dist/config/define-domain.js.map +0 -1
  695. package/dist/config/deploy.d.ts +0 -28
  696. package/dist/config/deploy.d.ts.map +0 -1
  697. package/dist/config/deploy.js +0 -24
  698. package/dist/config/deploy.js.map +0 -1
  699. package/dist/config/index.d.ts +0 -21
  700. package/dist/config/index.d.ts.map +0 -1
  701. package/dist/config/index.js +0 -18
  702. package/dist/config/index.js.map +0 -1
  703. package/dist/define/index.d.ts +0 -5
  704. package/dist/define/index.d.ts.map +0 -1
  705. package/dist/define/index.js +0 -3
  706. package/dist/define/index.js.map +0 -1
  707. package/dist/define/remote-function.d.ts +0 -120
  708. package/dist/define/remote-function.d.ts.map +0 -1
  709. package/dist/define/remote-function.js +0 -26
  710. package/dist/define/remote-function.js.map +0 -1
  711. package/dist/define/view.d.ts +0 -104
  712. package/dist/define/view.d.ts.map +0 -1
  713. package/dist/define/view.js +0 -30
  714. package/dist/define/view.js.map +0 -1
  715. package/dist/deploy/check.d.ts +0 -30
  716. package/dist/deploy/check.d.ts.map +0 -1
  717. package/dist/deploy/check.js +0 -82
  718. package/dist/deploy/check.js.map +0 -1
  719. package/dist/deploy/index.d.ts +0 -3
  720. package/dist/deploy/index.d.ts.map +0 -1
  721. package/dist/deploy/index.js +0 -3
  722. package/dist/deploy/index.js.map +0 -1
  723. package/dist/deploy/meta.d.ts +0 -29
  724. package/dist/deploy/meta.d.ts.map +0 -1
  725. package/dist/deploy/meta.js +0 -45
  726. package/dist/deploy/meta.js.map +0 -1
  727. package/dist/dispatch/authorize.d.ts +0 -14
  728. package/dist/dispatch/authorize.d.ts.map +0 -1
  729. package/dist/dispatch/authorize.js +0 -24
  730. package/dist/dispatch/authorize.js.map +0 -1
  731. package/dist/dispatch/dispatcher.d.ts +0 -59
  732. package/dist/dispatch/dispatcher.d.ts.map +0 -1
  733. package/dist/dispatch/dispatcher.js +0 -237
  734. package/dist/dispatch/dispatcher.js.map +0 -1
  735. package/dist/dispatch/errors.d.ts +0 -47
  736. package/dist/dispatch/errors.d.ts.map +0 -1
  737. package/dist/dispatch/errors.js +0 -76
  738. package/dist/dispatch/errors.js.map +0 -1
  739. package/dist/dispatch/execute.d.ts +0 -44
  740. package/dist/dispatch/execute.d.ts.map +0 -1
  741. package/dist/dispatch/execute.js +0 -29
  742. package/dist/dispatch/execute.js.map +0 -1
  743. package/dist/dispatch/identity.d.ts +0 -75
  744. package/dist/dispatch/identity.d.ts.map +0 -1
  745. package/dist/dispatch/identity.js +0 -101
  746. package/dist/dispatch/identity.js.map +0 -1
  747. package/dist/dispatch/index.d.ts +0 -7
  748. package/dist/dispatch/index.d.ts.map +0 -1
  749. package/dist/dispatch/index.js +0 -7
  750. package/dist/dispatch/index.js.map +0 -1
  751. package/dist/dispatch/resolve.d.ts +0 -27
  752. package/dist/dispatch/resolve.d.ts.map +0 -1
  753. package/dist/dispatch/resolve.js +0 -65
  754. package/dist/dispatch/resolve.js.map +0 -1
  755. package/dist/dispatch/self.d.ts +0 -51
  756. package/dist/dispatch/self.d.ts.map +0 -1
  757. package/dist/dispatch/self.js +0 -116
  758. package/dist/dispatch/self.js.map +0 -1
  759. package/dist/dispatch/validate.d.ts +0 -35
  760. package/dist/dispatch/validate.d.ts.map +0 -1
  761. package/dist/dispatch/validate.js +0 -27
  762. package/dist/dispatch/validate.js.map +0 -1
  763. package/dist/domain/binding.d.ts +0 -18
  764. package/dist/domain/binding.d.ts.map +0 -1
  765. package/dist/domain/binding.js +0 -29
  766. package/dist/domain/binding.js.map +0 -1
  767. package/dist/domain/build-spec.d.ts +0 -37
  768. package/dist/domain/build-spec.d.ts.map +0 -1
  769. package/dist/domain/build-spec.js +0 -114
  770. package/dist/domain/build-spec.js.map +0 -1
  771. package/dist/domain/contract.d.ts +0 -17
  772. package/dist/domain/contract.d.ts.map +0 -1
  773. package/dist/domain/contract.js +0 -26
  774. package/dist/domain/contract.js.map +0 -1
  775. package/dist/domain/extend-functions.d.ts +0 -48
  776. package/dist/domain/extend-functions.d.ts.map +0 -1
  777. package/dist/domain/extend-functions.js +0 -85
  778. package/dist/domain/extend-functions.js.map +0 -1
  779. package/dist/domain/extend-views.d.ts +0 -45
  780. package/dist/domain/extend-views.d.ts.map +0 -1
  781. package/dist/domain/extend-views.js +0 -116
  782. package/dist/domain/extend-views.js.map +0 -1
  783. package/dist/linter/analyze.d.ts +0 -6
  784. package/dist/linter/analyze.d.ts.map +0 -1
  785. package/dist/linter/analyze.js +0 -12
  786. package/dist/linter/analyze.js.map +0 -1
  787. package/dist/linter/diagnostic.d.ts +0 -32
  788. package/dist/linter/diagnostic.d.ts.map +0 -1
  789. package/dist/linter/diagnostic.js +0 -35
  790. package/dist/linter/diagnostic.js.map +0 -1
  791. package/dist/linter/oxlint/config.d.ts +0 -14
  792. package/dist/linter/oxlint/config.d.ts.map +0 -1
  793. package/dist/linter/oxlint/config.js +0 -18
  794. package/dist/linter/oxlint/config.js.map +0 -1
  795. package/dist/linter/oxlint/plugin.d.ts +0 -13
  796. package/dist/linter/oxlint/plugin.d.ts.map +0 -1
  797. package/dist/linter/oxlint/plugin.js +0 -14
  798. package/dist/linter/oxlint/plugin.js.map +0 -1
  799. package/dist/linter/preflight.d.ts +0 -2
  800. package/dist/linter/preflight.d.ts.map +0 -1
  801. package/dist/linter/preflight.js +0 -162
  802. package/dist/linter/preflight.js.map +0 -1
  803. package/dist/linter/project.d.ts +0 -18
  804. package/dist/linter/project.d.ts.map +0 -1
  805. package/dist/linter/project.js +0 -150
  806. package/dist/linter/project.js.map +0 -1
  807. package/dist/linter/report.d.ts +0 -4
  808. package/dist/linter/report.d.ts.map +0 -1
  809. package/dist/linter/report.js +0 -22
  810. package/dist/linter/report.js.map +0 -1
  811. package/dist/linter/rules/catalog.d.ts +0 -56
  812. package/dist/linter/rules/catalog.d.ts.map +0 -1
  813. package/dist/linter/rules/catalog.js +0 -53
  814. package/dist/linter/rules/catalog.js.map +0 -1
  815. package/dist/linter/rules/core-has-no-async.d.ts +0 -3
  816. package/dist/linter/rules/core-has-no-async.d.ts.map +0 -1
  817. package/dist/linter/rules/core-has-no-async.js +0 -43
  818. package/dist/linter/rules/core-has-no-async.js.map +0 -1
  819. package/dist/linter/rules/core-is-pure.d.ts +0 -3
  820. package/dist/linter/rules/core-is-pure.d.ts.map +0 -1
  821. package/dist/linter/rules/core-is-pure.js +0 -74
  822. package/dist/linter/rules/core-is-pure.js.map +0 -1
  823. package/dist/linter/rules/no-nested-steps.d.ts +0 -3
  824. package/dist/linter/rules/no-nested-steps.d.ts.map +0 -1
  825. package/dist/linter/rules/no-nested-steps.js +0 -32
  826. package/dist/linter/rules/no-nested-steps.js.map +0 -1
  827. package/dist/linter/rules/no-read-inside-mutate.d.ts +0 -3
  828. package/dist/linter/rules/no-read-inside-mutate.d.ts.map +0 -1
  829. package/dist/linter/rules/no-read-inside-mutate.js +0 -64
  830. package/dist/linter/rules/no-read-inside-mutate.js.map +0 -1
  831. package/dist/linter/rules/one-remote-definition-per-file.d.ts +0 -3
  832. package/dist/linter/rules/one-remote-definition-per-file.d.ts.map +0 -1
  833. package/dist/linter/rules/one-remote-definition-per-file.js +0 -23
  834. package/dist/linter/rules/one-remote-definition-per-file.js.map +0 -1
  835. package/dist/linter/rules/oxlint-ast.d.ts +0 -30
  836. package/dist/linter/rules/oxlint-ast.d.ts.map +0 -1
  837. package/dist/linter/rules/oxlint-ast.js +0 -104
  838. package/dist/linter/rules/oxlint-ast.js.map +0 -1
  839. package/dist/linter/rules/oxlint-rule.d.ts +0 -45
  840. package/dist/linter/rules/oxlint-rule.d.ts.map +0 -1
  841. package/dist/linter/rules/oxlint-rule.js +0 -2
  842. package/dist/linter/rules/oxlint-rule.js.map +0 -1
  843. package/dist/linter/rules/project-rule.d.ts +0 -10
  844. package/dist/linter/rules/project-rule.d.ts.map +0 -1
  845. package/dist/linter/rules/project-rule.js +0 -24
  846. package/dist/linter/rules/project-rule.js.map +0 -1
  847. package/dist/linter/rules/thin-schema-composition-root.d.ts +0 -3
  848. package/dist/linter/rules/thin-schema-composition-root.d.ts.map +0 -1
  849. package/dist/linter/rules/thin-schema-composition-root.js +0 -23
  850. package/dist/linter/rules/thin-schema-composition-root.js.map +0 -1
  851. package/dist/linter/source.d.ts +0 -24
  852. package/dist/linter/source.d.ts.map +0 -1
  853. package/dist/linter/source.js +0 -279
  854. package/dist/linter/source.js.map +0 -1
  855. package/dist/linter/suppression.d.ts +0 -3
  856. package/dist/linter/suppression.d.ts.map +0 -1
  857. package/dist/linter/suppression.js +0 -11
  858. package/dist/linter/suppression.js.map +0 -1
  859. package/dist/method/class.d.ts +0 -71
  860. package/dist/method/class.d.ts.map +0 -1
  861. package/dist/method/class.js +0 -26
  862. package/dist/method/class.js.map +0 -1
  863. package/dist/method/context.d.ts +0 -99
  864. package/dist/method/context.d.ts.map +0 -1
  865. package/dist/method/context.js +0 -11
  866. package/dist/method/context.js.map +0 -1
  867. package/dist/method/index.d.ts +0 -6
  868. package/dist/method/index.d.ts.map +0 -1
  869. package/dist/method/index.js +0 -3
  870. package/dist/method/index.js.map +0 -1
  871. package/dist/method/single.d.ts +0 -81
  872. package/dist/method/single.d.ts.map +0 -1
  873. package/dist/method/single.js +0 -8
  874. package/dist/method/single.js.map +0 -1
  875. package/dist/server/auxiliary-routes.d.ts +0 -48
  876. package/dist/server/auxiliary-routes.d.ts.map +0 -1
  877. package/dist/server/auxiliary-routes.js +0 -322
  878. package/dist/server/auxiliary-routes.js.map +0 -1
  879. package/dist/server/config.d.ts +0 -83
  880. package/dist/server/config.d.ts.map +0 -1
  881. package/dist/server/config.js +0 -8
  882. package/dist/server/config.js.map +0 -1
  883. package/dist/server/create.d.ts +0 -8
  884. package/dist/server/create.d.ts.map +0 -1
  885. package/dist/server/create.js +0 -171
  886. package/dist/server/create.js.map +0 -1
  887. package/dist/server/domain-entry.d.ts +0 -77
  888. package/dist/server/domain-entry.d.ts.map +0 -1
  889. package/dist/server/domain-entry.js +0 -60
  890. package/dist/server/domain-entry.js.map +0 -1
  891. package/dist/server/handle.d.ts +0 -35
  892. package/dist/server/handle.d.ts.map +0 -1
  893. package/dist/server/handle.js +0 -9
  894. package/dist/server/handle.js.map +0 -1
  895. package/dist/server/jwks.d.ts +0 -11
  896. package/dist/server/jwks.d.ts.map +0 -1
  897. package/dist/server/jwks.js +0 -15
  898. package/dist/server/jwks.js.map +0 -1
  899. package/dist/server/require-env.d.ts +0 -15
  900. package/dist/server/require-env.d.ts.map +0 -1
  901. package/dist/server/require-env.js +0 -21
  902. package/dist/server/require-env.js.map +0 -1
  903. package/dist/server/service-entry.d.ts +0 -32
  904. package/dist/server/service-entry.d.ts.map +0 -1
  905. package/dist/server/service-entry.js +0 -150
  906. package/dist/server/service-entry.js.map +0 -1
  907. package/dist/server/serving-url.d.ts +0 -14
  908. package/dist/server/serving-url.d.ts.map +0 -1
  909. package/dist/server/serving-url.js +0 -28
  910. package/dist/server/serving-url.js.map +0 -1
  911. package/dist/server/start.d.ts +0 -11
  912. package/dist/server/start.d.ts.map +0 -1
  913. package/dist/server/start.js +0 -34
  914. package/dist/server/start.js.map +0 -1
  915. package/dist/server/worker-entry.d.ts +0 -157
  916. package/dist/server/worker-entry.d.ts.map +0 -1
  917. package/dist/server/worker-entry.js +0 -201
  918. package/dist/server/worker-entry.js.map +0 -1
  919. package/dist/service/functions.d.ts +0 -148
  920. package/dist/service/functions.d.ts.map +0 -1
  921. package/dist/service/functions.js +0 -115
  922. package/dist/service/functions.js.map +0 -1
  923. package/dist/service/index.d.ts +0 -3
  924. package/dist/service/index.d.ts.map +0 -1
  925. package/dist/service/index.js +0 -2
  926. package/dist/service/index.js.map +0 -1
  927. package/dist/step/index.d.ts +0 -5
  928. package/dist/step/index.d.ts.map +0 -1
  929. package/dist/step/index.js +0 -3
  930. package/dist/step/index.js.map +0 -1
  931. package/dist/step/inline.d.ts +0 -8
  932. package/dist/step/inline.d.ts.map +0 -1
  933. package/dist/step/inline.js +0 -22
  934. package/dist/step/inline.js.map +0 -1
  935. package/dist/step/step.d.ts +0 -28
  936. package/dist/step/step.d.ts.map +0 -1
  937. package/dist/step/step.js +0 -53
  938. package/dist/step/step.js.map +0 -1
  939. package/src/auth/authenticate.ts +0 -51
  940. package/src/auth/check.ts +0 -69
  941. package/src/auth/compose.ts +0 -56
  942. package/src/auth/errors.ts +0 -32
  943. package/src/auth/function-context.ts +0 -108
  944. package/src/auth/identity.ts +0 -17
  945. package/src/auth/index.ts +0 -19
  946. package/src/auth/issuer-mint.ts +0 -76
  947. package/src/auth/kernel-client.ts +0 -153
  948. package/src/auth/resolve.ts +0 -63
  949. package/src/auth/sign.ts +0 -36
  950. package/src/auth/verify.ts +0 -199
  951. package/src/cli/bin.ts +0 -15
  952. package/src/cli/dotenv.ts +0 -65
  953. package/src/cli/index.ts +0 -15
  954. package/src/cli/log.ts +0 -18
  955. package/src/cli/publish.ts +0 -341
  956. package/src/cli/run.ts +0 -749
  957. package/src/cli/spec.ts +0 -44
  958. package/src/config/adapter.ts +0 -177
  959. package/src/config/define-domain.ts +0 -354
  960. package/src/config/deploy.ts +0 -35
  961. package/src/config/index.ts +0 -31
  962. package/src/define/index.ts +0 -10
  963. package/src/define/remote-function.ts +0 -184
  964. package/src/define/view.ts +0 -112
  965. package/src/deploy/check.ts +0 -124
  966. package/src/deploy/index.ts +0 -2
  967. package/src/deploy/meta.ts +0 -50
  968. package/src/dispatch/authorize.ts +0 -29
  969. package/src/dispatch/dispatcher.ts +0 -321
  970. package/src/dispatch/errors.ts +0 -94
  971. package/src/dispatch/execute.ts +0 -67
  972. package/src/dispatch/identity.ts +0 -143
  973. package/src/dispatch/index.ts +0 -16
  974. package/src/dispatch/resolve.ts +0 -78
  975. package/src/dispatch/self.ts +0 -198
  976. package/src/dispatch/validate.ts +0 -41
  977. package/src/domain/binding.ts +0 -37
  978. package/src/domain/build-spec.ts +0 -156
  979. package/src/domain/contract.ts +0 -41
  980. package/src/domain/define.ts +0 -161
  981. package/src/domain/extend-functions.ts +0 -110
  982. package/src/domain/extend-views.ts +0 -151
  983. package/src/domain/index.ts +0 -4
  984. package/src/index.ts +0 -165
  985. package/src/linter/analyze.ts +0 -17
  986. package/src/linter/diagnostic.ts +0 -68
  987. package/src/linter/docs/DIAGNOSTICS.md +0 -47
  988. package/src/linter/docs/JUDGMENT.md +0 -81
  989. package/src/linter/docs/PRINCIPLES.md +0 -97
  990. package/src/linter/docs/README.md +0 -38
  991. package/src/linter/docs/RULE-AUTHORING.md +0 -144
  992. package/src/linter/docs/RULES.md +0 -153
  993. package/src/linter/index.ts +0 -14
  994. package/src/linter/lint.ts +0 -32
  995. package/src/linter/oxlint/astrale-ox.d.ts +0 -5
  996. package/src/linter/oxlint/config.ts +0 -19
  997. package/src/linter/oxlint/plugin.js +0 -16
  998. package/src/linter/oxlint/run.ts +0 -162
  999. package/src/linter/preflight.ts +0 -181
  1000. package/src/linter/project.ts +0 -190
  1001. package/src/linter/report.ts +0 -25
  1002. package/src/linter/rules/catalog.ts +0 -67
  1003. package/src/linter/rules/core-has-no-async.js +0 -43
  1004. package/src/linter/rules/core-is-pure.ts +0 -103
  1005. package/src/linter/rules/no-nested-steps.js +0 -37
  1006. package/src/linter/rules/no-read-inside-mutate.js +0 -72
  1007. package/src/linter/rules/one-remote-definition-per-file.ts +0 -29
  1008. package/src/linter/rules/oxlint-ast.js +0 -110
  1009. package/src/linter/rules/oxlint-rule.ts +0 -35
  1010. package/src/linter/rules/project-rule.ts +0 -37
  1011. package/src/linter/rules/thin-schema-composition-root.ts +0 -26
  1012. package/src/linter/source.ts +0 -323
  1013. package/src/linter/suppression.ts +0 -11
  1014. package/src/method/class.ts +0 -163
  1015. package/src/method/context.ts +0 -135
  1016. package/src/method/index.ts +0 -19
  1017. package/src/method/single.ts +0 -166
  1018. package/src/server/auxiliary-routes.ts +0 -456
  1019. package/src/server/config.ts +0 -85
  1020. package/src/server/create.ts +0 -210
  1021. package/src/server/domain-entry.ts +0 -125
  1022. package/src/server/handle.ts +0 -37
  1023. package/src/server/index.ts +0 -19
  1024. package/src/server/jwks.ts +0 -18
  1025. package/src/server/require-env.ts +0 -19
  1026. package/src/server/service-entry.ts +0 -209
  1027. package/src/server/serving-url.ts +0 -28
  1028. package/src/server/start.ts +0 -42
  1029. package/src/server/worker-entry.ts +0 -286
  1030. package/src/service/functions.ts +0 -164
  1031. package/src/service/index.ts +0 -18
  1032. package/src/step/index.ts +0 -4
  1033. package/src/step/inline.ts +0 -38
  1034. package/src/step/step.ts +0 -95
@@ -1,150 +0,0 @@
1
- import { K } from '@astrale-os/kernel-core';
2
- import { Hono } from 'hono';
3
- import { makeFunctionContext } from '../auth/function-context.js';
4
- import { buildFunctionSchemas, DEFAULT_FUNCTIONS_FOLDER } from '../domain/extend-functions.js';
5
- import { SERVICE_FUNCTIONS_PATH, ServiceFunctionDiscoveryRequestSchema, signServiceFunctionManifest, toServiceFunctionManifestEntries, } from '../service/functions.js';
6
- import { mountAuxiliaryRoutes } from './auxiliary-routes.js';
7
- import { createAppWorkerEntry } from './worker-entry.js';
8
- /** A Service worker with zero or more first-class kernel Functions.
9
- *
10
- * The function map is the only declaration: it drives both HTTP routes and the
11
- * signed deploy-time manifest. Function identities are read lazily from the
12
- * graph after Services has reconciled them, while every Function reuses the
13
- * Service's one private signing key. */
14
- export function serviceWorkerEntry(config) {
15
- const functions = config.functions ?? {};
16
- const functionsFolder = config.functionsFolder ?? DEFAULT_FUNCTIONS_FOLDER;
17
- return createAppWorkerEntry({
18
- buildApp: (url, env) => {
19
- const app = new Hono();
20
- const serviceIdentity = identityFromEnv(env);
21
- const { schemas, bindings } = buildFunctionSchemas(functions, url, functionsFolder);
22
- assertLocalBindings(url, bindings);
23
- const resolveFunctionIdentity = createFunctionIdentityResolver(env, serviceIdentity);
24
- app.get('/', (c) => c.json({ ok: true, kind: 'astrale-service' }));
25
- app.post(SERVICE_FUNCTIONS_PATH, async (c) => {
26
- const parsed = ServiceFunctionDiscoveryRequestSchema.safeParse(await c.req.json().catch(() => null));
27
- if (!parsed.success) {
28
- return c.json({ error: 'Invalid service function discovery request' }, 400);
29
- }
30
- const response = await signServiceFunctionManifest({
31
- version: 1,
32
- service: {
33
- issuer: serviceIdentity.issuer,
34
- subject: serviceIdentity.subject,
35
- },
36
- functions: toServiceFunctionManifestEntries(schemas),
37
- }, parsed.data, serviceIdentity);
38
- return c.json(response);
39
- });
40
- mountAuxiliaryRoutes({
41
- app,
42
- url,
43
- remoteFunctions: functions,
44
- remoteFunctionBindings: bindings,
45
- deps: env,
46
- resolveIdentity: (kind, slug) => {
47
- if (kind !== 'remoteFunction') {
48
- throw new Error(`serviceWorkerEntry cannot resolve ${kind} identity ${slug}`);
49
- }
50
- return resolveFunctionIdentity(slug);
51
- },
52
- cors: config.cors ?? { origin: '*' },
53
- });
54
- return app;
55
- },
56
- resolveUrl: config.resolveUrl ?? ((_env, requestOrigin) => requestOrigin),
57
- selfBinding: config.selfBinding,
58
- routeSubrequest: config.routeSubrequest,
59
- });
60
- }
61
- function identityFromEnv(env) {
62
- return {
63
- issuer: required(env, 'IDENTITY_ISS'),
64
- subject: required(env, 'IDENTITY_SUB'),
65
- privateKey: parsePrivateKey(required(env, 'IDENTITY_PRIVATE_KEY')),
66
- };
67
- }
68
- function createFunctionIdentityResolver(env, serviceIdentity) {
69
- const kernelUrl = required(env, 'ASTRALE_KERNEL_AUDIENCE');
70
- let cachedAt = 0;
71
- let identities = new Map();
72
- const ttlMs = 60_000;
73
- return async (slug) => {
74
- if (Date.now() - cachedAt >= ttlMs || !identities.has(slug)) {
75
- const kernel = await makeFunctionContext(serviceIdentity, env, {
76
- ref: 'service',
77
- defaultKernelUrl: kernelUrl,
78
- }).kernel();
79
- const service = await kernel.get(`@${serviceIdentity.subject}`);
80
- if (!service)
81
- throw new Error(`Service @${serviceIdentity.subject} is not readable`);
82
- const folder = await kernel.get(`${service.path.raw}/functions`);
83
- const nodes = folder
84
- ? await (await kernel.children(folder.path, {
85
- classes: [K.$.c('Function').path.class],
86
- limit: 500,
87
- })).all()
88
- : [];
89
- identities = readFunctionIdentities(nodes, serviceIdentity.issuer);
90
- cachedAt = Date.now();
91
- }
92
- const identity = identities.get(slug);
93
- if (!identity)
94
- throw new Error(`Function identity function.${slug} is not registered`);
95
- return hostedFunctionIdentity(identity, serviceIdentity);
96
- };
97
- }
98
- /** Reuse only the Service's signing key. A hosted Function's inbound audience
99
- * defaults to its own issuer; the Service HTTP origin is merely transport. */
100
- export function hostedFunctionIdentity(identity, serviceIdentity) {
101
- return { ...identity, privateKey: serviceIdentity.privateKey };
102
- }
103
- function readFunctionIdentities(nodes, serviceIssuer) {
104
- const result = new Map();
105
- for (const node of nodes) {
106
- const ref = node.props[K.$.i('Function').ref.key];
107
- const issuer = node.props[K.Identity.iss.key];
108
- const subject = node.props[K.Identity.sub.key];
109
- if (typeof ref !== 'string' ||
110
- !ref.startsWith('function.') ||
111
- typeof issuer !== 'string' ||
112
- typeof subject !== 'string') {
113
- continue;
114
- }
115
- if (issuer !== serviceIssuer) {
116
- throw new Error(`Function ${ref} does not share its hosting Service issuer`);
117
- }
118
- result.set(ref.slice('function.'.length), { issuer, subject });
119
- }
120
- return result;
121
- }
122
- function assertLocalBindings(url, bindings) {
123
- const origin = new URL(url).origin;
124
- for (const [slug, binding] of Object.entries(bindings)) {
125
- if (!binding.remoteUrl || new URL(binding.remoteUrl).origin !== origin) {
126
- throw new Error(`serviceWorkerEntry function.${slug} must be hosted by this Service origin`);
127
- }
128
- }
129
- }
130
- function required(env, key) {
131
- const value = env[key];
132
- if (typeof value !== 'string' || value.length === 0) {
133
- throw new Error(`Missing service variable ${String(key)}`);
134
- }
135
- return value;
136
- }
137
- function parsePrivateKey(value) {
138
- let parsed;
139
- try {
140
- parsed = JSON.parse(value);
141
- }
142
- catch (error) {
143
- throw new Error('IDENTITY_PRIVATE_KEY is not valid JSON', { cause: error });
144
- }
145
- if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
146
- throw new Error('IDENTITY_PRIVATE_KEY is not a JWK object');
147
- }
148
- return parsed;
149
- }
150
- //# sourceMappingURL=service-entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service-entry.js","sourceRoot":"","sources":["../../src/server/service-entry.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Canonicalize a worker's serving URL into its `iss` identity.
3
- *
4
- * Returns the full URL with trailing slash(es) stripped — the base path is
5
- * preserved (an issuer may carry a non-empty path, like `…/kernel/host`). This
6
- * is the single canonical form used for outbound signing, the JWKS issuer,
7
- * `/meta`, the install credential, and any `Identity.iss` a domain seeds, so the
8
- * value a worker SIGNS always matches the value the kernel LOOKS UP (the kernel
9
- * canonicalizes the verified `iss` the same way and does an exact-match lookup).
10
- *
11
- * Throws if `url` is not a parseable absolute URL.
12
- */
13
- export declare function canonicalizeServingUrl(url: string): string;
14
- //# sourceMappingURL=serving-url.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serving-url.d.ts","sourceRoot":"","sources":["../../src/server/serving-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAS1D"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Canonicalize a worker's serving URL into its `iss` identity.
3
- *
4
- * Returns the full URL with trailing slash(es) stripped — the base path is
5
- * preserved (an issuer may carry a non-empty path, like `…/kernel/host`). This
6
- * is the single canonical form used for outbound signing, the JWKS issuer,
7
- * `/meta`, the install credential, and any `Identity.iss` a domain seeds, so the
8
- * value a worker SIGNS always matches the value the kernel LOOKS UP (the kernel
9
- * canonicalizes the verified `iss` the same way and does an exact-match lookup).
10
- *
11
- * Throws if `url` is not a parseable absolute URL.
12
- */
13
- // INVARIANT (cross-repo): issuer PRODUCERS must strip trailing path slashes
14
- // BEFORE a value becomes an iss. kernel-core's `normalizeIssuerId` only strips
15
- // a lone trailing slash on an EMPTY path, so `https://x/base/` and
16
- // `https://x/base` are distinct issuer identities to the kernel — this
17
- // function and the kernel's `installSourceBase` both pre-strip with the same
18
- // rule so the two sides can never mint diverging identities for one worker.
19
- export function canonicalizeServingUrl(url) {
20
- try {
21
- return new URL(url).href.replace(/\/+$/, '');
22
- }
23
- catch {
24
- throw new Error(`canonicalizeServingUrl: expected a full URL (got "${url}") — ` +
25
- 'it is the worker serving URL and its JWT issuer identity.');
26
- }
27
- }
28
- //# sourceMappingURL=serving-url.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serving-url.js","sourceRoot":"","sources":["../../src/server/serving-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,4EAA4E;AAC5E,+EAA+E;AAC/E,mEAAmE;AACnE,uEAAuE;AACvE,6EAA6E;AAC7E,4EAA4E;AAC5E,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,qDAAqD,GAAG,OAAO;YAC7D,2DAA2D,CAC9D,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Node HTTP convenience starter.
3
- *
4
- * Dynamically imports `@hono/node-server` so the SDK stays runtime-agnostic
5
- * — only Node consumers actually pull in the dep. For Bun / Deno /
6
- * Cloudflare, consumers go through `server.app.fetch` directly.
7
- */
8
- import type { Hono } from 'hono';
9
- import type { RemoteServerHandle } from './handle.js';
10
- export declare function startNodeServer(app: Hono, port?: number): Promise<RemoteServerHandle>;
11
- //# sourceMappingURL=start.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/server/start.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEhC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD,wBAAsB,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,SAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4BzF"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Node HTTP convenience starter.
3
- *
4
- * Dynamically imports `@hono/node-server` so the SDK stays runtime-agnostic
5
- * — only Node consumers actually pull in the dep. For Bun / Deno /
6
- * Cloudflare, consumers go through `server.app.fetch` directly.
7
- */
8
- export async function startNodeServer(app, port = 3000) {
9
- // Opaque specifier: the `./server` barrel re-exports this module, so worker
10
- // bundles (wrangler/esbuild) traverse it even though they never call it. A
11
- // literal import() would make them resolve the optional peer and fail.
12
- const nodeServerModule = '@hono/node-server';
13
- const { serve } = (await import(nodeServerModule));
14
- // oxlint-disable-next-line no-explicit-any
15
- const server = serve({ fetch: app.fetch, port });
16
- await new Promise((resolve, reject) => {
17
- if (server.listening)
18
- return resolve();
19
- server.once('listening', () => resolve());
20
- // Without this, a bind failure (e.g. EADDRINUSE on a busy port) emits
21
- // `'error'` and never `'listening'`, leaving the Promise — and startup —
22
- // hung forever with no diagnostic.
23
- server.once('error', (err) => reject(err));
24
- });
25
- const address = server.address();
26
- const actualPort = address?.port ?? port;
27
- return {
28
- port: actualPort,
29
- close: () => new Promise((resolve, reject) => {
30
- server.close((err) => (err ? reject(err) : resolve()));
31
- }),
32
- };
33
- }
34
- //# sourceMappingURL=start.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/server/start.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAS,EAAE,IAAI,GAAG,IAAI;IAC1D,4EAA4E;IAC5E,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,gBAAgB,GAAG,mBAAmB,CAAA;IAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAgC,CAAA;IACjF,2CAA2C;IAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,CAAQ,CAAA;IAEvD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,IAAI,MAAM,CAAC,SAAS;YAAE,OAAO,OAAO,EAAE,CAAA;QACtC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;QACzC,sEAAsE;QACtE,yEAAyE;QACzE,mCAAmC;QACnC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAA8C,CAAA;IAC5E,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI,CAAA;IAExC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,GAAG,EAAE,CACV,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAiB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACtE,CAAC,CAAC;KACL,CAAA;AACH,CAAC"}
@@ -1,157 +0,0 @@
1
- /**
2
- * `createWorkerEntry` — the shared worker `fetch` plumbing every Astrale domain
3
- * worker (and the cloudflare adapter's codegen) needs, so it lives in ONE place
4
- * instead of being copy-pasted per worker:
5
- *
6
- * • resolve the serving URL (== `iss`), canonicalize it (so the value matches
7
- * what `createRemoteServer` signs with and the kernel pins), and cache the
8
- * built app per distinct URL;
9
- * • optional subrequest routing: a `globalThis.fetch` override (installed ONLY
10
- * when `selfBinding` and/or `routeSubrequest` is configured) redirects
11
- * certain outbound fetches through a caller-supplied binding — `selfBinding`
12
- * for same-host fetches (a Worker can't fetch its own hostname), and the
13
- * vendor-neutral `routeSubrequest` for any caller policy (e.g. instance
14
- * hostnames a same-zone Worker→Worker fetch would 522 on). The SDK names no
15
- * backend or topology; the caller owns the predicate + the fetcher;
16
- * • optional SPA hook (e.g. `/ui/*` served from an `ASSETS` binding).
17
- *
18
- * The worker's OWN JWKS (`<url>/.well-known/jwks.json`) is served as a normal
19
- * route by `createRemoteServer`; the verifier resolves a self-issued credential
20
- * from the in-memory key (see `auth/verify.ts`), so no self-fetch shim is needed.
21
- *
22
- * The worker file is then just schema + methods + a `build(url, env)` callback.
23
- */
24
- import type { ExecutionContext } from 'hono';
25
- import type { RemoteServerConfig } from './config.js';
26
- export type Fetcher = {
27
- fetch(request: Request): Response | Promise<Response>;
28
- };
29
- export type WorkerApp = {
30
- fetch(request: Request, env?: unknown, executionCtx?: ExecutionContext): Response | Promise<Response>;
31
- };
32
- /** A built app cached by its serving URL: `origin` for same-origin matching,
33
- * `app` for in-process self-dispatch. */
34
- type CachedApp = {
35
- origin: string;
36
- app: WorkerApp;
37
- };
38
- /**
39
- * Choose where an OUTBOUND subrequest to `u` is routed — or `null` to let the
40
- * real `fetch` handle it. Order matters and same-origin wins FIRST: a call to
41
- * this worker's OWN serving origin is a self-dispatch, not an edge fetch — and
42
- * the caller's `routeSubrequest` policy may itself match our own host (e.g. an
43
- * `isInstanceHost` predicate matches every `*.svc.astrale.ai`, ours included),
44
- * so it must never get first look at a same-origin call.
45
- *
46
- * • same-origin + SELF binding present → the SELF fetcher: a fresh same-script
47
- * invocation. The normal Cloudflare path — a Worker can't fetch its own
48
- * hostname over the edge, so it re-enters itself through the binding.
49
- * • same-origin + NO SELF binding → the cached app, dispatched IN-PROCESS. A
50
- * Workers-for-Platforms dispatch-namespace tenant can't service-bind to
51
- * itself (its script name is platform-renamed), so it has no SELF binding; an
52
- * in-process dispatch reaches the same script with no edge hop and no binding.
53
- * `App` and the SELF `Fetcher` share the `{ fetch(request) }` shape, so the
54
- * caller drives both identically.
55
- * • else, the caller's `routeSubrequest` policy matched → its fetcher.
56
- * • else → `null`: passthrough to the real network fetch.
57
- *
58
- * Pure (no closure over instance state) so the routing decision is unit-testable
59
- * without standing up a real app.
60
- */
61
- export declare function selectSubrequestTarget<TDeps>(u: URL, ctx: {
62
- self: Fetcher | null;
63
- apps: Iterable<CachedApp>;
64
- routeEnv: TDeps | null;
65
- routeSubrequest?: (url: URL, env: TDeps) => Fetcher | null | undefined;
66
- }): {
67
- fetch(request: Request): Response | Promise<Response>;
68
- } | null;
69
- export interface WorkerEntryConfig<TDeps> {
70
- /**
71
- * Build the `createRemoteServer` config for the resolved serving `url`. Called
72
- * once per distinct URL (the resulting app is cached), with the same `env` the
73
- * request carries — so it can read additional bindings (e.g. a base domain).
74
- */
75
- build: (url: string, env: TDeps) => RemoteServerConfig<TDeps>;
76
- /**
77
- * Resolve the raw serving URL from `env` (+ the per-request origin, for workers
78
- * that fall back to the request host). Defaults to the `WORKER_URL` env var.
79
- * The result is always canonicalized before use.
80
- *
81
- * The `requestOrigin` honors an `X-Forwarded-Proto: https` upgrade (see
82
- * `clientOrigin`), so a dev worker behind a TLS-terminating proxy (cloudflared
83
- * tunnel, reverse proxy) resolves its public `https://` origin, not the raw
84
- * `http://` one workerd sees.
85
- */
86
- resolveUrl?: (env: TDeps, requestOrigin: string) => string;
87
- /** Optional: the `SELF` service binding used to route same-host subrequests. */
88
- selfBinding?: (env: TDeps) => Fetcher | null | undefined;
89
- /**
90
- * Optional, vendor-neutral: route an OUTBOUND subrequest through a
91
- * caller-supplied fetcher instead of the network — for hosts a Worker can't
92
- * reach directly over the edge (e.g. a platform router on the SAME zone:
93
- * Cloudflare 522s a same-zone Worker→Worker public `fetch`). Return a `Fetcher`
94
- * to route the request through, or null/undefined to fall through to the normal
95
- * fetch. The SDK names no backend or topology — the CALLER owns BOTH the
96
- * predicate (which hosts) and the fetcher (the binding). This generalizes
97
- * `selfBinding` (same-origin → SELF) to any caller policy; both are honored.
98
- */
99
- routeSubrequest?: (url: URL, env: TDeps) => Fetcher | null | undefined;
100
- /**
101
- * Optional: handle a request before it reaches the kernel app — e.g. serve a
102
- * SPA under `/ui/*` or a same-origin `/api/*` endpoint the view calls. Return
103
- * a `Response` to short-circuit, or `undefined` to fall through to the domain
104
- * dispatch.
105
- */
106
- before?: (env: TDeps, url: URL, request: Request) => Response | undefined | Promise<Response | undefined>;
107
- /**
108
- * Optional: transform the request on the fall-through path, just before it
109
- * reaches the kernel app (e.g. rewrite the hostname for wildcard-subdomain
110
- * routing). Not applied when `before` short-circuits.
111
- */
112
- rewriteRequest?: (env: TDeps, request: Request) => Request;
113
- }
114
- export interface AppWorkerEntryConfig<TDeps> extends Omit<WorkerEntryConfig<TDeps>, 'build'> {
115
- buildApp: (url: string, env: TDeps) => WorkerApp;
116
- }
117
- export interface WorkerEntry<TDeps> {
118
- fetch(request: Request, env: TDeps, executionCtx?: ExecutionContext): Response | Promise<Response>;
119
- }
120
- /**
121
- * The request origin as the CLIENT reached it — i.e. the origin a fallback
122
- * serving URL (and therefore the `iss`) may be derived from. Behind a
123
- * TLS-terminating proxy (a cloudflared tunnel in front of `wrangler dev`, any
124
- * reverse proxy) the worker sees plain HTTP, so `request.url` says `http://…`
125
- * while the public URL is `https://…`; the proxy advertises the original
126
- * scheme via `X-Forwarded-Proto`. Honoring it is restricted to the http→https
127
- * UPGRADE of the SAME host (never a downgrade, never a host change), so a
128
- * spoofed header can at worst derive an `iss` the kernel's JWKS check then
129
- * fails — it can never make this worker speak for another origin.
130
- */
131
- export declare function clientOrigin(url: URL, request: Request): string;
132
- /**
133
- * Build a `before` hook that serves a static-asset `binding` (e.g. a Workers
134
- * Assets binding) mounted under `base` (default `/ui`) — the runtime half of an
135
- * adapter env's client-asset config. Returns `undefined` for non-matching paths
136
- * (and when no binding is present) so the request falls through to domain dispatch.
137
- *
138
- * Asset URLs are rooted at `base` (a client bundler sets `base: '<base>/'`);
139
- * this hook strips that prefix before delegating to the binding, so
140
- * `<base>/x.js` resolves from the binding's root. When `devProxy` yields a URL
141
- * (local dev), requests are proxied there instead — the seam for a bundler's
142
- * HMR dev server. Whether unknown sub-paths fall back to `index.html` is the
143
- * binding's own concern (e.g. wrangler's `not_found_handling`), not baked in
144
- * here.
145
- *
146
- * Lives here, type-checked and testable, instead of being emitted as a string
147
- * by every adapter's worker codegen.
148
- */
149
- export declare function assets<TDeps>(opts: {
150
- base?: string;
151
- binding: (env: TDeps) => Fetcher | null | undefined;
152
- devProxy?: (env: TDeps) => string | null | undefined;
153
- }): (env: TDeps, url: URL, request: Request) => Response | Promise<Response> | undefined;
154
- export declare function createWorkerEntry<TDeps>(config: WorkerEntryConfig<TDeps>): WorkerEntry<TDeps>;
155
- export declare function createAppWorkerEntry<TDeps>(config: AppWorkerEntryConfig<TDeps>): WorkerEntry<TDeps>;
156
- export {};
157
- //# sourceMappingURL=worker-entry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-entry.d.ts","sourceRoot":"","sources":["../../src/server/worker-entry.ts"],"names":[],"mappings":"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"}
@@ -1,201 +0,0 @@
1
- /**
2
- * `createWorkerEntry` — the shared worker `fetch` plumbing every Astrale domain
3
- * worker (and the cloudflare adapter's codegen) needs, so it lives in ONE place
4
- * instead of being copy-pasted per worker:
5
- *
6
- * • resolve the serving URL (== `iss`), canonicalize it (so the value matches
7
- * what `createRemoteServer` signs with and the kernel pins), and cache the
8
- * built app per distinct URL;
9
- * • optional subrequest routing: a `globalThis.fetch` override (installed ONLY
10
- * when `selfBinding` and/or `routeSubrequest` is configured) redirects
11
- * certain outbound fetches through a caller-supplied binding — `selfBinding`
12
- * for same-host fetches (a Worker can't fetch its own hostname), and the
13
- * vendor-neutral `routeSubrequest` for any caller policy (e.g. instance
14
- * hostnames a same-zone Worker→Worker fetch would 522 on). The SDK names no
15
- * backend or topology; the caller owns the predicate + the fetcher;
16
- * • optional SPA hook (e.g. `/ui/*` served from an `ASSETS` binding).
17
- *
18
- * The worker's OWN JWKS (`<url>/.well-known/jwks.json`) is served as a normal
19
- * route by `createRemoteServer`; the verifier resolves a self-issued credential
20
- * from the in-memory key (see `auth/verify.ts`), so no self-fetch shim is needed.
21
- *
22
- * The worker file is then just schema + methods + a `build(url, env)` callback.
23
- */
24
- import { createRemoteServer } from './create.js';
25
- import { requireEnv } from './require-env.js';
26
- import { canonicalizeServingUrl } from './serving-url.js';
27
- /**
28
- * Choose where an OUTBOUND subrequest to `u` is routed — or `null` to let the
29
- * real `fetch` handle it. Order matters and same-origin wins FIRST: a call to
30
- * this worker's OWN serving origin is a self-dispatch, not an edge fetch — and
31
- * the caller's `routeSubrequest` policy may itself match our own host (e.g. an
32
- * `isInstanceHost` predicate matches every `*.svc.astrale.ai`, ours included),
33
- * so it must never get first look at a same-origin call.
34
- *
35
- * • same-origin + SELF binding present → the SELF fetcher: a fresh same-script
36
- * invocation. The normal Cloudflare path — a Worker can't fetch its own
37
- * hostname over the edge, so it re-enters itself through the binding.
38
- * • same-origin + NO SELF binding → the cached app, dispatched IN-PROCESS. A
39
- * Workers-for-Platforms dispatch-namespace tenant can't service-bind to
40
- * itself (its script name is platform-renamed), so it has no SELF binding; an
41
- * in-process dispatch reaches the same script with no edge hop and no binding.
42
- * `App` and the SELF `Fetcher` share the `{ fetch(request) }` shape, so the
43
- * caller drives both identically.
44
- * • else, the caller's `routeSubrequest` policy matched → its fetcher.
45
- * • else → `null`: passthrough to the real network fetch.
46
- *
47
- * Pure (no closure over instance state) so the routing decision is unit-testable
48
- * without standing up a real app.
49
- */
50
- export function selectSubrequestTarget(u, ctx) {
51
- // Same-origin self-subrequest → the same script (SELF binding, else in-process).
52
- for (const cached of ctx.apps) {
53
- if (cached.origin === u.origin)
54
- return ctx.self ?? cached.app;
55
- }
56
- // Caller policy (e.g. a platform router on the same zone) → its fetcher.
57
- if (ctx.routeSubrequest && ctx.routeEnv) {
58
- const via = ctx.routeSubrequest(u, ctx.routeEnv);
59
- if (via)
60
- return via;
61
- }
62
- return null;
63
- }
64
- /**
65
- * The request origin as the CLIENT reached it — i.e. the origin a fallback
66
- * serving URL (and therefore the `iss`) may be derived from. Behind a
67
- * TLS-terminating proxy (a cloudflared tunnel in front of `wrangler dev`, any
68
- * reverse proxy) the worker sees plain HTTP, so `request.url` says `http://…`
69
- * while the public URL is `https://…`; the proxy advertises the original
70
- * scheme via `X-Forwarded-Proto`. Honoring it is restricted to the http→https
71
- * UPGRADE of the SAME host (never a downgrade, never a host change), so a
72
- * spoofed header can at worst derive an `iss` the kernel's JWKS check then
73
- * fails — it can never make this worker speak for another origin.
74
- */
75
- export function clientOrigin(url, request) {
76
- if (url.protocol !== 'http:')
77
- return url.origin;
78
- const forwarded = request.headers.get('x-forwarded-proto');
79
- // Multiple proxies append: "https, http" — the first hop is the client-facing one.
80
- const scheme = forwarded?.split(',')[0]?.trim().toLowerCase();
81
- return scheme === 'https' ? `https://${url.host}` : url.origin;
82
- }
83
- /**
84
- * Build a `before` hook that serves a static-asset `binding` (e.g. a Workers
85
- * Assets binding) mounted under `base` (default `/ui`) — the runtime half of an
86
- * adapter env's client-asset config. Returns `undefined` for non-matching paths
87
- * (and when no binding is present) so the request falls through to domain dispatch.
88
- *
89
- * Asset URLs are rooted at `base` (a client bundler sets `base: '<base>/'`);
90
- * this hook strips that prefix before delegating to the binding, so
91
- * `<base>/x.js` resolves from the binding's root. When `devProxy` yields a URL
92
- * (local dev), requests are proxied there instead — the seam for a bundler's
93
- * HMR dev server. Whether unknown sub-paths fall back to `index.html` is the
94
- * binding's own concern (e.g. wrangler's `not_found_handling`), not baked in
95
- * here.
96
- *
97
- * Lives here, type-checked and testable, instead of being emitted as a string
98
- * by every adapter's worker codegen.
99
- */
100
- export function assets(opts) {
101
- const base = (opts.base ?? '/ui').replace(/\/+$/, '');
102
- const prefix = `${base}/`;
103
- return (env, url, request) => {
104
- const binding = opts.binding(env);
105
- if (!binding)
106
- return undefined;
107
- if (url.pathname !== base && !url.pathname.startsWith(prefix))
108
- return undefined;
109
- const devUrl = opts.devProxy?.(env);
110
- if (devUrl) {
111
- const devBase = devUrl.replace(/\/+$/, '');
112
- return fetch(new Request(`${devBase}${url.pathname}${url.search}`, request));
113
- }
114
- // `<base>` → `/`, `<base>/x` → `/x`: serve from the binding's root.
115
- const stripped = url.pathname.slice(base.length) || '/';
116
- const rewritten = new URL(stripped + url.search, url.origin);
117
- return binding.fetch(new Request(rewritten, request));
118
- };
119
- }
120
- export function createWorkerEntry(config) {
121
- return createAppWorkerEntry({
122
- ...config,
123
- buildApp: (url, env) => createRemoteServer(config.build(url, env)).app,
124
- });
125
- }
126
- export function createAppWorkerEntry(config) {
127
- // Cache the built app per distinct resolved URL — plural and bounded. On the
128
- // request-origin fallback the URL legitimately alternates for one worker
129
- // (direct http hits vs https-upgraded tunnel hits, workers.dev + custom
130
- // domain), and a single slot would tear down and rebuild the whole app on
131
- // every alternation. The bound caps abuse via attacker-minted Host /
132
- // X-Forwarded-Proto values on that same fallback path.
133
- const MAX_CACHED_APPS = 4;
134
- const apps = new Map();
135
- let self = null;
136
- let routeEnv = null;
137
- function getApp(url, env) {
138
- const cached = apps.get(url);
139
- if (cached)
140
- return cached.app;
141
- const app = config.buildApp(url, env);
142
- if (apps.size >= MAX_CACHED_APPS) {
143
- const oldest = apps.keys().next().value;
144
- if (oldest !== undefined)
145
- apps.delete(oldest);
146
- }
147
- apps.set(url, { origin: new URL(url).origin, app });
148
- return app;
149
- }
150
- // A Worker can't fetch its own hostname over the edge, nor — on Cloudflare — a
151
- // same-zone hostname routed to another Worker (the `routeSubrequest` case).
152
- // When either is configured, override `globalThis.fetch` to redirect those
153
- // subrequests through the right target (see `selectSubrequestTarget`). Workers
154
- // with neither selfBinding nor routeSubrequest get no global mutation. (A
155
- // self-issued credential's JWKS is resolved in-memory by the verifier, not
156
- // fetched — see `auth/verify.ts` — so no self-JWKS shim is needed.)
157
- if (config.selfBinding || config.routeSubrequest) {
158
- const originalFetch = globalThis.fetch;
159
- globalThis.fetch = (async (input, init) => {
160
- const href = typeof input === 'string' ? input : input instanceof URL ? input.href : input.url;
161
- try {
162
- const target = selectSubrequestTarget(new URL(href), {
163
- self,
164
- apps: apps.values(),
165
- routeEnv,
166
- routeSubrequest: config.routeSubrequest,
167
- });
168
- if (target)
169
- return target.fetch(new Request(input, init));
170
- }
171
- catch {
172
- // non-absolute URL — fall through to the original fetch
173
- }
174
- return originalFetch(input, init);
175
- });
176
- }
177
- return {
178
- async fetch(request, env, executionCtx) {
179
- if (config.selfBinding)
180
- self ??= config.selfBinding(env) ?? null;
181
- if (config.routeSubrequest)
182
- routeEnv = env;
183
- // Only parse the request URL when a hook actually needs it.
184
- const requestUrl = config.before || config.resolveUrl ? new URL(request.url) : null;
185
- if (config.before && requestUrl) {
186
- // Await so an async `before` that resolves to `undefined` falls through
187
- // (a returned Promise<undefined> would otherwise be sent as the response).
188
- const handled = await config.before(env, requestUrl, request);
189
- if (handled !== undefined)
190
- return handled;
191
- }
192
- const raw = config.resolveUrl
193
- ? config.resolveUrl(env, clientOrigin(requestUrl, request))
194
- : requireEnv(env, 'WORKER_URL', "the worker's public serving URL (its iss identity)");
195
- const url = canonicalizeServingUrl(raw);
196
- const dispatched = config.rewriteRequest ? config.rewriteRequest(env, request) : request;
197
- return getApp(url, env).fetch(dispatched, env, executionCtx);
198
- },
199
- };
200
- }
201
- //# sourceMappingURL=worker-entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-entry.js","sourceRoot":"","sources":["../../src/server/worker-entry.ts"],"names":[],"mappings":"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"}