@toa.io/extensions.exposition 1.0.0-alpha.34 → 1.0.0-alpha.340

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 (1179) 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 +128 -0
  6. package/components/exposition.octets/package.json +11 -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 +6 -10
  11. package/components/identity.bans/source/transit.ts +5 -5
  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 +37 -0
  15. package/components/identity.basic/events/principal.js +8 -4
  16. package/components/identity.basic/manifest.toa.yaml +204 -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 +16 -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 +32 -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 +30 -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 +27 -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 +50 -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 +52 -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 +125 -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 +2 -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 +1 -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 +112 -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 +30 -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/0001-identity.yaml +13 -0
  70. package/components/identity.federation/migrations/0002-indexes.yaml +25 -0
  71. package/components/identity.federation/operations/authenticate.js +29 -20
  72. package/components/identity.federation/operations/create.js +26 -0
  73. package/components/identity.federation/operations/decode.js +9 -0
  74. package/components/identity.federation/operations/delete.js +7 -0
  75. package/components/identity.federation/operations/incept.js +9 -13
  76. package/components/identity.federation/operations/lib/Configuration.js +2 -0
  77. package/components/identity.federation/operations/lib/Ctx.js +2 -0
  78. package/components/identity.federation/operations/lib/Payload.js +2 -0
  79. package/components/identity.federation/operations/lib/decode.js +36 -0
  80. package/components/identity.federation/operations/lib/discovery.js +34 -0
  81. package/components/identity.federation/operations/lib/errors.js +12 -0
  82. package/components/identity.federation/operations/lib/exchange.js +90 -0
  83. package/components/identity.federation/operations/lib/index.js +5 -0
  84. package/components/identity.federation/operations/lib/jose.js +2 -0
  85. package/components/identity.federation/operations/lib/principal.js +14 -0
  86. package/components/identity.federation/operations/lib/resolve.js +13 -0
  87. package/components/identity.federation/operations/list.js +12 -0
  88. package/components/identity.federation/operations/types/Scheme.js +2 -0
  89. package/components/identity.federation/operations/types/configuration.js +2 -3
  90. package/components/identity.federation/operations/types/context.js +2 -3
  91. package/components/identity.federation/operations/types/entity.js +2 -3
  92. package/components/identity.federation/operations/types/index.js +5 -20
  93. package/components/identity.federation/package.json +8 -0
  94. package/components/identity.federation/source/authenticate.ts +48 -19
  95. package/components/identity.federation/source/create.ts +40 -0
  96. package/components/identity.federation/source/decode.ts +14 -0
  97. package/components/identity.federation/source/delete.ts +19 -0
  98. package/components/identity.federation/source/incept.ts +12 -15
  99. package/components/identity.federation/source/lib/Configuration.ts +39 -0
  100. package/components/identity.federation/source/lib/Ctx.ts +9 -0
  101. package/components/identity.federation/source/lib/Payload.ts +6 -0
  102. package/components/identity.federation/source/lib/decode.ts +44 -0
  103. package/components/identity.federation/source/lib/discovery.ts +50 -0
  104. package/components/identity.federation/source/lib/errors.ts +21 -0
  105. package/components/identity.federation/source/lib/exchange.ts +123 -0
  106. package/components/identity.federation/source/lib/index.ts +5 -0
  107. package/components/identity.federation/source/lib/jose.d.ts +1 -0
  108. package/components/identity.federation/source/lib/jose.js +1 -0
  109. package/components/identity.federation/source/lib/principal.ts +19 -0
  110. package/components/identity.federation/source/lib/resolve.ts +21 -0
  111. package/components/identity.federation/source/list.ts +21 -0
  112. package/components/identity.federation/source/types/Scheme.ts +1 -0
  113. package/components/identity.federation/source/types/configuration.ts +12 -4
  114. package/components/identity.federation/source/types/context.ts +22 -38
  115. package/components/identity.federation/source/types/entity.ts +3 -0
  116. package/components/identity.federation/source/types/index.ts +4 -3
  117. package/components/identity.federation/tsconfig.json +3 -2
  118. package/components/identity.federation/types/index.d.ts +3 -0
  119. package/components/identity.federation/types/toa.d.ts +130 -0
  120. package/components/identity.grants/manifest.toa.yaml +243 -0
  121. package/components/identity.grants/migrations/0002-indexes.yaml +5 -0
  122. package/components/identity.grants/operations/authorize.js +53 -0
  123. package/components/identity.grants/operations/exchange.js +92 -0
  124. package/components/identity.grants/operations/lib/code.js +30 -0
  125. package/components/identity.grants/operations/lib/identify.js +15 -0
  126. package/components/identity.grants/operations/lib/index.js +3 -0
  127. package/components/identity.grants/operations/list.js +18 -0
  128. package/components/identity.grants/operations/revoke.js +24 -0
  129. package/components/identity.grants/source/authorize.ts +97 -0
  130. package/components/identity.grants/source/exchange.ts +134 -0
  131. package/components/identity.grants/source/lib/code.ts +51 -0
  132. package/components/identity.grants/source/lib/identify.ts +16 -0
  133. package/components/identity.grants/source/lib/index.ts +3 -0
  134. package/components/identity.grants/source/list.ts +28 -0
  135. package/components/identity.grants/source/revoke.ts +38 -0
  136. package/components/identity.grants/tsconfig.json +10 -0
  137. package/components/identity.grants/types/index.d.ts +60 -0
  138. package/components/identity.grants/types/toa.d.ts +111 -0
  139. package/components/identity.keys/manifest.toa.yaml +79 -0
  140. package/components/identity.keys/migrations/0002-indexes.yaml +4 -0
  141. package/components/identity.keys/operations/create.js +12 -0
  142. package/components/identity.keys/operations/disable.js +5 -0
  143. package/components/identity.keys/operations/revoke.js +12 -0
  144. package/components/identity.keys/receivers/identity.bans.created.js +1 -0
  145. package/components/identity.keys/receivers/identity.bans.updated.js +1 -0
  146. package/components/identity.keys/receivers/identity.roles.deleted.js +1 -0
  147. package/components/identity.keys/source/create.ts +34 -0
  148. package/components/identity.keys/source/disable.ts +9 -0
  149. package/components/identity.keys/source/revoke.ts +30 -0
  150. package/components/identity.keys/tsconfig.json +10 -0
  151. package/components/identity.keys/types/index.d.ts +3 -0
  152. package/components/identity.keys/types/toa.d.ts +50 -0
  153. package/components/identity.otp/manifest.toa.yaml +125 -0
  154. package/components/identity.otp/migrations/0002-indexes.yaml +5 -0
  155. package/components/identity.otp/migrations/0003-unique-username.yaml +34 -0
  156. package/components/identity.otp/operations/authenticate.js +32 -0
  157. package/components/identity.otp/operations/confirm.js +23 -0
  158. package/components/identity.otp/operations/issue.js +13 -0
  159. package/components/identity.otp/operations/lib/Context.js +2 -0
  160. package/components/identity.otp/operations/lib/Entity.js +2 -0
  161. package/components/identity.otp/operations/lib/index.js +2 -0
  162. package/components/identity.otp/operations/lib/redeem.js +28 -0
  163. package/components/identity.otp/source/authenticate.ts +53 -0
  164. package/components/identity.otp/source/confirm.ts +41 -0
  165. package/components/identity.otp/source/issue.ts +28 -0
  166. package/components/identity.otp/source/lib/Context.ts +17 -0
  167. package/components/identity.otp/source/lib/Entity.ts +6 -0
  168. package/components/identity.otp/source/lib/index.ts +2 -0
  169. package/components/identity.otp/source/lib/redeem.ts +49 -0
  170. package/components/identity.otp/tsconfig.json +10 -0
  171. package/components/identity.otp/types/index.d.ts +3 -0
  172. package/components/identity.otp/types/toa.d.ts +67 -0
  173. package/components/identity.passkeys/manifest.toa.yaml +302 -0
  174. package/components/identity.passkeys/migrations/0002-indexes.yaml +11 -0
  175. package/components/identity.passkeys/operations/authenticate.js +30 -0
  176. package/components/identity.passkeys/operations/challenge.js +72 -0
  177. package/components/identity.passkeys/operations/create.js +53 -0
  178. package/components/identity.passkeys/operations/delete.js +9 -0
  179. package/components/identity.passkeys/operations/lib/const.js +2 -0
  180. package/components/identity.passkeys/operations/list.js +12 -0
  181. package/components/identity.passkeys/operations/types/Configuration.js +2 -0
  182. package/components/identity.passkeys/operations/types/Context.js +2 -0
  183. package/components/identity.passkeys/operations/types/Passkey.js +2 -0
  184. package/components/identity.passkeys/operations/types/index.js +2 -0
  185. package/components/identity.passkeys/operations/use.js +52 -0
  186. package/components/identity.passkeys/package.json +8 -0
  187. package/components/identity.passkeys/source/authenticate.ts +47 -0
  188. package/components/identity.passkeys/source/challenge.ts +119 -0
  189. package/components/identity.passkeys/source/create.ts +79 -0
  190. package/components/identity.passkeys/source/delete.ts +19 -0
  191. package/components/identity.passkeys/source/lib/const.ts +1 -0
  192. package/components/identity.passkeys/source/list.ts +21 -0
  193. package/components/identity.passkeys/source/types/Configuration.ts +6 -0
  194. package/components/identity.passkeys/source/types/Context.ts +17 -0
  195. package/components/identity.passkeys/source/types/Passkey.ts +12 -0
  196. package/components/identity.passkeys/source/types/index.ts +2 -0
  197. package/components/identity.passkeys/source/use.ts +77 -0
  198. package/components/identity.passkeys/tsconfig.json +10 -0
  199. package/components/identity.passkeys/types/index.d.ts +3 -0
  200. package/components/identity.passkeys/types/toa.d.ts +123 -0
  201. package/components/identity.roles/manifest.toa.yaml +42 -13
  202. package/components/identity.roles/migrations/0002-indexes.yaml +8 -0
  203. package/components/identity.roles/operations/grant.js +14 -16
  204. package/components/identity.roles/operations/lib/Entity.js +2 -3
  205. package/components/identity.roles/operations/list.js +3 -7
  206. package/components/identity.roles/operations/principal.js +30 -10
  207. package/components/identity.roles/receivers/identity.federation.principal.js +4 -0
  208. package/components/identity.roles/source/grant.ts +18 -14
  209. package/components/identity.roles/source/list.ts +3 -3
  210. package/components/identity.roles/source/principal.ts +34 -8
  211. package/components/identity.roles/tsconfig.json +2 -1
  212. package/components/identity.roles/types/index.d.ts +3 -0
  213. package/components/identity.roles/types/toa.d.ts +46 -0
  214. package/components/identity.tokens/manifest.toa.yaml +240 -29
  215. package/components/identity.tokens/operations/authenticate.js +34 -19
  216. package/components/identity.tokens/operations/decrypt.js +177 -24
  217. package/components/identity.tokens/operations/encrypt.js +33 -18
  218. package/components/identity.tokens/operations/issue.js +56 -0
  219. package/components/identity.tokens/operations/lib/form.js +24 -0
  220. package/components/identity.tokens/operations/lib/index.js +4 -0
  221. package/components/identity.tokens/operations/lib/jose.js +5 -0
  222. package/components/identity.tokens/operations/lib/key.js +7 -0
  223. package/components/identity.tokens/operations/lib/pad.js +2 -0
  224. package/components/identity.tokens/operations/revoke.js +3 -7
  225. package/components/identity.tokens/package.json +10 -0
  226. package/components/identity.tokens/receivers/identity.bans.created.js +1 -3
  227. package/components/identity.tokens/receivers/identity.bans.updated.js +1 -3
  228. package/components/identity.tokens/source/authenticate.ts +42 -18
  229. package/components/identity.tokens/source/decrypt.ts +240 -20
  230. package/components/identity.tokens/source/encrypt.ts +47 -17
  231. package/components/identity.tokens/source/issue.ts +85 -0
  232. package/components/identity.tokens/source/lib/form.ts +27 -0
  233. package/components/identity.tokens/source/lib/index.ts +4 -0
  234. package/components/identity.tokens/source/lib/jose.d.ts +1 -0
  235. package/components/identity.tokens/source/lib/jose.js +5 -0
  236. package/components/identity.tokens/source/lib/key.ts +8 -0
  237. package/components/identity.tokens/source/lib/pad.ts +1 -0
  238. package/components/identity.tokens/source/revoke.ts +3 -3
  239. package/components/identity.tokens/tsconfig.json +2 -1
  240. package/components/identity.tokens/types/index.d.ts +66 -0
  241. package/components/identity.tokens/types/toa.d.ts +124 -0
  242. package/package.json +50 -25
  243. package/readme.md +40 -7
  244. package/schemas/io/throttle.cos.yaml +81 -0
  245. package/schemas/octets/delete.cos.yaml +15 -2
  246. package/schemas/octets/get.cos.yaml +5 -0
  247. package/schemas/octets/put.cos.yaml +31 -0
  248. package/schemas/octets/workflow.cos.yaml +0 -1
  249. package/transpiled/Announcements.d.ts +26 -0
  250. package/transpiled/Announcements.js +34 -0
  251. package/transpiled/Announcements.js.map +1 -0
  252. package/transpiled/Branch.d.ts +43 -1
  253. package/transpiled/Branch.js +24 -2
  254. package/transpiled/Branch.js.map +1 -1
  255. package/transpiled/Composition.d.ts +7 -8
  256. package/transpiled/Composition.js +13 -29
  257. package/transpiled/Composition.js.map +1 -1
  258. package/transpiled/Context.d.ts +5 -2
  259. package/transpiled/Context.js +1 -2
  260. package/transpiled/Directive.d.ts +40 -8
  261. package/transpiled/Directive.js +169 -32
  262. package/transpiled/Directive.js.map +1 -1
  263. package/transpiled/Discovery/Explorer.d.ts +14 -0
  264. package/transpiled/Discovery/Explorer.js +36 -0
  265. package/transpiled/Discovery/Explorer.js.map +1 -0
  266. package/transpiled/Discovery/Site.d.ts +46 -0
  267. package/transpiled/Discovery/Site.js +177 -0
  268. package/transpiled/Discovery/Site.js.map +1 -0
  269. package/transpiled/Discovery/index.d.ts +3 -0
  270. package/transpiled/Discovery/index.js +4 -0
  271. package/transpiled/Discovery/index.js.map +1 -0
  272. package/transpiled/Discovery/tree.d.ts +28 -0
  273. package/transpiled/Discovery/tree.js +50 -0
  274. package/transpiled/Discovery/tree.js.map +1 -0
  275. package/transpiled/Discovery/trunk.d.ts +13 -0
  276. package/transpiled/Discovery/trunk.js +29 -0
  277. package/transpiled/Discovery/trunk.js.map +1 -0
  278. package/transpiled/Endpoint.d.ts +32 -8
  279. package/transpiled/Endpoint.js +138 -62
  280. package/transpiled/Endpoint.js.map +1 -1
  281. package/transpiled/Factory.d.ts +27 -7
  282. package/transpiled/Factory.js +49 -68
  283. package/transpiled/Factory.js.map +1 -1
  284. package/transpiled/Gateway.d.ts +62 -6
  285. package/transpiled/Gateway.js +268 -52
  286. package/transpiled/Gateway.js.map +1 -1
  287. package/transpiled/HTTP/Context.d.ts +70 -14
  288. package/transpiled/HTTP/Context.js +122 -34
  289. package/transpiled/HTTP/Context.js.map +1 -1
  290. package/transpiled/HTTP/Probe.d.ts +26 -0
  291. package/transpiled/HTTP/Probe.js +80 -0
  292. package/transpiled/HTTP/Probe.js.map +1 -0
  293. package/transpiled/HTTP/Server.d.ts +61 -10
  294. package/transpiled/HTTP/Server.js +366 -107
  295. package/transpiled/HTTP/Server.js.map +1 -1
  296. package/transpiled/HTTP/Timing.d.ts +2 -6
  297. package/transpiled/HTTP/Timing.js +5 -25
  298. package/transpiled/HTTP/Timing.js.map +1 -1
  299. package/transpiled/HTTP/address.d.ts +12 -0
  300. package/transpiled/HTTP/address.js +25 -0
  301. package/transpiled/HTTP/address.js.map +1 -0
  302. package/transpiled/HTTP/exceptions.d.ts +28 -7
  303. package/transpiled/HTTP/exceptions.js +53 -34
  304. package/transpiled/HTTP/exceptions.js.map +1 -1
  305. package/transpiled/HTTP/formats/form.d.ts +9 -0
  306. package/transpiled/HTTP/formats/form.js +18 -0
  307. package/transpiled/HTTP/formats/form.js.map +1 -0
  308. package/transpiled/HTTP/formats/index.d.ts +10 -4
  309. package/transpiled/HTTP/formats/index.js +19 -35
  310. package/transpiled/HTTP/formats/index.js.map +1 -1
  311. package/transpiled/HTTP/formats/json.d.ts +1 -3
  312. package/transpiled/HTTP/formats/json.js +6 -12
  313. package/transpiled/HTTP/formats/json.js.map +1 -1
  314. package/transpiled/HTTP/formats/msgpack.d.ts +0 -2
  315. package/transpiled/HTTP/formats/msgpack.js +7 -12
  316. package/transpiled/HTTP/formats/msgpack.js.map +1 -1
  317. package/transpiled/HTTP/formats/text.d.ts +1 -3
  318. package/transpiled/HTTP/formats/text.js +6 -12
  319. package/transpiled/HTTP/formats/text.js.map +1 -1
  320. package/transpiled/HTTP/formats/yaml.d.ts +1 -3
  321. package/transpiled/HTTP/formats/yaml.js +26 -37
  322. package/transpiled/HTTP/formats/yaml.js.map +1 -1
  323. package/transpiled/HTTP/index.d.ts +6 -4
  324. package/transpiled/HTTP/index.js +6 -20
  325. package/transpiled/HTTP/index.js.map +1 -1
  326. package/transpiled/HTTP/messages.d.ts +28 -4
  327. package/transpiled/HTTP/messages.js +195 -42
  328. package/transpiled/HTTP/messages.js.map +1 -1
  329. package/transpiled/HTTP/types.d.ts +38 -0
  330. package/transpiled/HTTP/types.js +2 -0
  331. package/transpiled/HTTP/types.js.map +1 -0
  332. package/transpiled/Interception.d.ts +7 -2
  333. package/transpiled/Interception.js +12 -7
  334. package/transpiled/Interception.js.map +1 -1
  335. package/transpiled/Introspection.d.ts +103 -0
  336. package/transpiled/Introspection.js +82 -0
  337. package/transpiled/Introspection.js.map +1 -0
  338. package/transpiled/MCP/Server.d.ts +57 -0
  339. package/transpiled/MCP/Server.js +219 -0
  340. package/transpiled/MCP/Server.js.map +1 -0
  341. package/transpiled/MCP/discover.d.ts +14 -0
  342. package/transpiled/MCP/discover.js +32 -0
  343. package/transpiled/MCP/discover.js.map +1 -0
  344. package/transpiled/MCP/errors.d.ts +24 -0
  345. package/transpiled/MCP/errors.js +66 -0
  346. package/transpiled/MCP/errors.js.map +1 -0
  347. package/transpiled/MCP/index.d.ts +1 -0
  348. package/transpiled/MCP/index.js +2 -0
  349. package/transpiled/MCP/index.js.map +1 -0
  350. package/transpiled/MCP/manifest.d.ts +40 -0
  351. package/transpiled/MCP/manifest.js +164 -0
  352. package/transpiled/MCP/manifest.js.map +1 -0
  353. package/transpiled/MCP/schema.d.ts +27 -0
  354. package/transpiled/MCP/schema.js +88 -0
  355. package/transpiled/MCP/schema.js.map +1 -0
  356. package/transpiled/MCP/tools.d.ts +31 -0
  357. package/transpiled/MCP/tools.js +144 -0
  358. package/transpiled/MCP/tools.js.map +1 -0
  359. package/transpiled/MCP/types.d.ts +66 -0
  360. package/transpiled/MCP/types.js +13 -0
  361. package/transpiled/MCP/types.js.map +1 -0
  362. package/transpiled/Mapping.d.ts +17 -6
  363. package/transpiled/Mapping.js +50 -24
  364. package/transpiled/Mapping.js.map +1 -1
  365. package/transpiled/Query.d.ts +37 -6
  366. package/transpiled/Query.js +177 -48
  367. package/transpiled/Query.js.map +1 -1
  368. package/transpiled/RPC/Context.d.ts +11 -0
  369. package/transpiled/RPC/Context.js +56 -0
  370. package/transpiled/RPC/Context.js.map +1 -0
  371. package/transpiled/RPC/Dispatcher.d.ts +19 -0
  372. package/transpiled/RPC/Dispatcher.js +103 -0
  373. package/transpiled/RPC/Dispatcher.js.map +1 -0
  374. package/transpiled/RPC/errors.d.ts +18 -0
  375. package/transpiled/RPC/errors.js +66 -0
  376. package/transpiled/RPC/errors.js.map +1 -0
  377. package/transpiled/RPC/index.d.ts +1 -0
  378. package/transpiled/RPC/index.js +2 -0
  379. package/transpiled/RPC/index.js.map +1 -0
  380. package/transpiled/RPC/names.d.ts +31 -0
  381. package/transpiled/RPC/names.js +121 -0
  382. package/transpiled/RPC/names.js.map +1 -0
  383. package/transpiled/RPC/types.d.ts +27 -0
  384. package/transpiled/RPC/types.js +8 -0
  385. package/transpiled/RPC/types.js.map +1 -0
  386. package/transpiled/RTD/Context.d.ts +6 -4
  387. package/transpiled/RTD/Context.js +1 -2
  388. package/transpiled/RTD/Directives.d.ts +90 -7
  389. package/transpiled/RTD/Directives.js +1 -2
  390. package/transpiled/RTD/Endpoint.d.ts +11 -4
  391. package/transpiled/RTD/Endpoint.js +1 -2
  392. package/transpiled/RTD/Match.d.ts +7 -1
  393. package/transpiled/RTD/Match.js +1 -2
  394. package/transpiled/RTD/Method.d.ts +23 -2
  395. package/transpiled/RTD/Method.js +32 -5
  396. package/transpiled/RTD/Method.js.map +1 -1
  397. package/transpiled/RTD/Node.d.ts +46 -6
  398. package/transpiled/RTD/Node.js +79 -23
  399. package/transpiled/RTD/Node.js.map +1 -1
  400. package/transpiled/RTD/Route.d.ts +9 -7
  401. package/transpiled/RTD/Route.js +50 -15
  402. package/transpiled/RTD/Route.js.map +1 -1
  403. package/transpiled/RTD/Tree.d.ts +26 -5
  404. package/transpiled/RTD/Tree.js +89 -13
  405. package/transpiled/RTD/Tree.js.map +1 -1
  406. package/transpiled/RTD/factory.d.ts +4 -3
  407. package/transpiled/RTD/factory.js +56 -15
  408. package/transpiled/RTD/factory.js.map +1 -1
  409. package/transpiled/RTD/index.d.ts +8 -8
  410. package/transpiled/RTD/index.js +8 -37
  411. package/transpiled/RTD/index.js.map +1 -1
  412. package/transpiled/RTD/segment.d.ts +10 -0
  413. package/transpiled/RTD/segment.js +36 -7
  414. package/transpiled/RTD/segment.js.map +1 -1
  415. package/transpiled/RTD/syntax/index.d.ts +1 -2
  416. package/transpiled/RTD/syntax/index.js +1 -18
  417. package/transpiled/RTD/syntax/index.js.map +1 -1
  418. package/transpiled/Remotes.d.ts +12 -7
  419. package/transpiled/Remotes.js +36 -16
  420. package/transpiled/Remotes.js.map +1 -1
  421. package/transpiled/Tenant.d.ts +16 -7
  422. package/transpiled/Tenant.js +52 -18
  423. package/transpiled/Tenant.js.map +1 -1
  424. package/transpiled/diagnostics.d.ts +13 -0
  425. package/transpiled/diagnostics.js +17 -0
  426. package/transpiled/diagnostics.js.map +1 -0
  427. package/transpiled/directives/auth/Anonymous.d.ts +17 -2
  428. package/transpiled/directives/auth/Anonymous.js +23 -9
  429. package/transpiled/directives/auth/Anonymous.js.map +1 -1
  430. package/transpiled/directives/auth/Anyone.d.ts +10 -0
  431. package/transpiled/directives/auth/Anyone.js +17 -0
  432. package/transpiled/directives/auth/Anyone.js.map +1 -0
  433. package/transpiled/directives/auth/Assert.d.ts +9 -0
  434. package/transpiled/directives/auth/Assert.js +33 -0
  435. package/transpiled/directives/auth/Assert.js.map +1 -0
  436. package/transpiled/directives/auth/Authorization.d.ts +54 -8
  437. package/transpiled/directives/auth/Authorization.js +278 -85
  438. package/transpiled/directives/auth/Authorization.js.map +1 -1
  439. package/transpiled/directives/auth/Delegate.d.ts +13 -4
  440. package/transpiled/directives/auth/Delegate.js +23 -10
  441. package/transpiled/directives/auth/Delegate.js.map +1 -1
  442. package/transpiled/directives/auth/Echo.d.ts +6 -4
  443. package/transpiled/directives/auth/Echo.js +14 -9
  444. package/transpiled/directives/auth/Echo.js.map +1 -1
  445. package/transpiled/directives/auth/Federation.d.ts +21 -0
  446. package/transpiled/directives/auth/Federation.js +54 -0
  447. package/transpiled/directives/auth/Federation.js.map +1 -0
  448. package/transpiled/directives/auth/Id.d.ts +12 -3
  449. package/transpiled/directives/auth/Id.js +13 -5
  450. package/transpiled/directives/auth/Id.js.map +1 -1
  451. package/transpiled/directives/auth/Incept.d.ts +11 -6
  452. package/transpiled/directives/auth/Incept.js +68 -50
  453. package/transpiled/directives/auth/Incept.js.map +1 -1
  454. package/transpiled/directives/auth/Input.d.ts +15 -0
  455. package/transpiled/directives/auth/Input.js +49 -0
  456. package/transpiled/directives/auth/Input.js.map +1 -0
  457. package/transpiled/directives/auth/Refresh.d.ts +16 -0
  458. package/transpiled/directives/auth/Refresh.js +44 -0
  459. package/transpiled/directives/auth/Refresh.js.map +1 -0
  460. package/transpiled/directives/auth/Role.d.ts +12 -3
  461. package/transpiled/directives/auth/Role.js +28 -16
  462. package/transpiled/directives/auth/Role.js.map +1 -1
  463. package/transpiled/directives/auth/Rule.d.ts +8 -5
  464. package/transpiled/directives/auth/Rule.js +23 -7
  465. package/transpiled/directives/auth/Rule.js.map +1 -1
  466. package/transpiled/directives/auth/Scheme.d.ts +4 -2
  467. package/transpiled/directives/auth/Scheme.js +11 -35
  468. package/transpiled/directives/auth/Scheme.js.map +1 -1
  469. package/transpiled/directives/auth/create.d.ts +2 -0
  470. package/transpiled/directives/auth/create.js +10 -0
  471. package/transpiled/directives/auth/create.js.map +1 -0
  472. package/transpiled/directives/auth/index.d.ts +1 -1
  473. package/transpiled/directives/auth/index.js +2 -5
  474. package/transpiled/directives/auth/index.js.map +1 -1
  475. package/transpiled/directives/auth/schemes.d.ts +26 -3
  476. package/transpiled/directives/auth/schemes.js +32 -8
  477. package/transpiled/directives/auth/schemes.js.map +1 -1
  478. package/transpiled/directives/auth/split.d.ts +1 -1
  479. package/transpiled/directives/auth/split.js +3 -30
  480. package/transpiled/directives/auth/split.js.map +1 -1
  481. package/transpiled/directives/auth/types.d.ts +42 -12
  482. package/transpiled/directives/auth/types.js +1 -2
  483. package/transpiled/directives/cache/Cache.d.ts +17 -6
  484. package/transpiled/directives/cache/Cache.js +56 -15
  485. package/transpiled/directives/cache/Cache.js.map +1 -1
  486. package/transpiled/directives/cache/Control.d.ts +9 -5
  487. package/transpiled/directives/cache/Control.js +27 -32
  488. package/transpiled/directives/cache/Control.js.map +1 -1
  489. package/transpiled/directives/cache/Exact.d.ts +2 -2
  490. package/transpiled/directives/cache/Exact.js +3 -7
  491. package/transpiled/directives/cache/Exact.js.map +1 -1
  492. package/transpiled/directives/cache/etag.d.ts +13 -0
  493. package/transpiled/directives/cache/etag.js +33 -0
  494. package/transpiled/directives/cache/etag.js.map +1 -0
  495. package/transpiled/directives/cache/index.d.ts +1 -1
  496. package/transpiled/directives/cache/index.js +2 -5
  497. package/transpiled/directives/cache/index.js.map +1 -1
  498. package/transpiled/directives/cache/types.d.ts +1 -1
  499. package/transpiled/directives/cache/types.js +1 -2
  500. package/transpiled/directives/censor/Censor.d.ts +10 -0
  501. package/transpiled/directives/censor/Censor.js +15 -0
  502. package/transpiled/directives/censor/Censor.js.map +1 -0
  503. package/transpiled/directives/censor/index.d.ts +2 -0
  504. package/transpiled/directives/censor/index.js +3 -0
  505. package/transpiled/directives/censor/index.js.map +1 -0
  506. package/transpiled/directives/cors/CORS.d.ts +2 -6
  507. package/transpiled/directives/cors/CORS.js +27 -45
  508. package/transpiled/directives/cors/CORS.js.map +1 -1
  509. package/transpiled/directives/cors/index.d.ts +1 -1
  510. package/transpiled/directives/cors/index.js +2 -5
  511. package/transpiled/directives/cors/index.js.map +1 -1
  512. package/transpiled/directives/dev/Development.d.ts +4 -4
  513. package/transpiled/directives/dev/Development.js +19 -15
  514. package/transpiled/directives/dev/Development.js.map +1 -1
  515. package/transpiled/directives/dev/Faulty.d.ts +8 -0
  516. package/transpiled/directives/dev/Faulty.js +18 -0
  517. package/transpiled/directives/dev/Faulty.js.map +1 -0
  518. package/transpiled/directives/dev/Sleep.d.ts +9 -0
  519. package/transpiled/directives/dev/Sleep.js +39 -0
  520. package/transpiled/directives/dev/Sleep.js.map +1 -0
  521. package/transpiled/directives/dev/Stub.d.ts +2 -2
  522. package/transpiled/directives/dev/Stub.js +1 -5
  523. package/transpiled/directives/dev/Stub.js.map +1 -1
  524. package/transpiled/directives/dev/Throw.d.ts +2 -2
  525. package/transpiled/directives/dev/Throw.js +1 -5
  526. package/transpiled/directives/dev/Throw.js.map +1 -1
  527. package/transpiled/directives/dev/index.d.ts +1 -1
  528. package/transpiled/directives/dev/index.js +2 -5
  529. package/transpiled/directives/dev/index.js.map +1 -1
  530. package/transpiled/directives/dev/types.d.ts +2 -2
  531. package/transpiled/directives/dev/types.js +1 -2
  532. package/transpiled/directives/flow/Compose.d.ts +9 -0
  533. package/transpiled/directives/flow/Compose.js +74 -0
  534. package/transpiled/directives/flow/Compose.js.map +1 -0
  535. package/transpiled/directives/flow/Fetch.d.ts +12 -0
  536. package/transpiled/directives/flow/Fetch.js +51 -0
  537. package/transpiled/directives/flow/Fetch.js.map +1 -0
  538. package/transpiled/directives/flow/Flow.d.ts +10 -0
  539. package/transpiled/directives/flow/Flow.js +29 -0
  540. package/transpiled/directives/flow/Flow.js.map +1 -0
  541. package/transpiled/directives/flow/index.d.ts +2 -0
  542. package/transpiled/directives/flow/index.js +3 -0
  543. package/transpiled/directives/flow/index.js.map +1 -0
  544. package/transpiled/directives/flow/types.d.ts +6 -0
  545. package/transpiled/directives/flow/types.js +2 -0
  546. package/transpiled/directives/flow/types.js.map +1 -0
  547. package/transpiled/directives/help/Family.d.ts +26 -0
  548. package/transpiled/directives/help/Family.js +83 -0
  549. package/transpiled/directives/help/Family.js.map +1 -0
  550. package/transpiled/directives/help/Help.d.ts +22 -0
  551. package/transpiled/directives/help/Help.js +36 -0
  552. package/transpiled/directives/help/Help.js.map +1 -0
  553. package/transpiled/directives/help/Parameters.d.ts +18 -0
  554. package/transpiled/directives/help/Parameters.js +34 -0
  555. package/transpiled/directives/help/Parameters.js.map +1 -0
  556. package/transpiled/directives/help/described.d.ts +16 -0
  557. package/transpiled/directives/help/described.js +27 -0
  558. package/transpiled/directives/help/described.js.map +1 -0
  559. package/transpiled/directives/help/index.d.ts +22 -0
  560. package/transpiled/directives/help/index.js +34 -0
  561. package/transpiled/directives/help/index.js.map +1 -0
  562. package/transpiled/directives/index.d.ts +6 -2
  563. package/transpiled/directives/index.js +33 -13
  564. package/transpiled/directives/index.js.map +1 -1
  565. package/transpiled/directives/io/Directive.d.ts +8 -3
  566. package/transpiled/directives/io/Directive.js +1 -2
  567. package/transpiled/directives/io/IO.d.ts +24 -5
  568. package/transpiled/directives/io/IO.js +64 -17
  569. package/transpiled/directives/io/IO.js.map +1 -1
  570. package/transpiled/directives/io/Input.d.ts +5 -4
  571. package/transpiled/directives/io/Input.js +18 -38
  572. package/transpiled/directives/io/Input.js.map +1 -1
  573. package/transpiled/directives/io/Message.js +1 -2
  574. package/transpiled/directives/io/Output.d.ts +12 -6
  575. package/transpiled/directives/io/Output.js +19 -59
  576. package/transpiled/directives/io/Output.js.map +1 -1
  577. package/transpiled/directives/io/Readonly.d.ts +14 -0
  578. package/transpiled/directives/io/Readonly.js +20 -0
  579. package/transpiled/directives/io/Readonly.js.map +1 -0
  580. package/transpiled/directives/io/Status.d.ts +19 -0
  581. package/transpiled/directives/io/Status.js +37 -0
  582. package/transpiled/directives/io/Status.js.map +1 -0
  583. package/transpiled/directives/io/Throttle.d.ts +11 -0
  584. package/transpiled/directives/io/Throttle.js +22 -0
  585. package/transpiled/directives/io/Throttle.js.map +1 -0
  586. package/transpiled/directives/io/index.d.ts +1 -1
  587. package/transpiled/directives/io/index.js +2 -5
  588. package/transpiled/directives/io/index.js.map +1 -1
  589. package/transpiled/directives/io/lib/throttle/Configuration.d.ts +26 -0
  590. package/transpiled/directives/io/lib/throttle/Configuration.js +31 -0
  591. package/transpiled/directives/io/lib/throttle/Configuration.js.map +1 -0
  592. package/transpiled/directives/io/lib/throttle/Keys.d.ts +14 -0
  593. package/transpiled/directives/io/lib/throttle/Keys.js +32 -0
  594. package/transpiled/directives/io/lib/throttle/Keys.js.map +1 -0
  595. package/transpiled/directives/io/lib/throttle/Quotas.d.ts +70 -0
  596. package/transpiled/directives/io/lib/throttle/Quotas.js +142 -0
  597. package/transpiled/directives/io/lib/throttle/Quotas.js.map +1 -0
  598. package/transpiled/directives/io/lib/throttle/Sync.d.ts +29 -0
  599. package/transpiled/directives/io/lib/throttle/Sync.js +70 -0
  600. package/transpiled/directives/io/lib/throttle/Sync.js.map +1 -0
  601. package/transpiled/directives/io/lib/throttle/Warning.d.ts +11 -0
  602. package/transpiled/directives/io/lib/throttle/Warning.js +24 -0
  603. package/transpiled/directives/io/lib/throttle/Warning.js.map +1 -0
  604. package/transpiled/directives/io/lib/throttle/components/Component.d.ts +6 -0
  605. package/transpiled/directives/io/lib/throttle/components/Component.js +2 -0
  606. package/transpiled/directives/io/lib/throttle/components/Component.js.map +1 -0
  607. package/transpiled/directives/io/lib/throttle/components/IP.d.ts +14 -0
  608. package/transpiled/directives/io/lib/throttle/components/IP.js +24 -0
  609. package/transpiled/directives/io/lib/throttle/components/IP.js.map +1 -0
  610. package/transpiled/directives/io/lib/throttle/components/Identity.d.ts +11 -0
  611. package/transpiled/directives/io/lib/throttle/components/Identity.js +12 -0
  612. package/transpiled/directives/io/lib/throttle/components/Identity.js.map +1 -0
  613. package/transpiled/directives/io/lib/throttle/components/Path.d.ts +5 -0
  614. package/transpiled/directives/io/lib/throttle/components/Path.js +6 -0
  615. package/transpiled/directives/io/lib/throttle/components/Path.js.map +1 -0
  616. package/transpiled/directives/io/lib/throttle/components/Route.d.ts +12 -0
  617. package/transpiled/directives/io/lib/throttle/components/Route.js +16 -0
  618. package/transpiled/directives/io/lib/throttle/components/Route.js.map +1 -0
  619. package/transpiled/directives/io/lib/throttle/components/Segment.d.ts +9 -0
  620. package/transpiled/directives/io/lib/throttle/components/Segment.js +13 -0
  621. package/transpiled/directives/io/lib/throttle/components/Segment.js.map +1 -0
  622. package/transpiled/directives/io/lib/throttle/components/index.d.ts +5 -0
  623. package/transpiled/directives/io/lib/throttle/components/index.js +13 -0
  624. package/transpiled/directives/io/lib/throttle/components/index.js.map +1 -0
  625. package/transpiled/directives/io/lib/throttle/conditions/Condition.d.ts +4 -0
  626. package/transpiled/directives/io/lib/throttle/conditions/Condition.js +2 -0
  627. package/transpiled/directives/io/lib/throttle/conditions/Condition.js.map +1 -0
  628. package/transpiled/directives/io/lib/throttle/conditions/Status.d.ts +7 -0
  629. package/transpiled/directives/io/lib/throttle/conditions/Status.js +12 -0
  630. package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -0
  631. package/transpiled/directives/io/lib/throttle/conditions/index.d.ts +5 -0
  632. package/transpiled/directives/io/lib/throttle/conditions/index.js +5 -0
  633. package/transpiled/directives/io/lib/throttle/conditions/index.js.map +1 -0
  634. package/transpiled/directives/io/lib/throttle/index.d.ts +4 -0
  635. package/transpiled/directives/io/lib/throttle/index.js +5 -0
  636. package/transpiled/directives/io/lib/throttle/index.js.map +1 -0
  637. package/transpiled/directives/io/schemas.d.ts +6 -4
  638. package/transpiled/directives/io/schemas.js +8 -13
  639. package/transpiled/directives/io/schemas.js.map +1 -1
  640. package/transpiled/directives/map/Authority.d.ts +6 -0
  641. package/transpiled/directives/map/Authority.js +12 -0
  642. package/transpiled/directives/map/Authority.js.map +1 -0
  643. package/transpiled/directives/map/Buffer.d.ts +6 -0
  644. package/transpiled/directives/map/Buffer.js +12 -0
  645. package/transpiled/directives/map/Buffer.js.map +1 -0
  646. package/transpiled/directives/map/Claims.d.ts +10 -0
  647. package/transpiled/directives/map/Claims.js +38 -0
  648. package/transpiled/directives/map/Claims.js.map +1 -0
  649. package/transpiled/directives/map/Client.d.ts +21 -0
  650. package/transpiled/directives/map/Client.js +33 -0
  651. package/transpiled/directives/map/Client.js.map +1 -0
  652. package/transpiled/directives/map/Directive.d.ts +3 -0
  653. package/transpiled/directives/map/Directive.js +2 -0
  654. package/transpiled/directives/map/Directive.js.map +1 -0
  655. package/transpiled/directives/map/Headers.d.ts +15 -0
  656. package/transpiled/directives/map/Headers.js +41 -0
  657. package/transpiled/directives/map/Headers.js.map +1 -0
  658. package/transpiled/directives/map/Instance.d.ts +15 -0
  659. package/transpiled/directives/map/Instance.js +27 -0
  660. package/transpiled/directives/map/Instance.js.map +1 -0
  661. package/transpiled/directives/map/Language.d.ts +10 -0
  662. package/transpiled/directives/map/Language.js +29 -0
  663. package/transpiled/directives/map/Language.js.map +1 -0
  664. package/transpiled/directives/map/Languages.d.ts +4 -0
  665. package/transpiled/directives/map/Languages.js +11 -0
  666. package/transpiled/directives/map/Languages.js.map +1 -0
  667. package/transpiled/directives/map/Map.d.ts +15 -0
  668. package/transpiled/directives/map/Map.js +72 -0
  669. package/transpiled/directives/map/Map.js.map +1 -0
  670. package/transpiled/directives/map/Mapping.d.ts +26 -0
  671. package/transpiled/directives/map/Mapping.js +29 -0
  672. package/transpiled/directives/map/Mapping.js.map +1 -0
  673. package/transpiled/directives/map/Properties.d.ts +9 -0
  674. package/transpiled/directives/map/Properties.js +10 -0
  675. package/transpiled/directives/map/Properties.js.map +1 -0
  676. package/transpiled/directives/map/Segments.d.ts +9 -0
  677. package/transpiled/directives/map/Segments.js +34 -0
  678. package/transpiled/directives/map/Segments.js.map +1 -0
  679. package/transpiled/directives/map/Stream.d.ts +30 -0
  680. package/transpiled/directives/map/Stream.js +91 -0
  681. package/transpiled/directives/map/Stream.js.map +1 -0
  682. package/transpiled/directives/map/index.d.ts +2 -0
  683. package/transpiled/directives/map/index.js +3 -0
  684. package/transpiled/directives/map/index.js.map +1 -0
  685. package/transpiled/directives/mcp/MCP.d.ts +17 -0
  686. package/transpiled/directives/mcp/MCP.js +25 -0
  687. package/transpiled/directives/mcp/MCP.js.map +1 -0
  688. package/transpiled/directives/mcp/Tool.d.ts +12 -0
  689. package/transpiled/directives/mcp/Tool.js +24 -0
  690. package/transpiled/directives/mcp/Tool.js.map +1 -0
  691. package/transpiled/directives/mcp/index.d.ts +4 -0
  692. package/transpiled/directives/mcp/index.js +4 -0
  693. package/transpiled/directives/mcp/index.js.map +1 -0
  694. package/transpiled/directives/oauth/Discovery.d.ts +25 -0
  695. package/transpiled/directives/oauth/Discovery.js +69 -0
  696. package/transpiled/directives/oauth/Discovery.js.map +1 -0
  697. package/transpiled/directives/oauth/documents.d.ts +16 -0
  698. package/transpiled/directives/oauth/documents.js +101 -0
  699. package/transpiled/directives/oauth/documents.js.map +1 -0
  700. package/transpiled/directives/oauth/index.d.ts +2 -0
  701. package/transpiled/directives/oauth/index.js +3 -0
  702. package/transpiled/directives/oauth/index.js.map +1 -0
  703. package/transpiled/directives/octets/Context.d.ts +2 -2
  704. package/transpiled/directives/octets/Context.js +4 -31
  705. package/transpiled/directives/octets/Context.js.map +1 -1
  706. package/transpiled/directives/octets/Delete.d.ts +11 -6
  707. package/transpiled/directives/octets/Delete.js +46 -53
  708. package/transpiled/directives/octets/Delete.js.map +1 -1
  709. package/transpiled/directives/octets/Directive.d.ts +9 -3
  710. package/transpiled/directives/octets/Directive.js +1 -5
  711. package/transpiled/directives/octets/Directive.js.map +1 -1
  712. package/transpiled/directives/octets/Get.d.ts +17 -0
  713. package/transpiled/directives/octets/Get.js +69 -0
  714. package/transpiled/directives/octets/Get.js.map +1 -0
  715. package/transpiled/directives/octets/Octets.d.ts +9 -6
  716. package/transpiled/directives/octets/Octets.js +27 -26
  717. package/transpiled/directives/octets/Octets.js.map +1 -1
  718. package/transpiled/directives/octets/Put.d.ts +33 -0
  719. package/transpiled/directives/octets/Put.js +81 -0
  720. package/transpiled/directives/octets/Put.js.map +1 -0
  721. package/transpiled/directives/octets/Workflow.d.ts +6 -6
  722. package/transpiled/directives/octets/Workflow.js +14 -36
  723. package/transpiled/directives/octets/Workflow.js.map +1 -1
  724. package/transpiled/directives/octets/bytes.d.ts +1 -0
  725. package/transpiled/directives/octets/bytes.js +14 -0
  726. package/transpiled/directives/octets/bytes.js.map +1 -0
  727. package/transpiled/directives/octets/index.d.ts +1 -1
  728. package/transpiled/directives/octets/index.js +2 -5
  729. package/transpiled/directives/octets/index.js.map +1 -1
  730. package/transpiled/directives/octets/schemas.d.ts +6 -10
  731. package/transpiled/directives/octets/schemas.js +8 -17
  732. package/transpiled/directives/octets/schemas.js.map +1 -1
  733. package/transpiled/directives/octets/types.d.ts +3 -1
  734. package/transpiled/directives/octets/types.js +1 -2
  735. package/transpiled/directives/octets/workflows/Execution.d.ts +22 -4
  736. package/transpiled/directives/octets/workflows/Execution.js +69 -15
  737. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  738. package/transpiled/directives/octets/workflows/Workflow.d.ts +10 -5
  739. package/transpiled/directives/octets/workflows/Workflow.js +16 -14
  740. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  741. package/transpiled/directives/octets/workflows/index.d.ts +2 -1
  742. package/transpiled/directives/octets/workflows/index.js +1 -5
  743. package/transpiled/directives/octets/workflows/index.js.map +1 -1
  744. package/transpiled/directives/realtime/Hub.d.ts +45 -0
  745. package/transpiled/directives/realtime/Hub.js +221 -0
  746. package/transpiled/directives/realtime/Hub.js.map +1 -0
  747. package/transpiled/directives/realtime/Realtime.d.ts +25 -0
  748. package/transpiled/directives/realtime/Realtime.js +50 -0
  749. package/transpiled/directives/realtime/Realtime.js.map +1 -0
  750. package/transpiled/directives/realtime/Stream.d.ts +38 -0
  751. package/transpiled/directives/realtime/Stream.js +89 -0
  752. package/transpiled/directives/realtime/Stream.js.map +1 -0
  753. package/transpiled/directives/realtime/index.d.ts +2 -0
  754. package/transpiled/directives/realtime/index.js +3 -0
  755. package/transpiled/directives/realtime/index.js.map +1 -0
  756. package/transpiled/directives/realtime/measurements.d.ts +1 -0
  757. package/transpiled/directives/realtime/measurements.js +11 -0
  758. package/transpiled/directives/realtime/measurements.js.map +1 -0
  759. package/transpiled/directives/require/Directive.d.ts +2 -2
  760. package/transpiled/directives/require/Directive.js +1 -2
  761. package/transpiled/directives/require/Headers.d.ts +3 -3
  762. package/transpiled/directives/require/Headers.js +4 -8
  763. package/transpiled/directives/require/Headers.js.map +1 -1
  764. package/transpiled/directives/require/Require.d.ts +4 -4
  765. package/transpiled/directives/require/Require.js +8 -15
  766. package/transpiled/directives/require/Require.js.map +1 -1
  767. package/transpiled/directives/require/index.d.ts +1 -1
  768. package/transpiled/directives/require/index.js +2 -5
  769. package/transpiled/directives/require/index.js.map +1 -1
  770. package/transpiled/discovery.js +1 -2
  771. package/transpiled/exceptions.d.ts +1 -1
  772. package/transpiled/exceptions.js +31 -34
  773. package/transpiled/exceptions.js.map +1 -1
  774. package/transpiled/index.d.ts +5 -5
  775. package/transpiled/index.js +2 -11
  776. package/transpiled/index.js.map +1 -1
  777. package/transpiled/io.d.ts +1 -1
  778. package/transpiled/io.js +1 -2
  779. package/transpiled/measurements.d.ts +22 -0
  780. package/transpiled/measurements.js +37 -0
  781. package/transpiled/measurements.js.map +1 -0
  782. package/transpiled/realtime/Destination.d.ts +44 -0
  783. package/transpiled/realtime/Destination.js +128 -0
  784. package/transpiled/realtime/Destination.js.map +1 -0
  785. package/transpiled/realtime/Factory.d.ts +11 -0
  786. package/transpiled/realtime/Factory.js +15 -0
  787. package/transpiled/realtime/Factory.js.map +1 -0
  788. package/transpiled/realtime/measurements.d.ts +1 -0
  789. package/transpiled/realtime/measurements.js +11 -0
  790. package/transpiled/realtime/measurements.js.map +1 -0
  791. package/transpiled/realtime/redis.d.ts +36 -0
  792. package/transpiled/realtime/redis.js +83 -0
  793. package/transpiled/realtime/redis.js.map +1 -0
  794. package/transpiled/root.d.ts +1 -1
  795. package/transpiled/root.js +62 -10
  796. package/transpiled/root.js.map +1 -1
  797. package/transpiled/service.d.ts +7 -0
  798. package/transpiled/service.js +122 -0
  799. package/transpiled/service.js.map +1 -0
  800. package/transpiled/userland.d.ts +39 -0
  801. package/transpiled/userland.js +7 -0
  802. package/transpiled/userland.js.map +1 -0
  803. package/ui/dist/_app/env.js +1 -0
  804. package/ui/dist/_app/immutable/assets/0.DKJjMwRs.css +2 -0
  805. package/ui/dist/_app/immutable/assets/2.BghF56l_.css +1 -0
  806. package/ui/dist/_app/immutable/assets/ui.DWW-43mU.css +1 -0
  807. package/ui/dist/_app/immutable/chunks/-39mDws-.js +1 -0
  808. package/ui/dist/_app/immutable/chunks/1WXXcBlU.js +90 -0
  809. package/ui/dist/_app/immutable/chunks/BjwH--Q_.js +1 -0
  810. package/ui/dist/_app/immutable/chunks/Bjy-W4x2.js +81 -0
  811. package/ui/dist/_app/immutable/chunks/Bt6Kyh95.js +2 -0
  812. package/ui/dist/_app/immutable/chunks/C3gnuDhG.js +3 -0
  813. package/ui/dist/_app/immutable/chunks/CRzLMJPS.js +1 -0
  814. package/ui/dist/_app/immutable/chunks/DYI4yOrv.js +6 -0
  815. package/ui/dist/_app/immutable/chunks/XKyaHtl9.js +1 -0
  816. package/ui/dist/_app/immutable/entry/app.C3gvpmYY.js +2 -0
  817. package/ui/dist/_app/immutable/entry/payload.DSmR2FwN.js +1 -0
  818. package/ui/dist/_app/immutable/entry/start.BzTqgs51.js +2 -0
  819. package/ui/dist/_app/immutable/nodes/0.BufbmJeT.js +1 -0
  820. package/ui/dist/_app/immutable/nodes/1.Dn_85faQ.js +1 -0
  821. package/ui/dist/_app/immutable/nodes/2.DCLYeX2U.js +8 -0
  822. package/ui/dist/_app/immutable/nodes/3.aoe4R-SX.js +1 -0
  823. package/ui/dist/_app/immutable/nodes/4.B0CiB3ml.js +1 -0
  824. package/ui/dist/_app/immutable/nodes/5.BUrdbysb.js +1 -0
  825. package/ui/dist/_app/immutable/nodes/6.yNbGQqYT.js +1 -0
  826. package/ui/dist/_app/version.json +1 -0
  827. package/ui/dist/apple-touch-icon.png +0 -0
  828. package/ui/dist/favicon-96x96.png +0 -0
  829. package/ui/dist/favicon.ico +0 -0
  830. package/ui/dist/index.html +69 -0
  831. package/components/context.toa.yaml +0 -27
  832. package/components/identity.bans/operations/transit.d.ts +0 -14
  833. package/components/identity.bans/operations/transit.js.map +0 -1
  834. package/components/identity.bans/operations/tsconfig.tsbuildinfo +0 -1
  835. package/components/identity.basic/operations/authenticate.d.ts +0 -13
  836. package/components/identity.basic/operations/authenticate.js.map +0 -1
  837. package/components/identity.basic/operations/incept.d.ts +0 -12
  838. package/components/identity.basic/operations/incept.js.map +0 -1
  839. package/components/identity.basic/operations/transit.d.ts +0 -12
  840. package/components/identity.basic/operations/transit.js.map +0 -1
  841. package/components/identity.basic/operations/tsconfig.tsbuildinfo +0 -1
  842. package/components/identity.basic/operations/types.d.ts +0 -40
  843. package/components/identity.basic/operations/types.js +0 -3
  844. package/components/identity.basic/operations/types.js.map +0 -1
  845. package/components/identity.basic/source/types.ts +0 -44
  846. package/components/identity.federation/operations/authenticate.d.ts +0 -3
  847. package/components/identity.federation/operations/authenticate.js.map +0 -1
  848. package/components/identity.federation/operations/incept.d.ts +0 -11
  849. package/components/identity.federation/operations/incept.js.map +0 -1
  850. package/components/identity.federation/operations/lib/assertions-as-values.d.ts +0 -4
  851. package/components/identity.federation/operations/lib/assertions-as-values.js +0 -45
  852. package/components/identity.federation/operations/lib/assertions-as-values.js.map +0 -1
  853. package/components/identity.federation/operations/lib/jwt.d.ts +0 -19
  854. package/components/identity.federation/operations/lib/jwt.js +0 -136
  855. package/components/identity.federation/operations/lib/jwt.js.map +0 -1
  856. package/components/identity.federation/operations/tsconfig.tsbuildinfo +0 -1
  857. package/components/identity.federation/operations/types/configuration.d.ts +0 -15
  858. package/components/identity.federation/operations/types/configuration.js.map +0 -1
  859. package/components/identity.federation/operations/types/context.d.ts +0 -56
  860. package/components/identity.federation/operations/types/context.js.map +0 -1
  861. package/components/identity.federation/operations/types/entity.d.ts +0 -6
  862. package/components/identity.federation/operations/types/entity.js.map +0 -1
  863. package/components/identity.federation/operations/types/index.d.ts +0 -3
  864. package/components/identity.federation/operations/types/index.js.map +0 -1
  865. package/components/identity.federation/source/lib/assertions-as-values.ts +0 -19
  866. package/components/identity.federation/source/lib/jwt.test.ts +0 -56
  867. package/components/identity.federation/source/lib/jwt.ts +0 -170
  868. package/components/identity.roles/operations/grant.d.ts +0 -10
  869. package/components/identity.roles/operations/grant.js.map +0 -1
  870. package/components/identity.roles/operations/lib/Entity.d.ts +0 -5
  871. package/components/identity.roles/operations/lib/Entity.js.map +0 -1
  872. package/components/identity.roles/operations/list.d.ts +0 -2
  873. package/components/identity.roles/operations/list.js.map +0 -1
  874. package/components/identity.roles/operations/principal.d.ts +0 -13
  875. package/components/identity.roles/operations/principal.js.map +0 -1
  876. package/components/identity.roles/operations/tsconfig.tsbuildinfo +0 -1
  877. package/components/identity.tokens/operations/authenticate.d.ts +0 -9
  878. package/components/identity.tokens/operations/authenticate.js.map +0 -1
  879. package/components/identity.tokens/operations/decrypt.d.ts +0 -3
  880. package/components/identity.tokens/operations/decrypt.js.map +0 -1
  881. package/components/identity.tokens/operations/encrypt.d.ts +0 -8
  882. package/components/identity.tokens/operations/encrypt.js.map +0 -1
  883. package/components/identity.tokens/operations/revoke.d.ts +0 -2
  884. package/components/identity.tokens/operations/revoke.js.map +0 -1
  885. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +0 -1
  886. package/components/identity.tokens/operations/types.d.ts +0 -46
  887. package/components/identity.tokens/operations/types.js +0 -3
  888. package/components/identity.tokens/operations/types.js.map +0 -1
  889. package/components/identity.tokens/source/authenticate.test.ts +0 -63
  890. package/components/identity.tokens/source/decrypt.test.ts +0 -61
  891. package/components/identity.tokens/source/encrypt.test.ts +0 -59
  892. package/components/identity.tokens/source/types.ts +0 -55
  893. package/components/octets.storage/manifest.toa.yaml +0 -21
  894. package/components/octets.storage/operations/delete.js +0 -7
  895. package/components/octets.storage/operations/fetch.js +0 -46
  896. package/components/octets.storage/operations/get.js +0 -7
  897. package/components/octets.storage/operations/list.js +0 -7
  898. package/components/octets.storage/operations/store.js +0 -11
  899. package/cucumber.js +0 -7
  900. package/documentation/.assets/ia3-dark.jpg +0 -0
  901. package/documentation/.assets/ia3-light.jpg +0 -0
  902. package/documentation/.assets/overview-dark.jpg +0 -0
  903. package/documentation/.assets/overview-light.jpg +0 -0
  904. package/documentation/.assets/role-scopes-dark.jpg +0 -0
  905. package/documentation/.assets/role-scopes-light.jpg +0 -0
  906. package/documentation/.assets/rtd-dark.jpg +0 -0
  907. package/documentation/.assets/rtd-light.jpg +0 -0
  908. package/documentation/access.md +0 -266
  909. package/documentation/authorities.md +0 -53
  910. package/documentation/cache.md +0 -49
  911. package/documentation/components.md +0 -331
  912. package/documentation/identity.md +0 -158
  913. package/documentation/io.md +0 -56
  914. package/documentation/notes/sse.md +0 -71
  915. package/documentation/octets.md +0 -261
  916. package/documentation/protocol.md +0 -85
  917. package/documentation/query.md +0 -275
  918. package/documentation/require.md +0 -15
  919. package/documentation/tree.md +0 -183
  920. package/documentation/vary.md +0 -69
  921. package/entity.json +0 -0
  922. package/features/access.feature +0 -476
  923. package/features/annotation.feature +0 -32
  924. package/features/authorities.basic.feature +0 -141
  925. package/features/authorities.feature +0 -32
  926. package/features/authorities.federation.feature +0 -99
  927. package/features/authorities.tokens.feature +0 -118
  928. package/features/body.feature +0 -49
  929. package/features/cache.feature +0 -233
  930. package/features/cors.feature +0 -76
  931. package/features/debug.feature +0 -34
  932. package/features/directives.feature +0 -61
  933. package/features/dynamic.feature +0 -110
  934. package/features/errors.feature +0 -225
  935. package/features/etag.feature +0 -103
  936. package/features/identity.bans.feature +0 -137
  937. package/features/identity.basic.feature +0 -401
  938. package/features/identity.feature +0 -82
  939. package/features/identity.federation.feature +0 -208
  940. package/features/identity.roles.feature +0 -267
  941. package/features/identity.tokens.feature +0 -229
  942. package/features/io.feature +0 -205
  943. package/features/octets.entries.feature +0 -131
  944. package/features/octets.feature +0 -265
  945. package/features/octets.meta.feature +0 -69
  946. package/features/octets.workflows.feature +0 -300
  947. package/features/probes.feature +0 -14
  948. package/features/query.feature +0 -261
  949. package/features/require.feature +0 -67
  950. package/features/response.feature +0 -74
  951. package/features/routes.feature +0 -139
  952. package/features/steps/Captures.ts +0 -6
  953. package/features/steps/Common.ts +0 -10
  954. package/features/steps/Components.ts +0 -55
  955. package/features/steps/Database.ts +0 -65
  956. package/features/steps/Gateway.ts +0 -132
  957. package/features/steps/HTTP.ts +0 -74
  958. package/features/steps/IdP.ts +0 -154
  959. package/features/steps/Parameters.ts +0 -21
  960. package/features/steps/Workspace.ts +0 -41
  961. package/features/steps/components/echo/manifest.toa.yaml +0 -14
  962. package/features/steps/components/echo/operations/affect.js +0 -7
  963. package/features/steps/components/echo/operations/compute.js +0 -7
  964. package/features/steps/components/echo/operations/error.js +0 -11
  965. package/features/steps/components/echo/operations/identity.js +0 -7
  966. package/features/steps/components/greeter/manifest.toa.yaml +0 -6
  967. package/features/steps/components/greeter/operations/greet.js +0 -7
  968. package/features/steps/components/octets.tester/manifest.toa.yaml +0 -19
  969. package/features/steps/components/octets.tester/operations/bar.js +0 -12
  970. package/features/steps/components/octets.tester/operations/baz.js +0 -11
  971. package/features/steps/components/octets.tester/operations/concat.js +0 -7
  972. package/features/steps/components/octets.tester/operations/diversify.js +0 -14
  973. package/features/steps/components/octets.tester/operations/echo.js +0 -7
  974. package/features/steps/components/octets.tester/operations/err.js +0 -16
  975. package/features/steps/components/octets.tester/operations/foo.js +0 -7
  976. package/features/steps/components/octets.tester/operations/lenna.png +0 -0
  977. package/features/steps/components/pots/manifest.toa.yaml +0 -29
  978. package/features/steps/components/sequences/manifest.toa.yaml +0 -11
  979. package/features/steps/components/sequences/operations/numbers.js +0 -7
  980. package/features/steps/components/sequences/operations/tokens.js +0 -16
  981. package/features/steps/components/users/manifest.toa.yaml +0 -14
  982. package/features/steps/components/users.properties/manifest.toa.yaml +0 -14
  983. package/features/steps/tsconfig.json +0 -9
  984. package/features/streams.feature +0 -31
  985. package/features/timing.feature +0 -69
  986. package/features/vary.feature +0 -252
  987. package/schemas/annotation.cos.yaml +0 -6
  988. package/schemas/directive.cos.yaml +0 -3
  989. package/schemas/method.cos.yaml +0 -8
  990. package/schemas/node.cos.yaml +0 -5
  991. package/schemas/octets/context.cos.yaml +0 -1
  992. package/schemas/octets/fetch.cos.yaml +0 -3
  993. package/schemas/octets/list.cos.yaml +0 -2
  994. package/schemas/octets/permute.cos.yaml +0 -1
  995. package/schemas/octets/store.cos.yaml +0 -3
  996. package/schemas/query.cos.yaml +0 -17
  997. package/schemas/querystring.cos.yaml +0 -6
  998. package/schemas/range.cos.yaml +0 -2
  999. package/schemas/route.cos.yaml +0 -2
  1000. package/source/Annotation.ts +0 -8
  1001. package/source/Branch.ts +0 -8
  1002. package/source/Composition.ts +0 -57
  1003. package/source/Context.ts +0 -8
  1004. package/source/Directive.test.ts +0 -97
  1005. package/source/Directive.ts +0 -96
  1006. package/source/Endpoint.ts +0 -108
  1007. package/source/Factory.ts +0 -60
  1008. package/source/Gateway.ts +0 -97
  1009. package/source/HTTP/Context.ts +0 -89
  1010. package/source/HTTP/Server.ts +0 -171
  1011. package/source/HTTP/Timing.ts +0 -40
  1012. package/source/HTTP/exceptions.ts +0 -73
  1013. package/source/HTTP/formats/index.ts +0 -22
  1014. package/source/HTTP/formats/json.ts +0 -16
  1015. package/source/HTTP/formats/msgpack.ts +0 -16
  1016. package/source/HTTP/formats/text.ts +0 -12
  1017. package/source/HTTP/formats/yaml.ts +0 -17
  1018. package/source/HTTP/index.ts +0 -4
  1019. package/source/HTTP/messages.test.ts +0 -89
  1020. package/source/HTTP/messages.ts +0 -110
  1021. package/source/Interception.ts +0 -24
  1022. package/source/Mapping.ts +0 -55
  1023. package/source/Query.test.ts +0 -37
  1024. package/source/Query.ts +0 -116
  1025. package/source/RTD/Context.ts +0 -13
  1026. package/source/RTD/Directives.ts +0 -33
  1027. package/source/RTD/Endpoint.ts +0 -13
  1028. package/source/RTD/Match.ts +0 -11
  1029. package/source/RTD/Method.ts +0 -18
  1030. package/source/RTD/Node.ts +0 -84
  1031. package/source/RTD/Route.ts +0 -59
  1032. package/source/RTD/Tree.ts +0 -58
  1033. package/source/RTD/factory.ts +0 -44
  1034. package/source/RTD/index.ts +0 -8
  1035. package/source/RTD/segment.test.ts +0 -32
  1036. package/source/RTD/segment.ts +0 -26
  1037. package/source/RTD/syntax/index.ts +0 -2
  1038. package/source/RTD/syntax/parse.test.ts +0 -188
  1039. package/source/RTD/syntax/parse.ts +0 -154
  1040. package/source/RTD/syntax/types.ts +0 -48
  1041. package/source/Remotes.test.ts +0 -42
  1042. package/source/Remotes.ts +0 -30
  1043. package/source/Tenant.ts +0 -35
  1044. package/source/deployment.ts +0 -64
  1045. package/source/directives/auth/Anonymous.ts +0 -15
  1046. package/source/directives/auth/Authorization.ts +0 -157
  1047. package/source/directives/auth/Delegate.ts +0 -35
  1048. package/source/directives/auth/Echo.ts +0 -12
  1049. package/source/directives/auth/Id.ts +0 -19
  1050. package/source/directives/auth/Incept.ts +0 -48
  1051. package/source/directives/auth/Role.test.ts +0 -109
  1052. package/source/directives/auth/Role.ts +0 -66
  1053. package/source/directives/auth/Rule.ts +0 -28
  1054. package/source/directives/auth/Scheme.ts +0 -26
  1055. package/source/directives/auth/index.ts +0 -3
  1056. package/source/directives/auth/schemes.ts +0 -9
  1057. package/source/directives/auth/split.ts +0 -15
  1058. package/source/directives/auth/types.ts +0 -40
  1059. package/source/directives/cache/Cache.ts +0 -35
  1060. package/source/directives/cache/Control.ts +0 -85
  1061. package/source/directives/cache/Exact.ts +0 -7
  1062. package/source/directives/cache/index.ts +0 -3
  1063. package/source/directives/cache/types.ts +0 -9
  1064. package/source/directives/cors/CORS.ts +0 -62
  1065. package/source/directives/cors/index.ts +0 -3
  1066. package/source/directives/dev/Development.ts +0 -35
  1067. package/source/directives/dev/Stub.ts +0 -14
  1068. package/source/directives/dev/Throw.ts +0 -14
  1069. package/source/directives/dev/index.ts +0 -3
  1070. package/source/directives/dev/types.ts +0 -5
  1071. package/source/directives/index.ts +0 -13
  1072. package/source/directives/io/Directive.ts +0 -11
  1073. package/source/directives/io/IO.ts +0 -43
  1074. package/source/directives/io/Input.ts +0 -50
  1075. package/source/directives/io/Message.ts +0 -1
  1076. package/source/directives/io/Output.ts +0 -69
  1077. package/source/directives/io/index.ts +0 -3
  1078. package/source/directives/io/schemas.ts +0 -12
  1079. package/source/directives/octets/Context.ts +0 -19
  1080. package/source/directives/octets/Delete.ts +0 -85
  1081. package/source/directives/octets/Directive.ts +0 -10
  1082. package/source/directives/octets/Fetch.ts +0 -100
  1083. package/source/directives/octets/List.ts +0 -72
  1084. package/source/directives/octets/Octets.ts +0 -71
  1085. package/source/directives/octets/Store.ts +0 -126
  1086. package/source/directives/octets/Workflow.ts +0 -48
  1087. package/source/directives/octets/index.ts +0 -3
  1088. package/source/directives/octets/schemas.test.ts +0 -21
  1089. package/source/directives/octets/schemas.ts +0 -19
  1090. package/source/directives/octets/types.ts +0 -7
  1091. package/source/directives/octets/workflows/Execution.ts +0 -76
  1092. package/source/directives/octets/workflows/Workflow.ts +0 -37
  1093. package/source/directives/octets/workflows/index.ts +0 -1
  1094. package/source/directives/require/Directive.ts +0 -5
  1095. package/source/directives/require/Headers.ts +0 -20
  1096. package/source/directives/require/Require.ts +0 -28
  1097. package/source/directives/require/index.ts +0 -3
  1098. package/source/directives/vary/Directive.ts +0 -7
  1099. package/source/directives/vary/Embed.ts +0 -68
  1100. package/source/directives/vary/Properties.ts +0 -17
  1101. package/source/directives/vary/Vary.ts +0 -50
  1102. package/source/directives/vary/embeddings/Authority.ts +0 -8
  1103. package/source/directives/vary/embeddings/Embedding.ts +0 -7
  1104. package/source/directives/vary/embeddings/Header.ts +0 -32
  1105. package/source/directives/vary/embeddings/Language.ts +0 -31
  1106. package/source/directives/vary/embeddings/Parameter.ts +0 -14
  1107. package/source/directives/vary/embeddings/index.ts +0 -13
  1108. package/source/directives/vary/index.ts +0 -3
  1109. package/source/discovery.ts +0 -1
  1110. package/source/exceptions.ts +0 -28
  1111. package/source/index.test.ts +0 -9
  1112. package/source/index.ts +0 -6
  1113. package/source/io.ts +0 -4
  1114. package/source/manifest.test.ts +0 -51
  1115. package/source/manifest.ts +0 -51
  1116. package/source/root.ts +0 -43
  1117. package/source/schemas.ts +0 -13
  1118. package/transpiled/Annotation.d.ts +0 -8
  1119. package/transpiled/Annotation.js +0 -3
  1120. package/transpiled/Annotation.js.map +0 -1
  1121. package/transpiled/RTD/syntax/parse.d.ts +0 -4
  1122. package/transpiled/RTD/syntax/parse.js +0 -128
  1123. package/transpiled/RTD/syntax/parse.js.map +0 -1
  1124. package/transpiled/RTD/syntax/types.d.ts +0 -41
  1125. package/transpiled/RTD/syntax/types.js +0 -5
  1126. package/transpiled/RTD/syntax/types.js.map +0 -1
  1127. package/transpiled/deployment.d.ts +0 -3
  1128. package/transpiled/deployment.js +0 -79
  1129. package/transpiled/deployment.js.map +0 -1
  1130. package/transpiled/directives/octets/Fetch.d.ts +0 -18
  1131. package/transpiled/directives/octets/Fetch.js +0 -92
  1132. package/transpiled/directives/octets/Fetch.js.map +0 -1
  1133. package/transpiled/directives/octets/List.d.ts +0 -16
  1134. package/transpiled/directives/octets/List.js +0 -74
  1135. package/transpiled/directives/octets/List.js.map +0 -1
  1136. package/transpiled/directives/octets/Store.d.ts +0 -24
  1137. package/transpiled/directives/octets/Store.js +0 -95
  1138. package/transpiled/directives/octets/Store.js.map +0 -1
  1139. package/transpiled/directives/vary/Directive.d.ts +0 -6
  1140. package/transpiled/directives/vary/Directive.js +0 -3
  1141. package/transpiled/directives/vary/Directive.js.map +0 -1
  1142. package/transpiled/directives/vary/Embed.d.ts +0 -11
  1143. package/transpiled/directives/vary/Embed.js +0 -51
  1144. package/transpiled/directives/vary/Embed.js.map +0 -1
  1145. package/transpiled/directives/vary/Properties.d.ts +0 -9
  1146. package/transpiled/directives/vary/Properties.js +0 -16
  1147. package/transpiled/directives/vary/Properties.js.map +0 -1
  1148. package/transpiled/directives/vary/Vary.d.ts +0 -10
  1149. package/transpiled/directives/vary/Vary.js +0 -36
  1150. package/transpiled/directives/vary/Vary.js.map +0 -1
  1151. package/transpiled/directives/vary/embeddings/Authority.d.ts +0 -5
  1152. package/transpiled/directives/vary/embeddings/Authority.js +0 -10
  1153. package/transpiled/directives/vary/embeddings/Authority.js.map +0 -1
  1154. package/transpiled/directives/vary/embeddings/Embedding.d.ts +0 -6
  1155. package/transpiled/directives/vary/embeddings/Embedding.js +0 -3
  1156. package/transpiled/directives/vary/embeddings/Embedding.js.map +0 -1
  1157. package/transpiled/directives/vary/embeddings/Header.d.ts +0 -7
  1158. package/transpiled/directives/vary/embeddings/Header.js +0 -28
  1159. package/transpiled/directives/vary/embeddings/Header.js.map +0 -1
  1160. package/transpiled/directives/vary/embeddings/Language.d.ts +0 -7
  1161. package/transpiled/directives/vary/embeddings/Language.js +0 -28
  1162. package/transpiled/directives/vary/embeddings/Language.js.map +0 -1
  1163. package/transpiled/directives/vary/embeddings/Parameter.d.ts +0 -7
  1164. package/transpiled/directives/vary/embeddings/Parameter.js +0 -14
  1165. package/transpiled/directives/vary/embeddings/Parameter.js.map +0 -1
  1166. package/transpiled/directives/vary/embeddings/index.d.ts +0 -5
  1167. package/transpiled/directives/vary/embeddings/index.js +0 -14
  1168. package/transpiled/directives/vary/embeddings/index.js.map +0 -1
  1169. package/transpiled/directives/vary/index.d.ts +0 -2
  1170. package/transpiled/directives/vary/index.js +0 -6
  1171. package/transpiled/directives/vary/index.js.map +0 -1
  1172. package/transpiled/manifest.d.ts +0 -3
  1173. package/transpiled/manifest.js +0 -66
  1174. package/transpiled/manifest.js.map +0 -1
  1175. package/transpiled/schemas.d.ts +0 -7
  1176. package/transpiled/schemas.js +0 -14
  1177. package/transpiled/schemas.js.map +0 -1
  1178. package/transpiled/tsconfig.tsbuildinfo +0 -1
  1179. package/tsconfig.json +0 -12
@@ -1,70 +1,223 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.read = exports.write = void 0;
4
- const node_stream_1 = require("node:stream");
5
- const consumers_1 = require("node:stream/consumers");
6
- const formats_1 = require("./formats");
7
- const exceptions_1 = require("./exceptions");
8
- function write(context, response, message) {
9
- for (const transform of context.pipelines.response)
10
- transform(message);
1
+ import { readFileSync } from 'node:fs';
2
+ import { Readable } from 'node:stream';
3
+ import { pipeline } from 'node:stream/promises';
4
+ import * as contentType from 'content-type';
5
+ import { console } from 'openspan';
6
+ import { decoders } from './formats/index.js';
7
+ import { BadRequest, NotAcceptable, UnsupportedMediaType } from './exceptions.js';
8
+ import { environment } from '@toa.io/generic';
9
+ import { Encoded } from '@toa.io/core';
10
+ const context = environment.get('TOA_CONTEXT');
11
+ const env = environment.get('TOA_ENV');
12
+ /*
13
+ * What answered, on every reply: the build of the gateway, and the context and environment
14
+ * it was deployed with. Under a name of its own rather than `server`, which a CDN in front
15
+ * takes for itself — Cloudflare pins it to `cloudflare` and refuses to let a rule set it,
16
+ * so a gateway that said it there said it to nobody. A name like `ray`'s, and it survives
17
+ * the same hop `ray` does.
18
+ */
19
+ const exposition = `${JSON.parse(readFileSync(new URL('../../package.json', import.meta.url), 'utf8')).version}` +
20
+ ((context === undefined ? '' : ` ${context}`) + (env === undefined ? '' : `/${env}`));
21
+ /**
22
+ * Applies what the request accumulated in `pipelines.response` — an `io:output` restriction,
23
+ * a `vary` a `map` directive owes. Separate from `write` because a message is not always
24
+ * written: one call of several produces a value the reply is assembled from.
25
+ */
26
+ export async function shape(context, message) {
27
+ for (const transform of context.pipelines.response) {
28
+ const pending = transform(message);
29
+ // the transforms are synchronous as a rule, and awaiting one that is not still makes a promise
30
+ if (pending instanceof Promise)
31
+ await pending;
32
+ }
33
+ }
34
+ export async function write(context, response, message) {
35
+ await shape(context, message);
36
+ if (message?.status !== undefined)
37
+ response.statusCode = message.status;
38
+ response.setHeader('exposition', exposition);
11
39
  message.headers?.forEach((value, key) => response.setHeader(key, value));
12
40
  context.timing.append(response);
13
- if (message.body instanceof node_stream_1.Readable)
41
+ if (response.destroyed) {
42
+ console.warn('Request destroyed prematurely', { path: context.url.pathname });
43
+ // nobody reads it now, and its `error` — a reply stream's idle timeout — would be uncaught
44
+ if (message.body instanceof Readable)
45
+ message.body.destroy();
46
+ return;
47
+ }
48
+ response.on('error', (exception) => console.warn('HTTP response error', { path: context.url.pathname, exception }));
49
+ if (message.body instanceof Readable)
14
50
  stream(message, context, response);
15
51
  else
16
52
  send(message, context, response);
17
53
  }
18
- exports.write = write;
19
- async function read(context) {
20
- const type = context.request.headers['content-type'];
21
- if (type === undefined)
54
+ export async function read(context) {
55
+ const header = context.request.headers['content-type'];
56
+ if (header === undefined)
22
57
  return undefined;
23
- if (!(type in formats_1.formats))
24
- throw new exceptions_1.UnsupportedMediaType();
25
- const format = formats_1.formats[type];
26
- const buf = await context.timing.capture('buffer', (0, consumers_1.buffer)(context.request));
58
+ const { type, parameters } = contentType.parse(header);
59
+ if (!(type in decoders))
60
+ throw new UnsupportedMediaType();
61
+ const format = decoders[type];
62
+ const buf = await context.buffer();
27
63
  try {
28
- return format.decode(buf);
64
+ return format.decode(buf, parameters.charset);
29
65
  }
30
- catch {
31
- throw new exceptions_1.BadRequest();
66
+ catch (error) {
67
+ console.debug('Failed to decode message', {
68
+ path: context.url.pathname,
69
+ error: error?.toString?.()
70
+ });
71
+ throw new BadRequest();
32
72
  }
33
73
  }
34
- exports.read = read;
35
74
  function send(message, context, response) {
36
75
  if (message.body === undefined || message.body === null) {
76
+ // a HEAD reply carries no body but must still report the length a GET would
77
+ // have returned, so a length already set by a directive is left alone
78
+ if (!response.hasHeader('content-length'))
79
+ response.setHeader('content-length', '0');
37
80
  response.end();
38
81
  return;
39
82
  }
40
83
  if (context.encoder === null)
41
- throw new exceptions_1.NotAcceptable();
42
- const buf = context.encoder.encode(message.body);
43
- response
44
- .setHeader('content-type', context.encoder.type)
45
- .appendHeader('vary', 'accept')
46
- .end(buf);
84
+ throw new NotAcceptable();
85
+ const encoded = Encoded.is(message.body);
86
+ const buf = encoded ? message.body.bytes : context.encoder.encode(message.body);
87
+ const type = encoded ? message.body.type : context.encoder.type;
88
+ const validation = message.validate?.(buf);
89
+ if (validation !== undefined) {
90
+ response.setHeader('etag', validation.etag);
91
+ if (validation.held) {
92
+ // nothing of the body has been written yet, so a reply the client holds ends here
93
+ response.statusCode = 304;
94
+ response.end();
95
+ return;
96
+ }
97
+ }
98
+ response.setHeader('content-type', type);
99
+ response.setHeader('content-length', buf.length.toString());
100
+ response.appendHeader('vary', 'accept');
101
+ response.end(buf);
47
102
  }
48
103
  function stream(message, context, response) {
49
104
  const encoded = message.headers !== undefined && message.headers.has('content-type');
50
- if (encoded)
51
- message.body.pipe(response);
52
- else
53
- multipart(message, context, response);
54
- message.body.on('error', (e) => {
55
- console.error(e);
56
- response.end();
105
+ const source = encoded ? message.body : multipart(message, context, response);
106
+ // not awaited: a reply that streams is written long after the request is answered, and a
107
+ // realtime subscription outlives the span the reply was produced in
108
+ //
109
+ // `pipeline` carries an error to every stage and destroys them. `pipe` leaves the stages it
110
+ // built behind, and an `error` on a stream nobody listens to is an uncaught exception.
111
+ pipeline(source, response).catch((exception) => {
112
+ // the client went away, which is how a realtime subscription ends
113
+ if (exception.code === 'ERR_STREAM_PREMATURE_CLOSE')
114
+ return;
115
+ console.warn('Message stream error', { path: context.url.pathname, exception });
57
116
  });
58
117
  }
59
- function multipart(message, context, response) {
118
+ /**
119
+ * Frames an object stream as `multipart/*`: an `ACK` part, the parts themselves, then `FIN`.
120
+ * The body is a `Readable`; `write` reached here by testing it.
121
+ */
122
+ export function multipart(message, context, response) {
60
123
  if (context.encoder === null)
61
- throw new exceptions_1.NotAcceptable();
124
+ throw new NotAcceptable();
62
125
  const encoder = context.encoder;
63
126
  response.setHeader('content-type', `${encoder.multipart}; boundary=${BOUNDARY}`);
64
- message.body
65
- .map((part) => Buffer.concat([CUT, encoder.encode(part), CRLF]))
66
- .on('end', () => response.end(FINALCUT))
67
- .pipe(response);
127
+ return new Framing(message.body, encoder, context);
128
+ }
129
+ /**
130
+ * A part is pulled when the reader takes one, so a slow reader holds the body back.
131
+ *
132
+ * Not a generator under `Readable.from`: that one's `return()` waits behind the `next()` it is
133
+ * suspended in, and a body destroyed with its reply would live on until its next part — a
134
+ * subscription's, until its next heartbeat. Destroyed, this destroys the body at once.
135
+ *
136
+ * Aborted, it ends with `FIN` instead of being cut: the gateway is stopping, and the reader is
137
+ * told the stream is over rather than left to find out.
138
+ *
139
+ * A body that fails ends with `FIN` as well. The parts already written are a prefix of what the
140
+ * body would have yielded, which is what `FIN` promises a reader of a stream anyway, and a reply
141
+ * cut instead reaches the reader as a broken connection — through a proxy, a protocol error
142
+ * that the reader cannot tell from a network failure.
143
+ */
144
+ class Framing extends Readable {
145
+ body;
146
+ parts;
147
+ encoder;
148
+ signal;
149
+ path;
150
+ pulling = false;
151
+ stopping = false;
152
+ finished = false;
153
+ constructor(body, encoder, context) {
154
+ super();
155
+ this.body = body;
156
+ this.encoder = encoder;
157
+ this.signal = context.signal;
158
+ // a request without a URL is one a test made up
159
+ this.path = context.url?.pathname;
160
+ this.parts = body[Symbol.asyncIterator]();
161
+ this.push(Buffer.concat([CUT, CRLF, encoder.encode('ACK'), CRLF, CUT]));
162
+ if (this.signal.aborted)
163
+ this.stop();
164
+ else
165
+ this.signal.addEventListener('abort', this.stop, { once: true });
166
+ }
167
+ _read() {
168
+ if (this.pulling || this.finished)
169
+ return;
170
+ this.pulling = true;
171
+ this.pull().catch((error) => this.destroy(error));
172
+ }
173
+ _destroy(error, callback) {
174
+ this.signal.removeEventListener('abort', this.stop);
175
+ this.body.destroy();
176
+ callback(error);
177
+ }
178
+ async pull() {
179
+ let result;
180
+ try {
181
+ result = await this.parts.next();
182
+ }
183
+ catch (exception) {
184
+ // the body was destroyed by `stop`, and that is not an error of the stream
185
+ if (!this.stopping)
186
+ console.warn('Message stream error', { path: this.path, exception });
187
+ this.finish();
188
+ return;
189
+ }
190
+ finally {
191
+ this.pulling = false;
192
+ }
193
+ if (result.done === true || this.stopping)
194
+ this.finish();
195
+ else
196
+ this.push(Buffer.concat([
197
+ CRLF /* indicates no boundary headers */,
198
+ // a value the component encoded for this reply is written as it is
199
+ Encoded.is(result.value)
200
+ ? result.value.bytes
201
+ : this.encoder.encode(result.value),
202
+ CRLF,
203
+ CUT
204
+ ]));
205
+ }
206
+ stop = () => {
207
+ this.stopping = true;
208
+ this.body.destroy();
209
+ // a pull in flight finishes on its own once the body is gone
210
+ if (!this.pulling)
211
+ this.finish();
212
+ };
213
+ finish() {
214
+ if (this.finished)
215
+ return;
216
+ this.finished = true;
217
+ this.signal.removeEventListener('abort', this.stop);
218
+ this.push(Buffer.concat([CRLF, this.encoder.encode('FIN'), CRLF, FINALCUT]));
219
+ this.push(null);
220
+ }
68
221
  }
69
222
  const BOUNDARY = 'cut';
70
223
  const CUT = Buffer.from(`--${BOUNDARY}\r\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../source/HTTP/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../source/HTTP/messages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { Readable, Writable } from 'node:stream';
2
+ import type { OutgoingHttpHeaders } from 'node:http';
3
+ import type { IncomingHttpHeaders } from 'node:http2';
4
+ /**
5
+ * What Exposition requires of a request. Both `http.IncomingMessage` and
6
+ * `http2.Http2ServerRequest` satisfy it, so the pipeline is written once.
7
+ */
8
+ export interface IncomingMessage extends Readable {
9
+ url: string;
10
+ method: string;
11
+ complete: boolean;
12
+ headers: IncomingHeaders;
13
+ socket: {
14
+ remoteAddress?: string | undefined;
15
+ };
16
+ }
17
+ /**
18
+ * What Exposition requires of a response.
19
+ *
20
+ * `setHeader` and `appendHeader` return `void` because `Http2ServerResponse` returns
21
+ * nothing from them, so neither can be chained.
22
+ */
23
+ export interface ServerResponse extends Writable {
24
+ statusCode: number;
25
+ writableEnded: boolean;
26
+ setHeader: (name: string, value: number | string | string[]) => void;
27
+ appendHeader: (name: string, value: string | string[]) => void;
28
+ hasHeader: (name: string) => boolean;
29
+ getHeader: (name: string) => number | string | string[] | undefined;
30
+ writeHead: (status: number, headers?: OutgoingHttpHeaders) => ServerResponse;
31
+ }
32
+ /**
33
+ * HTTP/2's header map: HTTP/1.1's, plus the pseudo-headers. `:authority` is typed here
34
+ * so the authority can be read without narrowing at every call site.
35
+ */
36
+ export type IncomingHeaders = IncomingHttpHeaders;
37
+ /** `h2c` is cleartext HTTP/2: there is no in-process TLS to negotiate ALPN with. */
38
+ export type Protocol = 'h1' | 'h2c';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/HTTP/types.ts"],"names":[],"mappings":""}
@@ -1,9 +1,14 @@
1
- import type { Input, Output } from './io';
1
+ import type * as http from './HTTP/index.ts';
2
+ import type { Input, Output } from './io.ts';
2
3
  export declare class Interception implements Interceptor {
3
4
  private readonly interceptors;
4
- constructor(interceptors: Interceptor[]);
5
+ constructor(interceptors: Interceptor[], options: http.Options);
5
6
  intercept(input: Input): Promise<Output>;
6
7
  }
7
8
  export interface Interceptor {
8
9
  intercept: (input: Input) => Output | Promise<Output>;
10
+ /** Discards whatever the interceptor accumulated while serving. */
11
+ reset?: () => void;
12
+ /** What the annotation says, for an interceptor that answers from it. */
13
+ mount?: (options: http.Options) => void;
9
14
  }
@@ -1,19 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Interception = void 0;
4
- class Interception {
1
+ export class Interception {
5
2
  interceptors;
6
- constructor(interceptors) {
3
+ constructor(interceptors, options) {
7
4
  this.interceptors = interceptors;
5
+ // interceptors are module singletons, so a second gateway in one process —
6
+ // which is how the features run — would otherwise inherit the first one's state
7
+ for (const interceptor of interceptors) {
8
+ interceptor.reset?.();
9
+ interceptor.mount?.(options);
10
+ }
8
11
  }
9
12
  async intercept(input) {
10
13
  for (const interceptor of this.interceptors) {
11
- const output = await interceptor.intercept(input);
14
+ let output = interceptor.intercept(input);
15
+ // most answer at once, and awaiting a value that is not a promise still makes one
16
+ if (output instanceof Promise)
17
+ output = await output;
12
18
  if (output !== null)
13
19
  return output;
14
20
  }
15
21
  return null;
16
22
  }
17
23
  }
18
- exports.Interception = Interception;
19
24
  //# sourceMappingURL=Interception.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Interception.js","sourceRoot":"","sources":["../source/Interception.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAY;IACN,YAAY,CAAe;IAE5C,YAAoB,YAA2B;QAC7C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAEM,KAAK,CAAC,SAAS,CAAE,KAAY;QAClC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAEjD,IAAI,MAAM,KAAK,IAAI;gBACjB,OAAO,MAAM,CAAA;QACjB,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAjBD,oCAiBC"}
1
+ {"version":3,"file":"Interception.js","sourceRoot":"","sources":["../source/Interception.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,YAAY;IACN,YAAY,CAAe;IAE5C,YAAmB,YAA2B,EAAE,OAAqB;QACnE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAEhC,2EAA2E;QAC3E,gFAAgF;QAChF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAA;YACrB,WAAW,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,KAAY;QACjC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAI,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAEzC,kFAAkF;YAClF,IAAI,MAAM,YAAY,OAAO;gBAAE,MAAM,GAAG,MAAM,MAAM,CAAA;YAEpD,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,MAAM,CAAA;QACpC,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -0,0 +1,103 @@
1
+ import type { Remote } from '@toa.io/core';
2
+ import type { Context } from './HTTP/index.ts';
3
+ export interface Introspection {
4
+ /**
5
+ * What the route states this method is. The operation states what it is too, and that is
6
+ * not this: an operation is written without knowledge of any route, and a method is an
7
+ * operation and a route together — the same operation mounted twice is two methods, and
8
+ * one sentence cannot be true of both. The operation's own is for the Introspection.
9
+ */
10
+ description?: string;
11
+ /** what a person is shown where a client lists this method, which a name is not */
12
+ title?: string;
13
+ /**
14
+ * whether reaching it takes nothing at all — `auth:anonymous`. Said rather than left
15
+ * unsaid, because it is also what refuses a caller presenting a credential: a client
16
+ * cannot know that from an answer that says nothing.
17
+ */
18
+ anonymous?: boolean;
19
+ /** whether reaching it takes being someone, whoever — `auth:anyone` and its like */
20
+ authenticated?: boolean;
21
+ /** whether reaching it is being the identity it is about — `auth:id` */
22
+ private?: boolean;
23
+ /** whether reaching it takes a role — `auth:role` */
24
+ protected?: boolean;
25
+ /** and whether that role is one of the `system` scope */
26
+ system?: boolean;
27
+ /**
28
+ * Whether making this call twice changes state once — the operation declares
29
+ * [`once`](/documentation/inbox.md). What it means for a client is that a retry it is not
30
+ * sure about is safe to make, under an `idempotency-key` it repeats.
31
+ *
32
+ * Read off the operation rather than off the route: it is the operation that records the
33
+ * call, and the same one mounted twice is as safe under either.
34
+ */
35
+ once?: boolean;
36
+ /**
37
+ * Whether the call this method makes may only read — [`io:readonly`](io.md#readonly). Said only
38
+ * where a route states it: absent, the method says it, and `GET` and `HEAD` are the safe ones.
39
+ */
40
+ readonly?: boolean;
41
+ /** whether the route publishes this method to a model — [`mcp:tool`](mcp.md) */
42
+ mcp?: boolean;
43
+ route?: Record<string, Schema>;
44
+ query?: Record<string, Schema>;
45
+ /**
46
+ * What picks the records a call is about — `criteria`, `sort`, `limit`, `omit`, `search`.
47
+ * Not the parameters the resource declares: those are `query`. Absent where the method
48
+ * is not queryable.
49
+ */
50
+ selection?: Record<string, Schema>;
51
+ /** what the body is, where it is a file rather than a value — [`octets:put`](octets.md) */
52
+ octets?: Octets;
53
+ input?: Schema;
54
+ output?: Schema;
55
+ errors?: string[];
56
+ }
57
+ /** What sending a file to a resource takes, which is not something a schema states. */
58
+ export interface Octets {
59
+ /** what may be sent, in the syntax of an `accept` header; anything where unstated */
60
+ accept?: string;
61
+ /** the largest body it takes, as it is written and as a refusal reports it */
62
+ limit: string;
63
+ /**
64
+ * Whether the reply arrives as a stream of parts rather than as one object: a workflow
65
+ * runs on what was stored, and each step answers as it finishes. The first part is the
66
+ * entry itself, which is what a caller that wants nothing else reads and stops.
67
+ */
68
+ stream?: boolean;
69
+ }
70
+ export type Schema = Awaited<ReturnType<Remote['explain']>>['input'];
71
+ /**
72
+ * The same request, as a description of a resource rather than a call to one. A directive
73
+ * that answers differently to the two reads `exploratory` — `Anonymous` is the one that
74
+ * does, because the rule refusing a credential at an `anonymous` route is about a reply a
75
+ * cache would hold, and a description is not one.
76
+ */
77
+ export declare function describing(context: Context): Context;
78
+ /**
79
+ * The same, in the order the shape states — whatever order the families that filled it ran
80
+ * in. What a resource says about itself is read, so it is written the way it is documented.
81
+ */
82
+ export declare function order(introspection: Introspection): Introspection;
83
+ /**
84
+ * The schema of one input property, taken out of it: a property another family fills is
85
+ * not the caller's to send, and what took it says where it comes from instead.
86
+ */
87
+ export declare function take(carrier: Carrier, property: string): Schema | undefined;
88
+ /**
89
+ * A schema restricted to the properties a whitelist admits, and an array's items where it
90
+ * describes an array. What is not an object of properties is left alone: a whitelist has
91
+ * nothing to say about a string.
92
+ */
93
+ export declare function restrict(schema: Schema | undefined, allowed: Set<string>): Schema | undefined;
94
+ /**
95
+ * What a schema is read as here: the keywords these narrow, and whatever else it carries.
96
+ * `Schema` as core declares it requires `properties`, which a schema of a string has not,
97
+ * so the two are cast through rather than assigned.
98
+ */
99
+ /** Whatever states an input: an explanation as the operation gave it, or as a route left it. */
100
+ interface Carrier {
101
+ input?: Schema;
102
+ }
103
+ export {};
@@ -0,0 +1,82 @@
1
+ /**
2
+ * The same request, as a description of a resource rather than a call to one. A directive
3
+ * that answers differently to the two reads `exploratory` — `Anonymous` is the one that
4
+ * does, because the rule refusing a credential at an `anonymous` route is about a reply a
5
+ * cache would hold, and a description is not one.
6
+ */
7
+ export function describing(context) {
8
+ return Object.create(context, {
9
+ exploratory: { value: true, enumerable: true }
10
+ });
11
+ }
12
+ /**
13
+ * The same, in the order the shape states — whatever order the families that filled it ran
14
+ * in. What a resource says about itself is read, so it is written the way it is documented.
15
+ */
16
+ export function order(introspection) {
17
+ const ordered = {};
18
+ for (const key of KEYS)
19
+ if (introspection[key] !== undefined)
20
+ ordered[key] = introspection[key];
21
+ return ordered;
22
+ }
23
+ const KEYS = [
24
+ 'title',
25
+ 'description',
26
+ 'anonymous',
27
+ 'authenticated',
28
+ 'private',
29
+ 'protected',
30
+ 'system',
31
+ 'once',
32
+ 'readonly',
33
+ 'mcp',
34
+ 'route',
35
+ 'query',
36
+ 'selection',
37
+ 'octets',
38
+ 'input',
39
+ 'output',
40
+ 'errors'
41
+ ];
42
+ /**
43
+ * The schema of one input property, taken out of it: a property another family fills is
44
+ * not the caller's to send, and what took it says where it comes from instead.
45
+ */
46
+ export function take(carrier, property) {
47
+ const input = carrier.input;
48
+ const properties = input?.properties;
49
+ if (input === undefined ||
50
+ input === null ||
51
+ properties === undefined ||
52
+ !(property in properties))
53
+ return undefined;
54
+ const schema = properties[property];
55
+ delete properties[property];
56
+ if (input.required !== undefined)
57
+ input.required = input.required.filter((name) => name !== property);
58
+ return schema;
59
+ }
60
+ /**
61
+ * A schema restricted to the properties a whitelist admits, and an array's items where it
62
+ * describes an array. What is not an object of properties is left alone: a whitelist has
63
+ * nothing to say about a string.
64
+ */
65
+ export function restrict(schema, allowed) {
66
+ const shape = schema;
67
+ if (shape === undefined || shape === null)
68
+ return schema;
69
+ if (shape.items !== undefined)
70
+ return { ...shape, items: restrict(shape.items, allowed) };
71
+ if (shape.properties === undefined)
72
+ return schema;
73
+ const properties = {};
74
+ for (const [name, property] of Object.entries(shape.properties))
75
+ if (allowed.has(name))
76
+ properties[name] = property;
77
+ const restricted = { ...shape, properties };
78
+ if (shape.required !== undefined)
79
+ restricted.required = shape.required.filter((name) => allowed.has(name));
80
+ return restricted;
81
+ }
82
+ //# sourceMappingURL=Introspection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Introspection.js","sourceRoot":"","sources":["../source/Introspection.ts"],"names":[],"mappings":"AAuFA;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC5B,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;KAC/C,CAAY,CAAA;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,aAA4B;IAChD,MAAM,OAAO,GAAkB,EAAE,CAAA;IAEjC,KAAK,MAAM,GAAG,IAAI,IAAI;QACpB,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,SAAS;YAAG,OAAO,CAAC,GAAG,CAAa,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;IAEtF,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,IAAI,GAAG;IACX,OAAO;IACP,aAAa;IACb,WAAW;IACX,eAAe;IACf,SAAS;IACT,WAAW;IACX,QAAQ;IACR,MAAM;IACN,UAAU;IACV,KAAK;IACL,OAAO;IACP,OAAO;IACP,WAAW;IACX,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,QAAQ;CACA,CAAA;AAEV;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,OAAgB,EAAE,QAAgB;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAiC,CAAA;IACvD,MAAM,UAAU,GAAG,KAAK,EAAE,UAAU,CAAA;IAEpC,IACE,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,IAAI;QACd,UAAU,KAAK,SAAS;QACxB,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC;QAEzB,OAAO,SAAS,CAAA;IAElB,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEnC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAA;IAE3B,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC9B,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;IAErE,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CACtB,MAA0B,EAC1B,OAAoB;IAEpB,MAAM,KAAK,GAAG,MAAkC,CAAA;IAEhD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAA;IAExD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAC3B,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,EAAuB,CAAA;IAEjF,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IAEjD,MAAM,UAAU,GAA2B,EAAE,CAAA;IAE7C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QAC7D,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAA;IAEpD,MAAM,UAAU,GAAU,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAA;IAElD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC9B,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAE1E,OAAO,UAA+B,CAAA;AACxC,CAAC"}
@@ -0,0 +1,57 @@
1
+ import * as http from '../HTTP/index.ts';
2
+ import { Manifest } from './manifest.ts';
3
+ import type { Tree } from '../RTD/index.ts';
4
+ import type { MCPAnnotation as MCP } from '@toa.io/definitions/extensions.exposition';
5
+ /**
6
+ * The Model Context Protocol, as one endpoint that remembers nothing between requests.
7
+ *
8
+ * Two revisions are answered from it. The modern one carries the version and the client's
9
+ * capabilities in every request; the one before it opens with `initialize`, which is what
10
+ * most clients still send. Neither needs a session, and neither needs a stream: every method
11
+ * here answers one object, which is why this can exist in a package that serves no SSE.
12
+ */
13
+ export declare class Server {
14
+ private readonly options;
15
+ private readonly tree;
16
+ private readonly origins;
17
+ /** Built again when the icons of the manifest change; a request reads what it is then. */
18
+ private discovery;
19
+ /**
20
+ * The reader of the application's web manifest, which the gateway connects: none without
21
+ * one named.
22
+ */
23
+ readonly manifest: Manifest | null;
24
+ /** The hosts this is served at the root of, lowercased as a request's host is. */
25
+ private readonly roots;
26
+ constructor(options: MCP, tree: Tree);
27
+ /** Whether the host is one this endpoint is the root of. */
28
+ hosted(host: string): boolean;
29
+ /**
30
+ * Where a model is pointed on behalf of the authority, where that is a host of its own —
31
+ * the origin its protected resource document names.
32
+ */
33
+ address(authority: string): string | null;
34
+ process(context: http.Context, route: http.Processor): Promise<http.OutgoingMessage>;
35
+ /** Who may reach the endpoint at all, before anything it carries is read. */
36
+ private admit;
37
+ private answer;
38
+ private tool;
39
+ /**
40
+ * Every result of the modern revision says what kind it is, and who answered it. Where the
41
+ * revision names the operation as one whose result may be held, it says that too, and must.
42
+ */
43
+ private complete;
44
+ private serverInfo;
45
+ /**
46
+ * Which revision this request is of. `initialize` is one by itself; otherwise the header
47
+ * says, and a request that names none is of a revision that did not send one.
48
+ */
49
+ private version;
50
+ /**
51
+ * What the modern revision mirrors into headers, so that what routes a request and what
52
+ * answers it cannot be told two different things.
53
+ */
54
+ private mirrored;
55
+ /** A body the decoder refuses is a parse error; a media type it does not know is not. */
56
+ private read;
57
+ }