@astrale-os/sdk 0.4.19 → 0.5.0-beta.10

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 (1044) hide show
  1. package/README.md +55 -4
  2. package/dist/auth/exchange.d.ts +11 -0
  3. package/dist/auth/exchange.d.ts.map +1 -0
  4. package/dist/auth/exchange.js +8 -0
  5. package/dist/auth/exchange.js.map +1 -0
  6. package/dist/auth/index.d.ts +4 -15
  7. package/dist/auth/index.d.ts.map +1 -1
  8. package/dist/auth/index.js +3 -10
  9. package/dist/auth/index.js.map +1 -1
  10. package/dist/capability/client.d.ts +25 -0
  11. package/dist/capability/client.d.ts.map +1 -0
  12. package/dist/capability/client.js +147 -0
  13. package/dist/capability/client.js.map +1 -0
  14. package/dist/capability/contract.d.ts +70 -0
  15. package/dist/capability/contract.d.ts.map +1 -0
  16. package/dist/capability/contract.js +3 -0
  17. package/dist/capability/contract.js.map +1 -0
  18. package/dist/capability/define.d.ts +14 -0
  19. package/dist/capability/define.d.ts.map +1 -0
  20. package/dist/capability/define.js +145 -0
  21. package/dist/capability/define.js.map +1 -0
  22. package/dist/capability/index.d.ts +3 -0
  23. package/dist/capability/index.d.ts.map +1 -0
  24. package/dist/capability/index.js +2 -0
  25. package/dist/capability/index.js.map +1 -0
  26. package/dist/cli/arguments.d.ts +21 -0
  27. package/dist/cli/arguments.d.ts.map +1 -0
  28. package/dist/cli/arguments.js +220 -0
  29. package/dist/cli/arguments.js.map +1 -0
  30. package/dist/cli/dotenv.d.ts +1 -4
  31. package/dist/cli/dotenv.d.ts.map +1 -1
  32. package/dist/cli/dotenv.js +6 -15
  33. package/dist/cli/dotenv.js.map +1 -1
  34. package/dist/cli/index.d.ts +4 -5
  35. package/dist/cli/index.d.ts.map +1 -1
  36. package/dist/cli/index.js +4 -5
  37. package/dist/cli/index.js.map +1 -1
  38. package/dist/cli/run.d.ts +23 -77
  39. package/dist/cli/run.d.ts.map +1 -1
  40. package/dist/cli/run.js +176 -326
  41. package/dist/cli/run.js.map +1 -1
  42. package/dist/deployment/artifact/bindings.d.ts +7 -0
  43. package/dist/deployment/artifact/bindings.d.ts.map +1 -0
  44. package/dist/deployment/artifact/bindings.js +44 -0
  45. package/dist/deployment/artifact/bindings.js.map +1 -0
  46. package/dist/deployment/artifact/deployment.d.ts +50 -0
  47. package/dist/deployment/artifact/deployment.d.ts.map +1 -0
  48. package/dist/deployment/artifact/deployment.js +124 -0
  49. package/dist/deployment/artifact/deployment.js.map +1 -0
  50. package/dist/deployment/artifact/index.d.ts +5 -0
  51. package/dist/deployment/artifact/index.d.ts.map +1 -0
  52. package/dist/deployment/artifact/index.js +4 -0
  53. package/dist/deployment/artifact/index.js.map +1 -0
  54. package/dist/deployment/check/check.d.ts +9 -0
  55. package/dist/deployment/check/check.d.ts.map +1 -0
  56. package/dist/deployment/check/check.js +96 -0
  57. package/dist/deployment/check/check.js.map +1 -0
  58. package/dist/deployment/check/contract.d.ts +34 -0
  59. package/dist/deployment/check/contract.d.ts.map +1 -0
  60. package/dist/deployment/check/contract.js +2 -0
  61. package/dist/deployment/check/contract.js.map +1 -0
  62. package/dist/deployment/check/index.d.ts +3 -0
  63. package/dist/deployment/check/index.d.ts.map +1 -0
  64. package/dist/deployment/check/index.js +2 -0
  65. package/dist/deployment/check/index.js.map +1 -0
  66. package/dist/deployment/index.d.ts +7 -0
  67. package/dist/deployment/index.d.ts.map +1 -0
  68. package/dist/deployment/index.js +4 -0
  69. package/dist/deployment/index.js.map +1 -0
  70. package/dist/deployment/provider/adapter.d.ts +59 -0
  71. package/dist/deployment/provider/adapter.d.ts.map +1 -0
  72. package/dist/deployment/provider/adapter.js +84 -0
  73. package/dist/deployment/provider/adapter.js.map +1 -0
  74. package/dist/deployment/provider/config.d.ts +10 -0
  75. package/dist/deployment/provider/config.d.ts.map +1 -0
  76. package/dist/deployment/provider/config.js +8 -0
  77. package/dist/deployment/provider/config.js.map +1 -0
  78. package/dist/deployment/provider/index.d.ts +5 -0
  79. package/dist/deployment/provider/index.d.ts.map +1 -0
  80. package/dist/deployment/provider/index.js +3 -0
  81. package/dist/deployment/provider/index.js.map +1 -0
  82. package/dist/domain/app.d.ts +34 -0
  83. package/dist/domain/app.d.ts.map +1 -0
  84. package/dist/domain/app.js +2 -0
  85. package/dist/domain/app.js.map +1 -0
  86. package/dist/domain/context.d.ts +68 -0
  87. package/dist/domain/context.d.ts.map +1 -0
  88. package/dist/domain/context.js +2 -0
  89. package/dist/domain/context.js.map +1 -0
  90. package/dist/domain/define.d.ts +99 -65
  91. package/dist/domain/define.d.ts.map +1 -1
  92. package/dist/domain/define.js +78 -60
  93. package/dist/domain/define.js.map +1 -1
  94. package/dist/domain/handlers.d.ts +53 -0
  95. package/dist/domain/handlers.d.ts.map +1 -0
  96. package/dist/domain/handlers.js +88 -0
  97. package/dist/domain/handlers.js.map +1 -0
  98. package/dist/domain/implement.d.ts +5 -0
  99. package/dist/domain/implement.d.ts.map +1 -0
  100. package/dist/domain/implement.js +23 -0
  101. package/dist/domain/implement.js.map +1 -0
  102. package/dist/domain/index.d.ts +13 -4
  103. package/dist/domain/index.d.ts.map +1 -1
  104. package/dist/domain/index.js +7 -3
  105. package/dist/domain/index.js.map +1 -1
  106. package/dist/domain/requirements.d.ts +26 -0
  107. package/dist/domain/requirements.d.ts.map +1 -0
  108. package/dist/domain/requirements.js +98 -0
  109. package/dist/domain/requirements.js.map +1 -0
  110. package/dist/graph/class/index.d.ts +3 -0
  111. package/dist/graph/class/index.d.ts.map +1 -0
  112. package/dist/graph/class/index.js +3 -0
  113. package/dist/graph/class/index.js.map +1 -0
  114. package/dist/graph/edge/index.d.ts +3 -0
  115. package/dist/graph/edge/index.d.ts.map +1 -0
  116. package/dist/graph/edge/index.js +3 -0
  117. package/dist/graph/edge/index.js.map +1 -0
  118. package/dist/graph/index.d.ts +10 -0
  119. package/dist/graph/index.d.ts.map +1 -0
  120. package/dist/graph/index.js +9 -0
  121. package/dist/graph/index.js.map +1 -0
  122. package/dist/graph/model/index.d.ts +3 -0
  123. package/dist/graph/model/index.d.ts.map +1 -0
  124. package/dist/graph/model/index.js +3 -0
  125. package/dist/graph/model/index.js.map +1 -0
  126. package/dist/graph/node/index.d.ts +3 -0
  127. package/dist/graph/node/index.d.ts.map +1 -0
  128. package/dist/graph/node/index.js +3 -0
  129. package/dist/graph/node/index.js.map +1 -0
  130. package/dist/graph/path/index.d.ts +3 -0
  131. package/dist/graph/path/index.d.ts.map +1 -0
  132. package/dist/graph/path/index.js +3 -0
  133. package/dist/graph/path/index.js.map +1 -0
  134. package/dist/graph/properties/index.d.ts +3 -0
  135. package/dist/graph/properties/index.d.ts.map +1 -0
  136. package/dist/graph/properties/index.js +3 -0
  137. package/dist/graph/properties/index.js.map +1 -0
  138. package/dist/index.d.ts +20 -27
  139. package/dist/index.d.ts.map +1 -1
  140. package/dist/index.js +10 -47
  141. package/dist/index.js.map +1 -1
  142. package/dist/invocation/error.d.ts +30 -0
  143. package/dist/invocation/error.d.ts.map +1 -0
  144. package/dist/invocation/error.js +62 -0
  145. package/dist/invocation/error.js.map +1 -0
  146. package/dist/invocation/handler.d.ts +51 -0
  147. package/dist/invocation/handler.d.ts.map +1 -0
  148. package/dist/invocation/handler.js +281 -0
  149. package/dist/invocation/handler.js.map +1 -0
  150. package/dist/invocation/index.d.ts +5 -0
  151. package/dist/invocation/index.d.ts.map +1 -0
  152. package/dist/invocation/index.js +2 -0
  153. package/dist/invocation/index.js.map +1 -0
  154. package/dist/invocation/receiver.d.ts +5 -0
  155. package/dist/invocation/receiver.d.ts.map +1 -0
  156. package/dist/invocation/receiver.js +70 -0
  157. package/dist/invocation/receiver.js.map +1 -0
  158. package/dist/invocation/result.d.ts +5 -0
  159. package/dist/invocation/result.d.ts.map +1 -0
  160. package/dist/invocation/result.js +142 -0
  161. package/dist/invocation/result.js.map +1 -0
  162. package/dist/invocation/selection.d.ts +27 -0
  163. package/dist/invocation/selection.d.ts.map +1 -0
  164. package/dist/invocation/selection.js +100 -0
  165. package/dist/invocation/selection.js.map +1 -0
  166. package/dist/invocation/target.d.ts +10 -0
  167. package/dist/invocation/target.d.ts.map +1 -0
  168. package/dist/invocation/target.js +48 -0
  169. package/dist/invocation/target.js.map +1 -0
  170. package/dist/linter/adapters/typescript/discover.d.ts +4 -0
  171. package/dist/linter/adapters/typescript/discover.d.ts.map +1 -0
  172. package/dist/linter/adapters/typescript/discover.js +412 -0
  173. package/dist/linter/adapters/typescript/discover.js.map +1 -0
  174. package/dist/linter/adapters/typescript/evidence-admission.d.ts +5 -0
  175. package/dist/linter/adapters/typescript/evidence-admission.d.ts.map +1 -0
  176. package/dist/linter/adapters/typescript/evidence-admission.js +22 -0
  177. package/dist/linter/adapters/typescript/evidence-admission.js.map +1 -0
  178. package/dist/linter/adapters/typescript/imports.d.ts +7 -0
  179. package/dist/linter/adapters/typescript/imports.d.ts.map +1 -0
  180. package/dist/linter/adapters/typescript/imports.js +171 -0
  181. package/dist/linter/adapters/typescript/imports.js.map +1 -0
  182. package/dist/linter/adapters/typescript/index.d.ts +48 -0
  183. package/dist/linter/adapters/typescript/index.d.ts.map +1 -0
  184. package/dist/linter/adapters/typescript/index.js +8 -0
  185. package/dist/linter/adapters/typescript/index.js.map +1 -0
  186. package/dist/linter/adapters/typescript/query-observation.d.ts +4 -0
  187. package/dist/linter/adapters/typescript/query-observation.d.ts.map +1 -0
  188. package/dist/linter/adapters/typescript/query-observation.js +172 -0
  189. package/dist/linter/adapters/typescript/query-observation.js.map +1 -0
  190. package/dist/linter/adapters/typescript/suppression-directives.d.ts +5 -0
  191. package/dist/linter/adapters/typescript/suppression-directives.d.ts.map +1 -0
  192. package/dist/linter/adapters/typescript/suppression-directives.js +85 -0
  193. package/dist/linter/adapters/typescript/suppression-directives.js.map +1 -0
  194. package/dist/linter/adapters/typescript/syntax.d.ts +39 -0
  195. package/dist/linter/adapters/typescript/syntax.d.ts.map +1 -0
  196. package/dist/linter/adapters/typescript/syntax.js +183 -0
  197. package/dist/linter/adapters/typescript/syntax.js.map +1 -0
  198. package/dist/linter/adapters/typescript/type-universe.d.ts +2 -0
  199. package/dist/linter/adapters/typescript/type-universe.d.ts.map +1 -0
  200. package/dist/linter/adapters/typescript/type-universe.js +265 -0
  201. package/dist/linter/adapters/typescript/type-universe.js.map +1 -0
  202. package/dist/linter/catalog/compile.d.ts +3 -0
  203. package/dist/linter/catalog/compile.d.ts.map +1 -0
  204. package/dist/linter/catalog/compile.js +111 -0
  205. package/dist/linter/catalog/compile.js.map +1 -0
  206. package/dist/linter/catalog/index.d.ts +19 -0
  207. package/dist/linter/catalog/index.d.ts.map +1 -0
  208. package/dist/linter/catalog/index.js +3 -0
  209. package/dist/linter/catalog/index.js.map +1 -0
  210. package/dist/linter/catalog/revision.d.ts +7 -0
  211. package/dist/linter/catalog/revision.d.ts.map +1 -0
  212. package/dist/linter/catalog/revision.js +13 -0
  213. package/dist/linter/catalog/revision.js.map +1 -0
  214. package/dist/linter/diagnostics/error.d.ts +10 -0
  215. package/dist/linter/diagnostics/error.d.ts.map +1 -0
  216. package/dist/linter/diagnostics/error.js +10 -0
  217. package/dist/linter/diagnostics/error.js.map +1 -0
  218. package/dist/linter/diagnostics/index.d.ts +29 -0
  219. package/dist/linter/diagnostics/index.d.ts.map +1 -0
  220. package/dist/linter/diagnostics/index.js +3 -0
  221. package/dist/linter/diagnostics/index.js.map +1 -0
  222. package/dist/linter/diagnostics/sort.d.ts +3 -0
  223. package/dist/linter/diagnostics/sort.d.ts.map +1 -0
  224. package/dist/linter/diagnostics/sort.js +27 -0
  225. package/dist/linter/diagnostics/sort.js.map +1 -0
  226. package/dist/linter/evaluation/binding/bind.d.ts +5 -0
  227. package/dist/linter/evaluation/binding/bind.d.ts.map +1 -0
  228. package/dist/linter/evaluation/binding/bind.js +356 -0
  229. package/dist/linter/evaluation/binding/bind.js.map +1 -0
  230. package/dist/linter/evaluation/binding/diagnostic.d.ts +5 -0
  231. package/dist/linter/evaluation/binding/diagnostic.d.ts.map +1 -0
  232. package/dist/linter/evaluation/binding/diagnostic.js +17 -0
  233. package/dist/linter/evaluation/binding/diagnostic.js.map +1 -0
  234. package/dist/linter/evaluation/binding/index.d.ts +2 -0
  235. package/dist/linter/evaluation/binding/index.d.ts.map +1 -0
  236. package/dist/linter/evaluation/binding/index.js +2 -0
  237. package/dist/linter/evaluation/binding/index.js.map +1 -0
  238. package/dist/linter/evaluation/contract/availability.d.ts +28 -0
  239. package/dist/linter/evaluation/contract/availability.d.ts.map +1 -0
  240. package/dist/linter/evaluation/contract/availability.js +2 -0
  241. package/dist/linter/evaluation/contract/availability.js.map +1 -0
  242. package/dist/linter/evaluation/contract/decision.d.ts +26 -0
  243. package/dist/linter/evaluation/contract/decision.d.ts.map +1 -0
  244. package/dist/linter/evaluation/contract/decision.js +2 -0
  245. package/dist/linter/evaluation/contract/decision.js.map +1 -0
  246. package/dist/linter/evaluation/contract/evidence.d.ts +12 -0
  247. package/dist/linter/evaluation/contract/evidence.d.ts.map +1 -0
  248. package/dist/linter/evaluation/contract/evidence.js +2 -0
  249. package/dist/linter/evaluation/contract/evidence.js.map +1 -0
  250. package/dist/linter/evaluation/contract/implementation.d.ts +22 -0
  251. package/dist/linter/evaluation/contract/implementation.d.ts.map +1 -0
  252. package/dist/linter/evaluation/contract/implementation.js +2 -0
  253. package/dist/linter/evaluation/contract/implementation.js.map +1 -0
  254. package/dist/linter/evaluation/contract/index.d.ts +5 -0
  255. package/dist/linter/evaluation/contract/index.d.ts.map +1 -0
  256. package/dist/linter/evaluation/contract/index.js +2 -0
  257. package/dist/linter/evaluation/contract/index.js.map +1 -0
  258. package/dist/linter/evaluation/index.d.ts +3 -0
  259. package/dist/linter/evaluation/index.d.ts.map +1 -0
  260. package/dist/linter/evaluation/index.js +2 -0
  261. package/dist/linter/evaluation/index.js.map +1 -0
  262. package/dist/linter/implementations/source/capabilities.d.ts +3 -0
  263. package/dist/linter/implementations/source/capabilities.d.ts.map +1 -0
  264. package/dist/linter/implementations/source/capabilities.js +41 -0
  265. package/dist/linter/implementations/source/capabilities.js.map +1 -0
  266. package/dist/linter/implementations/source/contract.d.ts +17 -0
  267. package/dist/linter/implementations/source/contract.d.ts.map +1 -0
  268. package/dist/linter/implementations/source/contract.js +53 -0
  269. package/dist/linter/implementations/source/contract.js.map +1 -0
  270. package/dist/linter/implementations/source/functions.d.ts +3 -0
  271. package/dist/linter/implementations/source/functions.d.ts.map +1 -0
  272. package/dist/linter/implementations/source/functions.js +102 -0
  273. package/dist/linter/implementations/source/functions.js.map +1 -0
  274. package/dist/linter/implementations/source/global.d.ts +3 -0
  275. package/dist/linter/implementations/source/global.d.ts.map +1 -0
  276. package/dist/linter/implementations/source/global.js +814 -0
  277. package/dist/linter/implementations/source/global.js.map +1 -0
  278. package/dist/linter/implementations/source/index.d.ts +4 -0
  279. package/dist/linter/implementations/source/index.d.ts.map +1 -0
  280. package/dist/linter/implementations/source/index.js +4 -0
  281. package/dist/linter/implementations/source/index.js.map +1 -0
  282. package/dist/linter/implementations/source/integrations.d.ts +3 -0
  283. package/dist/linter/implementations/source/integrations.d.ts.map +1 -0
  284. package/dist/linter/implementations/source/integrations.js +186 -0
  285. package/dist/linter/implementations/source/integrations.js.map +1 -0
  286. package/dist/linter/implementations/source/migrations.d.ts +3 -0
  287. package/dist/linter/implementations/source/migrations.d.ts.map +1 -0
  288. package/dist/linter/implementations/source/migrations.js +115 -0
  289. package/dist/linter/implementations/source/migrations.js.map +1 -0
  290. package/dist/linter/implementations/source/mutations.d.ts +3 -0
  291. package/dist/linter/implementations/source/mutations.d.ts.map +1 -0
  292. package/dist/linter/implementations/source/mutations.js +185 -0
  293. package/dist/linter/implementations/source/mutations.js.map +1 -0
  294. package/dist/linter/implementations/source/queries.d.ts +3 -0
  295. package/dist/linter/implementations/source/queries.d.ts.map +1 -0
  296. package/dist/linter/implementations/source/queries.js +1000 -0
  297. package/dist/linter/implementations/source/queries.js.map +1 -0
  298. package/dist/linter/implementations/source/rules.d.ts +3 -0
  299. package/dist/linter/implementations/source/rules.d.ts.map +1 -0
  300. package/dist/linter/implementations/source/rules.js +141 -0
  301. package/dist/linter/implementations/source/rules.js.map +1 -0
  302. package/dist/linter/implementations/source/schema.d.ts +3 -0
  303. package/dist/linter/implementations/source/schema.d.ts.map +1 -0
  304. package/dist/linter/implementations/source/schema.js +105 -0
  305. package/dist/linter/implementations/source/schema.js.map +1 -0
  306. package/dist/linter/implementations/source/shared.d.ts +42 -0
  307. package/dist/linter/implementations/source/shared.d.ts.map +1 -0
  308. package/dist/linter/implementations/source/shared.js +239 -0
  309. package/dist/linter/implementations/source/shared.js.map +1 -0
  310. package/dist/linter/implementations/source/states.d.ts +3 -0
  311. package/dist/linter/implementations/source/states.d.ts.map +1 -0
  312. package/dist/linter/implementations/source/states.js +2 -0
  313. package/dist/linter/implementations/source/states.js.map +1 -0
  314. package/dist/linter/implementations/source/tests.d.ts +3 -0
  315. package/dist/linter/implementations/source/tests.d.ts.map +1 -0
  316. package/dist/linter/implementations/source/tests.js +32 -0
  317. package/dist/linter/implementations/source/tests.js.map +1 -0
  318. package/dist/linter/implementations/source/ui.d.ts +3 -0
  319. package/dist/linter/implementations/source/ui.d.ts.map +1 -0
  320. package/dist/linter/implementations/source/ui.js +21 -0
  321. package/dist/linter/implementations/source/ui.js.map +1 -0
  322. package/dist/linter/implementations/source/utils.d.ts +3 -0
  323. package/dist/linter/implementations/source/utils.d.ts.map +1 -0
  324. package/dist/linter/implementations/source/utils.js +29 -0
  325. package/dist/linter/implementations/source/utils.js.map +1 -0
  326. package/dist/linter/implementations/source/verifiers.d.ts +3 -0
  327. package/dist/linter/implementations/source/verifiers.d.ts.map +1 -0
  328. package/dist/linter/implementations/source/verifiers.js +33 -0
  329. package/dist/linter/implementations/source/verifiers.js.map +1 -0
  330. package/dist/linter/implementations/source/views.d.ts +3 -0
  331. package/dist/linter/implementations/source/views.d.ts.map +1 -0
  332. package/dist/linter/implementations/source/views.js +36 -0
  333. package/dist/linter/implementations/source/views.js.map +1 -0
  334. package/dist/linter/implementations/source/workflows.d.ts +3 -0
  335. package/dist/linter/implementations/source/workflows.d.ts.map +1 -0
  336. package/dist/linter/implementations/source/workflows.js +308 -0
  337. package/dist/linter/implementations/source/workflows.js.map +1 -0
  338. package/dist/linter/index.d.ts +8 -8
  339. package/dist/linter/index.d.ts.map +1 -1
  340. package/dist/linter/index.js +2 -4
  341. package/dist/linter/index.js.map +1 -1
  342. package/dist/linter/lint.d.ts +22 -8
  343. package/dist/linter/lint.d.ts.map +1 -1
  344. package/dist/linter/lint.js +59 -15
  345. package/dist/linter/lint.js.map +1 -1
  346. package/dist/linter/oxlint/index.d.ts +4 -0
  347. package/dist/linter/oxlint/index.d.ts.map +1 -0
  348. package/dist/linter/oxlint/index.js +2 -0
  349. package/dist/linter/oxlint/index.js.map +1 -0
  350. package/dist/linter/oxlint/process.d.ts +6 -6
  351. package/dist/linter/oxlint/process.d.ts.map +1 -1
  352. package/dist/linter/oxlint/process.js +1 -1
  353. package/dist/linter/oxlint/process.js.map +1 -1
  354. package/dist/linter/oxlint/run.d.ts +5 -5
  355. package/dist/linter/oxlint/run.d.ts.map +1 -1
  356. package/dist/linter/oxlint/run.js +140 -20
  357. package/dist/linter/oxlint/run.js.map +1 -1
  358. package/dist/linter/oxlint-config/ignore-patterns.d.ts +6 -0
  359. package/dist/linter/oxlint-config/ignore-patterns.d.ts.map +1 -0
  360. package/dist/linter/oxlint-config/ignore-patterns.js +10 -0
  361. package/dist/linter/oxlint-config/ignore-patterns.js.map +1 -0
  362. package/dist/linter/oxlint-config/index.d.ts +5 -0
  363. package/dist/linter/oxlint-config/index.d.ts.map +1 -0
  364. package/dist/linter/oxlint-config/index.js +18 -0
  365. package/dist/linter/oxlint-config/index.js.map +1 -0
  366. package/dist/linter/packs/domain.d.ts +3 -0
  367. package/dist/linter/packs/domain.d.ts.map +1 -0
  368. package/dist/linter/packs/domain.js +8 -0
  369. package/dist/linter/packs/domain.js.map +1 -0
  370. package/dist/linter/packs/index.d.ts +9 -0
  371. package/dist/linter/packs/index.d.ts.map +1 -0
  372. package/dist/linter/packs/index.js +2 -0
  373. package/dist/linter/packs/index.js.map +1 -0
  374. package/dist/linter/policy/compile.d.ts +3 -0
  375. package/dist/linter/policy/compile.d.ts.map +1 -0
  376. package/dist/linter/policy/compile.js +258 -0
  377. package/dist/linter/policy/compile.js.map +1 -0
  378. package/dist/linter/policy/configuration.d.ts +12 -0
  379. package/dist/linter/policy/configuration.d.ts.map +1 -0
  380. package/dist/linter/policy/configuration.js +119 -0
  381. package/dist/linter/policy/configuration.js.map +1 -0
  382. package/dist/linter/policy/generated.d.ts +5 -0
  383. package/dist/linter/policy/generated.d.ts.map +1 -0
  384. package/dist/linter/policy/generated.js +776 -0
  385. package/dist/linter/policy/generated.js.map +1 -0
  386. package/dist/linter/policy/index.d.ts +45 -0
  387. package/dist/linter/policy/index.d.ts.map +1 -0
  388. package/dist/linter/policy/index.js +4 -0
  389. package/dist/linter/policy/index.js.map +1 -0
  390. package/dist/linter/qualification/index.d.ts +11 -0
  391. package/dist/linter/qualification/index.d.ts.map +1 -0
  392. package/dist/linter/qualification/index.js +3 -0
  393. package/dist/linter/qualification/index.js.map +1 -0
  394. package/dist/linter/qualification/query-fixtures.d.ts +3 -0
  395. package/dist/linter/qualification/query-fixtures.d.ts.map +1 -0
  396. package/dist/linter/qualification/query-fixtures.js +69 -0
  397. package/dist/linter/qualification/query-fixtures.js.map +1 -0
  398. package/dist/linter/qualification/runner.d.ts +4 -0
  399. package/dist/linter/qualification/runner.d.ts.map +1 -0
  400. package/dist/linter/qualification/runner.js +7 -0
  401. package/dist/linter/qualification/runner.js.map +1 -0
  402. package/dist/linter/report/format.d.ts +4 -0
  403. package/dist/linter/report/format.d.ts.map +1 -0
  404. package/dist/linter/report/format.js +33 -0
  405. package/dist/linter/report/format.js.map +1 -0
  406. package/dist/linter/report/index.d.ts +3 -0
  407. package/dist/linter/report/index.d.ts.map +1 -0
  408. package/dist/linter/report/index.js +2 -0
  409. package/dist/linter/report/index.js.map +1 -0
  410. package/dist/linter/requirements/index.d.ts +3 -0
  411. package/dist/linter/requirements/index.d.ts.map +1 -0
  412. package/dist/linter/requirements/index.js +2 -0
  413. package/dist/linter/requirements/index.js.map +1 -0
  414. package/dist/linter/requirements/model.d.ts +9 -0
  415. package/dist/linter/requirements/model.d.ts.map +1 -0
  416. package/dist/linter/requirements/model.js +2 -0
  417. package/dist/linter/requirements/model.js.map +1 -0
  418. package/dist/linter/requirements/registry.d.ts +4 -0
  419. package/dist/linter/requirements/registry.d.ts.map +1 -0
  420. package/dist/linter/requirements/registry.js +188 -0
  421. package/dist/linter/requirements/registry.js.map +1 -0
  422. package/dist/linter/semantics/query/decision.d.ts +5 -0
  423. package/dist/linter/semantics/query/decision.d.ts.map +1 -0
  424. package/dist/linter/semantics/query/decision.js +74 -0
  425. package/dist/linter/semantics/query/decision.js.map +1 -0
  426. package/dist/linter/semantics/query/index.d.ts +4 -0
  427. package/dist/linter/semantics/query/index.d.ts.map +1 -0
  428. package/dist/linter/semantics/query/index.js +3 -0
  429. package/dist/linter/semantics/query/index.js.map +1 -0
  430. package/dist/linter/semantics/query/observation.d.ts +36 -0
  431. package/dist/linter/semantics/query/observation.d.ts.map +1 -0
  432. package/dist/linter/semantics/query/observation.js +13 -0
  433. package/dist/linter/semantics/query/observation.js.map +1 -0
  434. package/dist/linter/suppression/apply.d.ts +4 -0
  435. package/dist/linter/suppression/apply.d.ts.map +1 -0
  436. package/dist/linter/suppression/apply.js +48 -0
  437. package/dist/linter/suppression/apply.js.map +1 -0
  438. package/dist/linter/suppression/directive.d.ts +11 -0
  439. package/dist/linter/suppression/directive.d.ts.map +1 -0
  440. package/dist/linter/suppression/directive.js +2 -0
  441. package/dist/linter/suppression/directive.js.map +1 -0
  442. package/dist/linter/suppression/index.d.ts +14 -0
  443. package/dist/linter/suppression/index.d.ts.map +1 -0
  444. package/dist/linter/suppression/index.js +2 -0
  445. package/dist/linter/suppression/index.js.map +1 -0
  446. package/dist/mutation/contract.d.ts +134 -0
  447. package/dist/mutation/contract.d.ts.map +1 -0
  448. package/dist/mutation/contract.js +2 -0
  449. package/dist/mutation/contract.js.map +1 -0
  450. package/dist/mutation/define.d.ts +9 -0
  451. package/dist/mutation/define.d.ts.map +1 -0
  452. package/dist/mutation/define.js +24 -0
  453. package/dist/mutation/define.js.map +1 -0
  454. package/dist/mutation/errors.d.ts +3 -0
  455. package/dist/mutation/errors.d.ts.map +1 -0
  456. package/dist/mutation/errors.js +30 -0
  457. package/dist/mutation/errors.js.map +1 -0
  458. package/dist/mutation/execute.d.ts +11 -0
  459. package/dist/mutation/execute.d.ts.map +1 -0
  460. package/dist/mutation/execute.js +24 -0
  461. package/dist/mutation/execute.js.map +1 -0
  462. package/dist/mutation/index.d.ts +8 -0
  463. package/dist/mutation/index.d.ts.map +1 -0
  464. package/dist/mutation/index.js +5 -0
  465. package/dist/mutation/index.js.map +1 -0
  466. package/dist/mutation/rich.d.ts +4 -0
  467. package/dist/mutation/rich.d.ts.map +1 -0
  468. package/dist/mutation/rich.js +147 -0
  469. package/dist/mutation/rich.js.map +1 -0
  470. package/dist/query/composite/contract.d.ts +37 -0
  471. package/dist/query/composite/contract.d.ts.map +1 -0
  472. package/dist/query/composite/contract.js +2 -0
  473. package/dist/query/composite/contract.js.map +1 -0
  474. package/dist/query/composite/errors.d.ts +8 -0
  475. package/dist/query/composite/errors.d.ts.map +1 -0
  476. package/dist/query/composite/errors.js +9 -0
  477. package/dist/query/composite/errors.js.map +1 -0
  478. package/dist/query/composite/index.d.ts +6 -0
  479. package/dist/query/composite/index.d.ts.map +1 -0
  480. package/dist/query/composite/index.js +3 -0
  481. package/dist/query/composite/index.js.map +1 -0
  482. package/dist/query/composite/plan.d.ts +38 -0
  483. package/dist/query/composite/plan.d.ts.map +1 -0
  484. package/dist/query/composite/plan.js +225 -0
  485. package/dist/query/composite/plan.js.map +1 -0
  486. package/dist/query/contract.d.ts +58 -0
  487. package/dist/query/contract.d.ts.map +1 -0
  488. package/dist/query/contract.js +2 -0
  489. package/dist/query/contract.js.map +1 -0
  490. package/dist/query/define.d.ts +3 -0
  491. package/dist/query/define.d.ts.map +1 -0
  492. package/dist/query/define.js +90 -0
  493. package/dist/query/define.js.map +1 -0
  494. package/dist/query/definition.d.ts +29 -0
  495. package/dist/query/definition.d.ts.map +1 -0
  496. package/dist/query/definition.js +2 -0
  497. package/dist/query/definition.js.map +1 -0
  498. package/dist/query/errors.d.ts +9 -0
  499. package/dist/query/errors.d.ts.map +1 -0
  500. package/dist/query/errors.js +15 -0
  501. package/dist/query/errors.js.map +1 -0
  502. package/dist/query/execute.d.ts +20 -0
  503. package/dist/query/execute.d.ts.map +1 -0
  504. package/dist/query/execute.js +97 -0
  505. package/dist/query/execute.js.map +1 -0
  506. package/dist/query/index.d.ts +15 -0
  507. package/dist/query/index.d.ts.map +1 -0
  508. package/dist/query/index.js +8 -0
  509. package/dist/query/index.js.map +1 -0
  510. package/dist/query/node.d.ts +109 -0
  511. package/dist/query/node.d.ts.map +1 -0
  512. package/dist/query/node.js +166 -0
  513. package/dist/query/node.js.map +1 -0
  514. package/dist/query/result/contract.d.ts +23 -0
  515. package/dist/query/result/contract.d.ts.map +1 -0
  516. package/dist/query/result/contract.js +2 -0
  517. package/dist/query/result/contract.js.map +1 -0
  518. package/dist/query/result/index.d.ts +3 -0
  519. package/dist/query/result/index.d.ts.map +1 -0
  520. package/dist/query/result/index.js +2 -0
  521. package/dist/query/result/index.js.map +1 -0
  522. package/dist/query/result/projection.d.ts +3 -0
  523. package/dist/query/result/projection.d.ts.map +1 -0
  524. package/dist/query/result/projection.js +100 -0
  525. package/dist/query/result/projection.js.map +1 -0
  526. package/dist/query/selection.d.ts +4 -0
  527. package/dist/query/selection.d.ts.map +1 -0
  528. package/dist/query/selection.js +25 -0
  529. package/dist/query/selection.js.map +1 -0
  530. package/dist/result/index.d.ts +3 -0
  531. package/dist/result/index.d.ts.map +1 -0
  532. package/dist/result/index.js +2 -0
  533. package/dist/result/index.js.map +1 -0
  534. package/dist/result/result.d.ts +10 -0
  535. package/dist/result/result.d.ts.map +1 -0
  536. package/dist/result/result.js +7 -0
  537. package/dist/result/result.js.map +1 -0
  538. package/dist/schema/index.d.ts +3 -0
  539. package/dist/schema/index.d.ts.map +1 -0
  540. package/dist/schema/index.js +3 -0
  541. package/dist/schema/index.js.map +1 -0
  542. package/dist/schema/kernel/index.d.ts +3 -0
  543. package/dist/schema/kernel/index.d.ts.map +1 -0
  544. package/dist/schema/kernel/index.js +3 -0
  545. package/dist/schema/kernel/index.js.map +1 -0
  546. package/dist/schema/v1/index.d.ts +3 -0
  547. package/dist/schema/v1/index.d.ts.map +1 -0
  548. package/dist/schema/v1/index.js +3 -0
  549. package/dist/schema/v1/index.js.map +1 -0
  550. package/dist/server/application.d.ts +36 -0
  551. package/dist/server/application.d.ts.map +1 -0
  552. package/dist/server/application.js +128 -0
  553. package/dist/server/application.js.map +1 -0
  554. package/dist/server/index.d.ts +5 -13
  555. package/dist/server/index.d.ts.map +1 -1
  556. package/dist/server/index.js +2 -8
  557. package/dist/server/index.js.map +1 -1
  558. package/dist/server/node/index.d.ts +3 -0
  559. package/dist/server/node/index.d.ts.map +1 -0
  560. package/dist/server/node/index.js +2 -0
  561. package/dist/server/node/index.js.map +1 -0
  562. package/dist/server/node/server.d.ts +14 -0
  563. package/dist/server/node/server.d.ts.map +1 -0
  564. package/dist/server/node/server.js +71 -0
  565. package/dist/server/node/server.js.map +1 -0
  566. package/dist/server/remote.d.ts +57 -0
  567. package/dist/server/remote.d.ts.map +1 -0
  568. package/dist/server/remote.js +795 -0
  569. package/dist/server/remote.js.map +1 -0
  570. package/dist/server/source.d.ts +13 -0
  571. package/dist/server/source.d.ts.map +1 -0
  572. package/dist/server/source.js +40 -0
  573. package/dist/server/source.js.map +1 -0
  574. package/dist/state/index.d.ts +4 -0
  575. package/dist/state/index.d.ts.map +1 -0
  576. package/dist/state/index.js +2 -0
  577. package/dist/state/index.js.map +1 -0
  578. package/dist/state/machine.d.ts +28 -0
  579. package/dist/state/machine.d.ts.map +1 -0
  580. package/dist/state/machine.js +32 -0
  581. package/dist/state/machine.js.map +1 -0
  582. package/dist/state/relation.d.ts +28 -0
  583. package/dist/state/relation.d.ts.map +1 -0
  584. package/dist/state/relation.js +48 -0
  585. package/dist/state/relation.js.map +1 -0
  586. package/dist/value/index.d.ts +3 -0
  587. package/dist/value/index.d.ts.map +1 -0
  588. package/dist/value/index.js +3 -0
  589. package/dist/value/index.js.map +1 -0
  590. package/dist/view/admission.d.ts +6 -0
  591. package/dist/view/admission.d.ts.map +1 -0
  592. package/dist/view/admission.js +43 -0
  593. package/dist/view/admission.js.map +1 -0
  594. package/dist/view/compile.d.ts +15 -0
  595. package/dist/view/compile.d.ts.map +1 -0
  596. package/dist/view/compile.js +186 -0
  597. package/dist/view/compile.js.map +1 -0
  598. package/dist/view/define.d.ts +11 -0
  599. package/dist/view/define.d.ts.map +1 -0
  600. package/dist/view/define.js +173 -0
  601. package/dist/view/define.js.map +1 -0
  602. package/dist/view/definition.d.ts +89 -0
  603. package/dist/view/definition.d.ts.map +1 -0
  604. package/dist/view/definition.js +2 -0
  605. package/dist/view/definition.js.map +1 -0
  606. package/dist/view/index.d.ts +4 -0
  607. package/dist/view/index.d.ts.map +1 -0
  608. package/dist/view/index.js +3 -0
  609. package/dist/view/index.js.map +1 -0
  610. package/dist/workflow/binding.d.ts +43 -0
  611. package/dist/workflow/binding.d.ts.map +1 -0
  612. package/dist/workflow/binding.js +32 -0
  613. package/dist/workflow/binding.js.map +1 -0
  614. package/dist/workflow/contract.d.ts +57 -0
  615. package/dist/workflow/contract.d.ts.map +1 -0
  616. package/dist/workflow/contract.js +2 -0
  617. package/dist/workflow/contract.js.map +1 -0
  618. package/dist/workflow/define.d.ts +4 -0
  619. package/dist/workflow/define.d.ts.map +1 -0
  620. package/dist/workflow/define.js +57 -0
  621. package/dist/workflow/define.js.map +1 -0
  622. package/dist/workflow/index.d.ts +7 -0
  623. package/dist/workflow/index.d.ts.map +1 -0
  624. package/dist/workflow/index.js +4 -0
  625. package/dist/workflow/index.js.map +1 -0
  626. package/dist/workflow/runner.d.ts +4 -0
  627. package/dist/workflow/runner.d.ts.map +1 -0
  628. package/dist/workflow/runner.js +24 -0
  629. package/dist/workflow/runner.js.map +1 -0
  630. package/dist/workflow/step/index.d.ts +3 -0
  631. package/dist/workflow/step/index.d.ts.map +1 -0
  632. package/dist/workflow/step/index.js +2 -0
  633. package/dist/workflow/step/index.js.map +1 -0
  634. package/dist/workflow/step/inline.d.ts +6 -0
  635. package/dist/workflow/step/inline.d.ts.map +1 -0
  636. package/dist/workflow/step/inline.js +44 -0
  637. package/dist/workflow/step/inline.js.map +1 -0
  638. package/dist/workflow/step/step.d.ts +5 -0
  639. package/dist/workflow/step/step.d.ts.map +1 -0
  640. package/dist/workflow/step/step.js +2 -0
  641. package/dist/workflow/step/step.js.map +1 -0
  642. package/package.json +122 -27
  643. package/dist/auth/authenticate.d.ts +0 -24
  644. package/dist/auth/authenticate.d.ts.map +0 -1
  645. package/dist/auth/authenticate.js +0 -29
  646. package/dist/auth/authenticate.js.map +0 -1
  647. package/dist/auth/check.d.ts +0 -38
  648. package/dist/auth/check.d.ts.map +0 -1
  649. package/dist/auth/check.js +0 -50
  650. package/dist/auth/check.js.map +0 -1
  651. package/dist/auth/compose.d.ts +0 -41
  652. package/dist/auth/compose.d.ts.map +0 -1
  653. package/dist/auth/compose.js +0 -45
  654. package/dist/auth/compose.js.map +0 -1
  655. package/dist/auth/errors.d.ts +0 -16
  656. package/dist/auth/errors.d.ts.map +0 -1
  657. package/dist/auth/errors.js +0 -26
  658. package/dist/auth/errors.js.map +0 -1
  659. package/dist/auth/function-context.d.ts +0 -28
  660. package/dist/auth/function-context.d.ts.map +0 -1
  661. package/dist/auth/function-context.js +0 -47
  662. package/dist/auth/function-context.js.map +0 -1
  663. package/dist/auth/identity.d.ts +0 -18
  664. package/dist/auth/identity.d.ts.map +0 -1
  665. package/dist/auth/identity.js +0 -2
  666. package/dist/auth/identity.js.map +0 -1
  667. package/dist/auth/issuer-mint.d.ts +0 -53
  668. package/dist/auth/issuer-mint.d.ts.map +0 -1
  669. package/dist/auth/issuer-mint.js +0 -35
  670. package/dist/auth/issuer-mint.js.map +0 -1
  671. package/dist/auth/kernel-client.d.ts +0 -37
  672. package/dist/auth/kernel-client.d.ts.map +0 -1
  673. package/dist/auth/kernel-client.js +0 -111
  674. package/dist/auth/kernel-client.js.map +0 -1
  675. package/dist/auth/resolve.d.ts +0 -19
  676. package/dist/auth/resolve.d.ts.map +0 -1
  677. package/dist/auth/resolve.js +0 -43
  678. package/dist/auth/resolve.js.map +0 -1
  679. package/dist/auth/sign.d.ts +0 -15
  680. package/dist/auth/sign.d.ts.map +0 -1
  681. package/dist/auth/sign.js +0 -24
  682. package/dist/auth/sign.js.map +0 -1
  683. package/dist/auth/verify.d.ts +0 -28
  684. package/dist/auth/verify.d.ts.map +0 -1
  685. package/dist/auth/verify.js +0 -151
  686. package/dist/auth/verify.js.map +0 -1
  687. package/dist/cli/spec.d.ts +0 -19
  688. package/dist/cli/spec.d.ts.map +0 -1
  689. package/dist/cli/spec.js +0 -33
  690. package/dist/cli/spec.js.map +0 -1
  691. package/dist/config/adapter.d.ts +0 -148
  692. package/dist/config/adapter.d.ts.map +0 -1
  693. package/dist/config/adapter.js +0 -40
  694. package/dist/config/adapter.js.map +0 -1
  695. package/dist/config/define-domain.d.ts +0 -177
  696. package/dist/config/define-domain.d.ts.map +0 -1
  697. package/dist/config/define-domain.js +0 -145
  698. package/dist/config/define-domain.js.map +0 -1
  699. package/dist/config/deploy.d.ts +0 -28
  700. package/dist/config/deploy.d.ts.map +0 -1
  701. package/dist/config/deploy.js +0 -24
  702. package/dist/config/deploy.js.map +0 -1
  703. package/dist/config/index.d.ts +0 -21
  704. package/dist/config/index.d.ts.map +0 -1
  705. package/dist/config/index.js +0 -18
  706. package/dist/config/index.js.map +0 -1
  707. package/dist/define/index.d.ts +0 -5
  708. package/dist/define/index.d.ts.map +0 -1
  709. package/dist/define/index.js +0 -3
  710. package/dist/define/index.js.map +0 -1
  711. package/dist/define/remote-function.d.ts +0 -120
  712. package/dist/define/remote-function.d.ts.map +0 -1
  713. package/dist/define/remote-function.js +0 -26
  714. package/dist/define/remote-function.js.map +0 -1
  715. package/dist/define/view.d.ts +0 -104
  716. package/dist/define/view.d.ts.map +0 -1
  717. package/dist/define/view.js +0 -30
  718. package/dist/define/view.js.map +0 -1
  719. package/dist/deploy/check.d.ts +0 -30
  720. package/dist/deploy/check.d.ts.map +0 -1
  721. package/dist/deploy/check.js +0 -82
  722. package/dist/deploy/check.js.map +0 -1
  723. package/dist/deploy/index.d.ts +0 -3
  724. package/dist/deploy/index.d.ts.map +0 -1
  725. package/dist/deploy/index.js +0 -3
  726. package/dist/deploy/index.js.map +0 -1
  727. package/dist/deploy/meta.d.ts +0 -29
  728. package/dist/deploy/meta.d.ts.map +0 -1
  729. package/dist/deploy/meta.js +0 -45
  730. package/dist/deploy/meta.js.map +0 -1
  731. package/dist/dispatch/authorize.d.ts +0 -14
  732. package/dist/dispatch/authorize.d.ts.map +0 -1
  733. package/dist/dispatch/authorize.js +0 -24
  734. package/dist/dispatch/authorize.js.map +0 -1
  735. package/dist/dispatch/dispatcher.d.ts +0 -59
  736. package/dist/dispatch/dispatcher.d.ts.map +0 -1
  737. package/dist/dispatch/dispatcher.js +0 -237
  738. package/dist/dispatch/dispatcher.js.map +0 -1
  739. package/dist/dispatch/errors.d.ts +0 -47
  740. package/dist/dispatch/errors.d.ts.map +0 -1
  741. package/dist/dispatch/errors.js +0 -76
  742. package/dist/dispatch/errors.js.map +0 -1
  743. package/dist/dispatch/execute.d.ts +0 -44
  744. package/dist/dispatch/execute.d.ts.map +0 -1
  745. package/dist/dispatch/execute.js +0 -29
  746. package/dist/dispatch/execute.js.map +0 -1
  747. package/dist/dispatch/identity.d.ts +0 -75
  748. package/dist/dispatch/identity.d.ts.map +0 -1
  749. package/dist/dispatch/identity.js +0 -101
  750. package/dist/dispatch/identity.js.map +0 -1
  751. package/dist/dispatch/index.d.ts +0 -7
  752. package/dist/dispatch/index.d.ts.map +0 -1
  753. package/dist/dispatch/index.js +0 -7
  754. package/dist/dispatch/index.js.map +0 -1
  755. package/dist/dispatch/resolve.d.ts +0 -27
  756. package/dist/dispatch/resolve.d.ts.map +0 -1
  757. package/dist/dispatch/resolve.js +0 -65
  758. package/dist/dispatch/resolve.js.map +0 -1
  759. package/dist/dispatch/self.d.ts +0 -51
  760. package/dist/dispatch/self.d.ts.map +0 -1
  761. package/dist/dispatch/self.js +0 -116
  762. package/dist/dispatch/self.js.map +0 -1
  763. package/dist/dispatch/validate.d.ts +0 -35
  764. package/dist/dispatch/validate.d.ts.map +0 -1
  765. package/dist/dispatch/validate.js +0 -27
  766. package/dist/dispatch/validate.js.map +0 -1
  767. package/dist/domain/binding.d.ts +0 -18
  768. package/dist/domain/binding.d.ts.map +0 -1
  769. package/dist/domain/binding.js +0 -29
  770. package/dist/domain/binding.js.map +0 -1
  771. package/dist/domain/build-spec.d.ts +0 -37
  772. package/dist/domain/build-spec.d.ts.map +0 -1
  773. package/dist/domain/build-spec.js +0 -114
  774. package/dist/domain/build-spec.js.map +0 -1
  775. package/dist/domain/contract.d.ts +0 -17
  776. package/dist/domain/contract.d.ts.map +0 -1
  777. package/dist/domain/contract.js +0 -26
  778. package/dist/domain/contract.js.map +0 -1
  779. package/dist/domain/extend-functions.d.ts +0 -48
  780. package/dist/domain/extend-functions.d.ts.map +0 -1
  781. package/dist/domain/extend-functions.js +0 -85
  782. package/dist/domain/extend-functions.js.map +0 -1
  783. package/dist/domain/extend-views.d.ts +0 -45
  784. package/dist/domain/extend-views.d.ts.map +0 -1
  785. package/dist/domain/extend-views.js +0 -116
  786. package/dist/domain/extend-views.js.map +0 -1
  787. package/dist/linter/analyze.d.ts +0 -6
  788. package/dist/linter/analyze.d.ts.map +0 -1
  789. package/dist/linter/analyze.js +0 -12
  790. package/dist/linter/analyze.js.map +0 -1
  791. package/dist/linter/diagnostic.d.ts +0 -38
  792. package/dist/linter/diagnostic.d.ts.map +0 -1
  793. package/dist/linter/diagnostic.js +0 -37
  794. package/dist/linter/diagnostic.js.map +0 -1
  795. package/dist/linter/oxlint/config.d.ts +0 -15
  796. package/dist/linter/oxlint/config.d.ts.map +0 -1
  797. package/dist/linter/oxlint/config.js +0 -23
  798. package/dist/linter/oxlint/config.js.map +0 -1
  799. package/dist/linter/oxlint/ignore-patterns.d.ts +0 -9
  800. package/dist/linter/oxlint/ignore-patterns.d.ts.map +0 -1
  801. package/dist/linter/oxlint/ignore-patterns.js +0 -18
  802. package/dist/linter/oxlint/ignore-patterns.js.map +0 -1
  803. package/dist/linter/oxlint/plugin.d.ts +0 -13
  804. package/dist/linter/oxlint/plugin.d.ts.map +0 -1
  805. package/dist/linter/oxlint/plugin.js +0 -14
  806. package/dist/linter/oxlint/plugin.js.map +0 -1
  807. package/dist/linter/preflight.d.ts +0 -2
  808. package/dist/linter/preflight.d.ts.map +0 -1
  809. package/dist/linter/preflight.js +0 -162
  810. package/dist/linter/preflight.js.map +0 -1
  811. package/dist/linter/project.d.ts +0 -18
  812. package/dist/linter/project.d.ts.map +0 -1
  813. package/dist/linter/project.js +0 -150
  814. package/dist/linter/project.js.map +0 -1
  815. package/dist/linter/report.d.ts +0 -4
  816. package/dist/linter/report.d.ts.map +0 -1
  817. package/dist/linter/report.js +0 -22
  818. package/dist/linter/report.js.map +0 -1
  819. package/dist/linter/rules/catalog.d.ts +0 -56
  820. package/dist/linter/rules/catalog.d.ts.map +0 -1
  821. package/dist/linter/rules/catalog.js +0 -53
  822. package/dist/linter/rules/catalog.js.map +0 -1
  823. package/dist/linter/rules/core-has-no-async.d.ts +0 -3
  824. package/dist/linter/rules/core-has-no-async.d.ts.map +0 -1
  825. package/dist/linter/rules/core-has-no-async.js +0 -43
  826. package/dist/linter/rules/core-has-no-async.js.map +0 -1
  827. package/dist/linter/rules/core-is-pure.d.ts +0 -3
  828. package/dist/linter/rules/core-is-pure.d.ts.map +0 -1
  829. package/dist/linter/rules/core-is-pure.js +0 -74
  830. package/dist/linter/rules/core-is-pure.js.map +0 -1
  831. package/dist/linter/rules/no-nested-steps.d.ts +0 -3
  832. package/dist/linter/rules/no-nested-steps.d.ts.map +0 -1
  833. package/dist/linter/rules/no-nested-steps.js +0 -32
  834. package/dist/linter/rules/no-nested-steps.js.map +0 -1
  835. package/dist/linter/rules/no-read-inside-mutate.d.ts +0 -3
  836. package/dist/linter/rules/no-read-inside-mutate.d.ts.map +0 -1
  837. package/dist/linter/rules/no-read-inside-mutate.js +0 -64
  838. package/dist/linter/rules/no-read-inside-mutate.js.map +0 -1
  839. package/dist/linter/rules/one-remote-definition-per-file.d.ts +0 -3
  840. package/dist/linter/rules/one-remote-definition-per-file.d.ts.map +0 -1
  841. package/dist/linter/rules/one-remote-definition-per-file.js +0 -23
  842. package/dist/linter/rules/one-remote-definition-per-file.js.map +0 -1
  843. package/dist/linter/rules/oxlint-ast.d.ts +0 -30
  844. package/dist/linter/rules/oxlint-ast.d.ts.map +0 -1
  845. package/dist/linter/rules/oxlint-ast.js +0 -104
  846. package/dist/linter/rules/oxlint-ast.js.map +0 -1
  847. package/dist/linter/rules/oxlint-rule.d.ts +0 -45
  848. package/dist/linter/rules/oxlint-rule.d.ts.map +0 -1
  849. package/dist/linter/rules/oxlint-rule.js +0 -2
  850. package/dist/linter/rules/oxlint-rule.js.map +0 -1
  851. package/dist/linter/rules/project-rule.d.ts +0 -10
  852. package/dist/linter/rules/project-rule.d.ts.map +0 -1
  853. package/dist/linter/rules/project-rule.js +0 -24
  854. package/dist/linter/rules/project-rule.js.map +0 -1
  855. package/dist/linter/rules/thin-schema-composition-root.d.ts +0 -3
  856. package/dist/linter/rules/thin-schema-composition-root.d.ts.map +0 -1
  857. package/dist/linter/rules/thin-schema-composition-root.js +0 -23
  858. package/dist/linter/rules/thin-schema-composition-root.js.map +0 -1
  859. package/dist/linter/source.d.ts +0 -24
  860. package/dist/linter/source.d.ts.map +0 -1
  861. package/dist/linter/source.js +0 -279
  862. package/dist/linter/source.js.map +0 -1
  863. package/dist/linter/suppression.d.ts +0 -3
  864. package/dist/linter/suppression.d.ts.map +0 -1
  865. package/dist/linter/suppression.js +0 -11
  866. package/dist/linter/suppression.js.map +0 -1
  867. package/dist/method/class.d.ts +0 -71
  868. package/dist/method/class.d.ts.map +0 -1
  869. package/dist/method/class.js +0 -26
  870. package/dist/method/class.js.map +0 -1
  871. package/dist/method/context.d.ts +0 -99
  872. package/dist/method/context.d.ts.map +0 -1
  873. package/dist/method/context.js +0 -11
  874. package/dist/method/context.js.map +0 -1
  875. package/dist/method/index.d.ts +0 -6
  876. package/dist/method/index.d.ts.map +0 -1
  877. package/dist/method/index.js +0 -3
  878. package/dist/method/index.js.map +0 -1
  879. package/dist/method/single.d.ts +0 -81
  880. package/dist/method/single.d.ts.map +0 -1
  881. package/dist/method/single.js +0 -8
  882. package/dist/method/single.js.map +0 -1
  883. package/dist/server/auxiliary-routes.d.ts +0 -48
  884. package/dist/server/auxiliary-routes.d.ts.map +0 -1
  885. package/dist/server/auxiliary-routes.js +0 -322
  886. package/dist/server/auxiliary-routes.js.map +0 -1
  887. package/dist/server/config.d.ts +0 -83
  888. package/dist/server/config.d.ts.map +0 -1
  889. package/dist/server/config.js +0 -8
  890. package/dist/server/config.js.map +0 -1
  891. package/dist/server/create.d.ts +0 -8
  892. package/dist/server/create.d.ts.map +0 -1
  893. package/dist/server/create.js +0 -171
  894. package/dist/server/create.js.map +0 -1
  895. package/dist/server/domain-entry.d.ts +0 -77
  896. package/dist/server/domain-entry.d.ts.map +0 -1
  897. package/dist/server/domain-entry.js +0 -60
  898. package/dist/server/domain-entry.js.map +0 -1
  899. package/dist/server/handle.d.ts +0 -35
  900. package/dist/server/handle.d.ts.map +0 -1
  901. package/dist/server/handle.js +0 -9
  902. package/dist/server/handle.js.map +0 -1
  903. package/dist/server/jwks.d.ts +0 -11
  904. package/dist/server/jwks.d.ts.map +0 -1
  905. package/dist/server/jwks.js +0 -15
  906. package/dist/server/jwks.js.map +0 -1
  907. package/dist/server/require-env.d.ts +0 -15
  908. package/dist/server/require-env.d.ts.map +0 -1
  909. package/dist/server/require-env.js +0 -21
  910. package/dist/server/require-env.js.map +0 -1
  911. package/dist/server/service-entry.d.ts +0 -32
  912. package/dist/server/service-entry.d.ts.map +0 -1
  913. package/dist/server/service-entry.js +0 -150
  914. package/dist/server/service-entry.js.map +0 -1
  915. package/dist/server/serving-url.d.ts +0 -14
  916. package/dist/server/serving-url.d.ts.map +0 -1
  917. package/dist/server/serving-url.js +0 -28
  918. package/dist/server/serving-url.js.map +0 -1
  919. package/dist/server/start.d.ts +0 -11
  920. package/dist/server/start.d.ts.map +0 -1
  921. package/dist/server/start.js +0 -34
  922. package/dist/server/start.js.map +0 -1
  923. package/dist/server/worker-entry.d.ts +0 -157
  924. package/dist/server/worker-entry.d.ts.map +0 -1
  925. package/dist/server/worker-entry.js +0 -201
  926. package/dist/server/worker-entry.js.map +0 -1
  927. package/dist/service/functions.d.ts +0 -148
  928. package/dist/service/functions.d.ts.map +0 -1
  929. package/dist/service/functions.js +0 -115
  930. package/dist/service/functions.js.map +0 -1
  931. package/dist/service/index.d.ts +0 -3
  932. package/dist/service/index.d.ts.map +0 -1
  933. package/dist/service/index.js +0 -2
  934. package/dist/service/index.js.map +0 -1
  935. package/dist/step/index.d.ts +0 -5
  936. package/dist/step/index.d.ts.map +0 -1
  937. package/dist/step/index.js +0 -3
  938. package/dist/step/index.js.map +0 -1
  939. package/dist/step/inline.d.ts +0 -8
  940. package/dist/step/inline.d.ts.map +0 -1
  941. package/dist/step/inline.js +0 -22
  942. package/dist/step/inline.js.map +0 -1
  943. package/dist/step/step.d.ts +0 -28
  944. package/dist/step/step.d.ts.map +0 -1
  945. package/dist/step/step.js +0 -53
  946. package/dist/step/step.js.map +0 -1
  947. package/src/auth/authenticate.ts +0 -51
  948. package/src/auth/check.ts +0 -69
  949. package/src/auth/compose.ts +0 -56
  950. package/src/auth/errors.ts +0 -32
  951. package/src/auth/function-context.ts +0 -108
  952. package/src/auth/identity.ts +0 -17
  953. package/src/auth/index.ts +0 -19
  954. package/src/auth/issuer-mint.ts +0 -76
  955. package/src/auth/kernel-client.ts +0 -153
  956. package/src/auth/resolve.ts +0 -63
  957. package/src/auth/sign.ts +0 -36
  958. package/src/auth/verify.ts +0 -199
  959. package/src/cli/bin.ts +0 -15
  960. package/src/cli/dotenv.ts +0 -65
  961. package/src/cli/index.ts +0 -15
  962. package/src/cli/log.ts +0 -18
  963. package/src/cli/publish.ts +0 -341
  964. package/src/cli/run.ts +0 -769
  965. package/src/cli/spec.ts +0 -44
  966. package/src/config/adapter.ts +0 -177
  967. package/src/config/define-domain.ts +0 -354
  968. package/src/config/deploy.ts +0 -35
  969. package/src/config/index.ts +0 -31
  970. package/src/define/index.ts +0 -10
  971. package/src/define/remote-function.ts +0 -184
  972. package/src/define/view.ts +0 -112
  973. package/src/deploy/check.ts +0 -124
  974. package/src/deploy/index.ts +0 -2
  975. package/src/deploy/meta.ts +0 -50
  976. package/src/dispatch/authorize.ts +0 -29
  977. package/src/dispatch/dispatcher.ts +0 -321
  978. package/src/dispatch/errors.ts +0 -94
  979. package/src/dispatch/execute.ts +0 -67
  980. package/src/dispatch/identity.ts +0 -143
  981. package/src/dispatch/index.ts +0 -16
  982. package/src/dispatch/resolve.ts +0 -78
  983. package/src/dispatch/self.ts +0 -198
  984. package/src/dispatch/validate.ts +0 -41
  985. package/src/domain/binding.ts +0 -37
  986. package/src/domain/build-spec.ts +0 -156
  987. package/src/domain/contract.ts +0 -41
  988. package/src/domain/define.ts +0 -162
  989. package/src/domain/extend-functions.ts +0 -110
  990. package/src/domain/extend-views.ts +0 -151
  991. package/src/domain/index.ts +0 -4
  992. package/src/index.ts +0 -165
  993. package/src/linter/analyze.ts +0 -17
  994. package/src/linter/diagnostic.ts +0 -85
  995. package/src/linter/docs/DIAGNOSTICS.md +0 -47
  996. package/src/linter/docs/JUDGMENT.md +0 -81
  997. package/src/linter/docs/PRINCIPLES.md +0 -97
  998. package/src/linter/docs/README.md +0 -38
  999. package/src/linter/docs/RULE-AUTHORING.md +0 -144
  1000. package/src/linter/docs/RULES.md +0 -153
  1001. package/src/linter/index.ts +0 -15
  1002. package/src/linter/lint.ts +0 -34
  1003. package/src/linter/oxlint/astrale-ox.d.ts +0 -5
  1004. package/src/linter/oxlint/config.ts +0 -24
  1005. package/src/linter/oxlint/ignore-patterns.ts +0 -17
  1006. package/src/linter/oxlint/plugin.js +0 -16
  1007. package/src/linter/oxlint/process.ts +0 -219
  1008. package/src/linter/oxlint/run.ts +0 -175
  1009. package/src/linter/preflight.ts +0 -182
  1010. package/src/linter/project.ts +0 -190
  1011. package/src/linter/report.ts +0 -25
  1012. package/src/linter/rules/catalog.ts +0 -67
  1013. package/src/linter/rules/core-has-no-async.js +0 -43
  1014. package/src/linter/rules/core-is-pure.ts +0 -103
  1015. package/src/linter/rules/no-nested-steps.js +0 -37
  1016. package/src/linter/rules/no-read-inside-mutate.js +0 -72
  1017. package/src/linter/rules/one-remote-definition-per-file.ts +0 -29
  1018. package/src/linter/rules/oxlint-ast.js +0 -110
  1019. package/src/linter/rules/oxlint-rule.ts +0 -35
  1020. package/src/linter/rules/project-rule.ts +0 -37
  1021. package/src/linter/rules/thin-schema-composition-root.ts +0 -26
  1022. package/src/linter/source.ts +0 -323
  1023. package/src/linter/suppression.ts +0 -11
  1024. package/src/method/class.ts +0 -163
  1025. package/src/method/context.ts +0 -135
  1026. package/src/method/index.ts +0 -19
  1027. package/src/method/single.ts +0 -166
  1028. package/src/server/auxiliary-routes.ts +0 -456
  1029. package/src/server/config.ts +0 -85
  1030. package/src/server/create.ts +0 -210
  1031. package/src/server/domain-entry.ts +0 -125
  1032. package/src/server/handle.ts +0 -37
  1033. package/src/server/index.ts +0 -19
  1034. package/src/server/jwks.ts +0 -18
  1035. package/src/server/require-env.ts +0 -19
  1036. package/src/server/service-entry.ts +0 -209
  1037. package/src/server/serving-url.ts +0 -28
  1038. package/src/server/start.ts +0 -42
  1039. package/src/server/worker-entry.ts +0 -286
  1040. package/src/service/functions.ts +0 -164
  1041. package/src/service/index.ts +0 -18
  1042. package/src/step/index.ts +0 -4
  1043. package/src/step/inline.ts +0 -38
  1044. package/src/step/step.ts +0 -95
package/README.md CHANGED
@@ -1,21 +1,44 @@
1
1
  # SDK
2
2
 
3
- Astrale Remote Domain SDK define and deploy domains as standalone Hono servers.
3
+ Schema-first SDK for defining, composing, and deploying Astrale Domains. The public authoring
4
+ surface covers Domain handlers, provider-neutral Capabilities, Workflows, Query, Mutation, State,
5
+ and deployment adapters without coupling business code to one host runtime.
4
6
 
5
7
  [![CI](https://github.com/astrale-os/sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/astrale-os/sdk/actions/workflows/ci.yml)
6
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
7
9
 
8
10
  ## Install
9
11
 
12
+ Configure the Astrale scope for GitHub Packages and provide a token with `read:packages`; the SDK's
13
+ Kernel dependencies are intentionally distributed there:
14
+
15
+ ```ini
16
+ # ~/.npmrc
17
+ registry=https://registry.npmjs.org/
18
+ @astrale-os:registry=https://npm.pkg.github.com/
19
+ //npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}
20
+ ```
21
+
10
22
  ```bash
23
+ export NODE_AUTH_TOKEN="$(gh auth token)"
11
24
  npm install @astrale-os/sdk
12
25
  ```
13
26
 
27
+ During the beta program, opt in explicitly:
28
+
29
+ ```bash
30
+ npm install @astrale-os/sdk@beta
31
+ npx -y create-astrale-domain@beta my-domain --yes
32
+ ```
33
+
34
+ See [the release lifecycle](docs/release.md) for package-cohort versioning, verification, and stable
35
+ promotion.
36
+
14
37
  ## Development
15
38
 
16
39
  ### Prerequisites
17
40
 
18
- - Node.js 24.18.0
41
+ - Node.js 26.7.0 (default) or Node.js 24; published packages remain compatible with Node.js 22+
19
42
  - pnpm 11.13.1
20
43
 
21
44
  ### Setup
@@ -35,8 +58,36 @@ pnpm typecheck # Type check
35
58
  pnpm test # Run tests
36
59
  pnpm lint # Lint
37
60
  pnpm format # Format
61
+ pnpm check:knowledge # Validate the canonical Domain authoring knowledge
62
+ pnpm check:issues # Validate structured cross-repository issues
38
63
  ```
39
64
 
65
+ The structured [Domain authoring knowledge](knowledge/README.md) is the source for contributor
66
+ guidance and the generated linter policy.
67
+
68
+ ### Domain lint layout overrides
69
+
70
+ `astrale-domain lint` defaults to the canonical layer roots and aliases, including `functions/`,
71
+ `#functions`, and `#functions/*`. A Domain that uses different physical vocabulary can remap a
72
+ semantic layer in `astrale.lint.json` without changing the rules attached to that layer:
73
+
74
+ ```json
75
+ {
76
+ "layers": {
77
+ "functions": {
78
+ "sourcePath": "actions/",
79
+ "alias": "#actions"
80
+ }
81
+ }
82
+ }
83
+ ```
84
+
85
+ The linter then expects `actions/`, `#actions`, and `#actions/*` in the source tree,
86
+ `compilerOptions.paths`, and `package.json#imports`. Omit the file to keep the canonical defaults.
87
+
88
+ Structured review [issues](issues/README.md) retain observation-first evidence and later governance
89
+ attachments without becoming current contract authority.
90
+
40
91
  ## License
41
92
 
42
- MIT License — see [LICENSE](LICENSE) for details.
93
+ Apache License 2.0 — see [LICENSE](LICENSE) for details.
@@ -0,0 +1,11 @@
1
+ import { issuer } from '@astrale-os/kernel-protocol';
2
+ /** SDK facade for the standard Domain token-exchange discovery and wire contract. */
3
+ export declare const paths: typeof issuer.paths;
4
+ export declare const acceptConfiguration: typeof issuer.acceptConfiguration;
5
+ export declare const MEDIA_TYPE: "application/vnd.astrale+json";
6
+ export declare const acceptResponse: typeof issuer.exchange.acceptResponse;
7
+ export declare const acceptErrorResponse: typeof issuer.exchange.acceptErrorResponse;
8
+ export type Configuration = issuer.Configuration;
9
+ export type Response = issuer.exchange.Response;
10
+ export type ErrorResponse = issuer.exchange.ErrorResponse;
11
+ //# sourceMappingURL=exchange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../src/auth/exchange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAEpD,qFAAqF;AACrF,eAAO,MAAM,KAAK,qBAAe,CAAA;AACjC,eAAO,MAAM,mBAAmB,mCAA6B,CAAA;AAC7D,eAAO,MAAM,UAAU,gCAA6B,CAAA;AACpD,eAAO,MAAM,cAAc,uCAAiC,CAAA;AAC5D,eAAO,MAAM,mBAAmB,4CAAsC,CAAA;AAEtE,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;AAChD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA;AAC/C,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { issuer } from '@astrale-os/kernel-protocol';
2
+ /** SDK facade for the standard Domain token-exchange discovery and wire contract. */
3
+ export const paths = issuer.paths;
4
+ export const acceptConfiguration = issuer.acceptConfiguration;
5
+ export const MEDIA_TYPE = issuer.exchange.MEDIA_TYPE;
6
+ export const acceptResponse = issuer.exchange.acceptResponse;
7
+ export const acceptErrorResponse = issuer.exchange.acceptErrorResponse;
8
+ //# sourceMappingURL=exchange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../src/auth/exchange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAEpD,qFAAqF;AACrF,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;AACjC,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAA;AAC7D,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAA;AACpD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAA;AAC5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAA"}
@@ -1,16 +1,5 @@
1
- export type { RemoteIdentityConfig } from './identity.js';
2
- export type { VerifiedInbound } from './verify.js';
3
- export type { AuthenticateResult } from './authenticate.js';
4
- export { authenticateRequest } from './authenticate.js';
5
- export { resolveInboundAuth, buildAuthContext, type ResolvedAuth } from './resolve.js';
6
- export { verifyInboundCredential } from './verify.js';
7
- export { buildComposedGrant } from './compose.js';
8
- export { signCredential } from './sign.js';
9
- export { makeDomainAuthority } from './issuer-mint.js';
10
- export type { DomainAuthority, MintIssuedParams } from './issuer-mint.js';
11
- export { makeFunctionContext } from './function-context.js';
12
- export type { FunctionContextApi, FunctionCredentialOptions, FunctionKernelOptions, } from './function-context.js';
13
- export { bindKernel } from './kernel-client.js';
14
- export { AuthMissingError, AuthInvalidError } from './errors.js';
15
- export { assertPerm, requireOwnership, READ, EDIT, USE, SHARE, ALL } from './check.js';
1
+ /** Authentication values and the caller-bound observation API used by Domain authors. */
2
+ export * from '@astrale-os/kernel-core/auth';
3
+ export type { AuthApi } from '@astrale-os/kernel-client/auth';
4
+ export * as exchange from './exchange.js';
16
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACzD,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,YAAY,EACV,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,cAAc,8BAA8B,CAAA;AAC5C,YAAY,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA"}
@@ -1,11 +1,4 @@
1
- export { authenticateRequest } from './authenticate.js';
2
- export { resolveInboundAuth, buildAuthContext } from './resolve.js';
3
- export { verifyInboundCredential } from './verify.js';
4
- export { buildComposedGrant } from './compose.js';
5
- export { signCredential } from './sign.js';
6
- export { makeDomainAuthority } from './issuer-mint.js';
7
- export { makeFunctionContext } from './function-context.js';
8
- export { bindKernel } from './kernel-client.js';
9
- export { AuthMissingError, AuthInvalidError } from './errors.js';
10
- export { assertPerm, requireOwnership, READ, EDIT, USE, SHARE, ALL } from './check.js';
1
+ /** Authentication values and the caller-bound observation API used by Domain authors. */
2
+ export * from '@astrale-os/kernel-core/auth';
3
+ export * as exchange from './exchange.js';
11
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAqB,MAAM,cAAc,CAAA;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAM3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,cAAc,8BAA8B,CAAA;AAE5C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA"}
@@ -0,0 +1,25 @@
1
+ import type { CapabilityClients, CapabilityProviders, CapabilityReplayDecision, CapabilityRequirements } from './contract.js';
2
+ export interface CapabilityCallCoordinates {
3
+ readonly callId: string;
4
+ readonly signal: AbortSignal;
5
+ readonly deadline: number;
6
+ }
7
+ export interface CapabilityAttempt<Output> {
8
+ readonly capability: string;
9
+ readonly operation: string;
10
+ readonly replay: CapabilityReplayDecision;
11
+ attempt(coordinates: CapabilityCallCoordinates): Promise<Output>;
12
+ }
13
+ export interface CapabilityInvocationOwner {
14
+ invoke<Output>(call: CapabilityAttempt<Output>): Promise<Output>;
15
+ }
16
+ export interface CapabilityClientFactory<Requirements extends CapabilityRequirements> {
17
+ (owner: CapabilityInvocationOwner): CapabilityClients<Requirements>;
18
+ }
19
+ /** SDK-internal admission and immutable capture of one exact requirement map. */
20
+ export declare function captureCapabilityRequirements<Requirements extends CapabilityRequirements>(requirements: Requirements): Requirements;
21
+ /** SDK-internal validation of exact providers before request handling begins. */
22
+ export declare function bindCapabilityProviders<Requirements extends CapabilityRequirements>(requirements: Requirements, providers: CapabilityProviders<Requirements>): CapabilityClientFactory<Requirements>;
23
+ /** SDK-internal construction of invocation-scoped clients from exact provider bindings. */
24
+ export declare function createCapabilityClients<Requirements extends CapabilityRequirements>(requirements: Requirements, providers: CapabilityProviders<Requirements>, owner: CapabilityInvocationOwner): CapabilityClients<Requirements>;
25
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/capability/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAEjB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,eAAe,CAAA;AAItB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,iBAAiB,CAAC,MAAM;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;IACzC,OAAO,CAAC,WAAW,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACjE;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACjE;AAED,MAAM,WAAW,uBAAuB,CAAC,YAAY,SAAS,sBAAsB;IAClF,CAAC,KAAK,EAAE,yBAAyB,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;CACpE;AAED,iFAAiF;AACjF,wBAAgB,6BAA6B,CAAC,YAAY,SAAS,sBAAsB,EACvF,YAAY,EAAE,YAAY,GACzB,YAAY,CAYd;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,CAAC,YAAY,SAAS,sBAAsB,EACjF,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,mBAAmB,CAAC,YAAY,CAAC,GAC3C,uBAAuB,CAAC,YAAY,CAAC,CAkBvC;AAED,2FAA2F;AAC3F,wBAAgB,uBAAuB,CAAC,YAAY,SAAS,sBAAsB,EACjF,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,mBAAmB,CAAC,YAAY,CAAC,EAC5C,KAAK,EAAE,yBAAyB,GAC/B,iBAAiB,CAAC,YAAY,CAAC,CAEjC"}
@@ -0,0 +1,147 @@
1
+ import { requireCapabilityDefinition, requireProviderBinding, resolveReplay } from './define.js';
2
+ /** SDK-internal admission and immutable capture of one exact requirement map. */
3
+ export function captureCapabilityRequirements(requirements) {
4
+ const source = acceptMap(requirements, 'Capability requirements');
5
+ const names = ownStringKeys(source, 'Capability requirements');
6
+ const captured = Object.create(null);
7
+ for (const name of names) {
8
+ captured[name] = requireCapabilityDefinition(ownDataValue(source, name, 'Capability requirements'));
9
+ }
10
+ return Object.freeze(captured);
11
+ }
12
+ /** SDK-internal validation of exact providers before request handling begins. */
13
+ export function bindCapabilityProviders(requirements, providers) {
14
+ const required = captureCapabilityRequirements(requirements);
15
+ const supplied = acceptMap(providers, 'Capability providers');
16
+ const names = ownStringKeys(required, 'Capability requirements');
17
+ exactKeys(supplied, names, 'Capability providers');
18
+ const bindings = names.map((name) => {
19
+ const definition = requireCapabilityDefinition(ownDataValue(required, name, 'Capability requirements'));
20
+ const binding = requireProviderBinding(ownDataValue(supplied, name, 'Capability providers'));
21
+ if (binding.capability !== definition) {
22
+ throw new TypeError(`Capability provider ${name} implements a different definition.`);
23
+ }
24
+ return Object.freeze({ name, definition, binding });
25
+ });
26
+ return (owner) => createBoundCapabilityClients(bindings, owner);
27
+ }
28
+ /** SDK-internal construction of invocation-scoped clients from exact provider bindings. */
29
+ export function createCapabilityClients(requirements, providers, owner) {
30
+ return bindCapabilityProviders(requirements, providers)(owner);
31
+ }
32
+ function createBoundCapabilityClients(bindings, owner) {
33
+ if (owner === null ||
34
+ typeof owner !== 'object' ||
35
+ Array.isArray(owner) ||
36
+ typeof ownDataValue(owner, 'invoke', 'Capability invocation owner') !== 'function') {
37
+ throw new TypeError('Capability invocation owner is invalid.');
38
+ }
39
+ const invoke = ownDataValue(owner, 'invoke', 'Capability invocation owner').bind(owner);
40
+ const clients = Object.create(null);
41
+ for (const { name, definition, binding } of bindings) {
42
+ const operations = Object.create(null);
43
+ for (const operationName of Object.keys(definition.operations)) {
44
+ const operation = definition.operations[operationName];
45
+ const implementation = binding.implementation[operationName];
46
+ operations[operationName] = async (...input) => {
47
+ if (input.length > 1) {
48
+ throw new TypeError('Capability operations accept at most one semantic input value.');
49
+ }
50
+ const value = input[0];
51
+ const replay = resolveReplay(operation, value);
52
+ let attempts = 0;
53
+ let callId;
54
+ let active = true;
55
+ try {
56
+ return await invoke({
57
+ capability: definition.id,
58
+ operation: operationName,
59
+ replay,
60
+ async attempt(coordinates) {
61
+ if (!active) {
62
+ throw new TypeError('Settled Capability operation cannot be attempted again.');
63
+ }
64
+ if (replay.kind === 'unsafe' && attempts > 0) {
65
+ throw new TypeError('Unsafe Capability operation cannot be attempted again.');
66
+ }
67
+ const accepted = acceptCoordinates(coordinates);
68
+ attempts += 1;
69
+ if (callId === undefined)
70
+ callId = accepted.callId;
71
+ else if (accepted.callId !== callId) {
72
+ throw new TypeError('Capability replay must retain the logical call id.');
73
+ }
74
+ const execution = executionFor(accepted, replay);
75
+ return input.length === 0
76
+ ? Reflect.apply(implementation, undefined, [execution])
77
+ : Reflect.apply(implementation, undefined, [value, execution]);
78
+ },
79
+ });
80
+ }
81
+ finally {
82
+ active = false;
83
+ }
84
+ };
85
+ }
86
+ clients[name] = Object.freeze(operations);
87
+ }
88
+ return Object.freeze(clients);
89
+ }
90
+ function executionFor(coordinates, replay) {
91
+ const idempotencyKey = replay.kind !== 'keyed'
92
+ ? undefined
93
+ : replay.source === 'execution'
94
+ ? coordinates.callId
95
+ : replay.key;
96
+ return Object.freeze({
97
+ callId: coordinates.callId,
98
+ signal: coordinates.signal,
99
+ deadline: coordinates.deadline,
100
+ ...(idempotencyKey === undefined ? {} : { idempotencyKey }),
101
+ });
102
+ }
103
+ function acceptCoordinates(input) {
104
+ const coordinates = acceptMap(input, 'Capability call coordinates');
105
+ exactKeys(coordinates, ['callId', 'signal', 'deadline'], 'Capability call coordinates');
106
+ const callId = ownDataValue(coordinates, 'callId', 'Capability call coordinates');
107
+ const signal = ownDataValue(coordinates, 'signal', 'Capability call coordinates');
108
+ const deadline = ownDataValue(coordinates, 'deadline', 'Capability call coordinates');
109
+ if (typeof callId !== 'string' || callId.length === 0 || callId.trim() !== callId) {
110
+ throw new TypeError('Capability call id must be a non-empty stable string.');
111
+ }
112
+ if (!(signal instanceof AbortSignal)) {
113
+ throw new TypeError('Capability call signal must be an AbortSignal.');
114
+ }
115
+ if (typeof deadline !== 'number' || !Number.isFinite(deadline)) {
116
+ throw new TypeError('Capability call deadline must be a finite number.');
117
+ }
118
+ return { callId, signal, deadline };
119
+ }
120
+ function acceptMap(input, label) {
121
+ if (input === null || typeof input !== 'object' || Array.isArray(input)) {
122
+ throw new TypeError(`${label} must be an object.`);
123
+ }
124
+ return input;
125
+ }
126
+ function exactKeys(input, expected, label) {
127
+ const actual = ownStringKeys(input, label);
128
+ const expectedSet = new Set(expected);
129
+ if (actual.length === expected.length && actual.every((key) => expectedSet.has(key)))
130
+ return;
131
+ throw new TypeError(`${label} must contain exactly: ${expected.join(', ') || '(none)'}.`);
132
+ }
133
+ function ownStringKeys(input, label) {
134
+ const keys = Reflect.ownKeys(input);
135
+ if (keys.some((key) => typeof key !== 'string')) {
136
+ throw new TypeError(`${label} cannot contain symbol fields.`);
137
+ }
138
+ return keys;
139
+ }
140
+ function ownDataValue(input, key, label) {
141
+ const descriptor = Object.getOwnPropertyDescriptor(input, key);
142
+ if (descriptor === undefined || !Object.hasOwn(descriptor, 'value')) {
143
+ throw new TypeError(`${label}.${key} must be a data field.`);
144
+ }
145
+ return descriptor.value;
146
+ }
147
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/capability/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ declare const capabilityDefinition: unique symbol;
2
+ declare const capabilityOperation: unique symbol;
3
+ declare const capabilityProvider: unique symbol;
4
+ export type CapabilityReplayDecision = {
5
+ readonly kind: 'safe';
6
+ } | {
7
+ readonly kind: 'keyed';
8
+ readonly source: 'execution';
9
+ } | {
10
+ readonly kind: 'keyed';
11
+ readonly source: 'input';
12
+ readonly key: string;
13
+ } | {
14
+ readonly kind: 'unsafe';
15
+ };
16
+ export type CapabilityReplay<Input> = CapabilityReplayDecision | ((input: Input) => CapabilityReplayDecision);
17
+ export interface CapabilityExecution {
18
+ readonly callId: string;
19
+ readonly signal: AbortSignal;
20
+ readonly deadline: number;
21
+ readonly idempotencyKey?: string;
22
+ }
23
+ export interface CapabilityOperation<Input = unknown, Output = unknown> {
24
+ readonly replay: CapabilityReplay<Input>;
25
+ readonly [capabilityOperation]: Readonly<{
26
+ input: Input;
27
+ output: Output;
28
+ }>;
29
+ }
30
+ export type CapabilityOperations = Readonly<Record<string, CapabilityOperation<any, any>>>;
31
+ export interface CapabilityDefinition<Id extends string = string, Operations extends CapabilityOperations = CapabilityOperations> {
32
+ readonly kind: 'capability';
33
+ readonly id: Id;
34
+ readonly operations: Operations;
35
+ readonly [capabilityDefinition]: Readonly<{
36
+ id: Id;
37
+ operations: Operations;
38
+ }>;
39
+ }
40
+ export type CapabilityInput<Operation> = Operation extends CapabilityOperation<infer Input, any> ? Input : never;
41
+ export type CapabilityOutput<Operation> = Operation extends CapabilityOperation<any, infer Output> ? Output : never;
42
+ export type CapabilityClient<Definition extends CapabilityDefinition<any, any>> = Readonly<{
43
+ [Name in keyof Definition['operations']]: Definition['operations'][Name] extends CapabilityOperation<infer Input, infer Output> ? [Input] extends [void] ? () => Promise<Output> : (input: Input) => Promise<Output> : never;
44
+ }>;
45
+ export type CapabilityImplementation<Definition extends CapabilityDefinition<any, any>> = Readonly<{
46
+ [Name in keyof Definition['operations']]: Definition['operations'][Name] extends CapabilityOperation<infer Input, infer Output> ? [Input] extends [void] ? (execution: CapabilityExecution) => Promise<Output> : (input: Input, execution: CapabilityExecution) => Promise<Output> : never;
47
+ }>;
48
+ export interface CapabilityProvider<Definition extends CapabilityDefinition<any, any>> {
49
+ readonly capability: Definition;
50
+ readonly [capabilityProvider]: Definition;
51
+ }
52
+ export type CapabilityRequirements = Readonly<Record<string, CapabilityDefinition<any, any>>>;
53
+ export type CapabilityClients<Requirements extends CapabilityRequirements> = Readonly<{
54
+ [Name in keyof Requirements]: CapabilityClient<Requirements[Name]>;
55
+ }>;
56
+ export type CapabilityProviders<Requirements extends CapabilityRequirements> = Readonly<{
57
+ [Name in keyof Requirements]: CapabilityProvider<Requirements[Name]>;
58
+ }>;
59
+ export interface DefineCapability {
60
+ <Id extends string, Operations extends CapabilityOperations>(input: Readonly<{
61
+ id: Id;
62
+ operations: Operations;
63
+ }>): CapabilityDefinition<Id, Operations>;
64
+ operation<Input = void, Output = void>(input: Readonly<{
65
+ replay: CapabilityReplay<Input>;
66
+ }>): CapabilityOperation<Input, Output>;
67
+ implement<Definition extends CapabilityDefinition>(definition: Definition, implementation: CapabilityImplementation<Definition>): CapabilityProvider<Definition>;
68
+ }
69
+ export {};
70
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/capability/contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /* oxlint-disable typescript/no-explicit-any -- exact heterogeneous operation inference requires an erased constraint */
2
+ export {};
3
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/capability/contract.ts"],"names":[],"mappings":"AAAA,wHAAwH"}
@@ -0,0 +1,14 @@
1
+ import type { CapabilityDefinition, CapabilityOperation, CapabilityOperations, CapabilityReplayDecision, DefineCapability } from './contract.js';
2
+ type RuntimeOperation = CapabilityOperation<unknown, unknown>;
3
+ type RuntimeDefinition = CapabilityDefinition<string, CapabilityOperations>;
4
+ type RuntimeImplementation = Readonly<Record<string, (...input: readonly unknown[]) => unknown>>;
5
+ export interface ProviderBinding {
6
+ readonly capability: RuntimeDefinition;
7
+ readonly implementation: RuntimeImplementation;
8
+ }
9
+ export declare const defineCapability: DefineCapability;
10
+ export declare function requireCapabilityDefinition(input: unknown): RuntimeDefinition;
11
+ export declare function requireProviderBinding(input: unknown): ProviderBinding;
12
+ export declare function resolveReplay(operation: RuntimeOperation, input: unknown): CapabilityReplayDecision;
13
+ export {};
14
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/capability/define.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EAEpB,mBAAmB,EACnB,oBAAoB,EAGpB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,eAAe,CAAA;AAEtB,KAAK,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAC7D,KAAK,iBAAiB,GAAG,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAC3E,KAAK,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,SAAS,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAA;AAEhG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAA;CAC/C;AA0FD,eAAO,MAAM,gBAAgB,EAKxB,gBAAgB,CAAA;AAErB,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAK7E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAKtE;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,OAAO,GACb,wBAAwB,CAM1B"}
@@ -0,0 +1,145 @@
1
+ /* oxlint-disable typescript/no-explicit-any -- implementation must exactly realize the public heterogeneous contract */
2
+ const operations = new WeakSet();
3
+ const definitions = new WeakSet();
4
+ const providers = new WeakMap();
5
+ function capability(input) {
6
+ const definition = acceptRecord(input, 'Capability definition');
7
+ exactKeys(definition, ['id', 'operations'], 'Capability definition');
8
+ const id = ownDataValue(definition, 'id', 'Capability definition');
9
+ acceptStableText(id, 'Capability id');
10
+ const authoredOperations = acceptRecord(ownDataValue(definition, 'operations', 'Capability definition'), 'Capability operations');
11
+ const names = ownStringKeys(authoredOperations, 'Capability operations');
12
+ if (names.length === 0)
13
+ throw new TypeError('Capability must declare at least one operation.');
14
+ const retained = Object.create(null);
15
+ for (const name of names) {
16
+ acceptStableText(name, 'Capability operation name');
17
+ const authored = ownDataValue(authoredOperations, name, 'Capability operations');
18
+ if (!isObject(authored) || !operations.has(authored)) {
19
+ throw new TypeError(`Capability operation ${name} must be created by defineCapability.operation.`);
20
+ }
21
+ retained[name] = authored;
22
+ }
23
+ const result = Object.freeze({
24
+ kind: 'capability',
25
+ id,
26
+ operations: Object.freeze(retained),
27
+ });
28
+ definitions.add(result);
29
+ return result;
30
+ }
31
+ function operation(input) {
32
+ const descriptor = acceptRecord(input, 'Capability operation');
33
+ exactKeys(descriptor, ['replay'], 'Capability operation');
34
+ const authoredReplay = ownDataValue(descriptor, 'replay', 'Capability operation');
35
+ const replay = typeof authoredReplay === 'function'
36
+ ? authoredReplay
37
+ : acceptReplayDecision(authoredReplay);
38
+ const result = Object.freeze({ replay });
39
+ operations.add(result);
40
+ return result;
41
+ }
42
+ function implement(definition, implementation) {
43
+ if (!isObject(definition) || !definitions.has(definition)) {
44
+ throw new TypeError('Capability provider requires a definition created by defineCapability.');
45
+ }
46
+ const source = acceptRecord(implementation, 'Capability implementation');
47
+ const names = Object.keys(definition.operations);
48
+ exactKeys(source, names, 'Capability implementation');
49
+ const retained = Object.create(null);
50
+ for (const name of names) {
51
+ const candidate = ownDataValue(source, name, 'Capability implementation');
52
+ if (typeof candidate !== 'function') {
53
+ throw new TypeError(`Capability implementation ${name} must be a function.`);
54
+ }
55
+ retained[name] = candidate;
56
+ }
57
+ const provider = Object.freeze({ capability: definition });
58
+ providers.set(provider, Object.freeze({
59
+ capability: definition,
60
+ implementation: Object.freeze(retained),
61
+ }));
62
+ return provider;
63
+ }
64
+ export const defineCapability = Object.assign((input) => capability(input), { operation, implement });
65
+ export function requireCapabilityDefinition(input) {
66
+ if (!isObject(input) || !definitions.has(input)) {
67
+ throw new TypeError('Capability requirement must be created by defineCapability.');
68
+ }
69
+ return input;
70
+ }
71
+ export function requireProviderBinding(input) {
72
+ if (!isObject(input))
73
+ throw new TypeError('Capability provider is invalid.');
74
+ const binding = providers.get(input);
75
+ if (binding === undefined)
76
+ throw new TypeError('Capability provider is invalid.');
77
+ return binding;
78
+ }
79
+ export function resolveReplay(operation, input) {
80
+ const authored = typeof operation.replay === 'function'
81
+ ? Reflect.apply(operation.replay, undefined, [input])
82
+ : operation.replay;
83
+ return acceptReplayDecision(authored);
84
+ }
85
+ function acceptReplayDecision(input) {
86
+ const decision = acceptRecord(input, 'Capability replay decision');
87
+ const kind = decision.kind;
88
+ if (kind === 'safe' || kind === 'unsafe') {
89
+ exactKeys(decision, ['kind'], 'Capability replay decision');
90
+ return Object.freeze({ kind });
91
+ }
92
+ if (kind !== 'keyed') {
93
+ throw new TypeError('Capability replay kind must be safe, keyed, or unsafe.');
94
+ }
95
+ if (decision.source === 'execution') {
96
+ exactKeys(decision, ['kind', 'source'], 'Capability replay decision');
97
+ return Object.freeze({ kind, source: 'execution' });
98
+ }
99
+ if (decision.source === 'input') {
100
+ exactKeys(decision, ['kind', 'source', 'key'], 'Capability replay decision');
101
+ acceptNonEmptyText(decision.key, 'Capability replay input key');
102
+ return Object.freeze({ kind, source: 'input', key: decision.key });
103
+ }
104
+ throw new TypeError('Keyed Capability replay source must be execution or input.');
105
+ }
106
+ function acceptRecord(input, label) {
107
+ if (!isObject(input) || Array.isArray(input))
108
+ throw new TypeError(`${label} must be an object.`);
109
+ return input;
110
+ }
111
+ function exactKeys(input, expected, label) {
112
+ const actual = ownStringKeys(input, label);
113
+ const expectedSet = new Set(expected);
114
+ if (actual.length === expected.length && actual.every((key) => expectedSet.has(key)))
115
+ return;
116
+ throw new TypeError(`${label} must contain exactly: ${expected.join(', ') || '(none)'}.`);
117
+ }
118
+ function ownStringKeys(input, label) {
119
+ const keys = Reflect.ownKeys(input);
120
+ if (keys.some((key) => typeof key !== 'string')) {
121
+ throw new TypeError(`${label} cannot contain symbol fields.`);
122
+ }
123
+ return keys;
124
+ }
125
+ function ownDataValue(input, key, label) {
126
+ const descriptor = Object.getOwnPropertyDescriptor(input, key);
127
+ if (descriptor === undefined || !Object.hasOwn(descriptor, 'value')) {
128
+ throw new TypeError(`${label}.${key} must be a data field.`);
129
+ }
130
+ return descriptor.value;
131
+ }
132
+ function acceptStableText(input, label) {
133
+ if (typeof input !== 'string' || input.length === 0 || input.trim() !== input) {
134
+ throw new TypeError(`${label} must be a non-empty stable string.`);
135
+ }
136
+ }
137
+ function acceptNonEmptyText(input, label) {
138
+ if (typeof input !== 'string' || input.trim().length === 0) {
139
+ throw new TypeError(`${label} must be a non-empty string.`);
140
+ }
141
+ }
142
+ function isObject(input) {
143
+ return input !== null && typeof input === 'object';
144
+ }
145
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/capability/define.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { defineCapability } from './define.js';
2
+ export type { CapabilityClient, CapabilityClients, CapabilityDefinition, CapabilityExecution, CapabilityImplementation, CapabilityInput, CapabilityOperation, CapabilityOperations, CapabilityOutput, CapabilityProvider, CapabilityProviders, CapabilityReplay, CapabilityReplayDecision, CapabilityRequirements, DefineCapability, } from './contract.js';
3
+ //# sourceMappingURL=index.d.ts.map