@toa.io/extensions.exposition 1.0.0-alpha.31 → 1.0.0-alpha.310

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 (1128) hide show
  1. package/components/exposition.octets/manifest.toa.yaml +58 -0
  2. package/components/exposition.octets/operations/delete.js +3 -0
  3. package/components/exposition.octets/operations/get.js +6 -0
  4. package/components/exposition.octets/operations/head.js +3 -0
  5. package/components/exposition.octets/operations/put.js +140 -0
  6. package/components/exposition.octets/package.json +10 -0
  7. package/components/exposition.octets/types/index.d.ts +3 -0
  8. package/components/exposition.octets/types/toa.d.ts +41 -0
  9. package/components/identity.bans/manifest.toa.yaml +26 -8
  10. package/components/identity.bans/operations/transit.js +2 -6
  11. package/components/identity.bans/source/transit.ts +1 -1
  12. package/components/identity.bans/tsconfig.json +2 -1
  13. package/components/identity.bans/types/index.d.ts +3 -0
  14. package/components/identity.bans/types/toa.d.ts +35 -0
  15. package/components/identity.basic/events/principal.js +8 -4
  16. package/components/identity.basic/manifest.toa.yaml +202 -29
  17. package/components/identity.basic/migrations/0002-indexes.yaml +13 -0
  18. package/components/identity.basic/operations/add.js +13 -0
  19. package/components/identity.basic/operations/authenticate.js +20 -17
  20. package/components/identity.basic/operations/check.js +14 -0
  21. package/components/identity.basic/operations/delete.js +7 -0
  22. package/components/identity.basic/operations/incept.js +34 -16
  23. package/components/identity.basic/operations/info.js +11 -0
  24. package/components/identity.basic/operations/lib/credentials.js +12 -0
  25. package/components/identity.basic/operations/transit.js +42 -21
  26. package/components/identity.basic/package.json +8 -0
  27. package/components/identity.basic/source/add.ts +18 -0
  28. package/components/identity.basic/source/authenticate.ts +31 -23
  29. package/components/identity.basic/source/check.ts +24 -0
  30. package/components/identity.basic/source/delete.ts +18 -0
  31. package/components/identity.basic/source/incept.ts +52 -14
  32. package/components/identity.basic/source/info.ts +26 -0
  33. package/components/identity.basic/source/lib/credentials.ts +12 -0
  34. package/components/identity.basic/source/transit.ts +64 -27
  35. package/components/identity.basic/tsconfig.json +2 -1
  36. package/components/identity.basic/types/index.d.ts +26 -0
  37. package/components/identity.basic/types/toa.d.ts +122 -0
  38. package/components/identity.clients/manifest.toa.yaml +239 -0
  39. package/components/identity.clients/migrations/0002-indexes.yaml +4 -0
  40. package/components/identity.clients/operations/describe.js +44 -0
  41. package/components/identity.clients/operations/lib/Context.js +2 -0
  42. package/components/identity.clients/operations/lib/Entity.js +2 -0
  43. package/components/identity.clients/operations/lib/canonical.js +24 -0
  44. package/components/identity.clients/operations/lib/cimd.js +87 -0
  45. package/components/identity.clients/operations/lib/errors.js +5 -0
  46. package/components/identity.clients/operations/lib/index.js +7 -0
  47. package/components/identity.clients/operations/lib/redirect.js +35 -0
  48. package/components/identity.clients/operations/register.js +84 -0
  49. package/components/identity.clients/source/describe.ts +63 -0
  50. package/components/identity.clients/source/lib/Context.ts +40 -0
  51. package/components/identity.clients/source/lib/Entity.ts +31 -0
  52. package/components/identity.clients/source/lib/canonical.ts +27 -0
  53. package/components/identity.clients/source/lib/cimd.ts +112 -0
  54. package/components/identity.clients/source/lib/errors.ts +4 -0
  55. package/components/identity.clients/source/lib/index.ts +6 -0
  56. package/components/identity.clients/source/lib/redirect.ts +39 -0
  57. package/components/identity.clients/source/register.ts +125 -0
  58. package/components/identity.clients/tsconfig.json +10 -0
  59. package/components/identity.clients/types/index.d.ts +3 -0
  60. package/components/identity.clients/types/toa.d.ts +110 -0
  61. package/components/identity.credentials/manifest.toa.yaml +78 -0
  62. package/components/identity.credentials/operations/list.js +32 -0
  63. package/components/identity.credentials/source/list.ts +92 -0
  64. package/components/identity.credentials/tsconfig.json +10 -0
  65. package/components/identity.credentials/types/index.d.ts +3 -0
  66. package/components/identity.credentials/types/toa.d.ts +31 -0
  67. package/components/identity.federation/events/principal.js +7 -8
  68. package/components/identity.federation/manifest.toa.yaml +258 -65
  69. package/components/identity.federation/migrations/0002-indexes.yaml +25 -0
  70. package/components/identity.federation/operations/authenticate.js +31 -20
  71. package/components/identity.federation/operations/create.js +29 -0
  72. package/components/identity.federation/operations/decode.js +9 -0
  73. package/components/identity.federation/operations/delete.js +7 -0
  74. package/components/identity.federation/operations/incept.js +9 -13
  75. package/components/identity.federation/operations/lib/Configuration.js +2 -0
  76. package/components/identity.federation/operations/lib/Ctx.js +2 -0
  77. package/components/identity.federation/operations/lib/Payload.js +2 -0
  78. package/components/identity.federation/operations/lib/decode.js +36 -0
  79. package/components/identity.federation/operations/lib/discovery.js +34 -0
  80. package/components/identity.federation/operations/lib/errors.js +45 -0
  81. package/components/identity.federation/operations/lib/exchange.js +90 -0
  82. package/components/identity.federation/operations/lib/index.js +5 -0
  83. package/components/identity.federation/operations/lib/jose.js +2 -0
  84. package/components/identity.federation/operations/lib/principal.js +14 -0
  85. package/components/identity.federation/operations/lib/resolve.js +13 -0
  86. package/components/identity.federation/operations/list.js +12 -0
  87. package/components/identity.federation/operations/types/Scheme.js +2 -0
  88. package/components/identity.federation/operations/types/configuration.js +2 -3
  89. package/components/identity.federation/operations/types/context.js +2 -3
  90. package/components/identity.federation/operations/types/entity.js +2 -3
  91. package/components/identity.federation/operations/types/index.js +5 -20
  92. package/components/identity.federation/package.json +8 -0
  93. package/components/identity.federation/source/authenticate.ts +50 -19
  94. package/components/identity.federation/source/create.ts +44 -0
  95. package/components/identity.federation/source/decode.ts +14 -0
  96. package/components/identity.federation/source/delete.ts +19 -0
  97. package/components/identity.federation/source/incept.ts +12 -15
  98. package/components/identity.federation/source/lib/Configuration.ts +39 -0
  99. package/components/identity.federation/source/lib/Ctx.ts +9 -0
  100. package/components/identity.federation/source/lib/Payload.ts +6 -0
  101. package/components/identity.federation/source/lib/decode.ts +44 -0
  102. package/components/identity.federation/source/lib/discovery.ts +50 -0
  103. package/components/identity.federation/source/lib/errors.ts +54 -0
  104. package/components/identity.federation/source/lib/exchange.ts +123 -0
  105. package/components/identity.federation/source/lib/index.ts +5 -0
  106. package/components/identity.federation/source/lib/jose.d.ts +1 -0
  107. package/components/identity.federation/source/lib/jose.js +1 -0
  108. package/components/identity.federation/source/lib/principal.ts +19 -0
  109. package/components/identity.federation/source/lib/resolve.ts +21 -0
  110. package/components/identity.federation/source/list.ts +21 -0
  111. package/components/identity.federation/source/types/Scheme.ts +1 -0
  112. package/components/identity.federation/source/types/configuration.ts +12 -4
  113. package/components/identity.federation/source/types/context.ts +22 -38
  114. package/components/identity.federation/source/types/entity.ts +3 -0
  115. package/components/identity.federation/source/types/index.ts +4 -3
  116. package/components/identity.federation/tsconfig.json +3 -2
  117. package/components/identity.federation/types/index.d.ts +3 -0
  118. package/components/identity.federation/types/toa.d.ts +128 -0
  119. package/components/identity.grants/manifest.toa.yaml +243 -0
  120. package/components/identity.grants/migrations/0002-indexes.yaml +5 -0
  121. package/components/identity.grants/operations/authorize.js +53 -0
  122. package/components/identity.grants/operations/exchange.js +92 -0
  123. package/components/identity.grants/operations/lib/code.js +30 -0
  124. package/components/identity.grants/operations/lib/identify.js +15 -0
  125. package/components/identity.grants/operations/lib/index.js +3 -0
  126. package/components/identity.grants/operations/list.js +18 -0
  127. package/components/identity.grants/operations/revoke.js +26 -0
  128. package/components/identity.grants/source/authorize.ts +97 -0
  129. package/components/identity.grants/source/exchange.ts +134 -0
  130. package/components/identity.grants/source/lib/code.ts +51 -0
  131. package/components/identity.grants/source/lib/identify.ts +16 -0
  132. package/components/identity.grants/source/lib/index.ts +3 -0
  133. package/components/identity.grants/source/list.ts +28 -0
  134. package/components/identity.grants/source/revoke.ts +40 -0
  135. package/components/identity.grants/tsconfig.json +10 -0
  136. package/components/identity.grants/types/index.d.ts +60 -0
  137. package/components/identity.grants/types/toa.d.ts +109 -0
  138. package/components/identity.keys/manifest.toa.yaml +79 -0
  139. package/components/identity.keys/migrations/0002-indexes.yaml +4 -0
  140. package/components/identity.keys/operations/create.js +12 -0
  141. package/components/identity.keys/operations/disable.js +5 -0
  142. package/components/identity.keys/operations/revoke.js +12 -0
  143. package/components/identity.keys/receivers/identity.bans.created.js +1 -0
  144. package/components/identity.keys/receivers/identity.bans.updated.js +1 -0
  145. package/components/identity.keys/receivers/identity.roles.deleted.js +1 -0
  146. package/components/identity.keys/source/create.ts +34 -0
  147. package/components/identity.keys/source/disable.ts +9 -0
  148. package/components/identity.keys/source/revoke.ts +30 -0
  149. package/components/identity.keys/tsconfig.json +10 -0
  150. package/components/identity.keys/types/index.d.ts +3 -0
  151. package/components/identity.keys/types/toa.d.ts +48 -0
  152. package/components/identity.otp/manifest.toa.yaml +96 -0
  153. package/components/identity.otp/migrations/0002-indexes.yaml +5 -0
  154. package/components/identity.otp/operations/authenticate.js +44 -0
  155. package/components/identity.otp/operations/issue.js +19 -0
  156. package/components/identity.otp/operations/lib/Context.js +2 -0
  157. package/components/identity.otp/operations/lib/Entity.js +2 -0
  158. package/components/identity.otp/operations/lib/index.js +2 -0
  159. package/components/identity.otp/source/authenticate.ts +70 -0
  160. package/components/identity.otp/source/issue.ts +35 -0
  161. package/components/identity.otp/source/lib/Context.ts +17 -0
  162. package/components/identity.otp/source/lib/Entity.ts +6 -0
  163. package/components/identity.otp/source/lib/index.ts +1 -0
  164. package/components/identity.otp/tsconfig.json +10 -0
  165. package/components/identity.otp/types/index.d.ts +3 -0
  166. package/components/identity.otp/types/toa.d.ts +57 -0
  167. package/components/identity.passkeys/manifest.toa.yaml +302 -0
  168. package/components/identity.passkeys/migrations/0002-indexes.yaml +11 -0
  169. package/components/identity.passkeys/operations/authenticate.js +32 -0
  170. package/components/identity.passkeys/operations/challenge.js +72 -0
  171. package/components/identity.passkeys/operations/create.js +57 -0
  172. package/components/identity.passkeys/operations/delete.js +9 -0
  173. package/components/identity.passkeys/operations/lib/const.js +2 -0
  174. package/components/identity.passkeys/operations/list.js +12 -0
  175. package/components/identity.passkeys/operations/types/Configuration.js +2 -0
  176. package/components/identity.passkeys/operations/types/Context.js +2 -0
  177. package/components/identity.passkeys/operations/types/Passkey.js +2 -0
  178. package/components/identity.passkeys/operations/types/index.js +2 -0
  179. package/components/identity.passkeys/operations/use.js +56 -0
  180. package/components/identity.passkeys/package.json +8 -0
  181. package/components/identity.passkeys/source/authenticate.ts +49 -0
  182. package/components/identity.passkeys/source/challenge.ts +119 -0
  183. package/components/identity.passkeys/source/create.ts +83 -0
  184. package/components/identity.passkeys/source/delete.ts +19 -0
  185. package/components/identity.passkeys/source/lib/const.ts +1 -0
  186. package/components/identity.passkeys/source/list.ts +21 -0
  187. package/components/identity.passkeys/source/types/Configuration.ts +6 -0
  188. package/components/identity.passkeys/source/types/Context.ts +17 -0
  189. package/components/identity.passkeys/source/types/Passkey.ts +12 -0
  190. package/components/identity.passkeys/source/types/index.ts +2 -0
  191. package/components/identity.passkeys/source/use.ts +81 -0
  192. package/components/identity.passkeys/tsconfig.json +10 -0
  193. package/components/identity.passkeys/types/index.d.ts +3 -0
  194. package/components/identity.passkeys/types/toa.d.ts +121 -0
  195. package/components/identity.roles/manifest.toa.yaml +42 -13
  196. package/components/identity.roles/migrations/0002-indexes.yaml +8 -0
  197. package/components/identity.roles/operations/grant.js +11 -11
  198. package/components/identity.roles/operations/lib/Entity.js +2 -3
  199. package/components/identity.roles/operations/list.js +2 -6
  200. package/components/identity.roles/operations/principal.js +30 -10
  201. package/components/identity.roles/receivers/identity.federation.principal.js +4 -0
  202. package/components/identity.roles/source/grant.ts +16 -10
  203. package/components/identity.roles/source/list.ts +2 -2
  204. package/components/identity.roles/source/principal.ts +34 -8
  205. package/components/identity.roles/tsconfig.json +2 -1
  206. package/components/identity.roles/types/index.d.ts +3 -0
  207. package/components/identity.roles/types/toa.d.ts +44 -0
  208. package/components/identity.tokens/manifest.toa.yaml +235 -29
  209. package/components/identity.tokens/operations/authenticate.js +35 -21
  210. package/components/identity.tokens/operations/decrypt.js +186 -25
  211. package/components/identity.tokens/operations/encrypt.js +35 -18
  212. package/components/identity.tokens/operations/issue.js +56 -0
  213. package/components/identity.tokens/operations/lib/form.js +24 -0
  214. package/components/identity.tokens/operations/lib/index.js +4 -0
  215. package/components/identity.tokens/operations/lib/jose.js +5 -0
  216. package/components/identity.tokens/operations/lib/key.js +7 -0
  217. package/components/identity.tokens/operations/lib/pad.js +2 -0
  218. package/components/identity.tokens/operations/revoke.js +2 -6
  219. package/components/identity.tokens/package.json +10 -0
  220. package/components/identity.tokens/receivers/identity.bans.created.js +1 -3
  221. package/components/identity.tokens/receivers/identity.bans.updated.js +1 -3
  222. package/components/identity.tokens/source/authenticate.ts +40 -20
  223. package/components/identity.tokens/source/decrypt.ts +253 -21
  224. package/components/identity.tokens/source/encrypt.ts +49 -17
  225. package/components/identity.tokens/source/issue.ts +85 -0
  226. package/components/identity.tokens/source/lib/form.ts +27 -0
  227. package/components/identity.tokens/source/lib/index.ts +4 -0
  228. package/components/identity.tokens/source/lib/jose.d.ts +1 -0
  229. package/components/identity.tokens/source/lib/jose.js +5 -0
  230. package/components/identity.tokens/source/lib/key.ts +8 -0
  231. package/components/identity.tokens/source/lib/pad.ts +1 -0
  232. package/components/identity.tokens/source/revoke.ts +2 -2
  233. package/components/identity.tokens/tsconfig.json +2 -1
  234. package/components/identity.tokens/types/index.d.ts +66 -0
  235. package/components/identity.tokens/types/toa.d.ts +120 -0
  236. package/package.json +47 -25
  237. package/readme.md +39 -7
  238. package/schemas/io/throttle.cos.yaml +81 -0
  239. package/schemas/octets/delete.cos.yaml +15 -2
  240. package/schemas/octets/get.cos.yaml +5 -0
  241. package/schemas/octets/put.cos.yaml +31 -0
  242. package/schemas/octets/workflow.cos.yaml +0 -1
  243. package/transpiled/Announcements.d.ts +26 -0
  244. package/transpiled/Announcements.js +34 -0
  245. package/transpiled/Announcements.js.map +1 -0
  246. package/transpiled/Branch.d.ts +42 -1
  247. package/transpiled/Branch.js +15 -2
  248. package/transpiled/Branch.js.map +1 -1
  249. package/transpiled/Composition.d.ts +7 -8
  250. package/transpiled/Composition.js +13 -29
  251. package/transpiled/Composition.js.map +1 -1
  252. package/transpiled/Context.d.ts +5 -2
  253. package/transpiled/Context.js +1 -2
  254. package/transpiled/Directive.d.ts +40 -8
  255. package/transpiled/Directive.js +156 -32
  256. package/transpiled/Directive.js.map +1 -1
  257. package/transpiled/Discovery/Explorer.d.ts +11 -0
  258. package/transpiled/Discovery/Explorer.js +29 -0
  259. package/transpiled/Discovery/Explorer.js.map +1 -0
  260. package/transpiled/Discovery/Site.d.ts +43 -0
  261. package/transpiled/Discovery/Site.js +171 -0
  262. package/transpiled/Discovery/Site.js.map +1 -0
  263. package/transpiled/Discovery/index.d.ts +3 -0
  264. package/transpiled/Discovery/index.js +4 -0
  265. package/transpiled/Discovery/index.js.map +1 -0
  266. package/transpiled/Discovery/tree.d.ts +26 -0
  267. package/transpiled/Discovery/tree.js +50 -0
  268. package/transpiled/Discovery/tree.js.map +1 -0
  269. package/transpiled/Discovery/trunk.d.ts +13 -0
  270. package/transpiled/Discovery/trunk.js +29 -0
  271. package/transpiled/Discovery/trunk.js.map +1 -0
  272. package/transpiled/Endpoint.d.ts +32 -8
  273. package/transpiled/Endpoint.js +125 -61
  274. package/transpiled/Endpoint.js.map +1 -1
  275. package/transpiled/Factory.d.ts +22 -7
  276. package/transpiled/Factory.js +46 -68
  277. package/transpiled/Factory.js.map +1 -1
  278. package/transpiled/Gateway.d.ts +59 -6
  279. package/transpiled/Gateway.js +250 -51
  280. package/transpiled/Gateway.js.map +1 -1
  281. package/transpiled/HTTP/Context.d.ts +56 -14
  282. package/transpiled/HTTP/Context.js +106 -34
  283. package/transpiled/HTTP/Context.js.map +1 -1
  284. package/transpiled/HTTP/Probe.d.ts +26 -0
  285. package/transpiled/HTTP/Probe.js +80 -0
  286. package/transpiled/HTTP/Probe.js.map +1 -0
  287. package/transpiled/HTTP/Server.d.ts +59 -10
  288. package/transpiled/HTTP/Server.js +330 -93
  289. package/transpiled/HTTP/Server.js.map +1 -1
  290. package/transpiled/HTTP/Timing.d.ts +2 -6
  291. package/transpiled/HTTP/Timing.js +5 -25
  292. package/transpiled/HTTP/Timing.js.map +1 -1
  293. package/transpiled/HTTP/address.d.ts +7 -0
  294. package/transpiled/HTTP/address.js +14 -0
  295. package/transpiled/HTTP/address.js.map +1 -0
  296. package/transpiled/HTTP/exceptions.d.ts +26 -8
  297. package/transpiled/HTTP/exceptions.js +49 -35
  298. package/transpiled/HTTP/exceptions.js.map +1 -1
  299. package/transpiled/HTTP/formats/form.d.ts +9 -0
  300. package/transpiled/HTTP/formats/form.js +18 -0
  301. package/transpiled/HTTP/formats/form.js.map +1 -0
  302. package/transpiled/HTTP/formats/index.d.ts +10 -4
  303. package/transpiled/HTTP/formats/index.js +19 -35
  304. package/transpiled/HTTP/formats/index.js.map +1 -1
  305. package/transpiled/HTTP/formats/json.d.ts +1 -3
  306. package/transpiled/HTTP/formats/json.js +6 -12
  307. package/transpiled/HTTP/formats/json.js.map +1 -1
  308. package/transpiled/HTTP/formats/msgpack.d.ts +0 -2
  309. package/transpiled/HTTP/formats/msgpack.js +7 -12
  310. package/transpiled/HTTP/formats/msgpack.js.map +1 -1
  311. package/transpiled/HTTP/formats/text.d.ts +1 -3
  312. package/transpiled/HTTP/formats/text.js +6 -12
  313. package/transpiled/HTTP/formats/text.js.map +1 -1
  314. package/transpiled/HTTP/formats/yaml.d.ts +1 -3
  315. package/transpiled/HTTP/formats/yaml.js +26 -37
  316. package/transpiled/HTTP/formats/yaml.js.map +1 -1
  317. package/transpiled/HTTP/index.d.ts +6 -4
  318. package/transpiled/HTTP/index.js +6 -20
  319. package/transpiled/HTTP/index.js.map +1 -1
  320. package/transpiled/HTTP/messages.d.ts +28 -4
  321. package/transpiled/HTTP/messages.js +187 -41
  322. package/transpiled/HTTP/messages.js.map +1 -1
  323. package/transpiled/HTTP/types.d.ts +38 -0
  324. package/transpiled/HTTP/types.js +2 -0
  325. package/transpiled/HTTP/types.js.map +1 -0
  326. package/transpiled/Interception.d.ts +7 -2
  327. package/transpiled/Interception.js +8 -6
  328. package/transpiled/Interception.js.map +1 -1
  329. package/transpiled/Introspection.d.ts +103 -0
  330. package/transpiled/Introspection.js +82 -0
  331. package/transpiled/Introspection.js.map +1 -0
  332. package/transpiled/MCP/Server.d.ts +41 -0
  333. package/transpiled/MCP/Server.js +191 -0
  334. package/transpiled/MCP/Server.js.map +1 -0
  335. package/transpiled/MCP/discover.d.ts +13 -0
  336. package/transpiled/MCP/discover.js +29 -0
  337. package/transpiled/MCP/discover.js.map +1 -0
  338. package/transpiled/MCP/errors.d.ts +24 -0
  339. package/transpiled/MCP/errors.js +67 -0
  340. package/transpiled/MCP/errors.js.map +1 -0
  341. package/transpiled/MCP/index.d.ts +1 -0
  342. package/transpiled/MCP/index.js +2 -0
  343. package/transpiled/MCP/index.js.map +1 -0
  344. package/transpiled/MCP/schema.d.ts +22 -0
  345. package/transpiled/MCP/schema.js +74 -0
  346. package/transpiled/MCP/schema.js.map +1 -0
  347. package/transpiled/MCP/tools.d.ts +31 -0
  348. package/transpiled/MCP/tools.js +144 -0
  349. package/transpiled/MCP/tools.js.map +1 -0
  350. package/transpiled/MCP/types.d.ts +66 -0
  351. package/transpiled/MCP/types.js +13 -0
  352. package/transpiled/MCP/types.js.map +1 -0
  353. package/transpiled/Mapping.d.ts +17 -6
  354. package/transpiled/Mapping.js +50 -24
  355. package/transpiled/Mapping.js.map +1 -1
  356. package/transpiled/Query.d.ts +29 -6
  357. package/transpiled/Query.js +137 -48
  358. package/transpiled/Query.js.map +1 -1
  359. package/transpiled/RPC/Context.d.ts +11 -0
  360. package/transpiled/RPC/Context.js +56 -0
  361. package/transpiled/RPC/Context.js.map +1 -0
  362. package/transpiled/RPC/Dispatcher.d.ts +19 -0
  363. package/transpiled/RPC/Dispatcher.js +103 -0
  364. package/transpiled/RPC/Dispatcher.js.map +1 -0
  365. package/transpiled/RPC/errors.d.ts +18 -0
  366. package/transpiled/RPC/errors.js +67 -0
  367. package/transpiled/RPC/errors.js.map +1 -0
  368. package/transpiled/RPC/index.d.ts +1 -0
  369. package/transpiled/RPC/index.js +2 -0
  370. package/transpiled/RPC/index.js.map +1 -0
  371. package/transpiled/RPC/names.d.ts +31 -0
  372. package/transpiled/RPC/names.js +121 -0
  373. package/transpiled/RPC/names.js.map +1 -0
  374. package/transpiled/RPC/types.d.ts +27 -0
  375. package/transpiled/RPC/types.js +8 -0
  376. package/transpiled/RPC/types.js.map +1 -0
  377. package/transpiled/RTD/Context.d.ts +6 -4
  378. package/transpiled/RTD/Context.js +1 -2
  379. package/transpiled/RTD/Directives.d.ts +90 -7
  380. package/transpiled/RTD/Directives.js +1 -2
  381. package/transpiled/RTD/Endpoint.d.ts +11 -4
  382. package/transpiled/RTD/Endpoint.js +1 -2
  383. package/transpiled/RTD/Match.d.ts +7 -1
  384. package/transpiled/RTD/Match.js +1 -2
  385. package/transpiled/RTD/Method.d.ts +23 -2
  386. package/transpiled/RTD/Method.js +32 -5
  387. package/transpiled/RTD/Method.js.map +1 -1
  388. package/transpiled/RTD/Node.d.ts +46 -6
  389. package/transpiled/RTD/Node.js +79 -23
  390. package/transpiled/RTD/Node.js.map +1 -1
  391. package/transpiled/RTD/Route.d.ts +9 -7
  392. package/transpiled/RTD/Route.js +48 -15
  393. package/transpiled/RTD/Route.js.map +1 -1
  394. package/transpiled/RTD/Tree.d.ts +26 -5
  395. package/transpiled/RTD/Tree.js +89 -13
  396. package/transpiled/RTD/Tree.js.map +1 -1
  397. package/transpiled/RTD/factory.d.ts +4 -3
  398. package/transpiled/RTD/factory.js +56 -15
  399. package/transpiled/RTD/factory.js.map +1 -1
  400. package/transpiled/RTD/index.d.ts +8 -8
  401. package/transpiled/RTD/index.js +8 -37
  402. package/transpiled/RTD/index.js.map +1 -1
  403. package/transpiled/RTD/segment.d.ts +10 -0
  404. package/transpiled/RTD/segment.js +36 -7
  405. package/transpiled/RTD/segment.js.map +1 -1
  406. package/transpiled/RTD/syntax/index.d.ts +1 -2
  407. package/transpiled/RTD/syntax/index.js +1 -18
  408. package/transpiled/RTD/syntax/index.js.map +1 -1
  409. package/transpiled/Remotes.d.ts +12 -7
  410. package/transpiled/Remotes.js +36 -16
  411. package/transpiled/Remotes.js.map +1 -1
  412. package/transpiled/Tenant.d.ts +16 -7
  413. package/transpiled/Tenant.js +47 -18
  414. package/transpiled/Tenant.js.map +1 -1
  415. package/transpiled/directives/auth/Anonymous.d.ts +17 -2
  416. package/transpiled/directives/auth/Anonymous.js +23 -9
  417. package/transpiled/directives/auth/Anonymous.js.map +1 -1
  418. package/transpiled/directives/auth/Anyone.d.ts +10 -0
  419. package/transpiled/directives/auth/Anyone.js +17 -0
  420. package/transpiled/directives/auth/Anyone.js.map +1 -0
  421. package/transpiled/directives/auth/Assert.d.ts +9 -0
  422. package/transpiled/directives/auth/Assert.js +33 -0
  423. package/transpiled/directives/auth/Assert.js.map +1 -0
  424. package/transpiled/directives/auth/Authorization.d.ts +52 -8
  425. package/transpiled/directives/auth/Authorization.js +257 -85
  426. package/transpiled/directives/auth/Authorization.js.map +1 -1
  427. package/transpiled/directives/auth/Delegate.d.ts +13 -4
  428. package/transpiled/directives/auth/Delegate.js +23 -10
  429. package/transpiled/directives/auth/Delegate.js.map +1 -1
  430. package/transpiled/directives/auth/Echo.d.ts +6 -4
  431. package/transpiled/directives/auth/Echo.js +14 -9
  432. package/transpiled/directives/auth/Echo.js.map +1 -1
  433. package/transpiled/directives/auth/Federation.d.ts +21 -0
  434. package/transpiled/directives/auth/Federation.js +54 -0
  435. package/transpiled/directives/auth/Federation.js.map +1 -0
  436. package/transpiled/directives/auth/Id.d.ts +12 -3
  437. package/transpiled/directives/auth/Id.js +13 -5
  438. package/transpiled/directives/auth/Id.js.map +1 -1
  439. package/transpiled/directives/auth/Incept.d.ts +11 -6
  440. package/transpiled/directives/auth/Incept.js +68 -50
  441. package/transpiled/directives/auth/Incept.js.map +1 -1
  442. package/transpiled/directives/auth/Input.d.ts +15 -0
  443. package/transpiled/directives/auth/Input.js +49 -0
  444. package/transpiled/directives/auth/Input.js.map +1 -0
  445. package/transpiled/directives/auth/Role.d.ts +12 -3
  446. package/transpiled/directives/auth/Role.js +28 -16
  447. package/transpiled/directives/auth/Role.js.map +1 -1
  448. package/transpiled/directives/auth/Rule.d.ts +8 -5
  449. package/transpiled/directives/auth/Rule.js +23 -7
  450. package/transpiled/directives/auth/Rule.js.map +1 -1
  451. package/transpiled/directives/auth/Scheme.d.ts +4 -2
  452. package/transpiled/directives/auth/Scheme.js +11 -35
  453. package/transpiled/directives/auth/Scheme.js.map +1 -1
  454. package/transpiled/directives/auth/create.d.ts +2 -0
  455. package/transpiled/directives/auth/create.js +10 -0
  456. package/transpiled/directives/auth/create.js.map +1 -0
  457. package/transpiled/directives/auth/index.d.ts +1 -1
  458. package/transpiled/directives/auth/index.js +2 -5
  459. package/transpiled/directives/auth/index.js.map +1 -1
  460. package/transpiled/directives/auth/schemes.d.ts +26 -3
  461. package/transpiled/directives/auth/schemes.js +32 -8
  462. package/transpiled/directives/auth/schemes.js.map +1 -1
  463. package/transpiled/directives/auth/split.d.ts +1 -1
  464. package/transpiled/directives/auth/split.js +3 -30
  465. package/transpiled/directives/auth/split.js.map +1 -1
  466. package/transpiled/directives/auth/types.d.ts +42 -12
  467. package/transpiled/directives/auth/types.js +1 -2
  468. package/transpiled/directives/cache/Cache.d.ts +17 -6
  469. package/transpiled/directives/cache/Cache.js +53 -14
  470. package/transpiled/directives/cache/Cache.js.map +1 -1
  471. package/transpiled/directives/cache/Control.d.ts +3 -3
  472. package/transpiled/directives/cache/Control.js +16 -22
  473. package/transpiled/directives/cache/Control.js.map +1 -1
  474. package/transpiled/directives/cache/Exact.d.ts +1 -1
  475. package/transpiled/directives/cache/Exact.js +2 -6
  476. package/transpiled/directives/cache/Exact.js.map +1 -1
  477. package/transpiled/directives/cache/etag.d.ts +13 -0
  478. package/transpiled/directives/cache/etag.js +33 -0
  479. package/transpiled/directives/cache/etag.js.map +1 -0
  480. package/transpiled/directives/cache/index.d.ts +1 -1
  481. package/transpiled/directives/cache/index.js +2 -5
  482. package/transpiled/directives/cache/index.js.map +1 -1
  483. package/transpiled/directives/cache/types.d.ts +1 -1
  484. package/transpiled/directives/cache/types.js +1 -2
  485. package/transpiled/directives/censor/Censor.d.ts +10 -0
  486. package/transpiled/directives/censor/Censor.js +20 -0
  487. package/transpiled/directives/censor/Censor.js.map +1 -0
  488. package/transpiled/directives/censor/index.d.ts +2 -0
  489. package/transpiled/directives/censor/index.js +3 -0
  490. package/transpiled/directives/censor/index.js.map +1 -0
  491. package/transpiled/directives/cors/CORS.d.ts +10 -3
  492. package/transpiled/directives/cors/CORS.js +38 -21
  493. package/transpiled/directives/cors/CORS.js.map +1 -1
  494. package/transpiled/directives/cors/index.d.ts +1 -1
  495. package/transpiled/directives/cors/index.js +2 -5
  496. package/transpiled/directives/cors/index.js.map +1 -1
  497. package/transpiled/directives/dev/Development.d.ts +4 -4
  498. package/transpiled/directives/dev/Development.js +19 -15
  499. package/transpiled/directives/dev/Development.js.map +1 -1
  500. package/transpiled/directives/dev/Faulty.d.ts +8 -0
  501. package/transpiled/directives/dev/Faulty.js +20 -0
  502. package/transpiled/directives/dev/Faulty.js.map +1 -0
  503. package/transpiled/directives/dev/Sleep.d.ts +9 -0
  504. package/transpiled/directives/dev/Sleep.js +41 -0
  505. package/transpiled/directives/dev/Sleep.js.map +1 -0
  506. package/transpiled/directives/dev/Stub.d.ts +2 -2
  507. package/transpiled/directives/dev/Stub.js +1 -5
  508. package/transpiled/directives/dev/Stub.js.map +1 -1
  509. package/transpiled/directives/dev/Throw.d.ts +2 -2
  510. package/transpiled/directives/dev/Throw.js +1 -5
  511. package/transpiled/directives/dev/Throw.js.map +1 -1
  512. package/transpiled/directives/dev/index.d.ts +1 -1
  513. package/transpiled/directives/dev/index.js +2 -5
  514. package/transpiled/directives/dev/index.js.map +1 -1
  515. package/transpiled/directives/dev/types.d.ts +2 -2
  516. package/transpiled/directives/dev/types.js +1 -2
  517. package/transpiled/directives/flow/Compose.d.ts +9 -0
  518. package/transpiled/directives/flow/Compose.js +74 -0
  519. package/transpiled/directives/flow/Compose.js.map +1 -0
  520. package/transpiled/directives/flow/Fetch.d.ts +12 -0
  521. package/transpiled/directives/flow/Fetch.js +51 -0
  522. package/transpiled/directives/flow/Fetch.js.map +1 -0
  523. package/transpiled/directives/flow/Flow.d.ts +10 -0
  524. package/transpiled/directives/flow/Flow.js +29 -0
  525. package/transpiled/directives/flow/Flow.js.map +1 -0
  526. package/transpiled/directives/flow/index.d.ts +2 -0
  527. package/transpiled/directives/flow/index.js +3 -0
  528. package/transpiled/directives/flow/index.js.map +1 -0
  529. package/transpiled/directives/flow/types.d.ts +6 -0
  530. package/transpiled/directives/flow/types.js +2 -0
  531. package/transpiled/directives/flow/types.js.map +1 -0
  532. package/transpiled/directives/help/Family.d.ts +26 -0
  533. package/transpiled/directives/help/Family.js +83 -0
  534. package/transpiled/directives/help/Family.js.map +1 -0
  535. package/transpiled/directives/help/Help.d.ts +22 -0
  536. package/transpiled/directives/help/Help.js +36 -0
  537. package/transpiled/directives/help/Help.js.map +1 -0
  538. package/transpiled/directives/help/Parameters.d.ts +18 -0
  539. package/transpiled/directives/help/Parameters.js +34 -0
  540. package/transpiled/directives/help/Parameters.js.map +1 -0
  541. package/transpiled/directives/help/described.d.ts +16 -0
  542. package/transpiled/directives/help/described.js +27 -0
  543. package/transpiled/directives/help/described.js.map +1 -0
  544. package/transpiled/directives/help/index.d.ts +22 -0
  545. package/transpiled/directives/help/index.js +34 -0
  546. package/transpiled/directives/help/index.js.map +1 -0
  547. package/transpiled/directives/index.d.ts +7 -2
  548. package/transpiled/directives/index.js +32 -13
  549. package/transpiled/directives/index.js.map +1 -1
  550. package/transpiled/directives/io/Directive.d.ts +8 -3
  551. package/transpiled/directives/io/Directive.js +1 -2
  552. package/transpiled/directives/io/IO.d.ts +24 -5
  553. package/transpiled/directives/io/IO.js +64 -17
  554. package/transpiled/directives/io/IO.js.map +1 -1
  555. package/transpiled/directives/io/Input.d.ts +5 -4
  556. package/transpiled/directives/io/Input.js +18 -38
  557. package/transpiled/directives/io/Input.js.map +1 -1
  558. package/transpiled/directives/io/Message.js +1 -2
  559. package/transpiled/directives/io/Output.d.ts +12 -6
  560. package/transpiled/directives/io/Output.js +19 -59
  561. package/transpiled/directives/io/Output.js.map +1 -1
  562. package/transpiled/directives/io/Readonly.d.ts +14 -0
  563. package/transpiled/directives/io/Readonly.js +20 -0
  564. package/transpiled/directives/io/Readonly.js.map +1 -0
  565. package/transpiled/directives/io/Status.d.ts +19 -0
  566. package/transpiled/directives/io/Status.js +37 -0
  567. package/transpiled/directives/io/Status.js.map +1 -0
  568. package/transpiled/directives/io/Throttle.d.ts +11 -0
  569. package/transpiled/directives/io/Throttle.js +22 -0
  570. package/transpiled/directives/io/Throttle.js.map +1 -0
  571. package/transpiled/directives/io/index.d.ts +1 -1
  572. package/transpiled/directives/io/index.js +2 -5
  573. package/transpiled/directives/io/index.js.map +1 -1
  574. package/transpiled/directives/io/lib/throttle/Configuration.d.ts +26 -0
  575. package/transpiled/directives/io/lib/throttle/Configuration.js +31 -0
  576. package/transpiled/directives/io/lib/throttle/Configuration.js.map +1 -0
  577. package/transpiled/directives/io/lib/throttle/Keys.d.ts +14 -0
  578. package/transpiled/directives/io/lib/throttle/Keys.js +32 -0
  579. package/transpiled/directives/io/lib/throttle/Keys.js.map +1 -0
  580. package/transpiled/directives/io/lib/throttle/Quotas.d.ts +70 -0
  581. package/transpiled/directives/io/lib/throttle/Quotas.js +142 -0
  582. package/transpiled/directives/io/lib/throttle/Quotas.js.map +1 -0
  583. package/transpiled/directives/io/lib/throttle/Sync.d.ts +29 -0
  584. package/transpiled/directives/io/lib/throttle/Sync.js +70 -0
  585. package/transpiled/directives/io/lib/throttle/Sync.js.map +1 -0
  586. package/transpiled/directives/io/lib/throttle/Warning.d.ts +11 -0
  587. package/transpiled/directives/io/lib/throttle/Warning.js +24 -0
  588. package/transpiled/directives/io/lib/throttle/Warning.js.map +1 -0
  589. package/transpiled/directives/io/lib/throttle/components/Component.d.ts +6 -0
  590. package/transpiled/directives/io/lib/throttle/components/Component.js +2 -0
  591. package/transpiled/directives/io/lib/throttle/components/Component.js.map +1 -0
  592. package/transpiled/directives/io/lib/throttle/components/IP.d.ts +14 -0
  593. package/transpiled/directives/io/lib/throttle/components/IP.js +24 -0
  594. package/transpiled/directives/io/lib/throttle/components/IP.js.map +1 -0
  595. package/transpiled/directives/io/lib/throttle/components/Identity.d.ts +11 -0
  596. package/transpiled/directives/io/lib/throttle/components/Identity.js +12 -0
  597. package/transpiled/directives/io/lib/throttle/components/Identity.js.map +1 -0
  598. package/transpiled/directives/io/lib/throttle/components/Path.d.ts +5 -0
  599. package/transpiled/directives/io/lib/throttle/components/Path.js +6 -0
  600. package/transpiled/directives/io/lib/throttle/components/Path.js.map +1 -0
  601. package/transpiled/directives/io/lib/throttle/components/Route.d.ts +12 -0
  602. package/transpiled/directives/io/lib/throttle/components/Route.js +16 -0
  603. package/transpiled/directives/io/lib/throttle/components/Route.js.map +1 -0
  604. package/transpiled/directives/io/lib/throttle/components/Segment.d.ts +9 -0
  605. package/transpiled/directives/io/lib/throttle/components/Segment.js +13 -0
  606. package/transpiled/directives/io/lib/throttle/components/Segment.js.map +1 -0
  607. package/transpiled/directives/io/lib/throttle/components/index.d.ts +5 -0
  608. package/transpiled/directives/io/lib/throttle/components/index.js +13 -0
  609. package/transpiled/directives/io/lib/throttle/components/index.js.map +1 -0
  610. package/transpiled/directives/io/lib/throttle/conditions/Condition.d.ts +4 -0
  611. package/transpiled/directives/io/lib/throttle/conditions/Condition.js +2 -0
  612. package/transpiled/directives/io/lib/throttle/conditions/Condition.js.map +1 -0
  613. package/transpiled/directives/io/lib/throttle/conditions/Status.d.ts +7 -0
  614. package/transpiled/directives/io/lib/throttle/conditions/Status.js +12 -0
  615. package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -0
  616. package/transpiled/directives/io/lib/throttle/conditions/index.d.ts +5 -0
  617. package/transpiled/directives/io/lib/throttle/conditions/index.js +5 -0
  618. package/transpiled/directives/io/lib/throttle/conditions/index.js.map +1 -0
  619. package/transpiled/directives/io/lib/throttle/index.d.ts +4 -0
  620. package/transpiled/directives/io/lib/throttle/index.js +5 -0
  621. package/transpiled/directives/io/lib/throttle/index.js.map +1 -0
  622. package/transpiled/directives/io/schemas.d.ts +6 -4
  623. package/transpiled/directives/io/schemas.js +8 -13
  624. package/transpiled/directives/io/schemas.js.map +1 -1
  625. package/transpiled/directives/map/Authority.d.ts +6 -0
  626. package/transpiled/directives/map/Authority.js +12 -0
  627. package/transpiled/directives/map/Authority.js.map +1 -0
  628. package/transpiled/directives/map/Buffer.d.ts +6 -0
  629. package/transpiled/directives/map/Buffer.js +12 -0
  630. package/transpiled/directives/map/Buffer.js.map +1 -0
  631. package/transpiled/directives/map/Claims.d.ts +10 -0
  632. package/transpiled/directives/map/Claims.js +38 -0
  633. package/transpiled/directives/map/Claims.js.map +1 -0
  634. package/transpiled/directives/map/Directive.d.ts +3 -0
  635. package/transpiled/directives/map/Directive.js +2 -0
  636. package/transpiled/directives/map/Directive.js.map +1 -0
  637. package/transpiled/directives/map/Headers.d.ts +14 -0
  638. package/transpiled/directives/map/Headers.js +44 -0
  639. package/transpiled/directives/map/Headers.js.map +1 -0
  640. package/transpiled/directives/map/Instance.d.ts +15 -0
  641. package/transpiled/directives/map/Instance.js +27 -0
  642. package/transpiled/directives/map/Instance.js.map +1 -0
  643. package/transpiled/directives/map/Language.d.ts +10 -0
  644. package/transpiled/directives/map/Language.js +31 -0
  645. package/transpiled/directives/map/Language.js.map +1 -0
  646. package/transpiled/directives/map/Languages.d.ts +4 -0
  647. package/transpiled/directives/map/Languages.js +11 -0
  648. package/transpiled/directives/map/Languages.js.map +1 -0
  649. package/transpiled/directives/map/Map.d.ts +15 -0
  650. package/transpiled/directives/map/Map.js +60 -0
  651. package/transpiled/directives/map/Map.js.map +1 -0
  652. package/transpiled/directives/map/Mapping.d.ts +26 -0
  653. package/transpiled/directives/map/Mapping.js +29 -0
  654. package/transpiled/directives/map/Mapping.js.map +1 -0
  655. package/transpiled/directives/map/Properties.d.ts +9 -0
  656. package/transpiled/directives/map/Properties.js +10 -0
  657. package/transpiled/directives/map/Properties.js.map +1 -0
  658. package/transpiled/directives/map/Segments.d.ts +9 -0
  659. package/transpiled/directives/map/Segments.js +34 -0
  660. package/transpiled/directives/map/Segments.js.map +1 -0
  661. package/transpiled/directives/map/index.d.ts +2 -0
  662. package/transpiled/directives/map/index.js +3 -0
  663. package/transpiled/directives/map/index.js.map +1 -0
  664. package/transpiled/directives/mcp/MCP.d.ts +17 -0
  665. package/transpiled/directives/mcp/MCP.js +25 -0
  666. package/transpiled/directives/mcp/MCP.js.map +1 -0
  667. package/transpiled/directives/mcp/Tool.d.ts +12 -0
  668. package/transpiled/directives/mcp/Tool.js +24 -0
  669. package/transpiled/directives/mcp/Tool.js.map +1 -0
  670. package/transpiled/directives/mcp/index.d.ts +4 -0
  671. package/transpiled/directives/mcp/index.js +4 -0
  672. package/transpiled/directives/mcp/index.js.map +1 -0
  673. package/transpiled/directives/oauth/Discovery.d.ts +23 -0
  674. package/transpiled/directives/oauth/Discovery.js +55 -0
  675. package/transpiled/directives/oauth/Discovery.js.map +1 -0
  676. package/transpiled/directives/oauth/documents.d.ts +9 -0
  677. package/transpiled/directives/oauth/documents.js +82 -0
  678. package/transpiled/directives/oauth/documents.js.map +1 -0
  679. package/transpiled/directives/oauth/index.d.ts +2 -0
  680. package/transpiled/directives/oauth/index.js +3 -0
  681. package/transpiled/directives/oauth/index.js.map +1 -0
  682. package/transpiled/directives/octets/Context.d.ts +2 -2
  683. package/transpiled/directives/octets/Context.js +4 -31
  684. package/transpiled/directives/octets/Context.js.map +1 -1
  685. package/transpiled/directives/octets/Delete.d.ts +11 -6
  686. package/transpiled/directives/octets/Delete.js +46 -53
  687. package/transpiled/directives/octets/Delete.js.map +1 -1
  688. package/transpiled/directives/octets/Directive.d.ts +9 -3
  689. package/transpiled/directives/octets/Directive.js +1 -5
  690. package/transpiled/directives/octets/Directive.js.map +1 -1
  691. package/transpiled/directives/octets/Get.d.ts +17 -0
  692. package/transpiled/directives/octets/Get.js +69 -0
  693. package/transpiled/directives/octets/Get.js.map +1 -0
  694. package/transpiled/directives/octets/Octets.d.ts +9 -6
  695. package/transpiled/directives/octets/Octets.js +27 -26
  696. package/transpiled/directives/octets/Octets.js.map +1 -1
  697. package/transpiled/directives/octets/Put.d.ts +33 -0
  698. package/transpiled/directives/octets/Put.js +84 -0
  699. package/transpiled/directives/octets/Put.js.map +1 -0
  700. package/transpiled/directives/octets/Workflow.d.ts +6 -6
  701. package/transpiled/directives/octets/Workflow.js +14 -36
  702. package/transpiled/directives/octets/Workflow.js.map +1 -1
  703. package/transpiled/directives/octets/bytes.d.ts +1 -0
  704. package/transpiled/directives/octets/bytes.js +14 -0
  705. package/transpiled/directives/octets/bytes.js.map +1 -0
  706. package/transpiled/directives/octets/index.d.ts +1 -1
  707. package/transpiled/directives/octets/index.js +2 -5
  708. package/transpiled/directives/octets/index.js.map +1 -1
  709. package/transpiled/directives/octets/schemas.d.ts +6 -10
  710. package/transpiled/directives/octets/schemas.js +8 -17
  711. package/transpiled/directives/octets/schemas.js.map +1 -1
  712. package/transpiled/directives/octets/types.d.ts +3 -1
  713. package/transpiled/directives/octets/types.js +1 -2
  714. package/transpiled/directives/octets/workflows/Execution.d.ts +22 -4
  715. package/transpiled/directives/octets/workflows/Execution.js +69 -15
  716. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  717. package/transpiled/directives/octets/workflows/Workflow.d.ts +10 -5
  718. package/transpiled/directives/octets/workflows/Workflow.js +16 -14
  719. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  720. package/transpiled/directives/octets/workflows/index.d.ts +2 -1
  721. package/transpiled/directives/octets/workflows/index.js +1 -5
  722. package/transpiled/directives/octets/workflows/index.js.map +1 -1
  723. package/transpiled/directives/require/Directive.d.ts +2 -2
  724. package/transpiled/directives/require/Directive.js +1 -2
  725. package/transpiled/directives/require/Headers.d.ts +3 -3
  726. package/transpiled/directives/require/Headers.js +4 -8
  727. package/transpiled/directives/require/Headers.js.map +1 -1
  728. package/transpiled/directives/require/Require.d.ts +4 -4
  729. package/transpiled/directives/require/Require.js +8 -15
  730. package/transpiled/directives/require/Require.js.map +1 -1
  731. package/transpiled/directives/require/index.d.ts +1 -1
  732. package/transpiled/directives/require/index.js +2 -5
  733. package/transpiled/directives/require/index.js.map +1 -1
  734. package/transpiled/discovery.js +1 -2
  735. package/transpiled/exceptions.d.ts +1 -1
  736. package/transpiled/exceptions.js +23 -34
  737. package/transpiled/exceptions.js.map +1 -1
  738. package/transpiled/index.d.ts +5 -5
  739. package/transpiled/index.js +2 -11
  740. package/transpiled/index.js.map +1 -1
  741. package/transpiled/io.d.ts +1 -1
  742. package/transpiled/io.js +1 -2
  743. package/transpiled/measurements.d.ts +22 -0
  744. package/transpiled/measurements.js +37 -0
  745. package/transpiled/measurements.js.map +1 -0
  746. package/transpiled/root.d.ts +1 -1
  747. package/transpiled/root.js +22 -11
  748. package/transpiled/root.js.map +1 -1
  749. package/transpiled/service.d.ts +7 -0
  750. package/transpiled/service.js +119 -0
  751. package/transpiled/service.js.map +1 -0
  752. package/transpiled/userland.d.ts +39 -0
  753. package/transpiled/userland.js +7 -0
  754. package/transpiled/userland.js.map +1 -0
  755. package/ui/dist/_app/env.js +1 -0
  756. package/ui/dist/_app/immutable/assets/0.DKJjMwRs.css +2 -0
  757. package/ui/dist/_app/immutable/assets/2.BghF56l_.css +1 -0
  758. package/ui/dist/_app/immutable/assets/ui.DWW-43mU.css +1 -0
  759. package/ui/dist/_app/immutable/chunks/BCJPed3-.js +6 -0
  760. package/ui/dist/_app/immutable/chunks/BDuDJR9X.js +1 -0
  761. package/ui/dist/_app/immutable/chunks/BFtcFZWO.js +1 -0
  762. package/ui/dist/_app/immutable/chunks/BVDJTrf4.js +3 -0
  763. package/ui/dist/_app/immutable/chunks/Bjy-W4x2.js +81 -0
  764. package/ui/dist/_app/immutable/chunks/ck6CK-dV.js +88 -0
  765. package/ui/dist/_app/immutable/chunks/xihTtKlq.js +1 -0
  766. package/ui/dist/_app/immutable/entry/app.CwA5shUx.js +2 -0
  767. package/ui/dist/_app/immutable/entry/start.BxffyCG_.js +1 -0
  768. package/ui/dist/_app/immutable/nodes/0.BFAzzuc1.js +1 -0
  769. package/ui/dist/_app/immutable/nodes/1.3yaVV_1F.js +1 -0
  770. package/ui/dist/_app/immutable/nodes/2.B023p_6N.js +8 -0
  771. package/ui/dist/_app/immutable/nodes/3.DqbaMF3I.js +1 -0
  772. package/ui/dist/_app/immutable/nodes/4.CoCUKIsu.js +1 -0
  773. package/ui/dist/_app/immutable/nodes/5.CTjWt55g.js +1 -0
  774. package/ui/dist/_app/immutable/nodes/6.DArHyhJL.js +1 -0
  775. package/ui/dist/_app/version.json +1 -0
  776. package/ui/dist/apple-touch-icon.png +0 -0
  777. package/ui/dist/favicon-96x96.png +0 -0
  778. package/ui/dist/favicon.ico +0 -0
  779. package/ui/dist/index.html +66 -0
  780. package/components/context.toa.yaml +0 -27
  781. package/components/identity.bans/operations/transit.d.ts +0 -14
  782. package/components/identity.bans/operations/transit.js.map +0 -1
  783. package/components/identity.bans/operations/tsconfig.tsbuildinfo +0 -1
  784. package/components/identity.basic/operations/authenticate.d.ts +0 -13
  785. package/components/identity.basic/operations/authenticate.js.map +0 -1
  786. package/components/identity.basic/operations/incept.d.ts +0 -12
  787. package/components/identity.basic/operations/incept.js.map +0 -1
  788. package/components/identity.basic/operations/transit.d.ts +0 -12
  789. package/components/identity.basic/operations/transit.js.map +0 -1
  790. package/components/identity.basic/operations/tsconfig.tsbuildinfo +0 -1
  791. package/components/identity.basic/operations/types.d.ts +0 -40
  792. package/components/identity.basic/operations/types.js +0 -3
  793. package/components/identity.basic/operations/types.js.map +0 -1
  794. package/components/identity.basic/source/types.ts +0 -44
  795. package/components/identity.federation/operations/authenticate.d.ts +0 -3
  796. package/components/identity.federation/operations/authenticate.js.map +0 -1
  797. package/components/identity.federation/operations/incept.d.ts +0 -11
  798. package/components/identity.federation/operations/incept.js.map +0 -1
  799. package/components/identity.federation/operations/lib/assertions-as-values.d.ts +0 -4
  800. package/components/identity.federation/operations/lib/assertions-as-values.js +0 -45
  801. package/components/identity.federation/operations/lib/assertions-as-values.js.map +0 -1
  802. package/components/identity.federation/operations/lib/jwt.d.ts +0 -19
  803. package/components/identity.federation/operations/lib/jwt.js +0 -136
  804. package/components/identity.federation/operations/lib/jwt.js.map +0 -1
  805. package/components/identity.federation/operations/tsconfig.tsbuildinfo +0 -1
  806. package/components/identity.federation/operations/types/configuration.d.ts +0 -15
  807. package/components/identity.federation/operations/types/configuration.js.map +0 -1
  808. package/components/identity.federation/operations/types/context.d.ts +0 -56
  809. package/components/identity.federation/operations/types/context.js.map +0 -1
  810. package/components/identity.federation/operations/types/entity.d.ts +0 -6
  811. package/components/identity.federation/operations/types/entity.js.map +0 -1
  812. package/components/identity.federation/operations/types/index.d.ts +0 -3
  813. package/components/identity.federation/operations/types/index.js.map +0 -1
  814. package/components/identity.federation/source/lib/assertions-as-values.ts +0 -19
  815. package/components/identity.federation/source/lib/jwt.test.ts +0 -56
  816. package/components/identity.federation/source/lib/jwt.ts +0 -170
  817. package/components/identity.roles/operations/grant.d.ts +0 -10
  818. package/components/identity.roles/operations/grant.js.map +0 -1
  819. package/components/identity.roles/operations/lib/Entity.d.ts +0 -5
  820. package/components/identity.roles/operations/lib/Entity.js.map +0 -1
  821. package/components/identity.roles/operations/list.d.ts +0 -2
  822. package/components/identity.roles/operations/list.js.map +0 -1
  823. package/components/identity.roles/operations/principal.d.ts +0 -13
  824. package/components/identity.roles/operations/principal.js.map +0 -1
  825. package/components/identity.roles/operations/tsconfig.tsbuildinfo +0 -1
  826. package/components/identity.tokens/operations/authenticate.d.ts +0 -9
  827. package/components/identity.tokens/operations/authenticate.js.map +0 -1
  828. package/components/identity.tokens/operations/decrypt.d.ts +0 -3
  829. package/components/identity.tokens/operations/decrypt.js.map +0 -1
  830. package/components/identity.tokens/operations/encrypt.d.ts +0 -8
  831. package/components/identity.tokens/operations/encrypt.js.map +0 -1
  832. package/components/identity.tokens/operations/revoke.d.ts +0 -2
  833. package/components/identity.tokens/operations/revoke.js.map +0 -1
  834. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +0 -1
  835. package/components/identity.tokens/operations/types.d.ts +0 -46
  836. package/components/identity.tokens/operations/types.js +0 -3
  837. package/components/identity.tokens/operations/types.js.map +0 -1
  838. package/components/identity.tokens/source/authenticate.test.ts +0 -63
  839. package/components/identity.tokens/source/decrypt.test.ts +0 -61
  840. package/components/identity.tokens/source/encrypt.test.ts +0 -59
  841. package/components/identity.tokens/source/types.ts +0 -55
  842. package/components/octets.storage/manifest.toa.yaml +0 -21
  843. package/components/octets.storage/operations/delete.js +0 -7
  844. package/components/octets.storage/operations/fetch.js +0 -46
  845. package/components/octets.storage/operations/get.js +0 -7
  846. package/components/octets.storage/operations/list.js +0 -7
  847. package/components/octets.storage/operations/store.js +0 -11
  848. package/cucumber.js +0 -7
  849. package/documentation/.assets/ia3-dark.jpg +0 -0
  850. package/documentation/.assets/ia3-light.jpg +0 -0
  851. package/documentation/.assets/overview-dark.jpg +0 -0
  852. package/documentation/.assets/overview-light.jpg +0 -0
  853. package/documentation/.assets/role-scopes-dark.jpg +0 -0
  854. package/documentation/.assets/role-scopes-light.jpg +0 -0
  855. package/documentation/.assets/rtd-dark.jpg +0 -0
  856. package/documentation/.assets/rtd-light.jpg +0 -0
  857. package/documentation/access.md +0 -266
  858. package/documentation/authorities.md +0 -53
  859. package/documentation/cache.md +0 -49
  860. package/documentation/components.md +0 -331
  861. package/documentation/identity.md +0 -158
  862. package/documentation/io.md +0 -56
  863. package/documentation/notes/sse.md +0 -71
  864. package/documentation/octets.md +0 -261
  865. package/documentation/protocol.md +0 -85
  866. package/documentation/query.md +0 -275
  867. package/documentation/require.md +0 -15
  868. package/documentation/tree.md +0 -183
  869. package/documentation/vary.md +0 -69
  870. package/entity.json +0 -0
  871. package/features/access.feature +0 -476
  872. package/features/annotation.feature +0 -32
  873. package/features/authorities.basic.feature +0 -141
  874. package/features/authorities.feature +0 -32
  875. package/features/authorities.federation.feature +0 -99
  876. package/features/authorities.tokens.feature +0 -118
  877. package/features/body.feature +0 -49
  878. package/features/cache.feature +0 -233
  879. package/features/cors.feature +0 -76
  880. package/features/debug.feature +0 -34
  881. package/features/directives.feature +0 -61
  882. package/features/dynamic.feature +0 -110
  883. package/features/errors.feature +0 -225
  884. package/features/etag.feature +0 -103
  885. package/features/identity.bans.feature +0 -137
  886. package/features/identity.basic.feature +0 -401
  887. package/features/identity.feature +0 -82
  888. package/features/identity.federation.feature +0 -208
  889. package/features/identity.roles.feature +0 -267
  890. package/features/identity.tokens.feature +0 -229
  891. package/features/io.feature +0 -205
  892. package/features/octets.entries.feature +0 -131
  893. package/features/octets.feature +0 -265
  894. package/features/octets.meta.feature +0 -69
  895. package/features/octets.workflows.feature +0 -300
  896. package/features/probes.feature +0 -14
  897. package/features/query.feature +0 -261
  898. package/features/require.feature +0 -67
  899. package/features/response.feature +0 -74
  900. package/features/routes.feature +0 -139
  901. package/features/steps/Captures.ts +0 -6
  902. package/features/steps/Common.ts +0 -10
  903. package/features/steps/Components.ts +0 -55
  904. package/features/steps/Database.ts +0 -65
  905. package/features/steps/Gateway.ts +0 -132
  906. package/features/steps/HTTP.ts +0 -74
  907. package/features/steps/IdP.ts +0 -154
  908. package/features/steps/Parameters.ts +0 -21
  909. package/features/steps/Workspace.ts +0 -41
  910. package/features/steps/components/echo/manifest.toa.yaml +0 -14
  911. package/features/steps/components/echo/operations/affect.js +0 -7
  912. package/features/steps/components/echo/operations/compute.js +0 -7
  913. package/features/steps/components/echo/operations/error.js +0 -11
  914. package/features/steps/components/echo/operations/identity.js +0 -7
  915. package/features/steps/components/greeter/manifest.toa.yaml +0 -6
  916. package/features/steps/components/greeter/operations/greet.js +0 -7
  917. package/features/steps/components/octets.tester/manifest.toa.yaml +0 -19
  918. package/features/steps/components/octets.tester/operations/bar.js +0 -12
  919. package/features/steps/components/octets.tester/operations/baz.js +0 -11
  920. package/features/steps/components/octets.tester/operations/concat.js +0 -7
  921. package/features/steps/components/octets.tester/operations/diversify.js +0 -14
  922. package/features/steps/components/octets.tester/operations/echo.js +0 -7
  923. package/features/steps/components/octets.tester/operations/err.js +0 -16
  924. package/features/steps/components/octets.tester/operations/foo.js +0 -7
  925. package/features/steps/components/octets.tester/operations/lenna.png +0 -0
  926. package/features/steps/components/pots/manifest.toa.yaml +0 -29
  927. package/features/steps/components/sequences/manifest.toa.yaml +0 -11
  928. package/features/steps/components/sequences/operations/numbers.js +0 -7
  929. package/features/steps/components/sequences/operations/tokens.js +0 -16
  930. package/features/steps/components/users/manifest.toa.yaml +0 -14
  931. package/features/steps/components/users.properties/manifest.toa.yaml +0 -14
  932. package/features/steps/tsconfig.json +0 -9
  933. package/features/streams.feature +0 -31
  934. package/features/timing.feature +0 -69
  935. package/features/vary.feature +0 -252
  936. package/schemas/annotation.cos.yaml +0 -6
  937. package/schemas/directive.cos.yaml +0 -3
  938. package/schemas/method.cos.yaml +0 -8
  939. package/schemas/node.cos.yaml +0 -5
  940. package/schemas/octets/context.cos.yaml +0 -1
  941. package/schemas/octets/fetch.cos.yaml +0 -3
  942. package/schemas/octets/list.cos.yaml +0 -2
  943. package/schemas/octets/permute.cos.yaml +0 -1
  944. package/schemas/octets/store.cos.yaml +0 -3
  945. package/schemas/query.cos.yaml +0 -17
  946. package/schemas/querystring.cos.yaml +0 -6
  947. package/schemas/range.cos.yaml +0 -2
  948. package/schemas/route.cos.yaml +0 -2
  949. package/source/Annotation.ts +0 -8
  950. package/source/Branch.ts +0 -8
  951. package/source/Composition.ts +0 -57
  952. package/source/Context.ts +0 -8
  953. package/source/Directive.test.ts +0 -97
  954. package/source/Directive.ts +0 -96
  955. package/source/Endpoint.ts +0 -108
  956. package/source/Factory.ts +0 -60
  957. package/source/Gateway.ts +0 -97
  958. package/source/HTTP/Context.ts +0 -89
  959. package/source/HTTP/Server.ts +0 -171
  960. package/source/HTTP/Timing.ts +0 -40
  961. package/source/HTTP/exceptions.ts +0 -73
  962. package/source/HTTP/formats/index.ts +0 -22
  963. package/source/HTTP/formats/json.ts +0 -16
  964. package/source/HTTP/formats/msgpack.ts +0 -16
  965. package/source/HTTP/formats/text.ts +0 -12
  966. package/source/HTTP/formats/yaml.ts +0 -17
  967. package/source/HTTP/index.ts +0 -4
  968. package/source/HTTP/messages.test.ts +0 -89
  969. package/source/HTTP/messages.ts +0 -110
  970. package/source/Interception.ts +0 -24
  971. package/source/Mapping.ts +0 -55
  972. package/source/Query.test.ts +0 -37
  973. package/source/Query.ts +0 -116
  974. package/source/RTD/Context.ts +0 -13
  975. package/source/RTD/Directives.ts +0 -33
  976. package/source/RTD/Endpoint.ts +0 -13
  977. package/source/RTD/Match.ts +0 -11
  978. package/source/RTD/Method.ts +0 -18
  979. package/source/RTD/Node.ts +0 -84
  980. package/source/RTD/Route.ts +0 -59
  981. package/source/RTD/Tree.ts +0 -58
  982. package/source/RTD/factory.ts +0 -44
  983. package/source/RTD/index.ts +0 -8
  984. package/source/RTD/segment.test.ts +0 -32
  985. package/source/RTD/segment.ts +0 -26
  986. package/source/RTD/syntax/index.ts +0 -2
  987. package/source/RTD/syntax/parse.test.ts +0 -188
  988. package/source/RTD/syntax/parse.ts +0 -154
  989. package/source/RTD/syntax/types.ts +0 -48
  990. package/source/Remotes.test.ts +0 -42
  991. package/source/Remotes.ts +0 -30
  992. package/source/Tenant.ts +0 -35
  993. package/source/deployment.ts +0 -64
  994. package/source/directives/auth/Anonymous.ts +0 -15
  995. package/source/directives/auth/Authorization.ts +0 -157
  996. package/source/directives/auth/Delegate.ts +0 -35
  997. package/source/directives/auth/Echo.ts +0 -12
  998. package/source/directives/auth/Id.ts +0 -19
  999. package/source/directives/auth/Incept.ts +0 -48
  1000. package/source/directives/auth/Role.test.ts +0 -109
  1001. package/source/directives/auth/Role.ts +0 -66
  1002. package/source/directives/auth/Rule.ts +0 -28
  1003. package/source/directives/auth/Scheme.ts +0 -26
  1004. package/source/directives/auth/index.ts +0 -3
  1005. package/source/directives/auth/schemes.ts +0 -9
  1006. package/source/directives/auth/split.ts +0 -15
  1007. package/source/directives/auth/types.ts +0 -40
  1008. package/source/directives/cache/Cache.ts +0 -35
  1009. package/source/directives/cache/Control.ts +0 -85
  1010. package/source/directives/cache/Exact.ts +0 -7
  1011. package/source/directives/cache/index.ts +0 -3
  1012. package/source/directives/cache/types.ts +0 -9
  1013. package/source/directives/cors/CORS.ts +0 -62
  1014. package/source/directives/cors/index.ts +0 -3
  1015. package/source/directives/dev/Development.ts +0 -35
  1016. package/source/directives/dev/Stub.ts +0 -14
  1017. package/source/directives/dev/Throw.ts +0 -14
  1018. package/source/directives/dev/index.ts +0 -3
  1019. package/source/directives/dev/types.ts +0 -5
  1020. package/source/directives/index.ts +0 -13
  1021. package/source/directives/io/Directive.ts +0 -11
  1022. package/source/directives/io/IO.ts +0 -43
  1023. package/source/directives/io/Input.ts +0 -50
  1024. package/source/directives/io/Message.ts +0 -1
  1025. package/source/directives/io/Output.ts +0 -69
  1026. package/source/directives/io/index.ts +0 -3
  1027. package/source/directives/io/schemas.ts +0 -12
  1028. package/source/directives/octets/Context.ts +0 -19
  1029. package/source/directives/octets/Delete.ts +0 -85
  1030. package/source/directives/octets/Directive.ts +0 -10
  1031. package/source/directives/octets/Fetch.ts +0 -100
  1032. package/source/directives/octets/List.ts +0 -72
  1033. package/source/directives/octets/Octets.ts +0 -71
  1034. package/source/directives/octets/Store.ts +0 -126
  1035. package/source/directives/octets/Workflow.ts +0 -48
  1036. package/source/directives/octets/index.ts +0 -3
  1037. package/source/directives/octets/schemas.test.ts +0 -21
  1038. package/source/directives/octets/schemas.ts +0 -19
  1039. package/source/directives/octets/types.ts +0 -7
  1040. package/source/directives/octets/workflows/Execution.ts +0 -76
  1041. package/source/directives/octets/workflows/Workflow.ts +0 -37
  1042. package/source/directives/octets/workflows/index.ts +0 -1
  1043. package/source/directives/require/Directive.ts +0 -5
  1044. package/source/directives/require/Headers.ts +0 -20
  1045. package/source/directives/require/Require.ts +0 -28
  1046. package/source/directives/require/index.ts +0 -3
  1047. package/source/directives/vary/Directive.ts +0 -7
  1048. package/source/directives/vary/Embed.ts +0 -68
  1049. package/source/directives/vary/Properties.ts +0 -17
  1050. package/source/directives/vary/Vary.ts +0 -50
  1051. package/source/directives/vary/embeddings/Authority.ts +0 -8
  1052. package/source/directives/vary/embeddings/Embedding.ts +0 -7
  1053. package/source/directives/vary/embeddings/Header.ts +0 -32
  1054. package/source/directives/vary/embeddings/Language.ts +0 -31
  1055. package/source/directives/vary/embeddings/Parameter.ts +0 -14
  1056. package/source/directives/vary/embeddings/index.ts +0 -13
  1057. package/source/directives/vary/index.ts +0 -3
  1058. package/source/discovery.ts +0 -1
  1059. package/source/exceptions.ts +0 -28
  1060. package/source/index.test.ts +0 -9
  1061. package/source/index.ts +0 -6
  1062. package/source/io.ts +0 -4
  1063. package/source/manifest.test.ts +0 -51
  1064. package/source/manifest.ts +0 -51
  1065. package/source/root.ts +0 -43
  1066. package/source/schemas.ts +0 -13
  1067. package/transpiled/Annotation.d.ts +0 -8
  1068. package/transpiled/Annotation.js +0 -3
  1069. package/transpiled/Annotation.js.map +0 -1
  1070. package/transpiled/RTD/syntax/parse.d.ts +0 -4
  1071. package/transpiled/RTD/syntax/parse.js +0 -128
  1072. package/transpiled/RTD/syntax/parse.js.map +0 -1
  1073. package/transpiled/RTD/syntax/types.d.ts +0 -41
  1074. package/transpiled/RTD/syntax/types.js +0 -5
  1075. package/transpiled/RTD/syntax/types.js.map +0 -1
  1076. package/transpiled/deployment.d.ts +0 -3
  1077. package/transpiled/deployment.js +0 -79
  1078. package/transpiled/deployment.js.map +0 -1
  1079. package/transpiled/directives/octets/Fetch.d.ts +0 -18
  1080. package/transpiled/directives/octets/Fetch.js +0 -92
  1081. package/transpiled/directives/octets/Fetch.js.map +0 -1
  1082. package/transpiled/directives/octets/List.d.ts +0 -16
  1083. package/transpiled/directives/octets/List.js +0 -74
  1084. package/transpiled/directives/octets/List.js.map +0 -1
  1085. package/transpiled/directives/octets/Store.d.ts +0 -24
  1086. package/transpiled/directives/octets/Store.js +0 -95
  1087. package/transpiled/directives/octets/Store.js.map +0 -1
  1088. package/transpiled/directives/vary/Directive.d.ts +0 -6
  1089. package/transpiled/directives/vary/Directive.js +0 -3
  1090. package/transpiled/directives/vary/Directive.js.map +0 -1
  1091. package/transpiled/directives/vary/Embed.d.ts +0 -11
  1092. package/transpiled/directives/vary/Embed.js +0 -51
  1093. package/transpiled/directives/vary/Embed.js.map +0 -1
  1094. package/transpiled/directives/vary/Properties.d.ts +0 -9
  1095. package/transpiled/directives/vary/Properties.js +0 -16
  1096. package/transpiled/directives/vary/Properties.js.map +0 -1
  1097. package/transpiled/directives/vary/Vary.d.ts +0 -10
  1098. package/transpiled/directives/vary/Vary.js +0 -36
  1099. package/transpiled/directives/vary/Vary.js.map +0 -1
  1100. package/transpiled/directives/vary/embeddings/Authority.d.ts +0 -5
  1101. package/transpiled/directives/vary/embeddings/Authority.js +0 -10
  1102. package/transpiled/directives/vary/embeddings/Authority.js.map +0 -1
  1103. package/transpiled/directives/vary/embeddings/Embedding.d.ts +0 -6
  1104. package/transpiled/directives/vary/embeddings/Embedding.js +0 -3
  1105. package/transpiled/directives/vary/embeddings/Embedding.js.map +0 -1
  1106. package/transpiled/directives/vary/embeddings/Header.d.ts +0 -7
  1107. package/transpiled/directives/vary/embeddings/Header.js +0 -28
  1108. package/transpiled/directives/vary/embeddings/Header.js.map +0 -1
  1109. package/transpiled/directives/vary/embeddings/Language.d.ts +0 -7
  1110. package/transpiled/directives/vary/embeddings/Language.js +0 -28
  1111. package/transpiled/directives/vary/embeddings/Language.js.map +0 -1
  1112. package/transpiled/directives/vary/embeddings/Parameter.d.ts +0 -7
  1113. package/transpiled/directives/vary/embeddings/Parameter.js +0 -14
  1114. package/transpiled/directives/vary/embeddings/Parameter.js.map +0 -1
  1115. package/transpiled/directives/vary/embeddings/index.d.ts +0 -5
  1116. package/transpiled/directives/vary/embeddings/index.js +0 -14
  1117. package/transpiled/directives/vary/embeddings/index.js.map +0 -1
  1118. package/transpiled/directives/vary/index.d.ts +0 -2
  1119. package/transpiled/directives/vary/index.js +0 -6
  1120. package/transpiled/directives/vary/index.js.map +0 -1
  1121. package/transpiled/manifest.d.ts +0 -3
  1122. package/transpiled/manifest.js +0 -66
  1123. package/transpiled/manifest.js.map +0 -1
  1124. package/transpiled/schemas.d.ts +0 -7
  1125. package/transpiled/schemas.js +0 -14
  1126. package/transpiled/schemas.js.map +0 -1
  1127. package/transpiled/tsconfig.tsbuildinfo +0 -1
  1128. package/tsconfig.json +0 -12
@@ -0,0 +1,103 @@
1
+ import { console } from 'openspan';
2
+ import * as http from '../HTTP/index.js';
3
+ import { schemas } from '@toa.io/definitions/extensions.exposition';
4
+ import { BATCH } from '@toa.io/definitions/extensions.exposition';
5
+ import { address, split } from './names.js';
6
+ import { fork } from './Context.js';
7
+ import { BATCH_TOO_LARGE, INVALID_REQUEST, PARSE, failure, of, response } from './errors.js';
8
+ import { VERSION } from './types.js';
9
+ /**
10
+ * JSON-RPC, as the calls a request carries.
11
+ *
12
+ * It clones the context per call and hands each clone back to the gateway: it holds no
13
+ * tree, no index and no knowledge of routing. Whether a name resolves, what it resolves
14
+ * to, and what the directives of that route do are answered by the same `route` an
15
+ * ordinary request goes through.
16
+ */
17
+ export class Dispatcher {
18
+ batch;
19
+ constructor(options) {
20
+ this.batch = options.batch ?? BATCH;
21
+ }
22
+ async dispatch(context, route) {
23
+ if (context.request.method !== 'POST')
24
+ throw new http.MethodNotAllowed(new Headers({ allow: 'POST' }));
25
+ const envelope = await this.read(context);
26
+ const batched = Array.isArray(envelope);
27
+ const calls = batched ? envelope : [envelope];
28
+ if (calls.length === 0)
29
+ throw new http.BadRequest(response(null, failure(INVALID_REQUEST, 'A request carries at least one call')));
30
+ if (calls.length > this.batch)
31
+ throw new http.BadRequest(response(null, failure(BATCH_TOO_LARGE, `A request carries at most ${this.batch} calls`)));
32
+ const answers = [];
33
+ // one after another: a request the caller writes should not become a fan-out they own
34
+ for (const call of calls) {
35
+ const answer = await this.answer(call, context, route);
36
+ if (answer !== null)
37
+ answers.push(answer);
38
+ }
39
+ // every call was a notification, and a notification is answered by not answering
40
+ if (answers.length === 0)
41
+ return { status: NO_CONTENT };
42
+ // a reply assembled from several is not one of them, and is not stored as if it were
43
+ return {
44
+ status: OK,
45
+ body: batched ? answers : answers[0],
46
+ headers: new Headers({ 'cache-control': 'no-store' })
47
+ };
48
+ }
49
+ async answer(input, context, route) {
50
+ const invalid = schemas.call.fit(input);
51
+ // it may have carried an id, but nothing about it is trustworthy enough to answer to
52
+ if (invalid !== null)
53
+ return response(null, failure(INVALID_REQUEST, invalid.message));
54
+ return await this.call(input, context, route);
55
+ }
56
+ async call(call, context, route) {
57
+ const notification = call.id === undefined;
58
+ try {
59
+ const params = call.params ?? {};
60
+ const { path, verb, variables } = address(call.method, params);
61
+ const { query, input } = split(params, variables);
62
+ const clone = fork(context, path, verb, query, input);
63
+ // one span per call, so what the directives of that call open has somewhere to hang
64
+ const message = await console.span({ name: call.method, attributes: { id: call.id } }, async () => await route(clone));
65
+ // what `io:output` restricts, over this call's reply rather than the envelope
66
+ await http.shape(clone, message);
67
+ if (notification)
68
+ return null;
69
+ return { jsonrpc: VERSION, id: call.id, result: message.body ?? null };
70
+ }
71
+ catch (exception) {
72
+ /*
73
+ * A credential belongs to the request. Refusing one call for it would leave the
74
+ * reply a 200, and the challenge that tells a client where to authenticate is
75
+ * attached to a 401 — so the whole envelope is refused instead.
76
+ */
77
+ if (exception instanceof http.Unauthorized)
78
+ throw exception;
79
+ if (notification) {
80
+ console.debug('Notification failed', {
81
+ method: call.method,
82
+ error: of(exception)
83
+ });
84
+ return null;
85
+ }
86
+ return { jsonrpc: VERSION, id: call.id, error: of(exception) };
87
+ }
88
+ }
89
+ /** A body the decoder refuses is a parse error; a media type it does not know is not. */
90
+ async read(context) {
91
+ try {
92
+ return await context.body();
93
+ }
94
+ catch (exception) {
95
+ if (exception instanceof http.BadRequest)
96
+ throw new http.BadRequest(response(null, failure(PARSE, 'Parse error')));
97
+ throw exception;
98
+ }
99
+ }
100
+ }
101
+ const OK = 200;
102
+ const NO_CONTENT = 204;
103
+ //# sourceMappingURL=Dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dispatcher.js","sourceRoot":"","sources":["../../source/RPC/Dispatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { type Failure, type Response } from './types.ts';
2
+ export declare const PARSE = -32700;
3
+ export declare const INVALID_REQUEST = -32600;
4
+ export declare const METHOD_NOT_FOUND = -32601;
5
+ export declare const INVALID_PARAMS = -32602;
6
+ export declare const INTERNAL = -32603;
7
+ export declare const FORBIDDEN = -32000;
8
+ export declare const REFUSED = -32001;
9
+ export declare const BATCH_TOO_LARGE = -32002;
10
+ export declare function failure(code: number, message: string, data?: unknown): Failure;
11
+ export declare function response(id: string | number | null, error: Failure): Response;
12
+ /**
13
+ * What an exception says as a JSON-RPC error.
14
+ *
15
+ * The readable text is `body`, never `message`: `http.Exception` calls `super()` with no
16
+ * argument, so every one of them carries an empty `message`.
17
+ */
18
+ export declare function of(exception: unknown): Failure;
@@ -0,0 +1,67 @@
1
+ import * as http from '../HTTP/index.js';
2
+ import { VERSION } from './types.js';
3
+ /*
4
+ * The five the specification fixes (JSON-RPC 2.0 §5.1). A client reads these the same
5
+ * whoever answers.
6
+ */
7
+ export const PARSE = -32700;
8
+ export const INVALID_REQUEST = -32600;
9
+ export const METHOD_NOT_FOUND = -32601;
10
+ export const INVALID_PARAMS = -32602;
11
+ export const INTERNAL = -32603;
12
+ /*
13
+ * Ours. The specification reserves -32000 to -32099 for implementation-defined server
14
+ * errors and defines nothing in it, so these mean nothing outside Toa — which is why
15
+ * `REFUSED` carries the operation's own code in `data`.
16
+ */
17
+ export const FORBIDDEN = -32000;
18
+ export const REFUSED = -32001;
19
+ export const BATCH_TOO_LARGE = -32002;
20
+ export function failure(code, message, data) {
21
+ const value = { code, message };
22
+ if (data !== undefined)
23
+ value.data = data;
24
+ return value;
25
+ }
26
+ export function response(id, error) {
27
+ return { jsonrpc: VERSION, id, error };
28
+ }
29
+ /**
30
+ * What an exception says as a JSON-RPC error.
31
+ *
32
+ * The readable text is `body`, never `message`: `http.Exception` calls `super()` with no
33
+ * argument, so every one of them carries an empty `message`.
34
+ */
35
+ export function of(exception) {
36
+ if (exception instanceof http.UnprocessableEntity)
37
+ return refusal(exception);
38
+ if (exception instanceof http.NotFound || exception instanceof http.MethodNotAllowed)
39
+ return failure(METHOD_NOT_FOUND, text(exception, 'Method not found'));
40
+ if (exception instanceof http.Forbidden)
41
+ return failure(FORBIDDEN, text(exception, 'Forbidden'));
42
+ if (exception instanceof http.BadRequest)
43
+ return failure(INVALID_PARAMS, text(exception, 'Invalid params'));
44
+ // a conflict, a precondition, a throttle: the call was refused, and by what is worth saying
45
+ if (exception instanceof http.ClientError)
46
+ return failure(REFUSED, text(exception, 'Refused'), { status: exception.status });
47
+ return failure(INTERNAL, 'Internal error');
48
+ }
49
+ /**
50
+ * An operation that declares its errors answers with one rather than throwing, and the
51
+ * reply contract states `{ code, message? }` — the message optional. The number says the
52
+ * operation refused; `data.code` says what it refused with, and is what a caller branches on.
53
+ */
54
+ function refusal(exception) {
55
+ const body = exception.body;
56
+ if (typeof body !== 'object' || body === null || typeof body.code !== 'string')
57
+ return failure(REFUSED, text(exception, 'Refused'));
58
+ const code = body.code;
59
+ const message = typeof body.message === 'string' && body.message !== '' ? body.message : code;
60
+ return failure(REFUSED, message, { code });
61
+ }
62
+ function text(exception, fallback) {
63
+ return typeof exception.body === 'string' && exception.body !== ''
64
+ ? exception.body
65
+ : fallback;
66
+ }
67
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../source/RPC/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { Dispatcher } from './Dispatcher.ts';
@@ -0,0 +1,2 @@
1
+ export { Dispatcher } from './Dispatcher.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/RPC/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,31 @@
1
+ import type { Segment } from '../RTD/segment.ts';
2
+ import { type Params } from './types.ts';
3
+ /**
4
+ * What a name resolves to: the path the call is made at, and the verb it is made with.
5
+ *
6
+ * A name is the route template with its variables marked and the verb appended as a segment
7
+ * of its own — `pots._id.GET`. The revision names the characters a tool's name may hold, and
8
+ * `/` is not among them, so segments are joined by `.` — which a segment cannot hold either,
9
+ * so nothing in a name can be mistaken for anything else, and the verb is always last.
10
+ */
11
+ export interface Address {
12
+ path: string;
13
+ verb: string;
14
+ /** the `params` the path took, which are therefore not the operation's input */
15
+ variables: string[];
16
+ }
17
+ export declare function address(method: string, params: Params): Address;
18
+ /**
19
+ * What the call carries, as a request carries it: the path took its variables, `query` is
20
+ * the querystring, and the rest is the body.
21
+ */
22
+ export declare function split(params: Params, variables: string[]): {
23
+ query?: Params;
24
+ input?: Params;
25
+ };
26
+ /** The name of a method on this route, or nothing where the route has none. */
27
+ export declare function name(segments: Segment[], verb: string): string | null;
28
+ /** The segment that leaves a route unnameable, as it was declared, or nothing where none does. */
29
+ export declare function refusal(segments: Segment[]): string | null;
30
+ /** The route as it was declared, which is how a message about it should read. */
31
+ export declare function template(segments: Segment[]): string;
@@ -0,0 +1,121 @@
1
+ import * as http from '../HTTP/index.js';
2
+ import { verbs } from '../RTD/syntax/index.js';
3
+ import { QUERY } from './types.js';
4
+ export function address(method, params) {
5
+ const parts = method.split(SEPARATOR);
6
+ const verb = parts.pop();
7
+ if (!verbs.has(verb))
8
+ throw new http.NotFound(`'${method}' names no method`);
9
+ const variables = [];
10
+ const fragments = [];
11
+ for (const part of parts) {
12
+ const key = parameter(part);
13
+ if (key === null) {
14
+ fragments.push(literal(part, method));
15
+ continue;
16
+ }
17
+ if (part !== TAIL && !NAMEABLE.test(key))
18
+ throw new http.NotFound(`'${method}' names no procedure`);
19
+ const value = params[key];
20
+ if (value === undefined || value === null)
21
+ throw new http.BadRequest(`'${method}' requires the parameter '${key}'`);
22
+ const fragment = String(value);
23
+ // `__` stands for the rest of the path and may carry separators; a variable is one segment
24
+ if (!(part === TAIL ? TAILED : OPAQUE).test(fragment))
25
+ throw new http.BadRequest(`The parameter '${key}' cannot be a path of its own`);
26
+ variables.push(key);
27
+ fragments.push(fragment);
28
+ }
29
+ // a route is matched with its trailing slash, and the trunk is the bare one
30
+ const path = fragments.length === 0 ? '/' : `/${fragments.join('/')}/`;
31
+ return { path, verb, variables };
32
+ }
33
+ /**
34
+ * What the call carries, as a request carries it: the path took its variables, `query` is
35
+ * the querystring, and the rest is the body.
36
+ */
37
+ export function split(params, variables) {
38
+ const input = {};
39
+ let query;
40
+ for (const [key, value] of Object.entries(params)) {
41
+ if (variables.includes(key))
42
+ continue;
43
+ if (key !== QUERY) {
44
+ input[key] = value;
45
+ continue;
46
+ }
47
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
48
+ throw new http.BadRequest(`'${QUERY}' must be an object`);
49
+ query = value;
50
+ }
51
+ // an absent body is what a request without one has, and the mapping fills it as it does
52
+ return { query, input: Object.keys(input).length === 0 ? undefined : input };
53
+ }
54
+ /** The parameter a part reads, or nothing where the part is a literal segment. */
55
+ function parameter(part) {
56
+ if (part === TAIL)
57
+ return WILDCARD;
58
+ return part[0] === VARIABLE ? part.slice(1) : null;
59
+ }
60
+ /** A segment a name cannot spell is a segment no name has, so this one names nothing. */
61
+ function literal(part, method) {
62
+ if (!NAMEABLE.test(part))
63
+ throw new http.NotFound(`'${method}' names no procedure`);
64
+ return part;
65
+ }
66
+ /** The name of a method on this route, or nothing where the route has none. */
67
+ export function name(segments, verb) {
68
+ const parts = [];
69
+ for (const segment of segments) {
70
+ const part = component(segment);
71
+ if (part === null)
72
+ return null;
73
+ parts.push(part);
74
+ }
75
+ parts.push(verb);
76
+ return parts.join(SEPARATOR);
77
+ }
78
+ /** The segment that leaves a route unnameable, as it was declared, or nothing where none does. */
79
+ export function refusal(segments) {
80
+ for (const segment of segments)
81
+ if (component(segment) === null)
82
+ return declared(segment);
83
+ return null;
84
+ }
85
+ function component(segment) {
86
+ if (segment.fragment !== null)
87
+ return NAMEABLE.test(segment.fragment) ? segment.fragment : null;
88
+ if (segment.wildcard === true)
89
+ return TAIL;
90
+ // it stands for a segment the caller cannot name, so there is nothing to substitute
91
+ if (segment.placeholder === null)
92
+ return null;
93
+ return NAMEABLE.test(segment.placeholder) ? VARIABLE + segment.placeholder : null;
94
+ }
95
+ /** The route as it was declared, which is how a message about it should read. */
96
+ export function template(segments) {
97
+ return '/' + segments.map(declared).join('/');
98
+ }
99
+ function declared(segment) {
100
+ if (segment.fragment !== null)
101
+ return segment.fragment;
102
+ if (segment.wildcard === true)
103
+ return '**';
104
+ return segment.placeholder === null ? '*' : ':' + segment.placeholder;
105
+ }
106
+ const SEPARATOR = '.';
107
+ const VARIABLE = '_';
108
+ const TAIL = '__';
109
+ /** How the RTD names the rest of a path, wherever a parameter of it is read. */
110
+ const WILDCARD = '**';
111
+ /**
112
+ * What a segment may hold to have a name. `_` is the convention's own, and every other
113
+ * character a client leaves alone is here: a client shows a model the name with the rest
114
+ * turned into `_`, and two names must not become one.
115
+ */
116
+ const NAMEABLE = /^[A-Za-z0-9-]+$/;
117
+ /** A segment ends at what divides or ends a path. */
118
+ const OPAQUE = /^[^/?#]*$/;
119
+ /** A tail is several segments, so it keeps the divider and loses only what ends a path. */
120
+ const TAILED = /^[^?#]*$/;
121
+ //# sourceMappingURL=names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"names.js","sourceRoot":"","sources":["../../source/RPC/names.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /** The version every call and every response states. */
2
+ export declare const VERSION = "2.0";
3
+ /**
4
+ * The member `params` reserves for what a querystring would carry. An operation's input is
5
+ * free to have an `id` or a `limit` of its own, so the two cannot share one object.
6
+ */
7
+ export declare const QUERY = "query";
8
+ export type Params = Record<string, unknown>;
9
+ export interface Call {
10
+ jsonrpc: string;
11
+ method: string;
12
+ params?: Params;
13
+ /** Absent makes this a notification: it runs, and nothing is returned for it. */
14
+ id?: string | number;
15
+ }
16
+ export interface Response {
17
+ jsonrpc: string;
18
+ /** `null` where the request was not readable enough to carry one. */
19
+ id: string | number | null;
20
+ result?: unknown;
21
+ error?: Failure;
22
+ }
23
+ export interface Failure {
24
+ code: number;
25
+ message: string;
26
+ data?: unknown;
27
+ }
@@ -0,0 +1,8 @@
1
+ /** The version every call and every response states. */
2
+ export const VERSION = '2.0';
3
+ /**
4
+ * The member `params` reserves for what a querystring would carry. An operation's input is
5
+ * free to have an `id` or a `limit` of its own, so the two cannot share one object.
6
+ */
7
+ export const QUERY = 'query';
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/RPC/types.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAA;AAE5B;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAA"}
@@ -1,6 +1,6 @@
1
- import { type DirectiveFactory } from './Directives';
2
- import { type EndpointsFactory } from './Endpoint';
3
- import type { Directive } from './syntax';
1
+ import { type DirectiveFactory } from './Directives.ts';
2
+ import { type EndpointsFactory } from './Endpoint.ts';
3
+ import type { Directive } from './syntax/index.ts';
4
4
  export interface Context<TExtension = any> {
5
5
  readonly protected: boolean;
6
6
  readonly endpoints: EndpointsFactory;
@@ -8,5 +8,7 @@ export interface Context<TExtension = any> {
8
8
  readonly factory: DirectiveFactory;
9
9
  stack: Directive[];
10
10
  };
11
- readonly extension?: TExtension;
11
+ /** The route being built, accumulated on the way down and restored on the way up. */
12
+ path: string;
13
+ readonly extension: TExtension;
12
14
  }
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=Context.js.map
@@ -1,22 +1,105 @@
1
- import type { Parameter } from './Match';
2
- import type * as syntax from './syntax';
3
- import type { Context, OutgoingMessage } from '../HTTP';
4
- import type { Output } from '../io';
1
+ import type { Parameter } from './Match.ts';
2
+ import type * as syntax from './syntax/index.ts';
3
+ import type { Context, OutgoingMessage, Options } from '../HTTP/index.ts';
4
+ import type { Output } from '../io.ts';
5
+ import type { Introspection } from '../Introspection.ts';
6
+ import type { extensions } from '@toa.io/core/types';
7
+ type Host = extensions.Host;
5
8
  export interface Directives {
6
- preflight: (context: Context, parameters: Parameter[]) => Promise<Output>;
9
+ /**
10
+ * The directives of one family on this method, or nothing where it declares none of it.
11
+ * For a consumer of a declaration rather than of a stage: what a method is published as
12
+ * is stated on the route, and read where the publishing happens.
13
+ */
14
+ declared: <T>(family: string) => T[] | undefined;
15
+ precall: (context: Context, parameters: Parameter[]) => Promise<Output>;
16
+ /**
17
+ * Whether this caller is told of the method at all. Asked per request, which is the one
18
+ * thing about a description that depends on who is asking.
19
+ */
20
+ admits: (context: Context) => Promise<boolean>;
21
+ /**
22
+ * What this route's directives make of what its method says about itself. No caller: what
23
+ * a family describes is what the route declares, so the answer is the same for everyone
24
+ * who is admitted, and is built once.
25
+ */
26
+ describe: (introspection: Introspection) => Introspection | null;
7
27
  settle: (context: Context, response: OutgoingMessage) => Promise<void>;
28
+ dispose: () => void;
8
29
  }
9
30
  export interface DirectiveFactory {
10
- create: (directives: syntax.Directive[]) => Directives;
31
+ create: (directives: syntax.Directive[], route: string) => Directives;
32
+ /** Whether this declaration is carried into the nodes below the one it is on. */
33
+ inheritable: (directive: syntax.Directive) => boolean;
34
+ /** Runs every family's `preflight`, which is request-scoped and needs no node. */
35
+ preflight: (context: Context) => Promise<void>;
36
+ /** Runs every family's `depart`, the counterpart of `preflight`. */
37
+ depart: (context: Context, response: OutgoingMessage) => Promise<void>;
38
+ dispose: () => void;
11
39
  }
12
40
  export interface DirectiveSet {
13
41
  family: DirectiveFamily;
14
42
  directives: any[];
43
+ /** qualified directive names, e.g. `auth:id` */
44
+ names?: string[];
15
45
  }
16
46
  export interface DirectiveFamily<TDirective = any, TExtension = any> {
17
47
  readonly name: string;
18
48
  readonly mandatory: boolean;
49
+ /**
50
+ * Whether a declaration applies to everything below the node it is on, as every directive
51
+ * does unless it says otherwise. A family that describes what one node *is* sets this
52
+ * `false`: inherited, it would say the same thing of every resource under it.
53
+ */
54
+ readonly inherited?: boolean;
19
55
  create: (name: string, ...rest: any[]) => TDirective;
20
- preflight?: (directives: TDirective[], request: Context & TExtension, parameters: Parameter[]) => Output | Promise<Output>;
56
+ /**
57
+ * Called once per gateway with what the host provides and how the gateway is configured,
58
+ * before any directive is created.
59
+ */
60
+ mount?: (host: Host, options: Options) => void;
61
+ /**
62
+ * Puts the directives of one route in the order they must run in. Called once, when
63
+ * the set is built — the order cannot depend on the request.
64
+ */
65
+ arrange?: (directives: TDirective[]) => void;
66
+ /**
67
+ * Request-scoped, before anything is routed. It takes no directives: no node is known
68
+ * yet, and a request that carries several calls has no single node at all. What a
69
+ * directive declares is call-scoped by definition, so only what a family does on its
70
+ * own behalf — authenticating a credential — belongs here. It answers nothing: a stage
71
+ * that runs before a route is known has no reply to make, and refuses by throwing.
72
+ */
73
+ preflight?: (request: Context & TExtension) => void | Promise<void>;
74
+ /** Call-scoped, with what the node declares. Runs once per call. */
75
+ precall?: (directives: TDirective[], request: Context & TExtension, parameters: Parameter[]) => Output | Promise<Output>;
76
+ /**
77
+ * Whether this caller is told of the method at all — `auth` alone has anything to say
78
+ * here. A family that does not implement it admits everyone; `false` takes the method
79
+ * out of every answer that describes it.
80
+ *
81
+ * Apart from `explain` because it is the one part of describing a method that depends on
82
+ * the caller: what is described is then built once and answered to all of them.
83
+ */
84
+ admits?: (directives: TDirective[], request: Context & TExtension) => Promise<boolean>;
85
+ /**
86
+ * What this family's directives make of what the method says about itself, which is
87
+ * what `OPTIONS` answers and what a tool is described by. `null` hides it: the method is
88
+ * described to nobody, whoever asks.
89
+ *
90
+ * There is no request here — no route variable has a value, no body has arrived, and no
91
+ * caller is known — so a directive that can only tell from one hands back what it was
92
+ * given.
93
+ */
94
+ explain?: (directives: TDirective[], introspection: Introspection) => Introspection | null;
95
+ /** Call-scoped, on the message that call produced. */
21
96
  settle?: (directives: TDirective[], request: Context & TExtension, response: OutgoingMessage) => void | Promise<void>;
97
+ /**
98
+ * Request-scoped, on the message going back — the counterpart of `preflight`, and
99
+ * likewise without directives. A reply the whole request carries, such as a re-issued
100
+ * credential, is written here rather than by a call that would not own it.
101
+ */
102
+ depart?: (request: Context & TExtension, response: OutgoingMessage) => void | Promise<void>;
103
+ dispose?: (directives: TDirective[]) => void;
22
104
  }
105
+ export {};
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=Directives.js.map
@@ -1,9 +1,16 @@
1
- import { type Context } from './Context';
2
- import type * as http from '../HTTP';
3
- import type * as syntax from './syntax';
4
- import type * as RTD from './index';
1
+ import { type Context } from './Context.ts';
2
+ import type * as http from '../HTTP/index.ts';
3
+ import type * as syntax from './syntax/index.ts';
4
+ import type * as RTD from './index.ts';
5
+ import type { Introspection, Schema } from '../Introspection.ts';
5
6
  export interface Endpoint {
6
7
  call: (context: http.Context, parameters: RTD.Parameter[]) => Promise<http.OutgoingMessage>;
8
+ explain: (parameters: RTD.Parameter[]) => Promise<Introspection>;
9
+ /**
10
+ * What picks the records a call is about — `criteria`, `sort` and the rest. Stated as
11
+ * `selection` on the method, because it is not a parameter the resource declares.
12
+ */
13
+ selection: () => Record<string, Schema> | null;
7
14
  close: () => Promise<void>;
8
15
  }
9
16
  export interface EndpointsFactory {
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=Endpoint.js.map
@@ -1,7 +1,13 @@
1
- import { type Node } from './Node';
1
+ import { type Node } from './Node.ts';
2
2
  export interface Match {
3
3
  node: Node;
4
4
  parameters: Parameter[];
5
+ /**
6
+ * The path that was matched, with placeholders as declared — `/users/:id/` and not
7
+ * `/users/42/`. A metric labels a request by it, because a URL is unbounded and a series per
8
+ * URL is a series per caller.
9
+ */
10
+ route: string;
5
11
  }
6
12
  export interface Parameter {
7
13
  name: string;
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=Match.js.map