@toa.io/extensions.exposition 1.0.0-alpha.33 → 1.0.0-alpha.330

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 (1166) 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 +10 -0
  7. package/components/exposition.octets/types/index.d.ts +3 -0
  8. package/components/exposition.octets/types/toa.d.ts +41 -0
  9. package/components/identity.bans/manifest.toa.yaml +26 -8
  10. package/components/identity.bans/operations/transit.js +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 +202 -29
  17. package/components/identity.basic/migrations/0002-indexes.yaml +13 -0
  18. package/components/identity.basic/operations/add.js +13 -0
  19. package/components/identity.basic/operations/authenticate.js +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 +124 -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 +96 -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 +36 -0
  157. package/components/identity.otp/operations/issue.js +19 -0
  158. package/components/identity.otp/operations/lib/Context.js +2 -0
  159. package/components/identity.otp/operations/lib/Entity.js +2 -0
  160. package/components/identity.otp/operations/lib/index.js +2 -0
  161. package/components/identity.otp/source/authenticate.ts +62 -0
  162. package/components/identity.otp/source/issue.ts +35 -0
  163. package/components/identity.otp/source/lib/Context.ts +17 -0
  164. package/components/identity.otp/source/lib/Entity.ts +6 -0
  165. package/components/identity.otp/source/lib/index.ts +1 -0
  166. package/components/identity.otp/tsconfig.json +10 -0
  167. package/components/identity.otp/types/index.d.ts +3 -0
  168. package/components/identity.otp/types/toa.d.ts +59 -0
  169. package/components/identity.passkeys/manifest.toa.yaml +302 -0
  170. package/components/identity.passkeys/migrations/0002-indexes.yaml +11 -0
  171. package/components/identity.passkeys/operations/authenticate.js +30 -0
  172. package/components/identity.passkeys/operations/challenge.js +72 -0
  173. package/components/identity.passkeys/operations/create.js +53 -0
  174. package/components/identity.passkeys/operations/delete.js +9 -0
  175. package/components/identity.passkeys/operations/lib/const.js +2 -0
  176. package/components/identity.passkeys/operations/list.js +12 -0
  177. package/components/identity.passkeys/operations/types/Configuration.js +2 -0
  178. package/components/identity.passkeys/operations/types/Context.js +2 -0
  179. package/components/identity.passkeys/operations/types/Passkey.js +2 -0
  180. package/components/identity.passkeys/operations/types/index.js +2 -0
  181. package/components/identity.passkeys/operations/use.js +52 -0
  182. package/components/identity.passkeys/package.json +8 -0
  183. package/components/identity.passkeys/source/authenticate.ts +47 -0
  184. package/components/identity.passkeys/source/challenge.ts +119 -0
  185. package/components/identity.passkeys/source/create.ts +79 -0
  186. package/components/identity.passkeys/source/delete.ts +19 -0
  187. package/components/identity.passkeys/source/lib/const.ts +1 -0
  188. package/components/identity.passkeys/source/list.ts +21 -0
  189. package/components/identity.passkeys/source/types/Configuration.ts +6 -0
  190. package/components/identity.passkeys/source/types/Context.ts +17 -0
  191. package/components/identity.passkeys/source/types/Passkey.ts +12 -0
  192. package/components/identity.passkeys/source/types/index.ts +2 -0
  193. package/components/identity.passkeys/source/use.ts +77 -0
  194. package/components/identity.passkeys/tsconfig.json +10 -0
  195. package/components/identity.passkeys/types/index.d.ts +3 -0
  196. package/components/identity.passkeys/types/toa.d.ts +123 -0
  197. package/components/identity.roles/manifest.toa.yaml +42 -13
  198. package/components/identity.roles/migrations/0002-indexes.yaml +8 -0
  199. package/components/identity.roles/operations/grant.js +14 -16
  200. package/components/identity.roles/operations/lib/Entity.js +2 -3
  201. package/components/identity.roles/operations/list.js +3 -7
  202. package/components/identity.roles/operations/principal.js +30 -10
  203. package/components/identity.roles/receivers/identity.federation.principal.js +4 -0
  204. package/components/identity.roles/source/grant.ts +18 -14
  205. package/components/identity.roles/source/list.ts +3 -3
  206. package/components/identity.roles/source/principal.ts +34 -8
  207. package/components/identity.roles/tsconfig.json +2 -1
  208. package/components/identity.roles/types/index.d.ts +3 -0
  209. package/components/identity.roles/types/toa.d.ts +46 -0
  210. package/components/identity.tokens/manifest.toa.yaml +235 -29
  211. package/components/identity.tokens/operations/authenticate.js +27 -19
  212. package/components/identity.tokens/operations/decrypt.js +177 -24
  213. package/components/identity.tokens/operations/encrypt.js +33 -18
  214. package/components/identity.tokens/operations/issue.js +56 -0
  215. package/components/identity.tokens/operations/lib/form.js +24 -0
  216. package/components/identity.tokens/operations/lib/index.js +4 -0
  217. package/components/identity.tokens/operations/lib/jose.js +5 -0
  218. package/components/identity.tokens/operations/lib/key.js +7 -0
  219. package/components/identity.tokens/operations/lib/pad.js +2 -0
  220. package/components/identity.tokens/operations/revoke.js +3 -7
  221. package/components/identity.tokens/package.json +10 -0
  222. package/components/identity.tokens/receivers/identity.bans.created.js +1 -3
  223. package/components/identity.tokens/receivers/identity.bans.updated.js +1 -3
  224. package/components/identity.tokens/source/authenticate.ts +33 -18
  225. package/components/identity.tokens/source/decrypt.ts +240 -20
  226. package/components/identity.tokens/source/encrypt.ts +47 -17
  227. package/components/identity.tokens/source/issue.ts +85 -0
  228. package/components/identity.tokens/source/lib/form.ts +27 -0
  229. package/components/identity.tokens/source/lib/index.ts +4 -0
  230. package/components/identity.tokens/source/lib/jose.d.ts +1 -0
  231. package/components/identity.tokens/source/lib/jose.js +5 -0
  232. package/components/identity.tokens/source/lib/key.ts +8 -0
  233. package/components/identity.tokens/source/lib/pad.ts +1 -0
  234. package/components/identity.tokens/source/revoke.ts +3 -3
  235. package/components/identity.tokens/tsconfig.json +2 -1
  236. package/components/identity.tokens/types/index.d.ts +66 -0
  237. package/components/identity.tokens/types/toa.d.ts +122 -0
  238. package/package.json +49 -25
  239. package/readme.md +40 -7
  240. package/schemas/io/throttle.cos.yaml +81 -0
  241. package/schemas/octets/delete.cos.yaml +15 -2
  242. package/schemas/octets/get.cos.yaml +5 -0
  243. package/schemas/octets/put.cos.yaml +31 -0
  244. package/schemas/octets/workflow.cos.yaml +0 -1
  245. package/transpiled/Announcements.d.ts +26 -0
  246. package/transpiled/Announcements.js +34 -0
  247. package/transpiled/Announcements.js.map +1 -0
  248. package/transpiled/Branch.d.ts +43 -1
  249. package/transpiled/Branch.js +24 -2
  250. package/transpiled/Branch.js.map +1 -1
  251. package/transpiled/Composition.d.ts +7 -8
  252. package/transpiled/Composition.js +13 -29
  253. package/transpiled/Composition.js.map +1 -1
  254. package/transpiled/Context.d.ts +5 -2
  255. package/transpiled/Context.js +1 -2
  256. package/transpiled/Directive.d.ts +40 -8
  257. package/transpiled/Directive.js +169 -32
  258. package/transpiled/Directive.js.map +1 -1
  259. package/transpiled/Discovery/Explorer.d.ts +14 -0
  260. package/transpiled/Discovery/Explorer.js +36 -0
  261. package/transpiled/Discovery/Explorer.js.map +1 -0
  262. package/transpiled/Discovery/Site.d.ts +46 -0
  263. package/transpiled/Discovery/Site.js +177 -0
  264. package/transpiled/Discovery/Site.js.map +1 -0
  265. package/transpiled/Discovery/index.d.ts +3 -0
  266. package/transpiled/Discovery/index.js +4 -0
  267. package/transpiled/Discovery/index.js.map +1 -0
  268. package/transpiled/Discovery/tree.d.ts +28 -0
  269. package/transpiled/Discovery/tree.js +50 -0
  270. package/transpiled/Discovery/tree.js.map +1 -0
  271. package/transpiled/Discovery/trunk.d.ts +13 -0
  272. package/transpiled/Discovery/trunk.js +29 -0
  273. package/transpiled/Discovery/trunk.js.map +1 -0
  274. package/transpiled/Endpoint.d.ts +32 -8
  275. package/transpiled/Endpoint.js +138 -62
  276. package/transpiled/Endpoint.js.map +1 -1
  277. package/transpiled/Factory.d.ts +27 -7
  278. package/transpiled/Factory.js +49 -68
  279. package/transpiled/Factory.js.map +1 -1
  280. package/transpiled/Gateway.d.ts +62 -6
  281. package/transpiled/Gateway.js +268 -52
  282. package/transpiled/Gateway.js.map +1 -1
  283. package/transpiled/HTTP/Context.d.ts +66 -14
  284. package/transpiled/HTTP/Context.js +119 -34
  285. package/transpiled/HTTP/Context.js.map +1 -1
  286. package/transpiled/HTTP/Probe.d.ts +26 -0
  287. package/transpiled/HTTP/Probe.js +80 -0
  288. package/transpiled/HTTP/Probe.js.map +1 -0
  289. package/transpiled/HTTP/Server.d.ts +59 -10
  290. package/transpiled/HTTP/Server.js +366 -107
  291. package/transpiled/HTTP/Server.js.map +1 -1
  292. package/transpiled/HTTP/Timing.d.ts +2 -6
  293. package/transpiled/HTTP/Timing.js +5 -25
  294. package/transpiled/HTTP/Timing.js.map +1 -1
  295. package/transpiled/HTTP/address.d.ts +7 -0
  296. package/transpiled/HTTP/address.js +14 -0
  297. package/transpiled/HTTP/address.js.map +1 -0
  298. package/transpiled/HTTP/exceptions.d.ts +28 -7
  299. package/transpiled/HTTP/exceptions.js +53 -34
  300. package/transpiled/HTTP/exceptions.js.map +1 -1
  301. package/transpiled/HTTP/formats/form.d.ts +9 -0
  302. package/transpiled/HTTP/formats/form.js +18 -0
  303. package/transpiled/HTTP/formats/form.js.map +1 -0
  304. package/transpiled/HTTP/formats/index.d.ts +10 -4
  305. package/transpiled/HTTP/formats/index.js +19 -35
  306. package/transpiled/HTTP/formats/index.js.map +1 -1
  307. package/transpiled/HTTP/formats/json.d.ts +1 -3
  308. package/transpiled/HTTP/formats/json.js +6 -12
  309. package/transpiled/HTTP/formats/json.js.map +1 -1
  310. package/transpiled/HTTP/formats/msgpack.d.ts +0 -2
  311. package/transpiled/HTTP/formats/msgpack.js +7 -12
  312. package/transpiled/HTTP/formats/msgpack.js.map +1 -1
  313. package/transpiled/HTTP/formats/text.d.ts +1 -3
  314. package/transpiled/HTTP/formats/text.js +6 -12
  315. package/transpiled/HTTP/formats/text.js.map +1 -1
  316. package/transpiled/HTTP/formats/yaml.d.ts +1 -3
  317. package/transpiled/HTTP/formats/yaml.js +26 -37
  318. package/transpiled/HTTP/formats/yaml.js.map +1 -1
  319. package/transpiled/HTTP/index.d.ts +6 -4
  320. package/transpiled/HTTP/index.js +6 -20
  321. package/transpiled/HTTP/index.js.map +1 -1
  322. package/transpiled/HTTP/messages.d.ts +28 -4
  323. package/transpiled/HTTP/messages.js +195 -42
  324. package/transpiled/HTTP/messages.js.map +1 -1
  325. package/transpiled/HTTP/types.d.ts +38 -0
  326. package/transpiled/HTTP/types.js +2 -0
  327. package/transpiled/HTTP/types.js.map +1 -0
  328. package/transpiled/Interception.d.ts +7 -2
  329. package/transpiled/Interception.js +12 -7
  330. package/transpiled/Interception.js.map +1 -1
  331. package/transpiled/Introspection.d.ts +103 -0
  332. package/transpiled/Introspection.js +82 -0
  333. package/transpiled/Introspection.js.map +1 -0
  334. package/transpiled/MCP/Server.d.ts +57 -0
  335. package/transpiled/MCP/Server.js +219 -0
  336. package/transpiled/MCP/Server.js.map +1 -0
  337. package/transpiled/MCP/discover.d.ts +14 -0
  338. package/transpiled/MCP/discover.js +32 -0
  339. package/transpiled/MCP/discover.js.map +1 -0
  340. package/transpiled/MCP/errors.d.ts +24 -0
  341. package/transpiled/MCP/errors.js +66 -0
  342. package/transpiled/MCP/errors.js.map +1 -0
  343. package/transpiled/MCP/index.d.ts +1 -0
  344. package/transpiled/MCP/index.js +2 -0
  345. package/transpiled/MCP/index.js.map +1 -0
  346. package/transpiled/MCP/manifest.d.ts +40 -0
  347. package/transpiled/MCP/manifest.js +164 -0
  348. package/transpiled/MCP/manifest.js.map +1 -0
  349. package/transpiled/MCP/schema.d.ts +22 -0
  350. package/transpiled/MCP/schema.js +74 -0
  351. package/transpiled/MCP/schema.js.map +1 -0
  352. package/transpiled/MCP/tools.d.ts +31 -0
  353. package/transpiled/MCP/tools.js +144 -0
  354. package/transpiled/MCP/tools.js.map +1 -0
  355. package/transpiled/MCP/types.d.ts +66 -0
  356. package/transpiled/MCP/types.js +13 -0
  357. package/transpiled/MCP/types.js.map +1 -0
  358. package/transpiled/Mapping.d.ts +17 -6
  359. package/transpiled/Mapping.js +50 -24
  360. package/transpiled/Mapping.js.map +1 -1
  361. package/transpiled/Query.d.ts +37 -6
  362. package/transpiled/Query.js +177 -48
  363. package/transpiled/Query.js.map +1 -1
  364. package/transpiled/RPC/Context.d.ts +11 -0
  365. package/transpiled/RPC/Context.js +56 -0
  366. package/transpiled/RPC/Context.js.map +1 -0
  367. package/transpiled/RPC/Dispatcher.d.ts +19 -0
  368. package/transpiled/RPC/Dispatcher.js +103 -0
  369. package/transpiled/RPC/Dispatcher.js.map +1 -0
  370. package/transpiled/RPC/errors.d.ts +18 -0
  371. package/transpiled/RPC/errors.js +66 -0
  372. package/transpiled/RPC/errors.js.map +1 -0
  373. package/transpiled/RPC/index.d.ts +1 -0
  374. package/transpiled/RPC/index.js +2 -0
  375. package/transpiled/RPC/index.js.map +1 -0
  376. package/transpiled/RPC/names.d.ts +31 -0
  377. package/transpiled/RPC/names.js +121 -0
  378. package/transpiled/RPC/names.js.map +1 -0
  379. package/transpiled/RPC/types.d.ts +27 -0
  380. package/transpiled/RPC/types.js +8 -0
  381. package/transpiled/RPC/types.js.map +1 -0
  382. package/transpiled/RTD/Context.d.ts +6 -4
  383. package/transpiled/RTD/Context.js +1 -2
  384. package/transpiled/RTD/Directives.d.ts +90 -7
  385. package/transpiled/RTD/Directives.js +1 -2
  386. package/transpiled/RTD/Endpoint.d.ts +11 -4
  387. package/transpiled/RTD/Endpoint.js +1 -2
  388. package/transpiled/RTD/Match.d.ts +7 -1
  389. package/transpiled/RTD/Match.js +1 -2
  390. package/transpiled/RTD/Method.d.ts +23 -2
  391. package/transpiled/RTD/Method.js +32 -5
  392. package/transpiled/RTD/Method.js.map +1 -1
  393. package/transpiled/RTD/Node.d.ts +46 -6
  394. package/transpiled/RTD/Node.js +79 -23
  395. package/transpiled/RTD/Node.js.map +1 -1
  396. package/transpiled/RTD/Route.d.ts +9 -7
  397. package/transpiled/RTD/Route.js +50 -15
  398. package/transpiled/RTD/Route.js.map +1 -1
  399. package/transpiled/RTD/Tree.d.ts +26 -5
  400. package/transpiled/RTD/Tree.js +89 -13
  401. package/transpiled/RTD/Tree.js.map +1 -1
  402. package/transpiled/RTD/factory.d.ts +4 -3
  403. package/transpiled/RTD/factory.js +56 -15
  404. package/transpiled/RTD/factory.js.map +1 -1
  405. package/transpiled/RTD/index.d.ts +8 -8
  406. package/transpiled/RTD/index.js +8 -37
  407. package/transpiled/RTD/index.js.map +1 -1
  408. package/transpiled/RTD/segment.d.ts +10 -0
  409. package/transpiled/RTD/segment.js +36 -7
  410. package/transpiled/RTD/segment.js.map +1 -1
  411. package/transpiled/RTD/syntax/index.d.ts +1 -2
  412. package/transpiled/RTD/syntax/index.js +1 -18
  413. package/transpiled/RTD/syntax/index.js.map +1 -1
  414. package/transpiled/Remotes.d.ts +12 -7
  415. package/transpiled/Remotes.js +36 -16
  416. package/transpiled/Remotes.js.map +1 -1
  417. package/transpiled/Tenant.d.ts +16 -7
  418. package/transpiled/Tenant.js +52 -18
  419. package/transpiled/Tenant.js.map +1 -1
  420. package/transpiled/diagnostics.d.ts +13 -0
  421. package/transpiled/diagnostics.js +17 -0
  422. package/transpiled/diagnostics.js.map +1 -0
  423. package/transpiled/directives/auth/Anonymous.d.ts +17 -2
  424. package/transpiled/directives/auth/Anonymous.js +23 -9
  425. package/transpiled/directives/auth/Anonymous.js.map +1 -1
  426. package/transpiled/directives/auth/Anyone.d.ts +10 -0
  427. package/transpiled/directives/auth/Anyone.js +17 -0
  428. package/transpiled/directives/auth/Anyone.js.map +1 -0
  429. package/transpiled/directives/auth/Assert.d.ts +9 -0
  430. package/transpiled/directives/auth/Assert.js +33 -0
  431. package/transpiled/directives/auth/Assert.js.map +1 -0
  432. package/transpiled/directives/auth/Authorization.d.ts +54 -8
  433. package/transpiled/directives/auth/Authorization.js +276 -85
  434. package/transpiled/directives/auth/Authorization.js.map +1 -1
  435. package/transpiled/directives/auth/Delegate.d.ts +13 -4
  436. package/transpiled/directives/auth/Delegate.js +23 -10
  437. package/transpiled/directives/auth/Delegate.js.map +1 -1
  438. package/transpiled/directives/auth/Echo.d.ts +6 -4
  439. package/transpiled/directives/auth/Echo.js +14 -9
  440. package/transpiled/directives/auth/Echo.js.map +1 -1
  441. package/transpiled/directives/auth/Federation.d.ts +21 -0
  442. package/transpiled/directives/auth/Federation.js +54 -0
  443. package/transpiled/directives/auth/Federation.js.map +1 -0
  444. package/transpiled/directives/auth/Id.d.ts +12 -3
  445. package/transpiled/directives/auth/Id.js +13 -5
  446. package/transpiled/directives/auth/Id.js.map +1 -1
  447. package/transpiled/directives/auth/Incept.d.ts +11 -6
  448. package/transpiled/directives/auth/Incept.js +68 -50
  449. package/transpiled/directives/auth/Incept.js.map +1 -1
  450. package/transpiled/directives/auth/Input.d.ts +15 -0
  451. package/transpiled/directives/auth/Input.js +49 -0
  452. package/transpiled/directives/auth/Input.js.map +1 -0
  453. package/transpiled/directives/auth/Role.d.ts +12 -3
  454. package/transpiled/directives/auth/Role.js +28 -16
  455. package/transpiled/directives/auth/Role.js.map +1 -1
  456. package/transpiled/directives/auth/Rule.d.ts +8 -5
  457. package/transpiled/directives/auth/Rule.js +23 -7
  458. package/transpiled/directives/auth/Rule.js.map +1 -1
  459. package/transpiled/directives/auth/Scheme.d.ts +4 -2
  460. package/transpiled/directives/auth/Scheme.js +11 -35
  461. package/transpiled/directives/auth/Scheme.js.map +1 -1
  462. package/transpiled/directives/auth/create.d.ts +2 -0
  463. package/transpiled/directives/auth/create.js +10 -0
  464. package/transpiled/directives/auth/create.js.map +1 -0
  465. package/transpiled/directives/auth/index.d.ts +1 -1
  466. package/transpiled/directives/auth/index.js +2 -5
  467. package/transpiled/directives/auth/index.js.map +1 -1
  468. package/transpiled/directives/auth/schemes.d.ts +26 -3
  469. package/transpiled/directives/auth/schemes.js +32 -8
  470. package/transpiled/directives/auth/schemes.js.map +1 -1
  471. package/transpiled/directives/auth/split.d.ts +1 -1
  472. package/transpiled/directives/auth/split.js +3 -30
  473. package/transpiled/directives/auth/split.js.map +1 -1
  474. package/transpiled/directives/auth/types.d.ts +42 -12
  475. package/transpiled/directives/auth/types.js +1 -2
  476. package/transpiled/directives/cache/Cache.d.ts +17 -6
  477. package/transpiled/directives/cache/Cache.js +56 -15
  478. package/transpiled/directives/cache/Cache.js.map +1 -1
  479. package/transpiled/directives/cache/Control.d.ts +9 -5
  480. package/transpiled/directives/cache/Control.js +27 -32
  481. package/transpiled/directives/cache/Control.js.map +1 -1
  482. package/transpiled/directives/cache/Exact.d.ts +2 -2
  483. package/transpiled/directives/cache/Exact.js +3 -7
  484. package/transpiled/directives/cache/Exact.js.map +1 -1
  485. package/transpiled/directives/cache/etag.d.ts +13 -0
  486. package/transpiled/directives/cache/etag.js +33 -0
  487. package/transpiled/directives/cache/etag.js.map +1 -0
  488. package/transpiled/directives/cache/index.d.ts +1 -1
  489. package/transpiled/directives/cache/index.js +2 -5
  490. package/transpiled/directives/cache/index.js.map +1 -1
  491. package/transpiled/directives/cache/types.d.ts +1 -1
  492. package/transpiled/directives/cache/types.js +1 -2
  493. package/transpiled/directives/censor/Censor.d.ts +10 -0
  494. package/transpiled/directives/censor/Censor.js +20 -0
  495. package/transpiled/directives/censor/Censor.js.map +1 -0
  496. package/transpiled/directives/censor/index.d.ts +2 -0
  497. package/transpiled/directives/censor/index.js +3 -0
  498. package/transpiled/directives/censor/index.js.map +1 -0
  499. package/transpiled/directives/cors/CORS.d.ts +2 -6
  500. package/transpiled/directives/cors/CORS.js +27 -45
  501. package/transpiled/directives/cors/CORS.js.map +1 -1
  502. package/transpiled/directives/cors/index.d.ts +1 -1
  503. package/transpiled/directives/cors/index.js +2 -5
  504. package/transpiled/directives/cors/index.js.map +1 -1
  505. package/transpiled/directives/dev/Development.d.ts +4 -4
  506. package/transpiled/directives/dev/Development.js +19 -15
  507. package/transpiled/directives/dev/Development.js.map +1 -1
  508. package/transpiled/directives/dev/Faulty.d.ts +8 -0
  509. package/transpiled/directives/dev/Faulty.js +18 -0
  510. package/transpiled/directives/dev/Faulty.js.map +1 -0
  511. package/transpiled/directives/dev/Sleep.d.ts +9 -0
  512. package/transpiled/directives/dev/Sleep.js +39 -0
  513. package/transpiled/directives/dev/Sleep.js.map +1 -0
  514. package/transpiled/directives/dev/Stub.d.ts +2 -2
  515. package/transpiled/directives/dev/Stub.js +1 -5
  516. package/transpiled/directives/dev/Stub.js.map +1 -1
  517. package/transpiled/directives/dev/Throw.d.ts +2 -2
  518. package/transpiled/directives/dev/Throw.js +1 -5
  519. package/transpiled/directives/dev/Throw.js.map +1 -1
  520. package/transpiled/directives/dev/index.d.ts +1 -1
  521. package/transpiled/directives/dev/index.js +2 -5
  522. package/transpiled/directives/dev/index.js.map +1 -1
  523. package/transpiled/directives/dev/types.d.ts +2 -2
  524. package/transpiled/directives/dev/types.js +1 -2
  525. package/transpiled/directives/flow/Compose.d.ts +9 -0
  526. package/transpiled/directives/flow/Compose.js +74 -0
  527. package/transpiled/directives/flow/Compose.js.map +1 -0
  528. package/transpiled/directives/flow/Fetch.d.ts +12 -0
  529. package/transpiled/directives/flow/Fetch.js +51 -0
  530. package/transpiled/directives/flow/Fetch.js.map +1 -0
  531. package/transpiled/directives/flow/Flow.d.ts +10 -0
  532. package/transpiled/directives/flow/Flow.js +29 -0
  533. package/transpiled/directives/flow/Flow.js.map +1 -0
  534. package/transpiled/directives/flow/index.d.ts +2 -0
  535. package/transpiled/directives/flow/index.js +3 -0
  536. package/transpiled/directives/flow/index.js.map +1 -0
  537. package/transpiled/directives/flow/types.d.ts +6 -0
  538. package/transpiled/directives/flow/types.js +2 -0
  539. package/transpiled/directives/flow/types.js.map +1 -0
  540. package/transpiled/directives/help/Family.d.ts +26 -0
  541. package/transpiled/directives/help/Family.js +83 -0
  542. package/transpiled/directives/help/Family.js.map +1 -0
  543. package/transpiled/directives/help/Help.d.ts +22 -0
  544. package/transpiled/directives/help/Help.js +36 -0
  545. package/transpiled/directives/help/Help.js.map +1 -0
  546. package/transpiled/directives/help/Parameters.d.ts +18 -0
  547. package/transpiled/directives/help/Parameters.js +34 -0
  548. package/transpiled/directives/help/Parameters.js.map +1 -0
  549. package/transpiled/directives/help/described.d.ts +16 -0
  550. package/transpiled/directives/help/described.js +27 -0
  551. package/transpiled/directives/help/described.js.map +1 -0
  552. package/transpiled/directives/help/index.d.ts +22 -0
  553. package/transpiled/directives/help/index.js +34 -0
  554. package/transpiled/directives/help/index.js.map +1 -0
  555. package/transpiled/directives/index.d.ts +6 -2
  556. package/transpiled/directives/index.js +33 -13
  557. package/transpiled/directives/index.js.map +1 -1
  558. package/transpiled/directives/io/Directive.d.ts +8 -3
  559. package/transpiled/directives/io/Directive.js +1 -2
  560. package/transpiled/directives/io/IO.d.ts +24 -5
  561. package/transpiled/directives/io/IO.js +64 -17
  562. package/transpiled/directives/io/IO.js.map +1 -1
  563. package/transpiled/directives/io/Input.d.ts +5 -4
  564. package/transpiled/directives/io/Input.js +18 -38
  565. package/transpiled/directives/io/Input.js.map +1 -1
  566. package/transpiled/directives/io/Message.js +1 -2
  567. package/transpiled/directives/io/Output.d.ts +12 -6
  568. package/transpiled/directives/io/Output.js +19 -59
  569. package/transpiled/directives/io/Output.js.map +1 -1
  570. package/transpiled/directives/io/Readonly.d.ts +14 -0
  571. package/transpiled/directives/io/Readonly.js +20 -0
  572. package/transpiled/directives/io/Readonly.js.map +1 -0
  573. package/transpiled/directives/io/Status.d.ts +19 -0
  574. package/transpiled/directives/io/Status.js +37 -0
  575. package/transpiled/directives/io/Status.js.map +1 -0
  576. package/transpiled/directives/io/Throttle.d.ts +11 -0
  577. package/transpiled/directives/io/Throttle.js +22 -0
  578. package/transpiled/directives/io/Throttle.js.map +1 -0
  579. package/transpiled/directives/io/index.d.ts +1 -1
  580. package/transpiled/directives/io/index.js +2 -5
  581. package/transpiled/directives/io/index.js.map +1 -1
  582. package/transpiled/directives/io/lib/throttle/Configuration.d.ts +26 -0
  583. package/transpiled/directives/io/lib/throttle/Configuration.js +31 -0
  584. package/transpiled/directives/io/lib/throttle/Configuration.js.map +1 -0
  585. package/transpiled/directives/io/lib/throttle/Keys.d.ts +14 -0
  586. package/transpiled/directives/io/lib/throttle/Keys.js +32 -0
  587. package/transpiled/directives/io/lib/throttle/Keys.js.map +1 -0
  588. package/transpiled/directives/io/lib/throttle/Quotas.d.ts +70 -0
  589. package/transpiled/directives/io/lib/throttle/Quotas.js +142 -0
  590. package/transpiled/directives/io/lib/throttle/Quotas.js.map +1 -0
  591. package/transpiled/directives/io/lib/throttle/Sync.d.ts +29 -0
  592. package/transpiled/directives/io/lib/throttle/Sync.js +70 -0
  593. package/transpiled/directives/io/lib/throttle/Sync.js.map +1 -0
  594. package/transpiled/directives/io/lib/throttle/Warning.d.ts +11 -0
  595. package/transpiled/directives/io/lib/throttle/Warning.js +24 -0
  596. package/transpiled/directives/io/lib/throttle/Warning.js.map +1 -0
  597. package/transpiled/directives/io/lib/throttle/components/Component.d.ts +6 -0
  598. package/transpiled/directives/io/lib/throttle/components/Component.js +2 -0
  599. package/transpiled/directives/io/lib/throttle/components/Component.js.map +1 -0
  600. package/transpiled/directives/io/lib/throttle/components/IP.d.ts +14 -0
  601. package/transpiled/directives/io/lib/throttle/components/IP.js +24 -0
  602. package/transpiled/directives/io/lib/throttle/components/IP.js.map +1 -0
  603. package/transpiled/directives/io/lib/throttle/components/Identity.d.ts +11 -0
  604. package/transpiled/directives/io/lib/throttle/components/Identity.js +12 -0
  605. package/transpiled/directives/io/lib/throttle/components/Identity.js.map +1 -0
  606. package/transpiled/directives/io/lib/throttle/components/Path.d.ts +5 -0
  607. package/transpiled/directives/io/lib/throttle/components/Path.js +6 -0
  608. package/transpiled/directives/io/lib/throttle/components/Path.js.map +1 -0
  609. package/transpiled/directives/io/lib/throttle/components/Route.d.ts +12 -0
  610. package/transpiled/directives/io/lib/throttle/components/Route.js +16 -0
  611. package/transpiled/directives/io/lib/throttle/components/Route.js.map +1 -0
  612. package/transpiled/directives/io/lib/throttle/components/Segment.d.ts +9 -0
  613. package/transpiled/directives/io/lib/throttle/components/Segment.js +13 -0
  614. package/transpiled/directives/io/lib/throttle/components/Segment.js.map +1 -0
  615. package/transpiled/directives/io/lib/throttle/components/index.d.ts +5 -0
  616. package/transpiled/directives/io/lib/throttle/components/index.js +13 -0
  617. package/transpiled/directives/io/lib/throttle/components/index.js.map +1 -0
  618. package/transpiled/directives/io/lib/throttle/conditions/Condition.d.ts +4 -0
  619. package/transpiled/directives/io/lib/throttle/conditions/Condition.js +2 -0
  620. package/transpiled/directives/io/lib/throttle/conditions/Condition.js.map +1 -0
  621. package/transpiled/directives/io/lib/throttle/conditions/Status.d.ts +7 -0
  622. package/transpiled/directives/io/lib/throttle/conditions/Status.js +12 -0
  623. package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -0
  624. package/transpiled/directives/io/lib/throttle/conditions/index.d.ts +5 -0
  625. package/transpiled/directives/io/lib/throttle/conditions/index.js +5 -0
  626. package/transpiled/directives/io/lib/throttle/conditions/index.js.map +1 -0
  627. package/transpiled/directives/io/lib/throttle/index.d.ts +4 -0
  628. package/transpiled/directives/io/lib/throttle/index.js +5 -0
  629. package/transpiled/directives/io/lib/throttle/index.js.map +1 -0
  630. package/transpiled/directives/io/schemas.d.ts +6 -4
  631. package/transpiled/directives/io/schemas.js +8 -13
  632. package/transpiled/directives/io/schemas.js.map +1 -1
  633. package/transpiled/directives/map/Authority.d.ts +6 -0
  634. package/transpiled/directives/map/Authority.js +12 -0
  635. package/transpiled/directives/map/Authority.js.map +1 -0
  636. package/transpiled/directives/map/Buffer.d.ts +6 -0
  637. package/transpiled/directives/map/Buffer.js +12 -0
  638. package/transpiled/directives/map/Buffer.js.map +1 -0
  639. package/transpiled/directives/map/Claims.d.ts +10 -0
  640. package/transpiled/directives/map/Claims.js +38 -0
  641. package/transpiled/directives/map/Claims.js.map +1 -0
  642. package/transpiled/directives/map/Directive.d.ts +3 -0
  643. package/transpiled/directives/map/Directive.js +2 -0
  644. package/transpiled/directives/map/Directive.js.map +1 -0
  645. package/transpiled/directives/map/Headers.d.ts +14 -0
  646. package/transpiled/directives/map/Headers.js +41 -0
  647. package/transpiled/directives/map/Headers.js.map +1 -0
  648. package/transpiled/directives/map/Instance.d.ts +15 -0
  649. package/transpiled/directives/map/Instance.js +27 -0
  650. package/transpiled/directives/map/Instance.js.map +1 -0
  651. package/transpiled/directives/map/Language.d.ts +10 -0
  652. package/transpiled/directives/map/Language.js +29 -0
  653. package/transpiled/directives/map/Language.js.map +1 -0
  654. package/transpiled/directives/map/Languages.d.ts +4 -0
  655. package/transpiled/directives/map/Languages.js +11 -0
  656. package/transpiled/directives/map/Languages.js.map +1 -0
  657. package/transpiled/directives/map/Map.d.ts +15 -0
  658. package/transpiled/directives/map/Map.js +62 -0
  659. package/transpiled/directives/map/Map.js.map +1 -0
  660. package/transpiled/directives/map/Mapping.d.ts +26 -0
  661. package/transpiled/directives/map/Mapping.js +29 -0
  662. package/transpiled/directives/map/Mapping.js.map +1 -0
  663. package/transpiled/directives/map/Properties.d.ts +9 -0
  664. package/transpiled/directives/map/Properties.js +10 -0
  665. package/transpiled/directives/map/Properties.js.map +1 -0
  666. package/transpiled/directives/map/Segments.d.ts +9 -0
  667. package/transpiled/directives/map/Segments.js +34 -0
  668. package/transpiled/directives/map/Segments.js.map +1 -0
  669. package/transpiled/directives/map/Stream.d.ts +30 -0
  670. package/transpiled/directives/map/Stream.js +91 -0
  671. package/transpiled/directives/map/Stream.js.map +1 -0
  672. package/transpiled/directives/map/index.d.ts +2 -0
  673. package/transpiled/directives/map/index.js +3 -0
  674. package/transpiled/directives/map/index.js.map +1 -0
  675. package/transpiled/directives/mcp/MCP.d.ts +17 -0
  676. package/transpiled/directives/mcp/MCP.js +25 -0
  677. package/transpiled/directives/mcp/MCP.js.map +1 -0
  678. package/transpiled/directives/mcp/Tool.d.ts +12 -0
  679. package/transpiled/directives/mcp/Tool.js +24 -0
  680. package/transpiled/directives/mcp/Tool.js.map +1 -0
  681. package/transpiled/directives/mcp/index.d.ts +4 -0
  682. package/transpiled/directives/mcp/index.js +4 -0
  683. package/transpiled/directives/mcp/index.js.map +1 -0
  684. package/transpiled/directives/oauth/Discovery.d.ts +25 -0
  685. package/transpiled/directives/oauth/Discovery.js +69 -0
  686. package/transpiled/directives/oauth/Discovery.js.map +1 -0
  687. package/transpiled/directives/oauth/documents.d.ts +16 -0
  688. package/transpiled/directives/oauth/documents.js +101 -0
  689. package/transpiled/directives/oauth/documents.js.map +1 -0
  690. package/transpiled/directives/oauth/index.d.ts +2 -0
  691. package/transpiled/directives/oauth/index.js +3 -0
  692. package/transpiled/directives/oauth/index.js.map +1 -0
  693. package/transpiled/directives/octets/Context.d.ts +2 -2
  694. package/transpiled/directives/octets/Context.js +4 -31
  695. package/transpiled/directives/octets/Context.js.map +1 -1
  696. package/transpiled/directives/octets/Delete.d.ts +11 -6
  697. package/transpiled/directives/octets/Delete.js +46 -53
  698. package/transpiled/directives/octets/Delete.js.map +1 -1
  699. package/transpiled/directives/octets/Directive.d.ts +9 -3
  700. package/transpiled/directives/octets/Directive.js +1 -5
  701. package/transpiled/directives/octets/Directive.js.map +1 -1
  702. package/transpiled/directives/octets/Get.d.ts +17 -0
  703. package/transpiled/directives/octets/Get.js +69 -0
  704. package/transpiled/directives/octets/Get.js.map +1 -0
  705. package/transpiled/directives/octets/Octets.d.ts +9 -6
  706. package/transpiled/directives/octets/Octets.js +27 -26
  707. package/transpiled/directives/octets/Octets.js.map +1 -1
  708. package/transpiled/directives/octets/Put.d.ts +33 -0
  709. package/transpiled/directives/octets/Put.js +81 -0
  710. package/transpiled/directives/octets/Put.js.map +1 -0
  711. package/transpiled/directives/octets/Workflow.d.ts +6 -6
  712. package/transpiled/directives/octets/Workflow.js +14 -36
  713. package/transpiled/directives/octets/Workflow.js.map +1 -1
  714. package/transpiled/directives/octets/bytes.d.ts +1 -0
  715. package/transpiled/directives/octets/bytes.js +14 -0
  716. package/transpiled/directives/octets/bytes.js.map +1 -0
  717. package/transpiled/directives/octets/index.d.ts +1 -1
  718. package/transpiled/directives/octets/index.js +2 -5
  719. package/transpiled/directives/octets/index.js.map +1 -1
  720. package/transpiled/directives/octets/schemas.d.ts +6 -10
  721. package/transpiled/directives/octets/schemas.js +8 -17
  722. package/transpiled/directives/octets/schemas.js.map +1 -1
  723. package/transpiled/directives/octets/types.d.ts +3 -1
  724. package/transpiled/directives/octets/types.js +1 -2
  725. package/transpiled/directives/octets/workflows/Execution.d.ts +22 -4
  726. package/transpiled/directives/octets/workflows/Execution.js +69 -15
  727. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  728. package/transpiled/directives/octets/workflows/Workflow.d.ts +10 -5
  729. package/transpiled/directives/octets/workflows/Workflow.js +16 -14
  730. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  731. package/transpiled/directives/octets/workflows/index.d.ts +2 -1
  732. package/transpiled/directives/octets/workflows/index.js +1 -5
  733. package/transpiled/directives/octets/workflows/index.js.map +1 -1
  734. package/transpiled/directives/realtime/Hub.d.ts +45 -0
  735. package/transpiled/directives/realtime/Hub.js +221 -0
  736. package/transpiled/directives/realtime/Hub.js.map +1 -0
  737. package/transpiled/directives/realtime/Realtime.d.ts +25 -0
  738. package/transpiled/directives/realtime/Realtime.js +50 -0
  739. package/transpiled/directives/realtime/Realtime.js.map +1 -0
  740. package/transpiled/directives/realtime/Stream.d.ts +38 -0
  741. package/transpiled/directives/realtime/Stream.js +89 -0
  742. package/transpiled/directives/realtime/Stream.js.map +1 -0
  743. package/transpiled/directives/realtime/index.d.ts +2 -0
  744. package/transpiled/directives/realtime/index.js +3 -0
  745. package/transpiled/directives/realtime/index.js.map +1 -0
  746. package/transpiled/directives/realtime/measurements.d.ts +1 -0
  747. package/transpiled/directives/realtime/measurements.js +11 -0
  748. package/transpiled/directives/realtime/measurements.js.map +1 -0
  749. package/transpiled/directives/require/Directive.d.ts +2 -2
  750. package/transpiled/directives/require/Directive.js +1 -2
  751. package/transpiled/directives/require/Headers.d.ts +3 -3
  752. package/transpiled/directives/require/Headers.js +4 -8
  753. package/transpiled/directives/require/Headers.js.map +1 -1
  754. package/transpiled/directives/require/Require.d.ts +4 -4
  755. package/transpiled/directives/require/Require.js +8 -15
  756. package/transpiled/directives/require/Require.js.map +1 -1
  757. package/transpiled/directives/require/index.d.ts +1 -1
  758. package/transpiled/directives/require/index.js +2 -5
  759. package/transpiled/directives/require/index.js.map +1 -1
  760. package/transpiled/discovery.js +1 -2
  761. package/transpiled/exceptions.d.ts +1 -1
  762. package/transpiled/exceptions.js +31 -34
  763. package/transpiled/exceptions.js.map +1 -1
  764. package/transpiled/index.d.ts +5 -5
  765. package/transpiled/index.js +2 -11
  766. package/transpiled/index.js.map +1 -1
  767. package/transpiled/io.d.ts +1 -1
  768. package/transpiled/io.js +1 -2
  769. package/transpiled/measurements.d.ts +22 -0
  770. package/transpiled/measurements.js +37 -0
  771. package/transpiled/measurements.js.map +1 -0
  772. package/transpiled/realtime/Destination.d.ts +44 -0
  773. package/transpiled/realtime/Destination.js +128 -0
  774. package/transpiled/realtime/Destination.js.map +1 -0
  775. package/transpiled/realtime/Factory.d.ts +11 -0
  776. package/transpiled/realtime/Factory.js +15 -0
  777. package/transpiled/realtime/Factory.js.map +1 -0
  778. package/transpiled/realtime/measurements.d.ts +1 -0
  779. package/transpiled/realtime/measurements.js +11 -0
  780. package/transpiled/realtime/measurements.js.map +1 -0
  781. package/transpiled/realtime/redis.d.ts +36 -0
  782. package/transpiled/realtime/redis.js +83 -0
  783. package/transpiled/realtime/redis.js.map +1 -0
  784. package/transpiled/root.d.ts +1 -1
  785. package/transpiled/root.js +37 -11
  786. package/transpiled/root.js.map +1 -1
  787. package/transpiled/service.d.ts +7 -0
  788. package/transpiled/service.js +122 -0
  789. package/transpiled/service.js.map +1 -0
  790. package/transpiled/userland.d.ts +39 -0
  791. package/transpiled/userland.js +7 -0
  792. package/transpiled/userland.js.map +1 -0
  793. package/ui/dist/_app/env.js +1 -0
  794. package/ui/dist/_app/immutable/assets/0.DKJjMwRs.css +2 -0
  795. package/ui/dist/_app/immutable/assets/2.BghF56l_.css +1 -0
  796. package/ui/dist/_app/immutable/assets/ui.DWW-43mU.css +1 -0
  797. package/ui/dist/_app/immutable/chunks/BVDJTrf4.js +3 -0
  798. package/ui/dist/_app/immutable/chunks/B_xKDxop.js +90 -0
  799. package/ui/dist/_app/immutable/chunks/Bjy-W4x2.js +81 -0
  800. package/ui/dist/_app/immutable/chunks/CZaFFKON.js +1 -0
  801. package/ui/dist/_app/immutable/chunks/CpefnqEp.js +1 -0
  802. package/ui/dist/_app/immutable/chunks/Ct2RV88Z.js +6 -0
  803. package/ui/dist/_app/immutable/chunks/xihTtKlq.js +1 -0
  804. package/ui/dist/_app/immutable/entry/app.CqwgUhww.js +2 -0
  805. package/ui/dist/_app/immutable/entry/start.B46VRLuJ.js +1 -0
  806. package/ui/dist/_app/immutable/nodes/0.D5Wva3zJ.js +1 -0
  807. package/ui/dist/_app/immutable/nodes/1.lNr__ktV.js +1 -0
  808. package/ui/dist/_app/immutable/nodes/2.BRk85phb.js +8 -0
  809. package/ui/dist/_app/immutable/nodes/3.tmoa7-_k.js +1 -0
  810. package/ui/dist/_app/immutable/nodes/4.C6CClEtZ.js +1 -0
  811. package/ui/dist/_app/immutable/nodes/5.CX8sVMjt.js +1 -0
  812. package/ui/dist/_app/immutable/nodes/6.D-kQrGiV.js +1 -0
  813. package/ui/dist/_app/version.json +1 -0
  814. package/ui/dist/apple-touch-icon.png +0 -0
  815. package/ui/dist/favicon-96x96.png +0 -0
  816. package/ui/dist/favicon.ico +0 -0
  817. package/ui/dist/index.html +66 -0
  818. package/components/context.toa.yaml +0 -27
  819. package/components/identity.bans/operations/transit.d.ts +0 -14
  820. package/components/identity.bans/operations/transit.js.map +0 -1
  821. package/components/identity.bans/operations/tsconfig.tsbuildinfo +0 -1
  822. package/components/identity.basic/operations/authenticate.d.ts +0 -13
  823. package/components/identity.basic/operations/authenticate.js.map +0 -1
  824. package/components/identity.basic/operations/incept.d.ts +0 -12
  825. package/components/identity.basic/operations/incept.js.map +0 -1
  826. package/components/identity.basic/operations/transit.d.ts +0 -12
  827. package/components/identity.basic/operations/transit.js.map +0 -1
  828. package/components/identity.basic/operations/tsconfig.tsbuildinfo +0 -1
  829. package/components/identity.basic/operations/types.d.ts +0 -40
  830. package/components/identity.basic/operations/types.js +0 -3
  831. package/components/identity.basic/operations/types.js.map +0 -1
  832. package/components/identity.basic/source/types.ts +0 -44
  833. package/components/identity.federation/operations/authenticate.d.ts +0 -3
  834. package/components/identity.federation/operations/authenticate.js.map +0 -1
  835. package/components/identity.federation/operations/incept.d.ts +0 -11
  836. package/components/identity.federation/operations/incept.js.map +0 -1
  837. package/components/identity.federation/operations/lib/assertions-as-values.d.ts +0 -4
  838. package/components/identity.federation/operations/lib/assertions-as-values.js +0 -45
  839. package/components/identity.federation/operations/lib/assertions-as-values.js.map +0 -1
  840. package/components/identity.federation/operations/lib/jwt.d.ts +0 -19
  841. package/components/identity.federation/operations/lib/jwt.js +0 -136
  842. package/components/identity.federation/operations/lib/jwt.js.map +0 -1
  843. package/components/identity.federation/operations/tsconfig.tsbuildinfo +0 -1
  844. package/components/identity.federation/operations/types/configuration.d.ts +0 -15
  845. package/components/identity.federation/operations/types/configuration.js.map +0 -1
  846. package/components/identity.federation/operations/types/context.d.ts +0 -56
  847. package/components/identity.federation/operations/types/context.js.map +0 -1
  848. package/components/identity.federation/operations/types/entity.d.ts +0 -6
  849. package/components/identity.federation/operations/types/entity.js.map +0 -1
  850. package/components/identity.federation/operations/types/index.d.ts +0 -3
  851. package/components/identity.federation/operations/types/index.js.map +0 -1
  852. package/components/identity.federation/source/lib/assertions-as-values.ts +0 -19
  853. package/components/identity.federation/source/lib/jwt.test.ts +0 -56
  854. package/components/identity.federation/source/lib/jwt.ts +0 -170
  855. package/components/identity.roles/operations/grant.d.ts +0 -10
  856. package/components/identity.roles/operations/grant.js.map +0 -1
  857. package/components/identity.roles/operations/lib/Entity.d.ts +0 -5
  858. package/components/identity.roles/operations/lib/Entity.js.map +0 -1
  859. package/components/identity.roles/operations/list.d.ts +0 -2
  860. package/components/identity.roles/operations/list.js.map +0 -1
  861. package/components/identity.roles/operations/principal.d.ts +0 -13
  862. package/components/identity.roles/operations/principal.js.map +0 -1
  863. package/components/identity.roles/operations/tsconfig.tsbuildinfo +0 -1
  864. package/components/identity.tokens/operations/authenticate.d.ts +0 -9
  865. package/components/identity.tokens/operations/authenticate.js.map +0 -1
  866. package/components/identity.tokens/operations/decrypt.d.ts +0 -3
  867. package/components/identity.tokens/operations/decrypt.js.map +0 -1
  868. package/components/identity.tokens/operations/encrypt.d.ts +0 -8
  869. package/components/identity.tokens/operations/encrypt.js.map +0 -1
  870. package/components/identity.tokens/operations/revoke.d.ts +0 -2
  871. package/components/identity.tokens/operations/revoke.js.map +0 -1
  872. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +0 -1
  873. package/components/identity.tokens/operations/types.d.ts +0 -46
  874. package/components/identity.tokens/operations/types.js +0 -3
  875. package/components/identity.tokens/operations/types.js.map +0 -1
  876. package/components/identity.tokens/source/authenticate.test.ts +0 -63
  877. package/components/identity.tokens/source/decrypt.test.ts +0 -61
  878. package/components/identity.tokens/source/encrypt.test.ts +0 -59
  879. package/components/identity.tokens/source/types.ts +0 -55
  880. package/components/octets.storage/manifest.toa.yaml +0 -21
  881. package/components/octets.storage/operations/delete.js +0 -7
  882. package/components/octets.storage/operations/fetch.js +0 -46
  883. package/components/octets.storage/operations/get.js +0 -7
  884. package/components/octets.storage/operations/list.js +0 -7
  885. package/components/octets.storage/operations/store.js +0 -11
  886. package/cucumber.js +0 -7
  887. package/documentation/.assets/ia3-dark.jpg +0 -0
  888. package/documentation/.assets/ia3-light.jpg +0 -0
  889. package/documentation/.assets/overview-dark.jpg +0 -0
  890. package/documentation/.assets/overview-light.jpg +0 -0
  891. package/documentation/.assets/role-scopes-dark.jpg +0 -0
  892. package/documentation/.assets/role-scopes-light.jpg +0 -0
  893. package/documentation/.assets/rtd-dark.jpg +0 -0
  894. package/documentation/.assets/rtd-light.jpg +0 -0
  895. package/documentation/access.md +0 -266
  896. package/documentation/authorities.md +0 -53
  897. package/documentation/cache.md +0 -49
  898. package/documentation/components.md +0 -331
  899. package/documentation/identity.md +0 -158
  900. package/documentation/io.md +0 -56
  901. package/documentation/notes/sse.md +0 -71
  902. package/documentation/octets.md +0 -261
  903. package/documentation/protocol.md +0 -85
  904. package/documentation/query.md +0 -275
  905. package/documentation/require.md +0 -15
  906. package/documentation/tree.md +0 -183
  907. package/documentation/vary.md +0 -69
  908. package/entity.json +0 -0
  909. package/features/access.feature +0 -476
  910. package/features/annotation.feature +0 -32
  911. package/features/authorities.basic.feature +0 -141
  912. package/features/authorities.feature +0 -32
  913. package/features/authorities.federation.feature +0 -99
  914. package/features/authorities.tokens.feature +0 -118
  915. package/features/body.feature +0 -49
  916. package/features/cache.feature +0 -233
  917. package/features/cors.feature +0 -76
  918. package/features/debug.feature +0 -34
  919. package/features/directives.feature +0 -61
  920. package/features/dynamic.feature +0 -110
  921. package/features/errors.feature +0 -225
  922. package/features/etag.feature +0 -103
  923. package/features/identity.bans.feature +0 -137
  924. package/features/identity.basic.feature +0 -401
  925. package/features/identity.feature +0 -82
  926. package/features/identity.federation.feature +0 -208
  927. package/features/identity.roles.feature +0 -267
  928. package/features/identity.tokens.feature +0 -229
  929. package/features/io.feature +0 -205
  930. package/features/octets.entries.feature +0 -131
  931. package/features/octets.feature +0 -265
  932. package/features/octets.meta.feature +0 -69
  933. package/features/octets.workflows.feature +0 -300
  934. package/features/probes.feature +0 -14
  935. package/features/query.feature +0 -261
  936. package/features/require.feature +0 -67
  937. package/features/response.feature +0 -74
  938. package/features/routes.feature +0 -139
  939. package/features/steps/Captures.ts +0 -6
  940. package/features/steps/Common.ts +0 -10
  941. package/features/steps/Components.ts +0 -55
  942. package/features/steps/Database.ts +0 -65
  943. package/features/steps/Gateway.ts +0 -132
  944. package/features/steps/HTTP.ts +0 -74
  945. package/features/steps/IdP.ts +0 -154
  946. package/features/steps/Parameters.ts +0 -21
  947. package/features/steps/Workspace.ts +0 -41
  948. package/features/steps/components/echo/manifest.toa.yaml +0 -14
  949. package/features/steps/components/echo/operations/affect.js +0 -7
  950. package/features/steps/components/echo/operations/compute.js +0 -7
  951. package/features/steps/components/echo/operations/error.js +0 -11
  952. package/features/steps/components/echo/operations/identity.js +0 -7
  953. package/features/steps/components/greeter/manifest.toa.yaml +0 -6
  954. package/features/steps/components/greeter/operations/greet.js +0 -7
  955. package/features/steps/components/octets.tester/manifest.toa.yaml +0 -19
  956. package/features/steps/components/octets.tester/operations/bar.js +0 -12
  957. package/features/steps/components/octets.tester/operations/baz.js +0 -11
  958. package/features/steps/components/octets.tester/operations/concat.js +0 -7
  959. package/features/steps/components/octets.tester/operations/diversify.js +0 -14
  960. package/features/steps/components/octets.tester/operations/echo.js +0 -7
  961. package/features/steps/components/octets.tester/operations/err.js +0 -16
  962. package/features/steps/components/octets.tester/operations/foo.js +0 -7
  963. package/features/steps/components/octets.tester/operations/lenna.png +0 -0
  964. package/features/steps/components/pots/manifest.toa.yaml +0 -29
  965. package/features/steps/components/sequences/manifest.toa.yaml +0 -11
  966. package/features/steps/components/sequences/operations/numbers.js +0 -7
  967. package/features/steps/components/sequences/operations/tokens.js +0 -16
  968. package/features/steps/components/users/manifest.toa.yaml +0 -14
  969. package/features/steps/components/users.properties/manifest.toa.yaml +0 -14
  970. package/features/steps/tsconfig.json +0 -9
  971. package/features/streams.feature +0 -31
  972. package/features/timing.feature +0 -69
  973. package/features/vary.feature +0 -252
  974. package/schemas/annotation.cos.yaml +0 -6
  975. package/schemas/directive.cos.yaml +0 -3
  976. package/schemas/method.cos.yaml +0 -8
  977. package/schemas/node.cos.yaml +0 -5
  978. package/schemas/octets/context.cos.yaml +0 -1
  979. package/schemas/octets/fetch.cos.yaml +0 -3
  980. package/schemas/octets/list.cos.yaml +0 -2
  981. package/schemas/octets/permute.cos.yaml +0 -1
  982. package/schemas/octets/store.cos.yaml +0 -3
  983. package/schemas/query.cos.yaml +0 -17
  984. package/schemas/querystring.cos.yaml +0 -6
  985. package/schemas/range.cos.yaml +0 -2
  986. package/schemas/route.cos.yaml +0 -2
  987. package/source/Annotation.ts +0 -8
  988. package/source/Branch.ts +0 -8
  989. package/source/Composition.ts +0 -57
  990. package/source/Context.ts +0 -8
  991. package/source/Directive.test.ts +0 -97
  992. package/source/Directive.ts +0 -96
  993. package/source/Endpoint.ts +0 -108
  994. package/source/Factory.ts +0 -60
  995. package/source/Gateway.ts +0 -97
  996. package/source/HTTP/Context.ts +0 -89
  997. package/source/HTTP/Server.ts +0 -171
  998. package/source/HTTP/Timing.ts +0 -40
  999. package/source/HTTP/exceptions.ts +0 -73
  1000. package/source/HTTP/formats/index.ts +0 -22
  1001. package/source/HTTP/formats/json.ts +0 -16
  1002. package/source/HTTP/formats/msgpack.ts +0 -16
  1003. package/source/HTTP/formats/text.ts +0 -12
  1004. package/source/HTTP/formats/yaml.ts +0 -17
  1005. package/source/HTTP/index.ts +0 -4
  1006. package/source/HTTP/messages.test.ts +0 -89
  1007. package/source/HTTP/messages.ts +0 -110
  1008. package/source/Interception.ts +0 -24
  1009. package/source/Mapping.ts +0 -55
  1010. package/source/Query.test.ts +0 -37
  1011. package/source/Query.ts +0 -116
  1012. package/source/RTD/Context.ts +0 -13
  1013. package/source/RTD/Directives.ts +0 -33
  1014. package/source/RTD/Endpoint.ts +0 -13
  1015. package/source/RTD/Match.ts +0 -11
  1016. package/source/RTD/Method.ts +0 -18
  1017. package/source/RTD/Node.ts +0 -84
  1018. package/source/RTD/Route.ts +0 -59
  1019. package/source/RTD/Tree.ts +0 -58
  1020. package/source/RTD/factory.ts +0 -44
  1021. package/source/RTD/index.ts +0 -8
  1022. package/source/RTD/segment.test.ts +0 -32
  1023. package/source/RTD/segment.ts +0 -26
  1024. package/source/RTD/syntax/index.ts +0 -2
  1025. package/source/RTD/syntax/parse.test.ts +0 -188
  1026. package/source/RTD/syntax/parse.ts +0 -154
  1027. package/source/RTD/syntax/types.ts +0 -48
  1028. package/source/Remotes.test.ts +0 -42
  1029. package/source/Remotes.ts +0 -30
  1030. package/source/Tenant.ts +0 -35
  1031. package/source/deployment.ts +0 -64
  1032. package/source/directives/auth/Anonymous.ts +0 -15
  1033. package/source/directives/auth/Authorization.ts +0 -157
  1034. package/source/directives/auth/Delegate.ts +0 -35
  1035. package/source/directives/auth/Echo.ts +0 -12
  1036. package/source/directives/auth/Id.ts +0 -19
  1037. package/source/directives/auth/Incept.ts +0 -48
  1038. package/source/directives/auth/Role.test.ts +0 -109
  1039. package/source/directives/auth/Role.ts +0 -66
  1040. package/source/directives/auth/Rule.ts +0 -28
  1041. package/source/directives/auth/Scheme.ts +0 -26
  1042. package/source/directives/auth/index.ts +0 -3
  1043. package/source/directives/auth/schemes.ts +0 -9
  1044. package/source/directives/auth/split.ts +0 -15
  1045. package/source/directives/auth/types.ts +0 -40
  1046. package/source/directives/cache/Cache.ts +0 -35
  1047. package/source/directives/cache/Control.ts +0 -85
  1048. package/source/directives/cache/Exact.ts +0 -7
  1049. package/source/directives/cache/index.ts +0 -3
  1050. package/source/directives/cache/types.ts +0 -9
  1051. package/source/directives/cors/CORS.ts +0 -62
  1052. package/source/directives/cors/index.ts +0 -3
  1053. package/source/directives/dev/Development.ts +0 -35
  1054. package/source/directives/dev/Stub.ts +0 -14
  1055. package/source/directives/dev/Throw.ts +0 -14
  1056. package/source/directives/dev/index.ts +0 -3
  1057. package/source/directives/dev/types.ts +0 -5
  1058. package/source/directives/index.ts +0 -13
  1059. package/source/directives/io/Directive.ts +0 -11
  1060. package/source/directives/io/IO.ts +0 -43
  1061. package/source/directives/io/Input.ts +0 -50
  1062. package/source/directives/io/Message.ts +0 -1
  1063. package/source/directives/io/Output.ts +0 -69
  1064. package/source/directives/io/index.ts +0 -3
  1065. package/source/directives/io/schemas.ts +0 -12
  1066. package/source/directives/octets/Context.ts +0 -19
  1067. package/source/directives/octets/Delete.ts +0 -85
  1068. package/source/directives/octets/Directive.ts +0 -10
  1069. package/source/directives/octets/Fetch.ts +0 -100
  1070. package/source/directives/octets/List.ts +0 -72
  1071. package/source/directives/octets/Octets.ts +0 -71
  1072. package/source/directives/octets/Store.ts +0 -126
  1073. package/source/directives/octets/Workflow.ts +0 -48
  1074. package/source/directives/octets/index.ts +0 -3
  1075. package/source/directives/octets/schemas.test.ts +0 -21
  1076. package/source/directives/octets/schemas.ts +0 -19
  1077. package/source/directives/octets/types.ts +0 -7
  1078. package/source/directives/octets/workflows/Execution.ts +0 -76
  1079. package/source/directives/octets/workflows/Workflow.ts +0 -37
  1080. package/source/directives/octets/workflows/index.ts +0 -1
  1081. package/source/directives/require/Directive.ts +0 -5
  1082. package/source/directives/require/Headers.ts +0 -20
  1083. package/source/directives/require/Require.ts +0 -28
  1084. package/source/directives/require/index.ts +0 -3
  1085. package/source/directives/vary/Directive.ts +0 -7
  1086. package/source/directives/vary/Embed.ts +0 -68
  1087. package/source/directives/vary/Properties.ts +0 -17
  1088. package/source/directives/vary/Vary.ts +0 -50
  1089. package/source/directives/vary/embeddings/Authority.ts +0 -8
  1090. package/source/directives/vary/embeddings/Embedding.ts +0 -7
  1091. package/source/directives/vary/embeddings/Header.ts +0 -32
  1092. package/source/directives/vary/embeddings/Language.ts +0 -31
  1093. package/source/directives/vary/embeddings/Parameter.ts +0 -14
  1094. package/source/directives/vary/embeddings/index.ts +0 -13
  1095. package/source/directives/vary/index.ts +0 -3
  1096. package/source/discovery.ts +0 -1
  1097. package/source/exceptions.ts +0 -28
  1098. package/source/index.test.ts +0 -9
  1099. package/source/index.ts +0 -6
  1100. package/source/io.ts +0 -4
  1101. package/source/manifest.test.ts +0 -51
  1102. package/source/manifest.ts +0 -51
  1103. package/source/root.ts +0 -43
  1104. package/source/schemas.ts +0 -13
  1105. package/transpiled/Annotation.d.ts +0 -8
  1106. package/transpiled/Annotation.js +0 -3
  1107. package/transpiled/Annotation.js.map +0 -1
  1108. package/transpiled/RTD/syntax/parse.d.ts +0 -4
  1109. package/transpiled/RTD/syntax/parse.js +0 -128
  1110. package/transpiled/RTD/syntax/parse.js.map +0 -1
  1111. package/transpiled/RTD/syntax/types.d.ts +0 -41
  1112. package/transpiled/RTD/syntax/types.js +0 -5
  1113. package/transpiled/RTD/syntax/types.js.map +0 -1
  1114. package/transpiled/deployment.d.ts +0 -3
  1115. package/transpiled/deployment.js +0 -79
  1116. package/transpiled/deployment.js.map +0 -1
  1117. package/transpiled/directives/octets/Fetch.d.ts +0 -18
  1118. package/transpiled/directives/octets/Fetch.js +0 -92
  1119. package/transpiled/directives/octets/Fetch.js.map +0 -1
  1120. package/transpiled/directives/octets/List.d.ts +0 -16
  1121. package/transpiled/directives/octets/List.js +0 -74
  1122. package/transpiled/directives/octets/List.js.map +0 -1
  1123. package/transpiled/directives/octets/Store.d.ts +0 -24
  1124. package/transpiled/directives/octets/Store.js +0 -95
  1125. package/transpiled/directives/octets/Store.js.map +0 -1
  1126. package/transpiled/directives/vary/Directive.d.ts +0 -6
  1127. package/transpiled/directives/vary/Directive.js +0 -3
  1128. package/transpiled/directives/vary/Directive.js.map +0 -1
  1129. package/transpiled/directives/vary/Embed.d.ts +0 -11
  1130. package/transpiled/directives/vary/Embed.js +0 -51
  1131. package/transpiled/directives/vary/Embed.js.map +0 -1
  1132. package/transpiled/directives/vary/Properties.d.ts +0 -9
  1133. package/transpiled/directives/vary/Properties.js +0 -16
  1134. package/transpiled/directives/vary/Properties.js.map +0 -1
  1135. package/transpiled/directives/vary/Vary.d.ts +0 -10
  1136. package/transpiled/directives/vary/Vary.js +0 -36
  1137. package/transpiled/directives/vary/Vary.js.map +0 -1
  1138. package/transpiled/directives/vary/embeddings/Authority.d.ts +0 -5
  1139. package/transpiled/directives/vary/embeddings/Authority.js +0 -10
  1140. package/transpiled/directives/vary/embeddings/Authority.js.map +0 -1
  1141. package/transpiled/directives/vary/embeddings/Embedding.d.ts +0 -6
  1142. package/transpiled/directives/vary/embeddings/Embedding.js +0 -3
  1143. package/transpiled/directives/vary/embeddings/Embedding.js.map +0 -1
  1144. package/transpiled/directives/vary/embeddings/Header.d.ts +0 -7
  1145. package/transpiled/directives/vary/embeddings/Header.js +0 -28
  1146. package/transpiled/directives/vary/embeddings/Header.js.map +0 -1
  1147. package/transpiled/directives/vary/embeddings/Language.d.ts +0 -7
  1148. package/transpiled/directives/vary/embeddings/Language.js +0 -28
  1149. package/transpiled/directives/vary/embeddings/Language.js.map +0 -1
  1150. package/transpiled/directives/vary/embeddings/Parameter.d.ts +0 -7
  1151. package/transpiled/directives/vary/embeddings/Parameter.js +0 -14
  1152. package/transpiled/directives/vary/embeddings/Parameter.js.map +0 -1
  1153. package/transpiled/directives/vary/embeddings/index.d.ts +0 -5
  1154. package/transpiled/directives/vary/embeddings/index.js +0 -14
  1155. package/transpiled/directives/vary/embeddings/index.js.map +0 -1
  1156. package/transpiled/directives/vary/index.d.ts +0 -2
  1157. package/transpiled/directives/vary/index.js +0 -6
  1158. package/transpiled/directives/vary/index.js.map +0 -1
  1159. package/transpiled/manifest.d.ts +0 -3
  1160. package/transpiled/manifest.js +0 -66
  1161. package/transpiled/manifest.js.map +0 -1
  1162. package/transpiled/schemas.d.ts +0 -7
  1163. package/transpiled/schemas.js +0 -14
  1164. package/transpiled/schemas.js.map +0 -1
  1165. package/transpiled/tsconfig.tsbuildinfo +0 -1
  1166. 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
+ }