@toa.io/extensions.exposition 1.0.0-alpha.29 → 1.0.0-alpha.291

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 (1313) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/components/exposition.octets/manifest.toa.yaml +58 -0
  3. package/components/exposition.octets/operations/delete.js +5 -0
  4. package/components/exposition.octets/operations/get.js +8 -0
  5. package/components/exposition.octets/operations/head.js +5 -0
  6. package/components/exposition.octets/operations/put.js +142 -0
  7. package/components/exposition.octets/types/index.d.ts +3 -0
  8. package/components/exposition.octets/types/toa.d.ts +41 -0
  9. package/components/identity.bans/manifest.toa.yaml +26 -8
  10. package/components/identity.bans/operations/transit.js +2 -6
  11. package/components/identity.bans/source/transit.ts +1 -1
  12. package/components/identity.bans/tsconfig.json +2 -1
  13. package/components/identity.bans/tsconfig.tsbuildinfo +1 -0
  14. package/components/identity.bans/types/index.d.ts +3 -0
  15. package/components/identity.bans/types/toa.d.ts +34 -0
  16. package/components/identity.basic/events/principal.js +8 -4
  17. package/components/identity.basic/manifest.toa.yaml +202 -29
  18. package/components/identity.basic/migrations/0002-indexes.yaml +13 -0
  19. package/components/identity.basic/operations/add.js +13 -0
  20. package/components/identity.basic/operations/authenticate.js +20 -17
  21. package/components/identity.basic/operations/check.js +14 -0
  22. package/components/identity.basic/operations/delete.js +7 -0
  23. package/components/identity.basic/operations/incept.js +34 -16
  24. package/components/identity.basic/operations/info.js +7 -0
  25. package/components/identity.basic/operations/lib/credentials.js +12 -0
  26. package/components/identity.basic/operations/transit.js +42 -21
  27. package/components/identity.basic/source/add.ts +18 -0
  28. package/components/identity.basic/source/authenticate.ts +31 -23
  29. package/components/identity.basic/source/check.ts +24 -0
  30. package/components/identity.basic/source/delete.ts +18 -0
  31. package/components/identity.basic/source/incept.ts +52 -14
  32. package/components/identity.basic/source/info.ts +22 -0
  33. package/components/identity.basic/source/lib/credentials.test.ts +18 -0
  34. package/components/identity.basic/source/lib/credentials.ts +12 -0
  35. package/components/identity.basic/source/transit.ts +64 -27
  36. package/components/identity.basic/tsconfig.json +2 -1
  37. package/components/identity.basic/tsconfig.tsbuildinfo +1 -0
  38. package/components/identity.basic/types/index.d.ts +26 -0
  39. package/components/identity.basic/types/toa.d.ts +121 -0
  40. package/components/identity.clients/manifest.toa.yaml +239 -0
  41. package/components/identity.clients/migrations/0002-indexes.yaml +4 -0
  42. package/components/identity.clients/operations/describe.js +44 -0
  43. package/components/identity.clients/operations/lib/Context.js +2 -0
  44. package/components/identity.clients/operations/lib/Entity.js +2 -0
  45. package/components/identity.clients/operations/lib/canonical.js +24 -0
  46. package/components/identity.clients/operations/lib/cimd.js +87 -0
  47. package/components/identity.clients/operations/lib/errors.js +5 -0
  48. package/components/identity.clients/operations/lib/index.js +7 -0
  49. package/components/identity.clients/operations/lib/redirect.js +35 -0
  50. package/components/identity.clients/operations/register.js +84 -0
  51. package/components/identity.clients/source/describe.ts +63 -0
  52. package/components/identity.clients/source/lib/Context.ts +41 -0
  53. package/components/identity.clients/source/lib/Entity.ts +31 -0
  54. package/components/identity.clients/source/lib/canonical.test.ts +43 -0
  55. package/components/identity.clients/source/lib/canonical.ts +27 -0
  56. package/components/identity.clients/source/lib/cimd.test.ts +122 -0
  57. package/components/identity.clients/source/lib/cimd.ts +112 -0
  58. package/components/identity.clients/source/lib/errors.ts +4 -0
  59. package/components/identity.clients/source/lib/index.ts +6 -0
  60. package/components/identity.clients/source/lib/redirect.test.ts +47 -0
  61. package/components/identity.clients/source/lib/redirect.ts +39 -0
  62. package/components/identity.clients/source/register.ts +125 -0
  63. package/components/identity.clients/tsconfig.json +10 -0
  64. package/components/identity.clients/tsconfig.tsbuildinfo +1 -0
  65. package/components/identity.clients/types/index.d.ts +3 -0
  66. package/components/identity.clients/types/toa.d.ts +109 -0
  67. package/components/identity.credentials/manifest.toa.yaml +78 -0
  68. package/components/identity.credentials/operations/list.js +32 -0
  69. package/components/identity.credentials/source/list.test.ts +70 -0
  70. package/components/identity.credentials/source/list.ts +92 -0
  71. package/components/identity.credentials/tsconfig.json +10 -0
  72. package/components/identity.credentials/tsconfig.tsbuildinfo +1 -0
  73. package/components/identity.credentials/types/index.d.ts +3 -0
  74. package/components/identity.credentials/types/toa.d.ts +30 -0
  75. package/components/identity.federation/events/principal.js +7 -8
  76. package/components/identity.federation/manifest.toa.yaml +258 -65
  77. package/components/identity.federation/migrations/0002-indexes.yaml +25 -0
  78. package/components/identity.federation/operations/authenticate.js +31 -20
  79. package/components/identity.federation/operations/create.js +29 -0
  80. package/components/identity.federation/operations/decode.js +9 -0
  81. package/components/identity.federation/operations/delete.js +7 -0
  82. package/components/identity.federation/operations/incept.js +9 -13
  83. package/components/identity.federation/operations/lib/Configuration.js +2 -0
  84. package/components/identity.federation/operations/lib/Ctx.js +2 -0
  85. package/components/identity.federation/operations/lib/Payload.js +2 -0
  86. package/components/identity.federation/operations/lib/decode.js +36 -0
  87. package/components/identity.federation/operations/lib/discovery.js +34 -0
  88. package/components/identity.federation/operations/lib/errors.js +45 -0
  89. package/components/identity.federation/operations/lib/exchange.js +90 -0
  90. package/components/identity.federation/operations/lib/index.js +5 -0
  91. package/components/identity.federation/operations/lib/jose.js +2 -0
  92. package/components/identity.federation/operations/lib/principal.js +14 -0
  93. package/components/identity.federation/operations/lib/resolve.js +13 -0
  94. package/components/identity.federation/operations/list.js +12 -0
  95. package/components/identity.federation/operations/types/Scheme.js +2 -0
  96. package/components/identity.federation/operations/types/configuration.js +2 -3
  97. package/components/identity.federation/operations/types/context.js +2 -3
  98. package/components/identity.federation/operations/types/entity.js +2 -3
  99. package/components/identity.federation/operations/types/index.js +5 -20
  100. package/components/identity.federation/source/authenticate.ts +50 -19
  101. package/components/identity.federation/source/create.ts +44 -0
  102. package/components/identity.federation/source/decode.ts +14 -0
  103. package/components/identity.federation/source/delete.ts +19 -0
  104. package/components/identity.federation/source/incept.ts +12 -15
  105. package/components/identity.federation/source/lib/Configuration.ts +39 -0
  106. package/components/identity.federation/source/lib/Ctx.ts +9 -0
  107. package/components/identity.federation/source/lib/Payload.ts +6 -0
  108. package/components/identity.federation/source/lib/decode.ts +44 -0
  109. package/components/identity.federation/source/lib/discovery.test.ts +60 -0
  110. package/components/identity.federation/source/lib/discovery.ts +50 -0
  111. package/components/identity.federation/source/lib/errors.ts +54 -0
  112. package/components/identity.federation/source/lib/exchange.ts +123 -0
  113. package/components/identity.federation/source/lib/index.ts +5 -0
  114. package/components/identity.federation/source/lib/jose.d.ts +1 -0
  115. package/components/identity.federation/source/lib/jose.js +1 -0
  116. package/components/identity.federation/source/lib/principal.ts +19 -0
  117. package/components/identity.federation/source/lib/resolve.ts +21 -0
  118. package/components/identity.federation/source/list.test.ts +41 -0
  119. package/components/identity.federation/source/list.ts +21 -0
  120. package/components/identity.federation/source/types/Scheme.ts +1 -0
  121. package/components/identity.federation/source/types/configuration.ts +12 -4
  122. package/components/identity.federation/source/types/context.ts +22 -38
  123. package/components/identity.federation/source/types/entity.ts +3 -0
  124. package/components/identity.federation/source/types/index.ts +4 -3
  125. package/components/identity.federation/tsconfig.json +3 -2
  126. package/components/identity.federation/tsconfig.tsbuildinfo +1 -0
  127. package/components/identity.federation/types/index.d.ts +3 -0
  128. package/components/identity.federation/types/toa.d.ts +127 -0
  129. package/components/identity.grants/manifest.toa.yaml +241 -0
  130. package/components/identity.grants/migrations/0002-indexes.yaml +5 -0
  131. package/components/identity.grants/operations/authorize.js +54 -0
  132. package/components/identity.grants/operations/exchange.js +92 -0
  133. package/components/identity.grants/operations/lib/code.js +30 -0
  134. package/components/identity.grants/operations/lib/identify.js +15 -0
  135. package/components/identity.grants/operations/lib/index.js +3 -0
  136. package/components/identity.grants/operations/list.js +18 -0
  137. package/components/identity.grants/operations/revoke.js +26 -0
  138. package/components/identity.grants/source/authorize.ts +98 -0
  139. package/components/identity.grants/source/exchange.ts +134 -0
  140. package/components/identity.grants/source/lib/code.ts +51 -0
  141. package/components/identity.grants/source/lib/identify.ts +16 -0
  142. package/components/identity.grants/source/lib/index.ts +3 -0
  143. package/components/identity.grants/source/list.ts +28 -0
  144. package/components/identity.grants/source/revoke.ts +40 -0
  145. package/components/identity.grants/tsconfig.json +10 -0
  146. package/components/identity.grants/tsconfig.tsbuildinfo +1 -0
  147. package/components/identity.grants/types/index.d.ts +60 -0
  148. package/components/identity.grants/types/toa.d.ts +108 -0
  149. package/components/identity.keys/manifest.toa.yaml +79 -0
  150. package/components/identity.keys/migrations/0002-indexes.yaml +4 -0
  151. package/components/identity.keys/operations/create.js +12 -0
  152. package/components/identity.keys/operations/disable.js +5 -0
  153. package/components/identity.keys/operations/revoke.js +12 -0
  154. package/components/identity.keys/receivers/identity.bans.created.js +1 -0
  155. package/components/identity.keys/receivers/identity.bans.updated.js +1 -0
  156. package/components/identity.keys/receivers/identity.roles.deleted.js +1 -0
  157. package/components/identity.keys/source/create.ts +34 -0
  158. package/components/identity.keys/source/disable.ts +9 -0
  159. package/components/identity.keys/source/revoke.ts +30 -0
  160. package/components/identity.keys/tsconfig.json +10 -0
  161. package/components/identity.keys/tsconfig.tsbuildinfo +1 -0
  162. package/components/identity.keys/types/index.d.ts +3 -0
  163. package/components/identity.keys/types/toa.d.ts +47 -0
  164. package/components/identity.otp/manifest.toa.yaml +96 -0
  165. package/components/identity.otp/migrations/0002-indexes.yaml +5 -0
  166. package/components/identity.otp/operations/authenticate.js +44 -0
  167. package/components/identity.otp/operations/issue.js +19 -0
  168. package/components/identity.otp/operations/lib/Context.js +2 -0
  169. package/components/identity.otp/operations/lib/Entity.js +2 -0
  170. package/components/identity.otp/operations/lib/index.js +2 -0
  171. package/components/identity.otp/source/authenticate.ts +70 -0
  172. package/components/identity.otp/source/issue.ts +35 -0
  173. package/components/identity.otp/source/lib/Context.ts +17 -0
  174. package/components/identity.otp/source/lib/Entity.ts +6 -0
  175. package/components/identity.otp/source/lib/index.ts +1 -0
  176. package/components/identity.otp/tsconfig.json +10 -0
  177. package/components/identity.otp/tsconfig.tsbuildinfo +1 -0
  178. package/components/identity.otp/types/index.d.ts +3 -0
  179. package/components/identity.otp/types/toa.d.ts +56 -0
  180. package/components/identity.passkeys/manifest.toa.yaml +302 -0
  181. package/components/identity.passkeys/migrations/0002-indexes.yaml +11 -0
  182. package/components/identity.passkeys/operations/authenticate.js +32 -0
  183. package/components/identity.passkeys/operations/challenge.js +72 -0
  184. package/components/identity.passkeys/operations/create.js +57 -0
  185. package/components/identity.passkeys/operations/delete.js +9 -0
  186. package/components/identity.passkeys/operations/lib/const.js +2 -0
  187. package/components/identity.passkeys/operations/list.js +12 -0
  188. package/components/identity.passkeys/operations/types/Configuration.js +2 -0
  189. package/components/identity.passkeys/operations/types/Context.js +2 -0
  190. package/components/identity.passkeys/operations/types/Passkey.js +2 -0
  191. package/components/identity.passkeys/operations/types/index.js +2 -0
  192. package/components/identity.passkeys/operations/use.js +56 -0
  193. package/components/identity.passkeys/source/authenticate.ts +49 -0
  194. package/components/identity.passkeys/source/challenge.ts +119 -0
  195. package/components/identity.passkeys/source/create.ts +83 -0
  196. package/components/identity.passkeys/source/delete.ts +19 -0
  197. package/components/identity.passkeys/source/errors.test.ts +34 -0
  198. package/components/identity.passkeys/source/lib/const.ts +1 -0
  199. package/components/identity.passkeys/source/list.ts +21 -0
  200. package/components/identity.passkeys/source/types/Configuration.ts +6 -0
  201. package/components/identity.passkeys/source/types/Context.ts +17 -0
  202. package/components/identity.passkeys/source/types/Passkey.ts +12 -0
  203. package/components/identity.passkeys/source/types/index.ts +2 -0
  204. package/components/identity.passkeys/source/use.ts +81 -0
  205. package/components/identity.passkeys/source/webauthn.test.ts +26 -0
  206. package/components/identity.passkeys/tsconfig.json +10 -0
  207. package/components/identity.passkeys/tsconfig.tsbuildinfo +1 -0
  208. package/components/identity.passkeys/types/index.d.ts +3 -0
  209. package/components/identity.passkeys/types/toa.d.ts +120 -0
  210. package/components/identity.roles/manifest.toa.yaml +46 -13
  211. package/components/identity.roles/migrations/0002-indexes.yaml +8 -0
  212. package/components/identity.roles/operations/grant.js +11 -11
  213. package/components/identity.roles/operations/lib/Entity.js +2 -3
  214. package/components/identity.roles/operations/list.js +2 -6
  215. package/components/identity.roles/operations/principal.js +30 -10
  216. package/components/identity.roles/receivers/identity.federation.principal.js +4 -0
  217. package/components/identity.roles/source/grant.ts +16 -10
  218. package/components/identity.roles/source/list.ts +2 -2
  219. package/components/identity.roles/source/principal.ts +34 -8
  220. package/components/identity.roles/tsconfig.json +2 -1
  221. package/components/identity.roles/tsconfig.tsbuildinfo +1 -0
  222. package/components/identity.roles/types/index.d.ts +3 -0
  223. package/components/identity.roles/types/toa.d.ts +43 -0
  224. package/components/identity.tokens/manifest.toa.yaml +222 -29
  225. package/components/identity.tokens/operations/authenticate.js +29 -20
  226. package/components/identity.tokens/operations/decrypt.js +138 -25
  227. package/components/identity.tokens/operations/encrypt.js +33 -18
  228. package/components/identity.tokens/operations/issue.js +55 -0
  229. package/components/identity.tokens/operations/lib/form.js +24 -0
  230. package/components/identity.tokens/operations/lib/index.js +4 -0
  231. package/components/identity.tokens/operations/lib/jose.js +2 -0
  232. package/components/identity.tokens/operations/lib/key.js +7 -0
  233. package/components/identity.tokens/operations/lib/pad.js +2 -0
  234. package/components/identity.tokens/operations/revoke.js +2 -6
  235. package/components/identity.tokens/receivers/identity.bans.created.js +1 -3
  236. package/components/identity.tokens/receivers/identity.bans.updated.js +1 -3
  237. package/components/identity.tokens/source/authenticate.test.ts +74 -25
  238. package/components/identity.tokens/source/authenticate.ts +33 -19
  239. package/components/identity.tokens/source/decrypt.test.ts +173 -18
  240. package/components/identity.tokens/source/decrypt.ts +180 -21
  241. package/components/identity.tokens/source/encrypt.test.ts +107 -16
  242. package/components/identity.tokens/source/encrypt.ts +44 -17
  243. package/components/identity.tokens/source/issue.test.ts +73 -0
  244. package/components/identity.tokens/source/issue.ts +83 -0
  245. package/components/identity.tokens/source/lib/form.test.ts +25 -0
  246. package/components/identity.tokens/source/lib/form.ts +27 -0
  247. package/components/identity.tokens/source/lib/index.ts +4 -0
  248. package/components/identity.tokens/source/lib/jose.d.ts +1 -0
  249. package/components/identity.tokens/source/lib/jose.js +1 -0
  250. package/components/identity.tokens/source/lib/key.ts +8 -0
  251. package/components/identity.tokens/source/lib/pad.ts +1 -0
  252. package/components/identity.tokens/source/lib/paseto.test.ts +62 -0
  253. package/components/identity.tokens/source/revoke.ts +2 -2
  254. package/components/identity.tokens/tsconfig.json +2 -1
  255. package/components/identity.tokens/tsconfig.tsbuildinfo +1 -0
  256. package/components/identity.tokens/types/index.d.ts +70 -0
  257. package/components/identity.tokens/types/toa.d.ts +113 -0
  258. package/{components/context.toa.yaml → context.toa.yaml} +8 -4
  259. package/cucumber.mjs +7 -0
  260. package/documentation/access.md +112 -28
  261. package/documentation/authorities.md +9 -11
  262. package/documentation/cache.md +27 -4
  263. package/documentation/components.md +204 -63
  264. package/documentation/consent.md +101 -0
  265. package/documentation/credentials.md +88 -0
  266. package/documentation/dev.md +30 -0
  267. package/documentation/discovery.md +81 -0
  268. package/documentation/flow.md +44 -0
  269. package/documentation/help.md +122 -0
  270. package/documentation/identity.md +164 -18
  271. package/documentation/introspection.md +123 -0
  272. package/documentation/io.md +115 -4
  273. package/documentation/ip.md +24 -0
  274. package/documentation/map.md +123 -0
  275. package/documentation/mcp.md +183 -0
  276. package/documentation/notes/desync.jpg +0 -0
  277. package/documentation/notes/peers.md +59 -0
  278. package/documentation/notes/throttling.md +122 -0
  279. package/documentation/oauth.md +180 -0
  280. package/documentation/octets.md +146 -73
  281. package/documentation/passkeys.md +11 -0
  282. package/documentation/protocol.md +41 -6
  283. package/documentation/query.md +56 -7
  284. package/documentation/rpc.md +154 -0
  285. package/documentation/tracing.md +70 -0
  286. package/documentation/tree.md +17 -1
  287. package/features/access.feature +123 -3
  288. package/features/auth.assert.feature +55 -0
  289. package/features/auth.bearer.feature +120 -0
  290. package/features/auth.claims.feature +171 -0
  291. package/features/auth.incept.feature +166 -0
  292. package/features/auth.input.feature +59 -0
  293. package/features/authorities.feature +41 -2
  294. package/features/authorities.federation.feature +21 -20
  295. package/features/authorities.tokens.feature +1 -2
  296. package/features/body.feature +27 -0
  297. package/features/cache.feature +143 -8
  298. package/features/configuration.feature +206 -0
  299. package/features/cors.feature +59 -8
  300. package/features/credentials.feature +106 -0
  301. package/features/dev.feature +90 -0
  302. package/features/discovery.feature +213 -0
  303. package/features/discovery.ui.feature +213 -0
  304. package/features/dynamic.feature +83 -1
  305. package/features/errors.feature +38 -5
  306. package/features/etag.feature +139 -3
  307. package/features/flow.feature +148 -0
  308. package/features/help.feature +512 -0
  309. package/features/identity.bans.feature +66 -3
  310. package/features/identity.basic.feature +282 -17
  311. package/features/identity.feature +158 -0
  312. package/features/identity.federation.feature +226 -38
  313. package/features/identity.otp.feature +142 -0
  314. package/features/identity.roles.feature +305 -4
  315. package/features/identity.tokens.custom.feature +430 -0
  316. package/features/identity.tokens.feature +6 -104
  317. package/features/interruptions.feature +20 -0
  318. package/features/introspection.feature +565 -0
  319. package/features/introspection.map.feature +108 -0
  320. package/features/io.feature +0 -1
  321. package/features/io.throttle.feature +166 -0
  322. package/features/map.feature +360 -0
  323. package/features/mcp.feature +753 -0
  324. package/features/methods.feature +48 -0
  325. package/features/oauth.clients.feature +195 -0
  326. package/features/oauth.discovery.feature +164 -0
  327. package/features/oauth.grants.feature +301 -0
  328. package/features/octets.cloudinary.feature +233 -0
  329. package/features/octets.download.feature +194 -0
  330. package/features/octets.entries.feature +13 -61
  331. package/features/octets.feature +96 -55
  332. package/features/octets.head.feature +40 -0
  333. package/features/octets.location.feature +83 -0
  334. package/features/octets.meta.feature +64 -16
  335. package/features/octets.workflows.feature +333 -68
  336. package/features/passkeys.feature +66 -0
  337. package/features/probes.feature +8 -4
  338. package/features/query.feature +128 -0
  339. package/features/realtime.feature +34 -0
  340. package/features/require.feature +1 -2
  341. package/features/response.feature +30 -1
  342. package/features/routes.feature +85 -0
  343. package/features/rpc.feature +429 -0
  344. package/features/server.feature +21 -0
  345. package/features/site/_app/immutable/asset.js +1 -0
  346. package/features/site/favicon.ico +0 -0
  347. package/features/site/index.html +10 -0
  348. package/features/steps/.env.example +5 -0
  349. package/features/steps/Captures.ts +15 -1
  350. package/features/steps/Cloudinary.ts +12 -0
  351. package/features/steps/Common.ts +31 -3
  352. package/features/steps/Components.ts +74 -14
  353. package/features/steps/Database.ts +57 -16
  354. package/features/steps/Gateway.ts +157 -49
  355. package/features/steps/HTTP.ts +41 -19
  356. package/features/steps/IDP.ts +361 -0
  357. package/features/steps/Identity.ts +54 -0
  358. package/features/steps/OTP.ts +42 -0
  359. package/features/steps/Parameters.ts +151 -10
  360. package/features/steps/Probe.ts +38 -0
  361. package/features/steps/Realtime.ts +175 -0
  362. package/features/steps/Workspace.ts +19 -12
  363. package/features/steps/components/audit/manifest.toa.yaml +20 -0
  364. package/features/steps/components/audit/operations/record.js +5 -0
  365. package/features/steps/components/echo/manifest.toa.yaml +50 -5
  366. package/features/steps/components/echo/operations/affect.js +1 -5
  367. package/features/steps/components/echo/operations/compute.js +1 -5
  368. package/features/steps/components/echo/operations/echo.js +3 -0
  369. package/features/steps/components/echo/operations/error.js +1 -5
  370. package/features/steps/components/echo/operations/identity.js +1 -5
  371. package/features/steps/components/echo/operations/parameters.js +3 -0
  372. package/features/steps/components/echo/operations/ping.js +3 -0
  373. package/features/steps/components/echo/operations/unwrap.js +3 -0
  374. package/features/steps/components/echo.beacon/manifest.toa.yaml +2 -0
  375. package/features/steps/components/echo.beacon/operations/hello.js +3 -0
  376. package/features/steps/components/greeter/manifest.toa.yaml +0 -1
  377. package/features/steps/components/greeter/operations/greet.js +1 -5
  378. package/features/steps/components/notify/manifest.toa.yaml +20 -0
  379. package/features/steps/components/notify/operations/send.js +5 -0
  380. package/features/steps/components/octets.tester/manifest.toa.yaml +60 -6
  381. package/features/steps/components/octets.tester/operations/authority.js +3 -0
  382. package/features/steps/components/octets.tester/operations/bar.js +2 -5
  383. package/features/steps/components/octets.tester/operations/baz.js +3 -5
  384. package/features/steps/components/octets.tester/operations/concat.js +2 -4
  385. package/features/steps/components/octets.tester/operations/echo.js +3 -5
  386. package/features/steps/components/octets.tester/operations/err.js +2 -4
  387. package/features/steps/components/octets.tester/operations/foo.js +3 -5
  388. package/features/steps/components/octets.tester/operations/id.js +5 -0
  389. package/features/steps/components/octets.tester/operations/identity.js +5 -0
  390. package/features/steps/components/octets.tester/operations/redirect.js +17 -0
  391. package/features/steps/components/octets.tester/operations/yex.js +14 -0
  392. package/features/steps/components/octets.tester/operations/yield.js +11 -0
  393. package/features/steps/components/orders/manifest.toa.yaml +30 -0
  394. package/features/steps/components/orders/operations/create.js +7 -0
  395. package/features/steps/components/pots/manifest.toa.yaml +77 -15
  396. package/features/steps/components/pots/migrations/0002-indexes.yaml +4 -0
  397. package/features/steps/components/pricing/manifest.toa.yaml +13 -0
  398. package/features/steps/components/pricing/operations/quote.js +3 -0
  399. package/features/steps/components/sequences/manifest.toa.yaml +2 -2
  400. package/features/steps/components/sequences/operations/numbers.js +2 -4
  401. package/features/steps/components/sequences/operations/tokens.js +5 -7
  402. package/features/steps/components/users/manifest.toa.yaml +20 -4
  403. package/features/steps/components/users/operations/create.js +11 -0
  404. package/features/steps/components/users.properties/manifest.toa.yaml +12 -4
  405. package/features/steps/map.ts +30 -0
  406. package/features/streams.feature +4 -0
  407. package/features/timestamps.feature +41 -0
  408. package/features/timing.feature +2 -22
  409. package/features/tracing.feature +123 -0
  410. package/package.json +35 -25
  411. package/readme.md +37 -7
  412. package/schemas/annotation.cos.yaml +125 -6
  413. package/schemas/call.cos.yaml +18 -0
  414. package/schemas/directive.cos.yaml +7 -3
  415. package/schemas/io/throttle.cos.yaml +81 -0
  416. package/schemas/method.cos.yaml +23 -8
  417. package/schemas/node.cos.yaml +22 -5
  418. package/schemas/octets/delete.cos.yaml +15 -2
  419. package/schemas/octets/get.cos.yaml +5 -0
  420. package/schemas/octets/put.cos.yaml +31 -0
  421. package/schemas/octets/workflow.cos.yaml +0 -1
  422. package/schemas/query.cos.yaml +31 -17
  423. package/schemas/querystring.cos.yaml +19 -6
  424. package/schemas/range.cos.yaml +10 -2
  425. package/schemas/route.cos.yaml +6 -2
  426. package/source/Annotation.ts +82 -1
  427. package/source/Branch.test.ts +40 -0
  428. package/source/Branch.ts +37 -1
  429. package/source/Composition.ts +10 -16
  430. package/source/Context.ts +5 -2
  431. package/source/Directive.test.ts +132 -30
  432. package/source/Directive.ts +189 -37
  433. package/source/Discovery/Explorer.ts +34 -0
  434. package/source/Discovery/Site.test.ts +147 -0
  435. package/source/Discovery/Site.ts +202 -0
  436. package/source/Discovery/index.ts +3 -0
  437. package/source/Discovery/tree.test.ts +175 -0
  438. package/source/Discovery/tree.ts +77 -0
  439. package/source/Discovery/trunk.ts +33 -0
  440. package/source/Endpoint.test.ts +67 -0
  441. package/source/Endpoint.ts +94 -45
  442. package/source/Factory.ts +30 -48
  443. package/source/Gateway.ts +337 -44
  444. package/source/HTTP/Context.ts +96 -42
  445. package/source/HTTP/Probe.ts +99 -0
  446. package/source/HTTP/Server.ts +337 -78
  447. package/source/HTTP/Timing.ts +7 -33
  448. package/source/HTTP/address.test.ts +28 -0
  449. package/source/HTTP/address.ts +16 -0
  450. package/source/HTTP/exceptions.ts +49 -23
  451. package/source/HTTP/formats/form.ts +21 -0
  452. package/source/HTTP/formats/index.ts +24 -10
  453. package/source/HTTP/formats/json.ts +3 -5
  454. package/source/HTTP/formats/msgpack.ts +3 -5
  455. package/source/HTTP/formats/text.ts +3 -5
  456. package/source/HTTP/formats/yaml.test.ts +22 -0
  457. package/source/HTTP/formats/yaml.ts +29 -6
  458. package/source/HTTP/index.ts +6 -4
  459. package/source/HTTP/messages.test.ts +126 -19
  460. package/source/HTTP/messages.ts +127 -51
  461. package/source/HTTP/types.ts +39 -0
  462. package/source/Interception.ts +18 -5
  463. package/source/Introspection.ts +179 -0
  464. package/source/MCP/Server.ts +335 -0
  465. package/source/MCP/discover.ts +51 -0
  466. package/source/MCP/errors.ts +80 -0
  467. package/source/MCP/index.ts +1 -0
  468. package/source/MCP/schema.test.ts +91 -0
  469. package/source/MCP/schema.ts +94 -0
  470. package/source/MCP/tools.ts +144 -0
  471. package/source/MCP/types.ts +84 -0
  472. package/source/Mapping.ts +75 -29
  473. package/source/Query.test.ts +22 -5
  474. package/source/Query.ts +200 -39
  475. package/source/RPC/Context.ts +75 -0
  476. package/source/RPC/Dispatcher.ts +150 -0
  477. package/source/RPC/errors.test.ts +77 -0
  478. package/source/RPC/errors.ts +82 -0
  479. package/source/RPC/index.ts +1 -0
  480. package/source/RPC/names.test.ts +141 -0
  481. package/source/RPC/names.ts +176 -0
  482. package/source/RPC/types.ts +34 -0
  483. package/source/RTD/Context.ts +7 -4
  484. package/source/RTD/Directives.ts +103 -10
  485. package/source/RTD/Endpoint.ts +19 -5
  486. package/source/RTD/Match.ts +1 -1
  487. package/source/RTD/Method.ts +25 -4
  488. package/source/RTD/Node.ts +118 -33
  489. package/source/RTD/Route.ts +55 -21
  490. package/source/RTD/Tree.ts +96 -17
  491. package/source/RTD/expiration.test.ts +81 -0
  492. package/source/RTD/factory.ts +82 -21
  493. package/source/RTD/index.ts +8 -8
  494. package/source/RTD/segment.test.ts +13 -10
  495. package/source/RTD/segment.ts +33 -8
  496. package/source/RTD/syntax/index.ts +2 -2
  497. package/source/RTD/syntax/parse.test.ts +39 -31
  498. package/source/RTD/syntax/parse.ts +68 -51
  499. package/source/RTD/syntax/types.ts +25 -4
  500. package/source/RTD/walk.test.ts +147 -0
  501. package/source/Remotes.test.ts +55 -18
  502. package/source/Remotes.ts +20 -11
  503. package/source/Tenant.ts +54 -16
  504. package/source/const.ts +45 -0
  505. package/source/deployment.ts +58 -26
  506. package/source/directives/auth/Anonymous.test.ts +70 -0
  507. package/source/directives/auth/Anonymous.ts +27 -6
  508. package/source/directives/auth/Anyone.ts +23 -0
  509. package/source/directives/auth/Assert.ts +43 -0
  510. package/source/directives/auth/Authorization.test.ts +24 -0
  511. package/source/directives/auth/Authorization.ts +299 -68
  512. package/source/directives/auth/Delegate.test.ts +36 -0
  513. package/source/directives/auth/Delegate.ts +31 -12
  514. package/source/directives/auth/Echo.ts +18 -6
  515. package/source/directives/auth/Federation.ts +104 -0
  516. package/source/directives/auth/Id.ts +24 -6
  517. package/source/directives/auth/Incept.ts +101 -32
  518. package/source/directives/auth/Input.ts +92 -0
  519. package/source/directives/auth/Role.test.ts +79 -41
  520. package/source/directives/auth/Role.ts +59 -26
  521. package/source/directives/auth/Rule.ts +41 -10
  522. package/source/directives/auth/Scheme.ts +15 -10
  523. package/source/directives/auth/create.ts +11 -0
  524. package/source/directives/auth/index.ts +1 -1
  525. package/source/directives/auth/schemes.test.ts +18 -0
  526. package/source/directives/auth/schemes.ts +36 -6
  527. package/source/directives/auth/split.ts +4 -5
  528. package/source/directives/auth/types.ts +48 -13
  529. package/source/directives/cache/Cache.ts +70 -13
  530. package/source/directives/cache/Control.ts +36 -40
  531. package/source/directives/cache/Exact.ts +2 -2
  532. package/source/directives/cache/etag.ts +38 -0
  533. package/source/directives/cache/index.ts +1 -1
  534. package/source/directives/cache/types.ts +1 -1
  535. package/source/directives/cors/CORS.test.ts +75 -0
  536. package/source/directives/cors/CORS.ts +49 -23
  537. package/source/directives/cors/index.ts +1 -1
  538. package/source/directives/dev/Development.ts +20 -14
  539. package/source/directives/dev/Faulty.ts +31 -0
  540. package/source/directives/dev/Sleep.ts +53 -0
  541. package/source/directives/dev/Stub.ts +4 -4
  542. package/source/directives/dev/Throw.ts +4 -4
  543. package/source/directives/dev/index.ts +1 -1
  544. package/source/directives/dev/types.ts +2 -2
  545. package/source/directives/flow/Compose.ts +98 -0
  546. package/source/directives/flow/Fetch.ts +86 -0
  547. package/source/directives/flow/Flow.ts +43 -0
  548. package/source/directives/flow/index.ts +3 -0
  549. package/source/directives/flow/types.ts +7 -0
  550. package/source/directives/help/Family.ts +122 -0
  551. package/source/directives/help/Help.test.ts +227 -0
  552. package/source/directives/help/Help.ts +47 -0
  553. package/source/directives/help/Parameters.ts +47 -0
  554. package/source/directives/help/described.ts +57 -0
  555. package/source/directives/help/index.ts +45 -0
  556. package/source/directives/index.ts +32 -12
  557. package/source/directives/io/Directive.ts +9 -3
  558. package/source/directives/io/IO.ts +89 -14
  559. package/source/directives/io/Input.ts +26 -21
  560. package/source/directives/io/Output.ts +43 -31
  561. package/source/directives/io/Status.test.ts +88 -0
  562. package/source/directives/io/Status.ts +47 -0
  563. package/source/directives/io/Throttle.ts +30 -0
  564. package/source/directives/io/index.ts +1 -1
  565. package/source/directives/io/lib/throttle/Configuration.test.ts +72 -0
  566. package/source/directives/io/lib/throttle/Configuration.ts +68 -0
  567. package/source/directives/io/lib/throttle/Keys.ts +53 -0
  568. package/source/directives/io/lib/throttle/Quotas.test.ts +411 -0
  569. package/source/directives/io/lib/throttle/Quotas.ts +190 -0
  570. package/source/directives/io/lib/throttle/Sync.test.ts +163 -0
  571. package/source/directives/io/lib/throttle/Sync.ts +93 -0
  572. package/source/directives/io/lib/throttle/Warning.test.ts +32 -0
  573. package/source/directives/io/lib/throttle/Warning.ts +29 -0
  574. package/source/directives/io/lib/throttle/components/Component.ts +7 -0
  575. package/source/directives/io/lib/throttle/components/IP.ts +30 -0
  576. package/source/directives/io/lib/throttle/components/Identity.ts +19 -0
  577. package/source/directives/io/lib/throttle/components/Path.ts +8 -0
  578. package/source/directives/io/lib/throttle/components/Route.ts +19 -0
  579. package/source/directives/io/lib/throttle/components/Segment.ts +19 -0
  580. package/source/directives/io/lib/throttle/components/index.ts +19 -0
  581. package/source/directives/io/lib/throttle/conditions/Condition.ts +5 -0
  582. package/source/directives/io/lib/throttle/conditions/Status.ts +17 -0
  583. package/source/directives/io/lib/throttle/conditions/index.ts +11 -0
  584. package/source/directives/io/lib/throttle/index.ts +4 -0
  585. package/source/directives/io/schemas.test.ts +40 -0
  586. package/source/directives/io/schemas.ts +9 -5
  587. package/source/directives/map/Authority.ts +15 -0
  588. package/source/directives/map/Buffer.ts +15 -0
  589. package/source/directives/map/Claims.ts +63 -0
  590. package/source/directives/map/Directive.ts +4 -0
  591. package/source/directives/map/Headers.ts +60 -0
  592. package/source/directives/map/Language.ts +45 -0
  593. package/source/directives/map/Languages.ts +17 -0
  594. package/source/directives/map/Map.ts +85 -0
  595. package/source/directives/map/Mapping.ts +45 -0
  596. package/source/directives/{vary → map}/Properties.ts +3 -5
  597. package/source/directives/map/Segments.ts +52 -0
  598. package/source/directives/map/index.ts +3 -0
  599. package/source/directives/mcp/MCP.ts +33 -0
  600. package/source/directives/mcp/Tool.test.ts +56 -0
  601. package/source/directives/mcp/Tool.ts +32 -0
  602. package/source/directives/mcp/index.ts +6 -0
  603. package/source/directives/oauth/Discovery.ts +66 -0
  604. package/source/directives/oauth/documents.ts +110 -0
  605. package/source/directives/oauth/index.ts +3 -0
  606. package/source/directives/octets/Context.ts +10 -6
  607. package/source/directives/octets/Delete.ts +48 -37
  608. package/source/directives/octets/Directive.ts +15 -4
  609. package/source/directives/octets/Get.ts +88 -0
  610. package/source/directives/octets/Octets.ts +44 -33
  611. package/source/directives/octets/Put.ts +186 -0
  612. package/source/directives/octets/Workflow.ts +34 -22
  613. package/source/directives/octets/bytes.test.ts +33 -0
  614. package/source/directives/octets/bytes.ts +18 -0
  615. package/source/directives/octets/index.ts +1 -1
  616. package/source/directives/octets/schemas.test.ts +14 -15
  617. package/source/directives/octets/schemas.ts +8 -12
  618. package/source/directives/octets/types.ts +3 -1
  619. package/source/directives/octets/workflows/Execution.ts +74 -20
  620. package/source/directives/octets/workflows/Workflow.ts +30 -16
  621. package/source/directives/octets/workflows/index.ts +1 -1
  622. package/source/directives/require/Directive.ts +2 -2
  623. package/source/directives/require/Headers.ts +6 -7
  624. package/source/directives/require/Require.ts +7 -8
  625. package/source/directives/require/index.ts +1 -1
  626. package/source/exceptions.ts +32 -13
  627. package/source/index.ts +11 -5
  628. package/source/io.ts +1 -1
  629. package/source/manifest.test.ts +15 -10
  630. package/source/manifest.ts +27 -22
  631. package/source/octets.d.ts +17 -0
  632. package/source/root.ts +22 -6
  633. package/source/schemas.test.ts +31 -0
  634. package/source/schemas.ts +7 -5
  635. package/source/service.ts +94 -0
  636. package/source/shortcuts.ts +14 -0
  637. package/source/userland.ts +47 -0
  638. package/transpiled/Annotation.d.ts +63 -1
  639. package/transpiled/Annotation.js +1 -2
  640. package/transpiled/Branch.d.ts +25 -1
  641. package/transpiled/Branch.js +14 -2
  642. package/transpiled/Branch.js.map +1 -1
  643. package/transpiled/Composition.d.ts +3 -4
  644. package/transpiled/Composition.js +13 -22
  645. package/transpiled/Composition.js.map +1 -1
  646. package/transpiled/Context.d.ts +3 -2
  647. package/transpiled/Context.js +1 -2
  648. package/transpiled/Directive.d.ts +33 -8
  649. package/transpiled/Directive.js +120 -32
  650. package/transpiled/Directive.js.map +1 -1
  651. package/transpiled/Discovery/Explorer.d.ts +11 -0
  652. package/transpiled/Discovery/Explorer.js +29 -0
  653. package/transpiled/Discovery/Explorer.js.map +1 -0
  654. package/transpiled/Discovery/Site.d.ts +43 -0
  655. package/transpiled/Discovery/Site.js +171 -0
  656. package/transpiled/Discovery/Site.js.map +1 -0
  657. package/transpiled/Discovery/index.d.ts +3 -0
  658. package/transpiled/Discovery/index.js +4 -0
  659. package/transpiled/Discovery/index.js.map +1 -0
  660. package/transpiled/Discovery/tree.d.ts +26 -0
  661. package/transpiled/Discovery/tree.js +50 -0
  662. package/transpiled/Discovery/tree.js.map +1 -0
  663. package/transpiled/Discovery/trunk.d.ts +13 -0
  664. package/transpiled/Discovery/trunk.js +29 -0
  665. package/transpiled/Discovery/trunk.js.map +1 -0
  666. package/transpiled/Endpoint.d.ts +19 -7
  667. package/transpiled/Endpoint.js +68 -58
  668. package/transpiled/Endpoint.js.map +1 -1
  669. package/transpiled/Factory.d.ts +8 -7
  670. package/transpiled/Factory.js +23 -69
  671. package/transpiled/Factory.js.map +1 -1
  672. package/transpiled/Gateway.d.ts +59 -6
  673. package/transpiled/Gateway.js +240 -51
  674. package/transpiled/Gateway.js.map +1 -1
  675. package/transpiled/HTTP/Context.d.ts +24 -14
  676. package/transpiled/HTTP/Context.js +73 -34
  677. package/transpiled/HTTP/Context.js.map +1 -1
  678. package/transpiled/HTTP/Probe.d.ts +26 -0
  679. package/transpiled/HTTP/Probe.js +80 -0
  680. package/transpiled/HTTP/Probe.js.map +1 -0
  681. package/transpiled/HTTP/Server.d.ts +30 -10
  682. package/transpiled/HTTP/Server.js +250 -93
  683. package/transpiled/HTTP/Server.js.map +1 -1
  684. package/transpiled/HTTP/Timing.d.ts +2 -6
  685. package/transpiled/HTTP/Timing.js +5 -25
  686. package/transpiled/HTTP/Timing.js.map +1 -1
  687. package/transpiled/HTTP/address.d.ts +7 -0
  688. package/transpiled/HTTP/address.js +14 -0
  689. package/transpiled/HTTP/address.js.map +1 -0
  690. package/transpiled/HTTP/exceptions.d.ts +21 -9
  691. package/transpiled/HTTP/exceptions.js +40 -36
  692. package/transpiled/HTTP/exceptions.js.map +1 -1
  693. package/transpiled/HTTP/formats/form.d.ts +9 -0
  694. package/transpiled/HTTP/formats/form.js +18 -0
  695. package/transpiled/HTTP/formats/form.js.map +1 -0
  696. package/transpiled/HTTP/formats/index.d.ts +10 -4
  697. package/transpiled/HTTP/formats/index.js +19 -35
  698. package/transpiled/HTTP/formats/index.js.map +1 -1
  699. package/transpiled/HTTP/formats/json.d.ts +1 -3
  700. package/transpiled/HTTP/formats/json.js +6 -12
  701. package/transpiled/HTTP/formats/json.js.map +1 -1
  702. package/transpiled/HTTP/formats/msgpack.d.ts +0 -2
  703. package/transpiled/HTTP/formats/msgpack.js +7 -12
  704. package/transpiled/HTTP/formats/msgpack.js.map +1 -1
  705. package/transpiled/HTTP/formats/text.d.ts +1 -3
  706. package/transpiled/HTTP/formats/text.js +6 -12
  707. package/transpiled/HTTP/formats/text.js.map +1 -1
  708. package/transpiled/HTTP/formats/yaml.d.ts +1 -3
  709. package/transpiled/HTTP/formats/yaml.js +26 -37
  710. package/transpiled/HTTP/formats/yaml.js.map +1 -1
  711. package/transpiled/HTTP/index.d.ts +6 -4
  712. package/transpiled/HTTP/index.js +6 -20
  713. package/transpiled/HTTP/index.js.map +1 -1
  714. package/transpiled/HTTP/messages.d.ts +26 -4
  715. package/transpiled/HTTP/messages.js +80 -41
  716. package/transpiled/HTTP/messages.js.map +1 -1
  717. package/transpiled/HTTP/types.d.ts +37 -0
  718. package/transpiled/HTTP/types.js +2 -0
  719. package/transpiled/HTTP/types.js.map +1 -0
  720. package/transpiled/Interception.d.ts +7 -2
  721. package/transpiled/Interception.js +8 -6
  722. package/transpiled/Interception.js.map +1 -1
  723. package/transpiled/Introspection.d.ts +83 -0
  724. package/transpiled/Introspection.js +79 -0
  725. package/transpiled/Introspection.js.map +1 -0
  726. package/transpiled/MCP/Server.d.ts +41 -0
  727. package/transpiled/MCP/Server.js +191 -0
  728. package/transpiled/MCP/Server.js.map +1 -0
  729. package/transpiled/MCP/discover.d.ts +13 -0
  730. package/transpiled/MCP/discover.js +29 -0
  731. package/transpiled/MCP/discover.js.map +1 -0
  732. package/transpiled/MCP/errors.d.ts +24 -0
  733. package/transpiled/MCP/errors.js +67 -0
  734. package/transpiled/MCP/errors.js.map +1 -0
  735. package/transpiled/MCP/index.d.ts +1 -0
  736. package/transpiled/MCP/index.js +2 -0
  737. package/transpiled/MCP/index.js.map +1 -0
  738. package/transpiled/MCP/schema.d.ts +18 -0
  739. package/transpiled/MCP/schema.js +70 -0
  740. package/transpiled/MCP/schema.js.map +1 -0
  741. package/transpiled/MCP/tools.d.ts +31 -0
  742. package/transpiled/MCP/tools.js +109 -0
  743. package/transpiled/MCP/tools.js.map +1 -0
  744. package/transpiled/MCP/types.d.ts +66 -0
  745. package/transpiled/MCP/types.js +13 -0
  746. package/transpiled/MCP/types.js.map +1 -0
  747. package/transpiled/Mapping.d.ts +17 -6
  748. package/transpiled/Mapping.js +50 -24
  749. package/transpiled/Mapping.js.map +1 -1
  750. package/transpiled/Query.d.ts +39 -6
  751. package/transpiled/Query.js +144 -48
  752. package/transpiled/Query.js.map +1 -1
  753. package/transpiled/RPC/Context.d.ts +11 -0
  754. package/transpiled/RPC/Context.js +56 -0
  755. package/transpiled/RPC/Context.js.map +1 -0
  756. package/transpiled/RPC/Dispatcher.d.ts +19 -0
  757. package/transpiled/RPC/Dispatcher.js +103 -0
  758. package/transpiled/RPC/Dispatcher.js.map +1 -0
  759. package/transpiled/RPC/errors.d.ts +18 -0
  760. package/transpiled/RPC/errors.js +67 -0
  761. package/transpiled/RPC/errors.js.map +1 -0
  762. package/transpiled/RPC/index.d.ts +1 -0
  763. package/transpiled/RPC/index.js +2 -0
  764. package/transpiled/RPC/index.js.map +1 -0
  765. package/transpiled/RPC/names.d.ts +31 -0
  766. package/transpiled/RPC/names.js +121 -0
  767. package/transpiled/RPC/names.js.map +1 -0
  768. package/transpiled/RPC/types.d.ts +27 -0
  769. package/transpiled/RPC/types.js +8 -0
  770. package/transpiled/RPC/types.js.map +1 -0
  771. package/transpiled/RTD/Context.d.ts +6 -4
  772. package/transpiled/RTD/Context.js +1 -2
  773. package/transpiled/RTD/Directives.d.ts +72 -7
  774. package/transpiled/RTD/Directives.js +1 -2
  775. package/transpiled/RTD/Endpoint.d.ts +12 -4
  776. package/transpiled/RTD/Endpoint.js +1 -2
  777. package/transpiled/RTD/Match.d.ts +1 -1
  778. package/transpiled/RTD/Match.js +1 -2
  779. package/transpiled/RTD/Method.d.ts +11 -2
  780. package/transpiled/RTD/Method.js +12 -5
  781. package/transpiled/RTD/Method.js.map +1 -1
  782. package/transpiled/RTD/Node.d.ts +43 -5
  783. package/transpiled/RTD/Node.js +75 -21
  784. package/transpiled/RTD/Node.js.map +1 -1
  785. package/transpiled/RTD/Route.d.ts +8 -6
  786. package/transpiled/RTD/Route.js +40 -10
  787. package/transpiled/RTD/Route.js.map +1 -1
  788. package/transpiled/RTD/Tree.d.ts +14 -5
  789. package/transpiled/RTD/Tree.js +70 -12
  790. package/transpiled/RTD/Tree.js.map +1 -1
  791. package/transpiled/RTD/factory.d.ts +4 -3
  792. package/transpiled/RTD/factory.js +57 -15
  793. package/transpiled/RTD/factory.js.map +1 -1
  794. package/transpiled/RTD/index.d.ts +8 -8
  795. package/transpiled/RTD/index.js +8 -37
  796. package/transpiled/RTD/index.js.map +1 -1
  797. package/transpiled/RTD/segment.d.ts +8 -0
  798. package/transpiled/RTD/segment.js +21 -7
  799. package/transpiled/RTD/segment.js.map +1 -1
  800. package/transpiled/RTD/syntax/index.d.ts +2 -2
  801. package/transpiled/RTD/syntax/index.js +2 -18
  802. package/transpiled/RTD/syntax/index.js.map +1 -1
  803. package/transpiled/RTD/syntax/parse.d.ts +1 -1
  804. package/transpiled/RTD/syntax/parse.js +38 -54
  805. package/transpiled/RTD/syntax/parse.js.map +1 -1
  806. package/transpiled/RTD/syntax/types.d.ts +14 -3
  807. package/transpiled/RTD/syntax/types.js +10 -4
  808. package/transpiled/RTD/syntax/types.js.map +1 -1
  809. package/transpiled/Remotes.d.ts +7 -7
  810. package/transpiled/Remotes.js +15 -16
  811. package/transpiled/Remotes.js.map +1 -1
  812. package/transpiled/Tenant.d.ts +15 -4
  813. package/transpiled/Tenant.js +39 -14
  814. package/transpiled/Tenant.js.map +1 -1
  815. package/transpiled/const.d.ts +36 -0
  816. package/transpiled/const.js +37 -0
  817. package/transpiled/const.js.map +1 -0
  818. package/transpiled/deployment.d.ts +4 -1
  819. package/transpiled/deployment.js +51 -54
  820. package/transpiled/deployment.js.map +1 -1
  821. package/transpiled/directives/auth/Anonymous.d.ts +17 -2
  822. package/transpiled/directives/auth/Anonymous.js +23 -9
  823. package/transpiled/directives/auth/Anonymous.js.map +1 -1
  824. package/transpiled/directives/auth/Anyone.d.ts +10 -0
  825. package/transpiled/directives/auth/Anyone.js +17 -0
  826. package/transpiled/directives/auth/Anyone.js.map +1 -0
  827. package/transpiled/directives/auth/Assert.d.ts +9 -0
  828. package/transpiled/directives/auth/Assert.js +33 -0
  829. package/transpiled/directives/auth/Assert.js.map +1 -0
  830. package/transpiled/directives/auth/Authorization.d.ts +44 -8
  831. package/transpiled/directives/auth/Authorization.js +223 -85
  832. package/transpiled/directives/auth/Authorization.js.map +1 -1
  833. package/transpiled/directives/auth/Delegate.d.ts +13 -4
  834. package/transpiled/directives/auth/Delegate.js +23 -10
  835. package/transpiled/directives/auth/Delegate.js.map +1 -1
  836. package/transpiled/directives/auth/Echo.d.ts +6 -4
  837. package/transpiled/directives/auth/Echo.js +14 -9
  838. package/transpiled/directives/auth/Echo.js.map +1 -1
  839. package/transpiled/directives/auth/Federation.d.ts +21 -0
  840. package/transpiled/directives/auth/Federation.js +54 -0
  841. package/transpiled/directives/auth/Federation.js.map +1 -0
  842. package/transpiled/directives/auth/Id.d.ts +12 -3
  843. package/transpiled/directives/auth/Id.js +13 -5
  844. package/transpiled/directives/auth/Id.js.map +1 -1
  845. package/transpiled/directives/auth/Incept.d.ts +11 -6
  846. package/transpiled/directives/auth/Incept.js +67 -50
  847. package/transpiled/directives/auth/Incept.js.map +1 -1
  848. package/transpiled/directives/auth/Input.d.ts +15 -0
  849. package/transpiled/directives/auth/Input.js +49 -0
  850. package/transpiled/directives/auth/Input.js.map +1 -0
  851. package/transpiled/directives/auth/Role.d.ts +12 -3
  852. package/transpiled/directives/auth/Role.js +28 -16
  853. package/transpiled/directives/auth/Role.js.map +1 -1
  854. package/transpiled/directives/auth/Rule.d.ts +8 -5
  855. package/transpiled/directives/auth/Rule.js +23 -7
  856. package/transpiled/directives/auth/Rule.js.map +1 -1
  857. package/transpiled/directives/auth/Scheme.d.ts +4 -2
  858. package/transpiled/directives/auth/Scheme.js +11 -35
  859. package/transpiled/directives/auth/Scheme.js.map +1 -1
  860. package/transpiled/directives/auth/create.d.ts +2 -0
  861. package/transpiled/directives/auth/create.js +10 -0
  862. package/transpiled/directives/auth/create.js.map +1 -0
  863. package/transpiled/directives/auth/index.d.ts +1 -1
  864. package/transpiled/directives/auth/index.js +2 -5
  865. package/transpiled/directives/auth/index.js.map +1 -1
  866. package/transpiled/directives/auth/schemes.d.ts +26 -3
  867. package/transpiled/directives/auth/schemes.js +32 -8
  868. package/transpiled/directives/auth/schemes.js.map +1 -1
  869. package/transpiled/directives/auth/split.d.ts +1 -1
  870. package/transpiled/directives/auth/split.js +3 -30
  871. package/transpiled/directives/auth/split.js.map +1 -1
  872. package/transpiled/directives/auth/types.d.ts +37 -12
  873. package/transpiled/directives/auth/types.js +1 -2
  874. package/transpiled/directives/cache/Cache.d.ts +6 -6
  875. package/transpiled/directives/cache/Cache.js +54 -14
  876. package/transpiled/directives/cache/Cache.js.map +1 -1
  877. package/transpiled/directives/cache/Control.d.ts +3 -3
  878. package/transpiled/directives/cache/Control.js +16 -22
  879. package/transpiled/directives/cache/Control.js.map +1 -1
  880. package/transpiled/directives/cache/Exact.d.ts +1 -1
  881. package/transpiled/directives/cache/Exact.js +2 -6
  882. package/transpiled/directives/cache/Exact.js.map +1 -1
  883. package/transpiled/directives/cache/etag.d.ts +10 -0
  884. package/transpiled/directives/cache/etag.js +30 -0
  885. package/transpiled/directives/cache/etag.js.map +1 -0
  886. package/transpiled/directives/cache/index.d.ts +1 -1
  887. package/transpiled/directives/cache/index.js +2 -5
  888. package/transpiled/directives/cache/index.js.map +1 -1
  889. package/transpiled/directives/cache/types.d.ts +1 -1
  890. package/transpiled/directives/cache/types.js +1 -2
  891. package/transpiled/directives/cors/CORS.d.ts +10 -3
  892. package/transpiled/directives/cors/CORS.js +38 -21
  893. package/transpiled/directives/cors/CORS.js.map +1 -1
  894. package/transpiled/directives/cors/index.d.ts +1 -1
  895. package/transpiled/directives/cors/index.js +2 -5
  896. package/transpiled/directives/cors/index.js.map +1 -1
  897. package/transpiled/directives/dev/Development.d.ts +4 -4
  898. package/transpiled/directives/dev/Development.js +19 -15
  899. package/transpiled/directives/dev/Development.js.map +1 -1
  900. package/transpiled/directives/dev/Faulty.d.ts +8 -0
  901. package/transpiled/directives/dev/Faulty.js +19 -0
  902. package/transpiled/directives/dev/Faulty.js.map +1 -0
  903. package/transpiled/directives/dev/Sleep.d.ts +9 -0
  904. package/transpiled/directives/dev/Sleep.js +41 -0
  905. package/transpiled/directives/dev/Sleep.js.map +1 -0
  906. package/transpiled/directives/dev/Stub.d.ts +2 -2
  907. package/transpiled/directives/dev/Stub.js +1 -5
  908. package/transpiled/directives/dev/Stub.js.map +1 -1
  909. package/transpiled/directives/dev/Throw.d.ts +2 -2
  910. package/transpiled/directives/dev/Throw.js +1 -5
  911. package/transpiled/directives/dev/Throw.js.map +1 -1
  912. package/transpiled/directives/dev/index.d.ts +1 -1
  913. package/transpiled/directives/dev/index.js +2 -5
  914. package/transpiled/directives/dev/index.js.map +1 -1
  915. package/transpiled/directives/dev/types.d.ts +2 -2
  916. package/transpiled/directives/dev/types.js +1 -2
  917. package/transpiled/directives/flow/Compose.d.ts +9 -0
  918. package/transpiled/directives/flow/Compose.js +71 -0
  919. package/transpiled/directives/flow/Compose.js.map +1 -0
  920. package/transpiled/directives/flow/Fetch.d.ts +12 -0
  921. package/transpiled/directives/flow/Fetch.js +51 -0
  922. package/transpiled/directives/flow/Fetch.js.map +1 -0
  923. package/transpiled/directives/flow/Flow.d.ts +10 -0
  924. package/transpiled/directives/flow/Flow.js +29 -0
  925. package/transpiled/directives/flow/Flow.js.map +1 -0
  926. package/transpiled/directives/flow/index.d.ts +2 -0
  927. package/transpiled/directives/flow/index.js +3 -0
  928. package/transpiled/directives/flow/index.js.map +1 -0
  929. package/transpiled/directives/flow/types.d.ts +6 -0
  930. package/transpiled/directives/flow/types.js +2 -0
  931. package/transpiled/directives/flow/types.js.map +1 -0
  932. package/transpiled/directives/help/Family.d.ts +28 -0
  933. package/transpiled/directives/help/Family.js +83 -0
  934. package/transpiled/directives/help/Family.js.map +1 -0
  935. package/transpiled/directives/help/Help.d.ts +22 -0
  936. package/transpiled/directives/help/Help.js +36 -0
  937. package/transpiled/directives/help/Help.js.map +1 -0
  938. package/transpiled/directives/help/Parameters.d.ts +18 -0
  939. package/transpiled/directives/help/Parameters.js +34 -0
  940. package/transpiled/directives/help/Parameters.js.map +1 -0
  941. package/transpiled/directives/help/described.d.ts +16 -0
  942. package/transpiled/directives/help/described.js +23 -0
  943. package/transpiled/directives/help/described.js.map +1 -0
  944. package/transpiled/directives/help/index.d.ts +22 -0
  945. package/transpiled/directives/help/index.js +34 -0
  946. package/transpiled/directives/help/index.js.map +1 -0
  947. package/transpiled/directives/index.d.ts +6 -2
  948. package/transpiled/directives/index.js +30 -13
  949. package/transpiled/directives/index.js.map +1 -1
  950. package/transpiled/directives/io/Directive.d.ts +8 -3
  951. package/transpiled/directives/io/Directive.js +1 -2
  952. package/transpiled/directives/io/IO.d.ts +24 -5
  953. package/transpiled/directives/io/IO.js +60 -17
  954. package/transpiled/directives/io/IO.js.map +1 -1
  955. package/transpiled/directives/io/Input.d.ts +5 -4
  956. package/transpiled/directives/io/Input.js +18 -38
  957. package/transpiled/directives/io/Input.js.map +1 -1
  958. package/transpiled/directives/io/Message.js +1 -2
  959. package/transpiled/directives/io/Output.d.ts +8 -4
  960. package/transpiled/directives/io/Output.js +24 -40
  961. package/transpiled/directives/io/Output.js.map +1 -1
  962. package/transpiled/directives/io/Status.d.ts +19 -0
  963. package/transpiled/directives/io/Status.js +34 -0
  964. package/transpiled/directives/io/Status.js.map +1 -0
  965. package/transpiled/directives/io/Throttle.d.ts +11 -0
  966. package/transpiled/directives/io/Throttle.js +22 -0
  967. package/transpiled/directives/io/Throttle.js.map +1 -0
  968. package/transpiled/directives/io/index.d.ts +1 -1
  969. package/transpiled/directives/io/index.js +2 -5
  970. package/transpiled/directives/io/index.js.map +1 -1
  971. package/transpiled/directives/io/lib/throttle/Configuration.d.ts +26 -0
  972. package/transpiled/directives/io/lib/throttle/Configuration.js +31 -0
  973. package/transpiled/directives/io/lib/throttle/Configuration.js.map +1 -0
  974. package/transpiled/directives/io/lib/throttle/Keys.d.ts +14 -0
  975. package/transpiled/directives/io/lib/throttle/Keys.js +32 -0
  976. package/transpiled/directives/io/lib/throttle/Keys.js.map +1 -0
  977. package/transpiled/directives/io/lib/throttle/Quotas.d.ts +70 -0
  978. package/transpiled/directives/io/lib/throttle/Quotas.js +142 -0
  979. package/transpiled/directives/io/lib/throttle/Quotas.js.map +1 -0
  980. package/transpiled/directives/io/lib/throttle/Sync.d.ts +29 -0
  981. package/transpiled/directives/io/lib/throttle/Sync.js +70 -0
  982. package/transpiled/directives/io/lib/throttle/Sync.js.map +1 -0
  983. package/transpiled/directives/io/lib/throttle/Warning.d.ts +11 -0
  984. package/transpiled/directives/io/lib/throttle/Warning.js +24 -0
  985. package/transpiled/directives/io/lib/throttle/Warning.js.map +1 -0
  986. package/transpiled/directives/io/lib/throttle/components/Component.d.ts +6 -0
  987. package/transpiled/directives/io/lib/throttle/components/Component.js +2 -0
  988. package/transpiled/directives/io/lib/throttle/components/Component.js.map +1 -0
  989. package/transpiled/directives/io/lib/throttle/components/IP.d.ts +14 -0
  990. package/transpiled/directives/io/lib/throttle/components/IP.js +24 -0
  991. package/transpiled/directives/io/lib/throttle/components/IP.js.map +1 -0
  992. package/transpiled/directives/io/lib/throttle/components/Identity.d.ts +11 -0
  993. package/transpiled/directives/io/lib/throttle/components/Identity.js +12 -0
  994. package/transpiled/directives/io/lib/throttle/components/Identity.js.map +1 -0
  995. package/transpiled/directives/io/lib/throttle/components/Path.d.ts +5 -0
  996. package/transpiled/directives/io/lib/throttle/components/Path.js +6 -0
  997. package/transpiled/directives/io/lib/throttle/components/Path.js.map +1 -0
  998. package/transpiled/directives/io/lib/throttle/components/Route.d.ts +12 -0
  999. package/transpiled/directives/io/lib/throttle/components/Route.js +16 -0
  1000. package/transpiled/directives/io/lib/throttle/components/Route.js.map +1 -0
  1001. package/transpiled/directives/io/lib/throttle/components/Segment.d.ts +9 -0
  1002. package/transpiled/directives/io/lib/throttle/components/Segment.js +13 -0
  1003. package/transpiled/directives/io/lib/throttle/components/Segment.js.map +1 -0
  1004. package/transpiled/directives/io/lib/throttle/components/index.d.ts +5 -0
  1005. package/transpiled/directives/io/lib/throttle/components/index.js +13 -0
  1006. package/transpiled/directives/io/lib/throttle/components/index.js.map +1 -0
  1007. package/transpiled/directives/io/lib/throttle/conditions/Condition.d.ts +4 -0
  1008. package/transpiled/directives/io/lib/throttle/conditions/Condition.js +2 -0
  1009. package/transpiled/directives/io/lib/throttle/conditions/Condition.js.map +1 -0
  1010. package/transpiled/directives/io/lib/throttle/conditions/Status.d.ts +7 -0
  1011. package/transpiled/directives/io/lib/throttle/conditions/Status.js +12 -0
  1012. package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -0
  1013. package/transpiled/directives/io/lib/throttle/conditions/index.d.ts +5 -0
  1014. package/transpiled/directives/io/lib/throttle/conditions/index.js +5 -0
  1015. package/transpiled/directives/io/lib/throttle/conditions/index.js.map +1 -0
  1016. package/transpiled/directives/io/lib/throttle/index.d.ts +4 -0
  1017. package/transpiled/directives/io/lib/throttle/index.js +5 -0
  1018. package/transpiled/directives/io/lib/throttle/index.js.map +1 -0
  1019. package/transpiled/directives/io/schemas.d.ts +6 -4
  1020. package/transpiled/directives/io/schemas.js +8 -13
  1021. package/transpiled/directives/io/schemas.js.map +1 -1
  1022. package/transpiled/directives/map/Authority.d.ts +6 -0
  1023. package/transpiled/directives/map/Authority.js +12 -0
  1024. package/transpiled/directives/map/Authority.js.map +1 -0
  1025. package/transpiled/directives/map/Buffer.d.ts +6 -0
  1026. package/transpiled/directives/map/Buffer.js +12 -0
  1027. package/transpiled/directives/map/Buffer.js.map +1 -0
  1028. package/transpiled/directives/map/Claims.d.ts +10 -0
  1029. package/transpiled/directives/map/Claims.js +37 -0
  1030. package/transpiled/directives/map/Claims.js.map +1 -0
  1031. package/transpiled/directives/map/Directive.d.ts +3 -0
  1032. package/transpiled/directives/map/Directive.js +2 -0
  1033. package/transpiled/directives/map/Directive.js.map +1 -0
  1034. package/transpiled/directives/map/Headers.d.ts +14 -0
  1035. package/transpiled/directives/map/Headers.js +43 -0
  1036. package/transpiled/directives/map/Headers.js.map +1 -0
  1037. package/transpiled/directives/map/Language.d.ts +10 -0
  1038. package/transpiled/directives/map/Language.js +31 -0
  1039. package/transpiled/directives/map/Language.js.map +1 -0
  1040. package/transpiled/directives/map/Languages.d.ts +4 -0
  1041. package/transpiled/directives/map/Languages.js +10 -0
  1042. package/transpiled/directives/map/Languages.js.map +1 -0
  1043. package/transpiled/directives/map/Map.d.ts +15 -0
  1044. package/transpiled/directives/map/Map.js +50 -0
  1045. package/transpiled/directives/map/Map.js.map +1 -0
  1046. package/transpiled/directives/map/Mapping.d.ts +26 -0
  1047. package/transpiled/directives/map/Mapping.js +29 -0
  1048. package/transpiled/directives/map/Mapping.js.map +1 -0
  1049. package/transpiled/directives/{vary → map}/Properties.d.ts +2 -2
  1050. package/transpiled/directives/map/Properties.js +10 -0
  1051. package/transpiled/directives/map/Properties.js.map +1 -0
  1052. package/transpiled/directives/map/Segments.d.ts +9 -0
  1053. package/transpiled/directives/map/Segments.js +32 -0
  1054. package/transpiled/directives/map/Segments.js.map +1 -0
  1055. package/transpiled/directives/map/index.d.ts +2 -0
  1056. package/transpiled/directives/map/index.js +3 -0
  1057. package/transpiled/directives/map/index.js.map +1 -0
  1058. package/transpiled/directives/mcp/MCP.d.ts +18 -0
  1059. package/transpiled/directives/mcp/MCP.js +25 -0
  1060. package/transpiled/directives/mcp/MCP.js.map +1 -0
  1061. package/transpiled/directives/mcp/Tool.d.ts +12 -0
  1062. package/transpiled/directives/mcp/Tool.js +23 -0
  1063. package/transpiled/directives/mcp/Tool.js.map +1 -0
  1064. package/transpiled/directives/mcp/index.d.ts +4 -0
  1065. package/transpiled/directives/mcp/index.js +4 -0
  1066. package/transpiled/directives/mcp/index.js.map +1 -0
  1067. package/transpiled/directives/oauth/Discovery.d.ts +23 -0
  1068. package/transpiled/directives/oauth/Discovery.js +55 -0
  1069. package/transpiled/directives/oauth/Discovery.js.map +1 -0
  1070. package/transpiled/directives/oauth/documents.d.ts +9 -0
  1071. package/transpiled/directives/oauth/documents.js +82 -0
  1072. package/transpiled/directives/oauth/documents.js.map +1 -0
  1073. package/transpiled/directives/oauth/index.d.ts +2 -0
  1074. package/transpiled/directives/oauth/index.js +3 -0
  1075. package/transpiled/directives/oauth/index.js.map +1 -0
  1076. package/transpiled/directives/octets/Context.d.ts +2 -2
  1077. package/transpiled/directives/octets/Context.js +4 -31
  1078. package/transpiled/directives/octets/Context.js.map +1 -1
  1079. package/transpiled/directives/octets/Delete.d.ts +6 -6
  1080. package/transpiled/directives/octets/Delete.js +23 -47
  1081. package/transpiled/directives/octets/Delete.js.map +1 -1
  1082. package/transpiled/directives/octets/Directive.d.ts +9 -3
  1083. package/transpiled/directives/octets/Directive.js +1 -5
  1084. package/transpiled/directives/octets/Directive.js.map +1 -1
  1085. package/transpiled/directives/octets/Get.d.ts +17 -0
  1086. package/transpiled/directives/octets/Get.js +69 -0
  1087. package/transpiled/directives/octets/Get.js.map +1 -0
  1088. package/transpiled/directives/octets/Octets.d.ts +9 -6
  1089. package/transpiled/directives/octets/Octets.js +27 -26
  1090. package/transpiled/directives/octets/Octets.js.map +1 -1
  1091. package/transpiled/directives/octets/Put.d.ts +33 -0
  1092. package/transpiled/directives/octets/Put.js +82 -0
  1093. package/transpiled/directives/octets/Put.js.map +1 -0
  1094. package/transpiled/directives/octets/Workflow.d.ts +6 -6
  1095. package/transpiled/directives/octets/Workflow.js +14 -36
  1096. package/transpiled/directives/octets/Workflow.js.map +1 -1
  1097. package/transpiled/directives/octets/bytes.d.ts +1 -0
  1098. package/transpiled/directives/octets/bytes.js +14 -0
  1099. package/transpiled/directives/octets/bytes.js.map +1 -0
  1100. package/transpiled/directives/octets/index.d.ts +1 -1
  1101. package/transpiled/directives/octets/index.js +2 -5
  1102. package/transpiled/directives/octets/index.js.map +1 -1
  1103. package/transpiled/directives/octets/schemas.d.ts +6 -10
  1104. package/transpiled/directives/octets/schemas.js +8 -17
  1105. package/transpiled/directives/octets/schemas.js.map +1 -1
  1106. package/transpiled/directives/octets/types.d.ts +3 -1
  1107. package/transpiled/directives/octets/types.js +1 -2
  1108. package/transpiled/directives/octets/workflows/Execution.d.ts +9 -4
  1109. package/transpiled/directives/octets/workflows/Execution.js +47 -15
  1110. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  1111. package/transpiled/directives/octets/workflows/Workflow.d.ts +10 -5
  1112. package/transpiled/directives/octets/workflows/Workflow.js +16 -14
  1113. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  1114. package/transpiled/directives/octets/workflows/index.d.ts +1 -1
  1115. package/transpiled/directives/octets/workflows/index.js +1 -5
  1116. package/transpiled/directives/octets/workflows/index.js.map +1 -1
  1117. package/transpiled/directives/require/Directive.d.ts +2 -2
  1118. package/transpiled/directives/require/Directive.js +1 -2
  1119. package/transpiled/directives/require/Headers.d.ts +3 -3
  1120. package/transpiled/directives/require/Headers.js +4 -8
  1121. package/transpiled/directives/require/Headers.js.map +1 -1
  1122. package/transpiled/directives/require/Require.d.ts +4 -4
  1123. package/transpiled/directives/require/Require.js +8 -15
  1124. package/transpiled/directives/require/Require.js.map +1 -1
  1125. package/transpiled/directives/require/index.d.ts +1 -1
  1126. package/transpiled/directives/require/index.js +2 -5
  1127. package/transpiled/directives/require/index.js.map +1 -1
  1128. package/transpiled/discovery.js +1 -2
  1129. package/transpiled/exceptions.d.ts +1 -1
  1130. package/transpiled/exceptions.js +16 -34
  1131. package/transpiled/exceptions.js.map +1 -1
  1132. package/transpiled/index.d.ts +7 -5
  1133. package/transpiled/index.js +4 -11
  1134. package/transpiled/index.js.map +1 -1
  1135. package/transpiled/io.d.ts +1 -1
  1136. package/transpiled/io.js +1 -2
  1137. package/transpiled/manifest.d.ts +1 -1
  1138. package/transpiled/manifest.js +22 -49
  1139. package/transpiled/manifest.js.map +1 -1
  1140. package/transpiled/root.d.ts +1 -1
  1141. package/transpiled/root.js +22 -11
  1142. package/transpiled/root.js.map +1 -1
  1143. package/transpiled/schemas.d.ts +5 -3
  1144. package/transpiled/schemas.js +8 -13
  1145. package/transpiled/schemas.js.map +1 -1
  1146. package/transpiled/service.d.ts +7 -0
  1147. package/transpiled/service.js +74 -0
  1148. package/transpiled/service.js.map +1 -0
  1149. package/transpiled/shortcuts.d.ts +3 -0
  1150. package/transpiled/shortcuts.js +13 -0
  1151. package/transpiled/shortcuts.js.map +1 -0
  1152. package/transpiled/userland.d.ts +39 -0
  1153. package/transpiled/userland.js +7 -0
  1154. package/transpiled/userland.js.map +1 -0
  1155. package/tsconfig.json +2 -1
  1156. package/tsconfig.tsbuildinfo +1 -0
  1157. package/ui/dist/_app/env.js +1 -0
  1158. package/ui/dist/_app/immutable/assets/0.Bl7vLmIK.css +2 -0
  1159. package/ui/dist/_app/immutable/assets/2.BC0-Jhqu.css +1 -0
  1160. package/ui/dist/_app/immutable/assets/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2 +0 -0
  1161. package/ui/dist/_app/immutable/assets/inter-cyrillic-wght-normal.DqGufNeO.woff2 +0 -0
  1162. package/ui/dist/_app/immutable/assets/inter-greek-ext-wght-normal.DlzME5K_.woff2 +0 -0
  1163. package/ui/dist/_app/immutable/assets/inter-greek-wght-normal.CkhJZR-_.woff2 +0 -0
  1164. package/ui/dist/_app/immutable/assets/inter-latin-ext-wght-normal.DO1Apj_S.woff2 +0 -0
  1165. package/ui/dist/_app/immutable/assets/inter-latin-wght-normal.Dx4kXJAl.woff2 +0 -0
  1166. package/ui/dist/_app/immutable/assets/inter-vietnamese-wght-normal.CBcvBZtf.woff2 +0 -0
  1167. package/ui/dist/_app/immutable/chunks/B_pK3U1C.js +6 -0
  1168. package/ui/dist/_app/immutable/chunks/Bjy-W4x2.js +81 -0
  1169. package/ui/dist/_app/immutable/chunks/CiKbPLyY.js +1 -0
  1170. package/ui/dist/_app/immutable/chunks/D9tE1yyO.js +1 -0
  1171. package/ui/dist/_app/immutable/chunks/DjIYL2zC.js +3 -0
  1172. package/ui/dist/_app/immutable/chunks/xihTtKlq.js +1 -0
  1173. package/ui/dist/_app/immutable/entry/app.DMqmL4NY.js +2 -0
  1174. package/ui/dist/_app/immutable/entry/start.CRe7HWBI.js +1 -0
  1175. package/ui/dist/_app/immutable/nodes/0.D9m-6cbM.js +1 -0
  1176. package/ui/dist/_app/immutable/nodes/1.Cgi_RcSO.js +1 -0
  1177. package/ui/dist/_app/immutable/nodes/2.D_Cbxgz4.js +14 -0
  1178. package/ui/dist/_app/version.json +1 -0
  1179. package/ui/dist/apple-touch-icon.png +0 -0
  1180. package/ui/dist/favicon-96x96.png +0 -0
  1181. package/ui/dist/favicon.ico +0 -0
  1182. package/ui/dist/index.html +66 -0
  1183. package/components/identity.bans/operations/transit.d.ts +0 -14
  1184. package/components/identity.bans/operations/transit.js.map +0 -1
  1185. package/components/identity.bans/operations/tsconfig.tsbuildinfo +0 -1
  1186. package/components/identity.basic/operations/authenticate.d.ts +0 -13
  1187. package/components/identity.basic/operations/authenticate.js.map +0 -1
  1188. package/components/identity.basic/operations/incept.d.ts +0 -12
  1189. package/components/identity.basic/operations/incept.js.map +0 -1
  1190. package/components/identity.basic/operations/transit.d.ts +0 -12
  1191. package/components/identity.basic/operations/transit.js.map +0 -1
  1192. package/components/identity.basic/operations/tsconfig.tsbuildinfo +0 -1
  1193. package/components/identity.basic/operations/types.d.ts +0 -40
  1194. package/components/identity.basic/operations/types.js +0 -3
  1195. package/components/identity.basic/operations/types.js.map +0 -1
  1196. package/components/identity.basic/source/types.ts +0 -44
  1197. package/components/identity.federation/operations/authenticate.d.ts +0 -3
  1198. package/components/identity.federation/operations/authenticate.js.map +0 -1
  1199. package/components/identity.federation/operations/incept.d.ts +0 -11
  1200. package/components/identity.federation/operations/incept.js.map +0 -1
  1201. package/components/identity.federation/operations/lib/assertions-as-values.d.ts +0 -4
  1202. package/components/identity.federation/operations/lib/assertions-as-values.js +0 -45
  1203. package/components/identity.federation/operations/lib/assertions-as-values.js.map +0 -1
  1204. package/components/identity.federation/operations/lib/jwt.d.ts +0 -19
  1205. package/components/identity.federation/operations/lib/jwt.js +0 -136
  1206. package/components/identity.federation/operations/lib/jwt.js.map +0 -1
  1207. package/components/identity.federation/operations/tsconfig.tsbuildinfo +0 -1
  1208. package/components/identity.federation/operations/types/configuration.d.ts +0 -15
  1209. package/components/identity.federation/operations/types/configuration.js.map +0 -1
  1210. package/components/identity.federation/operations/types/context.d.ts +0 -56
  1211. package/components/identity.federation/operations/types/context.js.map +0 -1
  1212. package/components/identity.federation/operations/types/entity.d.ts +0 -6
  1213. package/components/identity.federation/operations/types/entity.js.map +0 -1
  1214. package/components/identity.federation/operations/types/index.d.ts +0 -3
  1215. package/components/identity.federation/operations/types/index.js.map +0 -1
  1216. package/components/identity.federation/source/lib/assertions-as-values.ts +0 -19
  1217. package/components/identity.federation/source/lib/jwt.test.ts +0 -56
  1218. package/components/identity.federation/source/lib/jwt.ts +0 -170
  1219. package/components/identity.roles/operations/grant.d.ts +0 -10
  1220. package/components/identity.roles/operations/grant.js.map +0 -1
  1221. package/components/identity.roles/operations/lib/Entity.d.ts +0 -5
  1222. package/components/identity.roles/operations/lib/Entity.js.map +0 -1
  1223. package/components/identity.roles/operations/list.d.ts +0 -2
  1224. package/components/identity.roles/operations/list.js.map +0 -1
  1225. package/components/identity.roles/operations/principal.d.ts +0 -13
  1226. package/components/identity.roles/operations/principal.js.map +0 -1
  1227. package/components/identity.roles/operations/tsconfig.tsbuildinfo +0 -1
  1228. package/components/identity.tokens/operations/authenticate.d.ts +0 -9
  1229. package/components/identity.tokens/operations/authenticate.js.map +0 -1
  1230. package/components/identity.tokens/operations/decrypt.d.ts +0 -3
  1231. package/components/identity.tokens/operations/decrypt.js.map +0 -1
  1232. package/components/identity.tokens/operations/encrypt.d.ts +0 -8
  1233. package/components/identity.tokens/operations/encrypt.js.map +0 -1
  1234. package/components/identity.tokens/operations/revoke.d.ts +0 -2
  1235. package/components/identity.tokens/operations/revoke.js.map +0 -1
  1236. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +0 -1
  1237. package/components/identity.tokens/operations/types.d.ts +0 -46
  1238. package/components/identity.tokens/operations/types.js +0 -3
  1239. package/components/identity.tokens/operations/types.js.map +0 -1
  1240. package/components/identity.tokens/source/types.ts +0 -55
  1241. package/components/octets.storage/manifest.toa.yaml +0 -21
  1242. package/components/octets.storage/operations/delete.js +0 -7
  1243. package/components/octets.storage/operations/fetch.js +0 -46
  1244. package/components/octets.storage/operations/get.js +0 -7
  1245. package/components/octets.storage/operations/list.js +0 -7
  1246. package/components/octets.storage/operations/store.js +0 -11
  1247. package/cucumber.js +0 -7
  1248. package/documentation/vary.md +0 -69
  1249. package/entity.json +0 -0
  1250. package/features/steps/IdP.ts +0 -154
  1251. package/features/steps/components/octets.tester/operations/diversify.js +0 -14
  1252. package/features/vary.feature +0 -252
  1253. package/schemas/octets/context.cos.yaml +0 -1
  1254. package/schemas/octets/fetch.cos.yaml +0 -3
  1255. package/schemas/octets/list.cos.yaml +0 -2
  1256. package/schemas/octets/permute.cos.yaml +0 -1
  1257. package/schemas/octets/store.cos.yaml +0 -3
  1258. package/source/directives/octets/Fetch.ts +0 -100
  1259. package/source/directives/octets/List.ts +0 -72
  1260. package/source/directives/octets/Store.ts +0 -126
  1261. package/source/directives/vary/Directive.ts +0 -7
  1262. package/source/directives/vary/Embed.ts +0 -68
  1263. package/source/directives/vary/Vary.ts +0 -50
  1264. package/source/directives/vary/embeddings/Authority.ts +0 -8
  1265. package/source/directives/vary/embeddings/Embedding.ts +0 -7
  1266. package/source/directives/vary/embeddings/Header.ts +0 -32
  1267. package/source/directives/vary/embeddings/Language.ts +0 -31
  1268. package/source/directives/vary/embeddings/Parameter.ts +0 -14
  1269. package/source/directives/vary/embeddings/index.ts +0 -13
  1270. package/source/directives/vary/index.ts +0 -3
  1271. package/source/index.test.ts +0 -9
  1272. package/transpiled/directives/octets/Fetch.d.ts +0 -18
  1273. package/transpiled/directives/octets/Fetch.js +0 -92
  1274. package/transpiled/directives/octets/Fetch.js.map +0 -1
  1275. package/transpiled/directives/octets/List.d.ts +0 -16
  1276. package/transpiled/directives/octets/List.js +0 -74
  1277. package/transpiled/directives/octets/List.js.map +0 -1
  1278. package/transpiled/directives/octets/Store.d.ts +0 -24
  1279. package/transpiled/directives/octets/Store.js +0 -95
  1280. package/transpiled/directives/octets/Store.js.map +0 -1
  1281. package/transpiled/directives/vary/Directive.d.ts +0 -6
  1282. package/transpiled/directives/vary/Directive.js +0 -3
  1283. package/transpiled/directives/vary/Directive.js.map +0 -1
  1284. package/transpiled/directives/vary/Embed.d.ts +0 -11
  1285. package/transpiled/directives/vary/Embed.js +0 -51
  1286. package/transpiled/directives/vary/Embed.js.map +0 -1
  1287. package/transpiled/directives/vary/Properties.js +0 -16
  1288. package/transpiled/directives/vary/Properties.js.map +0 -1
  1289. package/transpiled/directives/vary/Vary.d.ts +0 -10
  1290. package/transpiled/directives/vary/Vary.js +0 -36
  1291. package/transpiled/directives/vary/Vary.js.map +0 -1
  1292. package/transpiled/directives/vary/embeddings/Authority.d.ts +0 -5
  1293. package/transpiled/directives/vary/embeddings/Authority.js +0 -10
  1294. package/transpiled/directives/vary/embeddings/Authority.js.map +0 -1
  1295. package/transpiled/directives/vary/embeddings/Embedding.d.ts +0 -6
  1296. package/transpiled/directives/vary/embeddings/Embedding.js +0 -3
  1297. package/transpiled/directives/vary/embeddings/Embedding.js.map +0 -1
  1298. package/transpiled/directives/vary/embeddings/Header.d.ts +0 -7
  1299. package/transpiled/directives/vary/embeddings/Header.js +0 -28
  1300. package/transpiled/directives/vary/embeddings/Header.js.map +0 -1
  1301. package/transpiled/directives/vary/embeddings/Language.d.ts +0 -7
  1302. package/transpiled/directives/vary/embeddings/Language.js +0 -28
  1303. package/transpiled/directives/vary/embeddings/Language.js.map +0 -1
  1304. package/transpiled/directives/vary/embeddings/Parameter.d.ts +0 -7
  1305. package/transpiled/directives/vary/embeddings/Parameter.js +0 -14
  1306. package/transpiled/directives/vary/embeddings/Parameter.js.map +0 -1
  1307. package/transpiled/directives/vary/embeddings/index.d.ts +0 -5
  1308. package/transpiled/directives/vary/embeddings/index.js +0 -14
  1309. package/transpiled/directives/vary/embeddings/index.js.map +0 -1
  1310. package/transpiled/directives/vary/index.d.ts +0 -2
  1311. package/transpiled/directives/vary/index.js +0 -6
  1312. package/transpiled/directives/vary/index.js.map +0 -1
  1313. package/transpiled/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,180 @@
1
+ # OAuth 2.1 Authorization Server
2
+
3
+ An application exposes an authorization server by annotating one, and none without it. A client
4
+ authorized this way holds a token of the identity that consented, and presents it as `Bearer`.
5
+
6
+ ## Annotation
7
+
8
+ ```yaml
9
+ exposition:
10
+ authorities:
11
+ local: api.example.com
12
+ oauth:
13
+ authorize: https://app.example.com/oauth/authorize
14
+ resources: ['/.mcp']
15
+ scopes: [app:notes, app:notes:read]
16
+ registration: closed
17
+ ```
18
+
19
+ <dl>
20
+ <dt><code>authorize</code></dt>
21
+ <dd>Required. The absolute URL of the consent page. The application serves it; see
22
+ <a href="consent.md">Consent</a>.</dd>
23
+ <dt><code>resources</code></dt>
24
+ <dd>Paths advertised as protected resources, each with a document of its own and named by the
25
+ challenge a request to it is refused with. <code>/.mcp</code> is where
26
+ <a href="mcp.md">MCP</a> is served. A token is not yet bound to one, see
27
+ <a href="#audience">Audience</a>.</dd>
28
+ <dt><code>scopes</code></dt>
29
+ <dd>Advertised as what a client may ask for. Each is a <a href="access.md#roles">role</a>, or a
30
+ scope within one.</dd>
31
+ <dt><code>registration</code></dt>
32
+ <dd><code>open</code> advertises the registration endpoint, <code>closed</code> does not.
33
+ Defaults to <code>closed</code>.</dd>
34
+ </dl>
35
+
36
+ The issuer is the authority's configured host, over `https` unless the host is a loopback one.
37
+
38
+ ## Discovery
39
+
40
+ Two documents are served, at the paths their specifications fix, to anyone.
41
+
42
+ `/.well-known/oauth-authorization-server` is
43
+ [RFC 8414](https://www.rfc-editor.org/rfc/rfc8414) metadata:
44
+
45
+ ```yaml
46
+ issuer: https://api.example.com
47
+ authorization_endpoint: https://app.example.com/oauth/authorize
48
+ token_endpoint: https://api.example.com/identity/grants/
49
+ registration_endpoint: https://api.example.com/identity/clients/
50
+ response_types_supported: [code]
51
+ grant_types_supported: [authorization_code]
52
+ code_challenge_methods_supported: [S256]
53
+ token_endpoint_auth_methods_supported: [none]
54
+ client_id_metadata_document_supported: true
55
+ authorization_response_iss_parameter_supported: true
56
+ ```
57
+
58
+ `/.well-known/oauth-protected-resource` is
59
+ [RFC 9728](https://www.rfc-editor.org/rfc/rfc9728) metadata. Each configured resource has one of
60
+ its own, at the path the well-known segment is followed by: `/.mcp` is read at
61
+ `/.well-known/oauth-protected-resource/.mcp`.
62
+
63
+ ```yaml
64
+ resource: https://api.example.com/.mcp
65
+ authorization_servers: [https://api.example.com]
66
+ bearer_methods_supported: [header]
67
+ ```
68
+
69
+ `/.well-known/openid-configuration` answers with the authorization server metadata, for a client
70
+ that reads only that.
71
+
72
+ A reply of `401` carries the challenge that names the document:
73
+
74
+ ```http
75
+ 401 Unauthorized
76
+ www-authenticate: Bearer resource_metadata="https://api.example.com/.well-known/oauth-protected-resource/.mcp", scope="app:notes"
77
+ ```
78
+
79
+ ## Clients
80
+
81
+ A `client_id` that is an `https` URL is a
82
+ [Client ID Metadata Document](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-client-id-metadata-document-00):
83
+ the client publishes what it is at that URL, and the document is read from there. Only origins
84
+ `identity.clients` is configured to trust are read, and an empty list reads none:
85
+
86
+ ```yaml
87
+ configuration:
88
+ identity.clients:
89
+ trust:
90
+ - https://claude.ai
91
+ ```
92
+
93
+ Anything else was registered through
94
+ [RFC 7591](https://www.rfc-editor.org/rfc/rfc7591), which `registration: open` advertises:
95
+
96
+ ```http
97
+ POST /identity/clients/ HTTP/1.1
98
+ content-type: application/json
99
+
100
+ {"client_name": "Claude", "redirect_uris": ["https://claude.ai/api/mcp/auth_callback"]}
101
+ ```
102
+
103
+ ```http
104
+ 201 Created
105
+
106
+ {"client_id": "c8f3a1e4d8c9b2f6a0e5d7c3b1a9f8e2", "client_name": "Claude", …}
107
+ ```
108
+
109
+ A registration is addressed by a hash of what it says, so the same metadata is one client however
110
+ many times it arrives. A registration cannot be changed: a revision is a different client.
111
+
112
+ Only public clients are supported. `token_endpoint_auth_method` other than `none` is refused.
113
+
114
+ `redirect_uris` are matched exactly, except for a loopback address, where the port is ignored
115
+ ([RFC 8252 §7.3](https://datatracker.ietf.org/doc/html/rfc8252#section-7.3)).
116
+
117
+ `GET /identity/clients/:id/` returns a client to any authenticated identity, which is what the
118
+ consent page reads.
119
+
120
+ ## Token endpoint
121
+
122
+ `POST /identity/grants/`, anonymous, `application/x-www-form-urlencoded`.
123
+
124
+ ```http
125
+ POST /identity/grants/ HTTP/1.1
126
+ content-type: application/x-www-form-urlencoded
127
+
128
+ grant_type=authorization_code&code=SplxlO&code_verifier=dBjftJeZ&redirect_uri=…&client_id=…
129
+ ```
130
+
131
+ ```http
132
+ 200 OK
133
+ cache-control: no-store
134
+
135
+ {"access_token": "…", "token_type": "Bearer", "expires_in": 2592000}
136
+ ```
137
+
138
+ `code_verifier` is required: the code was issued against its `S256` hash
139
+ ([RFC 7636](https://www.rfc-editor.org/rfc/rfc7636)). A code may be redeemed once, and is spent
140
+ whether or not the verifier matches. Every refusal is `invalid_grant`.
141
+
142
+ A code is valid for `identity.grants.lifetime` seconds, 60 by default. A token is valid for
143
+ `identity.grants.token` seconds, 30 days by default; `0` is until it is revoked.
144
+
145
+ ## Grants
146
+
147
+ A grant is what a user allowed a client. One is held per identity per client.
148
+
149
+ `GET /identity/grants/:identity/` lists them. `DELETE /identity/grants/:identity/:id/` revokes one,
150
+ which disables the key its token was issued under: the token stops being one within
151
+ `identity.tokens.cache.ttl`.
152
+
153
+ ## Tokens
154
+
155
+ An access token is a token of the identity that consented, carrying the
156
+ [roles](access.md#roles) that identity holds, or the subset the client asked for as `scope`. It is
157
+ presented as `Bearer`, which `identity.federation` also answers to — see
158
+ [Bearer scheme](identity.md#bearer-scheme).
159
+
160
+ A `scope` a client asks for is not checked against `scopes_supported`: it is granted if the
161
+ consenting identity holds it, and refused as `invalid_scope` otherwise. What is advertised says
162
+ what an application means to offer, not what the server will refuse.
163
+
164
+ ## Audience
165
+
166
+ `resource` ([RFC 8707](https://www.rfc-editor.org/rfc/rfc8707)) is accepted at both endpoints and
167
+ recorded on the grant. **It does not yet restrict the token.** An access token carries the rights
168
+ of the identity that consented, over every path that identity may reach, whichever resource it was
169
+ asked for.
170
+
171
+ Restricting it is a `permissions` argument at the `identity.tokens.issue` call in
172
+ `identity.grants.exchange` — `{'/.mcp': ['*']}` for a resource at `/.mcp` — enforced by
173
+ `permits()`, which is already what reads a token's permissions on every request. It waits on the
174
+ resource that will check the audience itself.
175
+
176
+ ## References
177
+
178
+ - [OAuth 2.1](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1)
179
+ - [Consent](consent.md), the page an application serves
180
+ - [Features](../features/oauth.grants.feature)
@@ -14,26 +14,32 @@ directives under the current RTD Node.
14
14
  octets:context: images
15
15
  ```
16
16
 
17
- ## `octets:store`
17
+ ## `octets:put`
18
18
 
19
19
  Stores the content of the request body into a storage, under the request path with
20
20
  specified `content-type`.
21
21
 
22
22
  If request's `content-type` is not acceptable, or if the request body does not pass
23
- the [validation](/extensions/storages/readme.md#async-putpath-string-stream-readable-type-typecontrol-maybeentry),
23
+ the [validation](/extensions/storages/readme.md#async-putpath-string-stream-readable-options-options-maybeentry),
24
24
  the request is rejected with a `415 Unsupported Media Type` response.
25
25
 
26
- The value of the directive is `null` or an object with the following properties:
26
+ The value of the directive must be `null` (defaults) or an object with the following optional
27
+ properties:
27
28
 
29
+ - `location`: a string that represents the path to store the
30
+ content.
31
+ If not specified, the path is the same as the request path.
32
+ - `limit`: [maximum size](#stream-size-limit) of the incoming stream.
28
33
  - `accept`: a media type or an array of media types that are acceptable.
29
34
  If the `accept` property is not specified, any media type is acceptable (which is the default).
30
35
  - `workflow`: [workflow](#workflows) to be executed once the content is successfully stored.
36
+ - `trust`: a list of [trusted origins](#downloading-external-content).
31
37
 
32
38
  ```yaml
33
39
  /images:
34
40
  octets:context: images
35
41
  POST:
36
- octets:store:
42
+ octets:put:
37
43
  accept:
38
44
  - image/jpeg
39
45
  - image/png
@@ -43,31 +49,97 @@ The value of the directive is `null` or an object with the following properties:
43
49
  analyze: images.analyze
44
50
  ```
45
51
 
46
- Non-standard `content-meta` header can be used
52
+ ### Headers
53
+
54
+ `content-id` header can be used to set the ID of the Entry.
55
+ The value must match the following regular expression `^[a-zA-Z0-9-_]{1,16}$`.
56
+
57
+ Non-standard `content-attributes` header can be used
47
58
  to set initial [metadata](/extensions/storages/readme.md#entry) value for the Entry.
48
59
 
49
- The value of the `content-meta` header is a comma-separated list of key-value string pairs.
60
+ The value of the `content-attributes` header is a comma-separated list of key-value string pairs.
50
61
  If no value is provided for a key, the string `true` is used.
51
62
 
52
63
  ```http
53
64
  POST /images/ HTTP/1.1
54
65
  content-type: image/jpeg
55
- content-meta: foo, bar=baz
56
- content-meta: baz=1
66
+ content-id: example-id
67
+ content-attributes: foo, bar=baz
68
+ content-attributes: baz=1
57
69
  ```
58
70
 
59
71
  ```yaml
60
- meta:
72
+ attributes:
61
73
  foo: 'true'
62
74
  bar: 'baz'
63
75
  baz: '1'
64
76
  ```
65
77
 
66
- If the Entry already exists, the `content-meta` header is ignored.
78
+ If the Entry already exists, the `content-attributes` header is ignored.
79
+
80
+ ### Location
81
+
82
+ The `location` property can be used to store the content under a different path.
83
+
84
+ ```yaml
85
+ /images:
86
+ octets:context: images
87
+ POST:
88
+ octets:put:
89
+ location: /archive
90
+ ```
91
+
92
+ Physical storage path is constructed by resolving the `location`
93
+ property [relative](https://datatracker.ietf.org/doc/html/rfc3986#section-5) to the request path.
94
+
95
+ ### Stream size limit
96
+
97
+ The `limit` property can be used to set the maximum size of the incoming stream in bytes.
98
+
99
+ The property value can be specified as a number
100
+ (representing bytes) or a string that combines a number with a unit (e.g., `1MB`).
101
+ Both [binary and decimal prefixes](https://en.wikipedia.org/wiki/Binary_prefix) are supported.
102
+ If the prefix or unit is specified _incorrectly_ (e.g., `1mb`),
103
+ it will default to a binary prefix interpretation.
104
+
105
+ - `1b`, `1B`: 1 byte
106
+ - `1KB`: 1000 bytes
107
+ - `1KiB`: 1024 bytes
108
+ - `1kb`: 1024 bytes
109
+
110
+ The default value is `64MiB`.
111
+
112
+ ### Downloading external content
113
+
114
+ The `octets:put` directive can be used to download external content:
115
+
116
+ ```http
117
+ POST /images/ HTTP/1.1
118
+ content-location: https://example.com/image.jpg
119
+ content-length: 0
120
+ ```
121
+
122
+ Requests with `content-location` header must have an empty body (`content-length: 0` header).
123
+
124
+ Target origin must be allowed by the `trust` property,
125
+ which can contain a list of trusted origins or regular expressions to match the full URL.
126
+
127
+ URL of the downloaded content is stored in the `origin` property of
128
+ the [Entry](/extensions/storages/readme.md#entry).
129
+
130
+ ```yaml
131
+ /images:
132
+ octets:context: images
133
+ POST:
134
+ octets:put:
135
+ trust:
136
+ - https://example.com
137
+ - ^https://example\.com/[a-z]+\.jpe?g$
138
+ ```
67
139
 
68
140
  ### Response
69
141
 
70
- The response of the `octets:store` directive is the created Entry.
142
+ The response of the `octets:put` directive is the created Entry.
71
143
 
72
144
  ```
73
145
  201 Created
@@ -78,12 +150,13 @@ type: image/jpeg
78
150
  created: 1698004822358
79
151
  ```
80
152
 
81
- If the `octets:store` directive contains a `workflow`, the response
153
+ If the `octets:put` directive contains a `workflow`, the response
82
154
  is [multipart](protocol.md#multipart-types).
83
155
  The first part represents the created Entry, which is sent immediately after the BLOB is stored,
84
156
  while subsequent parts are results from the workflow endpoints, sent as soon as they are available.
85
157
 
86
- In case a workflow endpoint returns an `Error`, the error part is sent, and the response is closed.
158
+ In case a workflow endpoint returns an `Error`, the error part is sent,
159
+ and the response is closed.
87
160
  Error's properties are added to the error part, among with the `step` identifier.
88
161
 
89
162
  ```
@@ -91,20 +164,53 @@ Error's properties are added to the error part, among with the `step` identifier
91
164
  content-type: multipart/yaml; boundary=cut
92
165
 
93
166
  --cut
167
+
94
168
  id: eecd837c
95
169
  type: image/jpeg
96
170
  created: 1698004822358
171
+
97
172
  --cut
98
- optimize: null
173
+
174
+ step: optimize
175
+ status: completed
176
+
99
177
  --cut
178
+
179
+ step: resize
100
180
  error:
101
- step: resize
102
181
  code: TOO_SMALL
103
182
  message: Image is too small
183
+ status: completed
184
+
185
+ --cut
186
+
187
+ step: analyze
188
+ status: exception
189
+
104
190
  --cut--
105
191
  ```
106
192
 
107
- ## `octets:fetch`
193
+ ### What a client is told
194
+
195
+ `octets:put` says what sending a file takes, where everything else about a method is said —
196
+ [`OPTIONS`](introspection.md) and the [tree](discovery.md):
197
+
198
+ ```yaml
199
+ POST:
200
+ octets:
201
+ accept: image/jpeg,image/png
202
+ limit: 64MiB
203
+ stream: true
204
+ ```
205
+
206
+ `accept` is absent where the directive names no type, and anything may be sent. `limit` is
207
+ written as the declaration writes it, and is what a `413` reports. `stream` says a workflow runs
208
+ on what was stored, so the reply arrives as parts rather than as one object — the first part is
209
+ the entry.
210
+
211
+ Reading a file and deleting one say nothing: those requests are what they look like.
212
+
213
+ ## `octets:get`
108
214
 
109
215
  Fetches the content of a stored BLOB corresponding to the request path, and returns it as the
110
216
  response body with the corresponding `content-type`, `content-length`
@@ -116,22 +222,18 @@ The value of the directive is an object with the following properties:
116
222
 
117
223
  - `meta`: `boolean` indicating whether an Entry is accessible.
118
224
  Defaults to `false`.
119
- - `blob`: `boolean` indicating whether the original BLOB is accessible,
120
- [BLOB variant](/extensions/storages/readme.md#async-fetchpath-string-maybereadable) must be
121
- specified in the path otherwise.
122
- Defaults to `true`.
123
225
 
124
226
  ```yaml
125
227
  /images:
126
228
  octets:context: images
127
229
  /*:
128
230
  GET:
129
- octets:fetch:
231
+ octets:get:
130
232
  blob: false # prevent access to the original BLOB
131
- meta: true # allow access to an Entry
233
+ meta: true # allow access to an Entry
132
234
  ```
133
235
 
134
- The `octets:fetch: ~` declaration is equivalent to defaults.
236
+ The `octets:get: ~` declaration is equivalent to defaults.
135
237
 
136
238
  To access an Entry, the `accept` request header must contain the `octets.entry` subtype
137
239
  in
@@ -142,32 +244,6 @@ GET /images/eecd837c HTTP/1.1
142
244
  accept: application/vnd.toa.octets.entry+yaml
143
245
  ```
144
246
 
145
- ## `octets:list`
146
-
147
- Lists the entries stored under the request path.
148
-
149
- The value of the directive is an object with the following properties:
150
-
151
- - `meta`: `boolean` indicating whether the list of Entries is accessible.
152
- Defaults to `false`, which means that only entry identifiers are returned.
153
-
154
- ```yaml
155
- /images:
156
- octets:context: images
157
- GET:
158
- octets:list:
159
- meta: true
160
- ```
161
-
162
- The `octets:list: ~` declaration is equivalent to defaults.
163
-
164
- To access a list of Entries, the `accept` request header must contain the `octets.entries` subtype:
165
-
166
- ```http
167
- GET /images/ HTTP/1.1
168
- accept: application/vnd.toa.octets.entries+yaml
169
- ```
170
-
171
247
  ## `octets:delete`
172
248
 
173
249
  Delete the entry corresponding to the request path.
@@ -193,22 +269,6 @@ the entry is deleted.
193
269
 
194
270
  The error returned by the workflow prevents the deletion of the entry.
195
271
 
196
- ## `octets:permute`
197
-
198
- Performs
199
- a [permutation](/extensions/storages/readme.md#async-permutepath-string-ids-string-maybevoid) on the
200
- entries
201
- under the request path.
202
-
203
- ```yaml
204
- /images:
205
- octets:context: images
206
- PUT:
207
- octets:permute: ~
208
- ```
209
-
210
- The request body must be a list of entry identifiers.
211
-
212
272
  ## `octets:workflow`
213
273
 
214
274
  Execute a [workflow](#workflows) on the entry under the request path.
@@ -227,21 +287,23 @@ A workflow is a list of endpoints to be called.
227
287
  The following input will be passed to each endpoint:
228
288
 
229
289
  ```yaml
290
+ authority: string
230
291
  storage: string
231
292
  path: string
232
293
  entry: Entry
233
294
  parameters: Record<string, string> # route parameters
234
295
  ```
235
296
 
236
- See [Entry](/extensions/storages/readme.md#entry) and an
237
- example [workflow step processor](../features/steps/components/octets.tester).
297
+ - [Storages](/extensions/storages/readme.md)
298
+ - [Authorities](authorities.md)
299
+ - Example [workflow step processor](../features/steps/components/octets.tester)
238
300
 
239
301
  A _workflow unit_ is an object with keys referencing the workflow step identifier, and an endpoint
240
302
  as value.
241
303
  Steps within a workflow unit are executed in parallel.
242
304
 
243
305
  ```yaml
244
- octets:store:
306
+ octets:put:
245
307
  workflow:
246
308
  resize: images.resize
247
309
  analyze: images.analyze
@@ -251,11 +313,22 @@ A workflow can be a single unit, or an array of units.
251
313
  If it's an array, the workflow units are executed in sequence.
252
314
 
253
315
  ```yaml
254
- octets:store:
316
+ octets:put:
255
317
  workflow:
256
- - optimize: images.optimize # executed first
257
- - resize: images.resize # executed second
258
- analyze: images.analyze # executed in parallel with `resize`
318
+ - optimize: images.optimize # executed first
319
+ - resize: images.resize # executed second
320
+ analyze: images.analyze # executed in parallel with `resize`
259
321
  ```
260
322
 
261
- If one of the workflow units returns an error, the execution of the workflow is interrupted.
323
+ If one of the workflow units returns or throws an error,
324
+ the execution of the workflow is interrupted.
325
+
326
+ ### Workflow tasks
327
+
328
+ A workflow unit which value starts with `task:` prefix will be executed as a Task.
329
+
330
+ ```yaml
331
+ octets:put:
332
+ workflow:
333
+ optimize: task:images.optimize
334
+ ```
@@ -0,0 +1,11 @@
1
+ # Web Authentication
2
+
3
+ - [Standard](https://www.w3.org/TR/webauthn-2/)
4
+ - [Features](../features/passkeys.feature)
5
+ - [Credential management](credentials.md#passkeys)
6
+
7
+ ## Origin
8
+
9
+ The relying party is the client. The origin a passkey is registered under, and the RP ID derived
10
+ from it, come from the request, so a passkey belongs to the origin of the client that registered
11
+ it, and a client on another origin does not see it.
@@ -4,11 +4,15 @@
4
4
 
5
5
  The following media types are supported for both requests and responses:
6
6
 
7
- - `application/msgpack` using [msgpackr](https://github.com/kriszyp/msgpackr)
8
- - `application/yaml` using [js-yaml](https://github.com/nodeca/js-yaml)
9
7
  - `application/json`
8
+ - `application/yaml` using [js-yaml](https://github.com/nodeca/js-yaml)
9
+ - `application/msgpack` using [msgpackr](https://github.com/kriszyp/msgpackr)
10
10
  - `text/plain`
11
11
 
12
+ A request may also be sent as `application/x-www-form-urlencoded`. A form is read and never
13
+ written, so it is not a format a response is negotiated to. A name repeated in a form is read as
14
+ the list it is.
15
+
12
16
  The response format is determined by content negotiation
13
17
  using [negotiator](https://github.com/jshttp/negotiator).
14
18
 
@@ -26,18 +30,21 @@ foo: bar
26
30
 
27
31
  ### Multipart types
28
32
 
29
- Multipart responses are endoded using content negotiation,
33
+ Multipart responses are encoded using content negotiation,
30
34
  and the `content-type` of the response is set to one of the custom `multipart/` subtypes,
31
35
  corresponding to the type of
32
36
  the parts:
33
37
 
34
38
  | Response type | Part type |
35
- |---------------------|-----------------------|
39
+ | ------------------- | --------------------- |
36
40
  | `multipart/msgpack` | `application/msgpack` |
37
41
  | `multipart/yaml` | `application/yaml` |
38
42
  | `multipart/json` | `application/json` |
39
43
  | `multipart/text` | `text/plain` |
40
44
 
45
+ Multipart responses are started with a text chunk `ACK`, and finished with a text
46
+ chunk `FIN`.
47
+
41
48
  Example:
42
49
 
43
50
  ```
@@ -49,19 +56,47 @@ accept: application/yaml
49
56
  200 OK
50
57
  content-type: multipart/yaml; boundary=cut
51
58
 
59
+ --cut
60
+ ACK
52
61
  --cut
53
62
  foo: bar
54
63
  --cut
55
64
  baz: qux
65
+ --cut
66
+ FIN
56
67
  --cut--
57
68
  ```
58
69
 
59
70
  See also:
60
71
 
61
72
  - [Multipart Content-Type](https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html) at W3C
62
- - [Content-Type: multipart](https://learn.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/aa493937(v=exchg.140))
73
+ - [Content-Type: multipart](<https://learn.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2010/aa493937(v=exchg.140)>)
63
74
  at Microsoft
64
75
 
76
+ ## HTTP version
77
+
78
+ The gateway serves HTTP/1.1 by default. `protocol: h2c` serves cleartext HTTP/2 instead.
79
+
80
+ ```yaml
81
+ exposition:
82
+ protocol: h2c
83
+ service:
84
+ annotations:
85
+ projectcontour.io/upstream-protocol.h2c: '8000'
86
+ ```
87
+
88
+ `h2c` requires an ingress controller that proxies cleartext HTTP/2 upstream, and the
89
+ annotation that controller reads to do so. Contour, Traefik and Envoy-based controllers
90
+ proxy it; ingress-nginx does not. A cleartext HTTP/2 server answers nothing else on the
91
+ same port: there is no ALPN to negotiate with, so a controller that speaks HTTP/1.1 upstream
92
+ reaches nothing.
93
+
94
+ Under `h2c` a request refused before its body is read is answered and then cancelled with
95
+ `RST_STREAM(NO_ERROR)`. The reply arrives; the upload stops where it is. A client streaming
96
+ a request body sees that body cancelled — in Node, `ERR_STREAM_PREMATURE_CLOSE` on the stream
97
+ it passed, which throws if nothing handles it. A real failure shows in the reply, or in the
98
+ request rejecting because no reply came. A buffered body is unaffected.
99
+
65
100
  ## CORS
66
101
 
67
102
  [CORS](https://www.w3.org/TR/2020/SPSD-cors-20200602/) is supported,
@@ -75,7 +110,7 @@ The following request headers are allowed:
75
110
  - `etag`
76
111
  - `if-match`
77
112
  - `if-none-match`
78
- - headers used by the [`vary:embed` directive](vary.md#embeddings)
113
+ - headers used by the [`map` directive family](map.md)
79
114
 
80
115
  The following response headers are exposed:
81
116