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

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 (526) hide show
  1. package/components/identity.basic/package.json +8 -0
  2. package/components/identity.federation/package.json +8 -0
  3. package/components/identity.passkeys/package.json +8 -0
  4. package/components/identity.tokens/package.json +10 -0
  5. package/package.json +25 -13
  6. package/transpiled/Discovery/Explorer.js +1 -1
  7. package/transpiled/Discovery/Explorer.js.map +1 -1
  8. package/transpiled/Discovery/Site.js +1 -1
  9. package/transpiled/Discovery/Site.js.map +1 -1
  10. package/transpiled/Discovery/trunk.js +1 -1
  11. package/transpiled/Discovery/trunk.js.map +1 -1
  12. package/transpiled/Endpoint.js +3 -0
  13. package/transpiled/Endpoint.js.map +1 -1
  14. package/transpiled/Factory.js +1 -1
  15. package/transpiled/Factory.js.map +1 -1
  16. package/transpiled/Gateway.js +1 -1
  17. package/transpiled/Gateway.js.map +1 -1
  18. package/transpiled/HTTP/Server.d.ts +1 -1
  19. package/transpiled/HTTP/Server.js +1 -1
  20. package/transpiled/HTTP/Server.js.map +1 -1
  21. package/transpiled/Introspection.d.ts +6 -0
  22. package/transpiled/Introspection.js +1 -0
  23. package/transpiled/Introspection.js.map +1 -1
  24. package/transpiled/MCP/Server.d.ts +1 -1
  25. package/transpiled/MCP/Server.js +1 -1
  26. package/transpiled/MCP/Server.js.map +1 -1
  27. package/transpiled/MCP/discover.d.ts +1 -1
  28. package/transpiled/MCP/schema.js +2 -2
  29. package/transpiled/Query.d.ts +2 -12
  30. package/transpiled/Query.js +3 -13
  31. package/transpiled/Query.js.map +1 -1
  32. package/transpiled/RPC/Dispatcher.d.ts +1 -1
  33. package/transpiled/RPC/Dispatcher.js +2 -2
  34. package/transpiled/RPC/Dispatcher.js.map +1 -1
  35. package/transpiled/RTD/Endpoint.d.ts +2 -3
  36. package/transpiled/RTD/Tree.js +1 -1
  37. package/transpiled/RTD/Tree.js.map +1 -1
  38. package/transpiled/RTD/factory.js +1 -1
  39. package/transpiled/RTD/factory.js.map +1 -1
  40. package/transpiled/RTD/syntax/index.d.ts +1 -2
  41. package/transpiled/RTD/syntax/index.js +1 -2
  42. package/transpiled/RTD/syntax/index.js.map +1 -1
  43. package/transpiled/Tenant.js +1 -1
  44. package/transpiled/Tenant.js.map +1 -1
  45. package/transpiled/directives/auth/Authorization.js +1 -1
  46. package/transpiled/directives/auth/Authorization.js.map +1 -1
  47. package/transpiled/directives/io/IO.js +1 -1
  48. package/transpiled/directives/io/IO.js.map +1 -1
  49. package/transpiled/directives/oauth/documents.d.ts +1 -1
  50. package/transpiled/index.d.ts +0 -2
  51. package/transpiled/index.js +0 -2
  52. package/transpiled/index.js.map +1 -1
  53. package/transpiled/service.js +1 -1
  54. package/transpiled/service.js.map +1 -1
  55. package/ui/dist/_app/immutable/assets/0.Cu0AnR_8.css +2 -0
  56. package/ui/dist/_app/immutable/assets/2.BghF56l_.css +1 -0
  57. package/ui/dist/_app/immutable/assets/ui.C8aD6zzF.css +1 -0
  58. package/ui/dist/_app/immutable/chunks/B8GvXrmq.js +1 -0
  59. package/ui/dist/_app/immutable/chunks/BVDJTrf4.js +3 -0
  60. package/ui/dist/_app/immutable/chunks/D6q28_Ok.js +86 -0
  61. package/ui/dist/_app/immutable/chunks/{D9tE1yyO.js → DVlaUfVU.js} +1 -1
  62. package/ui/dist/_app/immutable/chunks/DpB73ZB6.js +6 -0
  63. package/ui/dist/_app/immutable/entry/app.CTava8yn.js +2 -0
  64. package/ui/dist/_app/immutable/entry/start.yWN0gSLA.js +1 -0
  65. package/ui/dist/_app/immutable/nodes/0.HKRDBYrC.js +1 -0
  66. package/ui/dist/_app/immutable/nodes/1.CLa0ydOi.js +1 -0
  67. package/ui/dist/_app/immutable/nodes/2.C9Kaym8C.js +8 -0
  68. package/ui/dist/_app/immutable/nodes/3.C1X4_rXZ.js +1 -0
  69. package/ui/dist/_app/immutable/nodes/4.DdzDIi9E.js +1 -0
  70. package/ui/dist/_app/immutable/nodes/5.DpbmCMdw.js +1 -0
  71. package/ui/dist/_app/version.json +1 -1
  72. package/ui/dist/index.html +12 -12
  73. package/CHANGELOG.md +0 -35
  74. package/components/identity.bans/tsconfig.tsbuildinfo +0 -1
  75. package/components/identity.basic/source/lib/credentials.test.ts +0 -18
  76. package/components/identity.basic/tsconfig.tsbuildinfo +0 -1
  77. package/components/identity.clients/source/lib/canonical.test.ts +0 -43
  78. package/components/identity.clients/source/lib/cimd.test.ts +0 -122
  79. package/components/identity.clients/source/lib/redirect.test.ts +0 -47
  80. package/components/identity.clients/tsconfig.tsbuildinfo +0 -1
  81. package/components/identity.credentials/source/list.test.ts +0 -70
  82. package/components/identity.credentials/tsconfig.tsbuildinfo +0 -1
  83. package/components/identity.federation/source/lib/discovery.test.ts +0 -60
  84. package/components/identity.federation/source/list.test.ts +0 -41
  85. package/components/identity.federation/tsconfig.tsbuildinfo +0 -1
  86. package/components/identity.grants/tsconfig.tsbuildinfo +0 -1
  87. package/components/identity.keys/tsconfig.tsbuildinfo +0 -1
  88. package/components/identity.otp/tsconfig.tsbuildinfo +0 -1
  89. package/components/identity.passkeys/source/errors.test.ts +0 -34
  90. package/components/identity.passkeys/source/webauthn.test.ts +0 -26
  91. package/components/identity.passkeys/tsconfig.tsbuildinfo +0 -1
  92. package/components/identity.roles/tsconfig.tsbuildinfo +0 -1
  93. package/components/identity.tokens/source/authenticate.test.ts +0 -112
  94. package/components/identity.tokens/source/decrypt.test.ts +0 -216
  95. package/components/identity.tokens/source/encrypt.test.ts +0 -150
  96. package/components/identity.tokens/source/issue.test.ts +0 -73
  97. package/components/identity.tokens/source/lib/form.test.ts +0 -25
  98. package/components/identity.tokens/source/lib/paseto.test.ts +0 -62
  99. package/components/identity.tokens/tsconfig.tsbuildinfo +0 -1
  100. package/context.toa.yaml +0 -31
  101. package/cucumber.mjs +0 -7
  102. package/documentation/.assets/ia3-dark.jpg +0 -0
  103. package/documentation/.assets/ia3-light.jpg +0 -0
  104. package/documentation/.assets/overview-dark.jpg +0 -0
  105. package/documentation/.assets/overview-light.jpg +0 -0
  106. package/documentation/.assets/role-scopes-dark.jpg +0 -0
  107. package/documentation/.assets/role-scopes-light.jpg +0 -0
  108. package/documentation/.assets/rtd-dark.jpg +0 -0
  109. package/documentation/.assets/rtd-light.jpg +0 -0
  110. package/documentation/access.md +0 -350
  111. package/documentation/authorities.md +0 -51
  112. package/documentation/cache.md +0 -72
  113. package/documentation/components.md +0 -472
  114. package/documentation/consent.md +0 -101
  115. package/documentation/credentials.md +0 -88
  116. package/documentation/dev.md +0 -30
  117. package/documentation/discovery.md +0 -81
  118. package/documentation/flow.md +0 -44
  119. package/documentation/help.md +0 -122
  120. package/documentation/identity.md +0 -304
  121. package/documentation/introspection.md +0 -123
  122. package/documentation/io.md +0 -167
  123. package/documentation/ip.md +0 -24
  124. package/documentation/map.md +0 -123
  125. package/documentation/mcp.md +0 -183
  126. package/documentation/notes/desync.jpg +0 -0
  127. package/documentation/notes/peers.md +0 -59
  128. package/documentation/notes/sse.md +0 -71
  129. package/documentation/notes/throttling.md +0 -122
  130. package/documentation/oauth.md +0 -180
  131. package/documentation/octets.md +0 -334
  132. package/documentation/passkeys.md +0 -11
  133. package/documentation/protocol.md +0 -120
  134. package/documentation/query.md +0 -324
  135. package/documentation/require.md +0 -15
  136. package/documentation/rpc.md +0 -154
  137. package/documentation/tracing.md +0 -70
  138. package/documentation/tree.md +0 -199
  139. package/features/access.feature +0 -596
  140. package/features/annotation.feature +0 -32
  141. package/features/auth.assert.feature +0 -55
  142. package/features/auth.bearer.feature +0 -120
  143. package/features/auth.claims.feature +0 -171
  144. package/features/auth.incept.feature +0 -166
  145. package/features/auth.input.feature +0 -59
  146. package/features/authorities.basic.feature +0 -141
  147. package/features/authorities.feature +0 -71
  148. package/features/authorities.federation.feature +0 -100
  149. package/features/authorities.tokens.feature +0 -117
  150. package/features/body.feature +0 -76
  151. package/features/cache.feature +0 -368
  152. package/features/configuration.feature +0 -206
  153. package/features/cors.feature +0 -127
  154. package/features/credentials.feature +0 -106
  155. package/features/debug.feature +0 -34
  156. package/features/dev.feature +0 -90
  157. package/features/directives.feature +0 -61
  158. package/features/discovery.feature +0 -213
  159. package/features/discovery.ui.feature +0 -213
  160. package/features/dynamic.feature +0 -192
  161. package/features/errors.feature +0 -258
  162. package/features/etag.feature +0 -239
  163. package/features/flow.feature +0 -148
  164. package/features/help.feature +0 -512
  165. package/features/identity.bans.feature +0 -200
  166. package/features/identity.basic.feature +0 -666
  167. package/features/identity.feature +0 -240
  168. package/features/identity.federation.feature +0 -396
  169. package/features/identity.otp.feature +0 -142
  170. package/features/identity.roles.feature +0 -568
  171. package/features/identity.tokens.custom.feature +0 -430
  172. package/features/identity.tokens.feature +0 -131
  173. package/features/interruptions.feature +0 -20
  174. package/features/introspection.feature +0 -565
  175. package/features/introspection.map.feature +0 -108
  176. package/features/io.feature +0 -204
  177. package/features/io.throttle.feature +0 -166
  178. package/features/map.feature +0 -360
  179. package/features/mcp.feature +0 -753
  180. package/features/methods.feature +0 -48
  181. package/features/oauth.clients.feature +0 -195
  182. package/features/oauth.discovery.feature +0 -164
  183. package/features/oauth.grants.feature +0 -301
  184. package/features/octets.cloudinary.feature +0 -233
  185. package/features/octets.download.feature +0 -194
  186. package/features/octets.entries.feature +0 -83
  187. package/features/octets.feature +0 -306
  188. package/features/octets.head.feature +0 -40
  189. package/features/octets.location.feature +0 -83
  190. package/features/octets.meta.feature +0 -117
  191. package/features/octets.workflows.feature +0 -565
  192. package/features/passkeys.feature +0 -66
  193. package/features/probes.feature +0 -18
  194. package/features/query.feature +0 -389
  195. package/features/realtime.feature +0 -34
  196. package/features/require.feature +0 -66
  197. package/features/response.feature +0 -103
  198. package/features/routes.feature +0 -224
  199. package/features/rpc.feature +0 -429
  200. package/features/server.feature +0 -21
  201. package/features/site/_app/immutable/asset.js +0 -1
  202. package/features/site/favicon.ico +0 -0
  203. package/features/site/index.html +0 -10
  204. package/features/steps/.env.example +0 -5
  205. package/features/steps/Captures.ts +0 -20
  206. package/features/steps/Cloudinary.ts +0 -12
  207. package/features/steps/Common.ts +0 -38
  208. package/features/steps/Components.ts +0 -115
  209. package/features/steps/Database.ts +0 -106
  210. package/features/steps/Gateway.ts +0 -240
  211. package/features/steps/HTTP.ts +0 -96
  212. package/features/steps/IDP.ts +0 -361
  213. package/features/steps/Identity.ts +0 -54
  214. package/features/steps/OTP.ts +0 -42
  215. package/features/steps/Parameters.ts +0 -162
  216. package/features/steps/Probe.ts +0 -38
  217. package/features/steps/Realtime.ts +0 -175
  218. package/features/steps/Workspace.ts +0 -48
  219. package/features/steps/components/audit/manifest.toa.yaml +0 -20
  220. package/features/steps/components/audit/operations/record.js +0 -5
  221. package/features/steps/components/echo/manifest.toa.yaml +0 -59
  222. package/features/steps/components/echo/operations/affect.js +0 -3
  223. package/features/steps/components/echo/operations/compute.js +0 -3
  224. package/features/steps/components/echo/operations/echo.js +0 -3
  225. package/features/steps/components/echo/operations/error.js +0 -7
  226. package/features/steps/components/echo/operations/identity.js +0 -3
  227. package/features/steps/components/echo/operations/parameters.js +0 -3
  228. package/features/steps/components/echo/operations/ping.js +0 -3
  229. package/features/steps/components/echo/operations/unwrap.js +0 -3
  230. package/features/steps/components/echo.beacon/manifest.toa.yaml +0 -2
  231. package/features/steps/components/echo.beacon/operations/hello.js +0 -3
  232. package/features/steps/components/greeter/manifest.toa.yaml +0 -5
  233. package/features/steps/components/greeter/operations/greet.js +0 -3
  234. package/features/steps/components/notify/manifest.toa.yaml +0 -20
  235. package/features/steps/components/notify/operations/send.js +0 -5
  236. package/features/steps/components/octets.tester/manifest.toa.yaml +0 -73
  237. package/features/steps/components/octets.tester/operations/authority.js +0 -3
  238. package/features/steps/components/octets.tester/operations/bar.js +0 -9
  239. package/features/steps/components/octets.tester/operations/baz.js +0 -9
  240. package/features/steps/components/octets.tester/operations/concat.js +0 -5
  241. package/features/steps/components/octets.tester/operations/echo.js +0 -5
  242. package/features/steps/components/octets.tester/operations/err.js +0 -14
  243. package/features/steps/components/octets.tester/operations/foo.js +0 -5
  244. package/features/steps/components/octets.tester/operations/id.js +0 -5
  245. package/features/steps/components/octets.tester/operations/identity.js +0 -5
  246. package/features/steps/components/octets.tester/operations/lenna.png +0 -0
  247. package/features/steps/components/octets.tester/operations/redirect.js +0 -17
  248. package/features/steps/components/octets.tester/operations/yex.js +0 -14
  249. package/features/steps/components/octets.tester/operations/yield.js +0 -11
  250. package/features/steps/components/orders/manifest.toa.yaml +0 -30
  251. package/features/steps/components/orders/operations/create.js +0 -7
  252. package/features/steps/components/pots/manifest.toa.yaml +0 -91
  253. package/features/steps/components/pots/migrations/0002-indexes.yaml +0 -4
  254. package/features/steps/components/pricing/manifest.toa.yaml +0 -13
  255. package/features/steps/components/pricing/operations/quote.js +0 -3
  256. package/features/steps/components/sequences/manifest.toa.yaml +0 -11
  257. package/features/steps/components/sequences/operations/numbers.js +0 -5
  258. package/features/steps/components/sequences/operations/tokens.js +0 -14
  259. package/features/steps/components/users/manifest.toa.yaml +0 -30
  260. package/features/steps/components/users/operations/create.js +0 -11
  261. package/features/steps/components/users.properties/manifest.toa.yaml +0 -22
  262. package/features/steps/map.ts +0 -30
  263. package/features/steps/tsconfig.json +0 -9
  264. package/features/streams.feature +0 -35
  265. package/features/timestamps.feature +0 -41
  266. package/features/timing.feature +0 -49
  267. package/features/tracing.feature +0 -123
  268. package/schemas/annotation.cos.yaml +0 -125
  269. package/schemas/call.cos.yaml +0 -18
  270. package/schemas/directive.cos.yaml +0 -7
  271. package/schemas/method.cos.yaml +0 -23
  272. package/schemas/node.cos.yaml +0 -22
  273. package/schemas/query.cos.yaml +0 -31
  274. package/schemas/querystring.cos.yaml +0 -19
  275. package/schemas/range.cos.yaml +0 -10
  276. package/schemas/route.cos.yaml +0 -6
  277. package/source/Annotation.ts +0 -89
  278. package/source/Branch.test.ts +0 -40
  279. package/source/Branch.ts +0 -44
  280. package/source/Composition.ts +0 -51
  281. package/source/Context.ts +0 -11
  282. package/source/Directive.test.ts +0 -199
  283. package/source/Directive.ts +0 -248
  284. package/source/Discovery/Explorer.ts +0 -34
  285. package/source/Discovery/Site.test.ts +0 -147
  286. package/source/Discovery/Site.ts +0 -202
  287. package/source/Discovery/index.ts +0 -3
  288. package/source/Discovery/tree.test.ts +0 -175
  289. package/source/Discovery/tree.ts +0 -77
  290. package/source/Discovery/trunk.ts +0 -33
  291. package/source/Endpoint.test.ts +0 -67
  292. package/source/Endpoint.ts +0 -157
  293. package/source/Factory.ts +0 -42
  294. package/source/Gateway.ts +0 -390
  295. package/source/HTTP/Context.ts +0 -143
  296. package/source/HTTP/Probe.ts +0 -99
  297. package/source/HTTP/Server.ts +0 -430
  298. package/source/HTTP/Timing.ts +0 -14
  299. package/source/HTTP/address.test.ts +0 -28
  300. package/source/HTTP/address.ts +0 -16
  301. package/source/HTTP/exceptions.ts +0 -99
  302. package/source/HTTP/formats/form.ts +0 -21
  303. package/source/HTTP/formats/index.ts +0 -36
  304. package/source/HTTP/formats/json.ts +0 -14
  305. package/source/HTTP/formats/msgpack.ts +0 -14
  306. package/source/HTTP/formats/text.ts +0 -10
  307. package/source/HTTP/formats/yaml.test.ts +0 -22
  308. package/source/HTTP/formats/yaml.ts +0 -40
  309. package/source/HTTP/index.ts +0 -6
  310. package/source/HTTP/messages.test.ts +0 -196
  311. package/source/HTTP/messages.ts +0 -186
  312. package/source/HTTP/types.ts +0 -39
  313. package/source/Interception.ts +0 -37
  314. package/source/Introspection.ts +0 -179
  315. package/source/MCP/Server.ts +0 -335
  316. package/source/MCP/discover.ts +0 -51
  317. package/source/MCP/errors.ts +0 -80
  318. package/source/MCP/index.ts +0 -1
  319. package/source/MCP/schema.test.ts +0 -91
  320. package/source/MCP/schema.ts +0 -94
  321. package/source/MCP/tools.ts +0 -144
  322. package/source/MCP/types.ts +0 -84
  323. package/source/Mapping.ts +0 -101
  324. package/source/Query.test.ts +0 -54
  325. package/source/Query.ts +0 -277
  326. package/source/RPC/Context.ts +0 -75
  327. package/source/RPC/Dispatcher.ts +0 -150
  328. package/source/RPC/errors.test.ts +0 -77
  329. package/source/RPC/errors.ts +0 -82
  330. package/source/RPC/index.ts +0 -1
  331. package/source/RPC/names.test.ts +0 -141
  332. package/source/RPC/names.ts +0 -176
  333. package/source/RPC/types.ts +0 -34
  334. package/source/RTD/Context.ts +0 -16
  335. package/source/RTD/Directives.ts +0 -126
  336. package/source/RTD/Endpoint.ts +0 -27
  337. package/source/RTD/Match.ts +0 -11
  338. package/source/RTD/Method.ts +0 -39
  339. package/source/RTD/Node.ts +0 -169
  340. package/source/RTD/Route.ts +0 -93
  341. package/source/RTD/Tree.ts +0 -137
  342. package/source/RTD/expiration.test.ts +0 -81
  343. package/source/RTD/factory.ts +0 -105
  344. package/source/RTD/index.ts +0 -8
  345. package/source/RTD/segment.test.ts +0 -35
  346. package/source/RTD/segment.ts +0 -51
  347. package/source/RTD/syntax/index.ts +0 -2
  348. package/source/RTD/syntax/parse.test.ts +0 -196
  349. package/source/RTD/syntax/parse.ts +0 -171
  350. package/source/RTD/syntax/types.ts +0 -69
  351. package/source/RTD/walk.test.ts +0 -147
  352. package/source/Remotes.test.ts +0 -79
  353. package/source/Remotes.ts +0 -39
  354. package/source/Tenant.ts +0 -73
  355. package/source/const.ts +0 -45
  356. package/source/deployment.ts +0 -96
  357. package/source/directives/auth/Anonymous.test.ts +0 -70
  358. package/source/directives/auth/Anonymous.ts +0 -36
  359. package/source/directives/auth/Anyone.ts +0 -23
  360. package/source/directives/auth/Assert.ts +0 -43
  361. package/source/directives/auth/Authorization.test.ts +0 -24
  362. package/source/directives/auth/Authorization.ts +0 -388
  363. package/source/directives/auth/Delegate.test.ts +0 -36
  364. package/source/directives/auth/Delegate.ts +0 -54
  365. package/source/directives/auth/Echo.ts +0 -24
  366. package/source/directives/auth/Federation.ts +0 -104
  367. package/source/directives/auth/Id.ts +0 -37
  368. package/source/directives/auth/Incept.ts +0 -117
  369. package/source/directives/auth/Input.ts +0 -92
  370. package/source/directives/auth/Role.test.ts +0 -147
  371. package/source/directives/auth/Role.ts +0 -99
  372. package/source/directives/auth/Rule.ts +0 -59
  373. package/source/directives/auth/Scheme.ts +0 -31
  374. package/source/directives/auth/create.ts +0 -11
  375. package/source/directives/auth/index.ts +0 -3
  376. package/source/directives/auth/schemes.test.ts +0 -18
  377. package/source/directives/auth/schemes.ts +0 -39
  378. package/source/directives/auth/split.ts +0 -14
  379. package/source/directives/auth/types.ts +0 -75
  380. package/source/directives/cache/Cache.ts +0 -92
  381. package/source/directives/cache/Control.ts +0 -81
  382. package/source/directives/cache/Exact.ts +0 -7
  383. package/source/directives/cache/etag.ts +0 -38
  384. package/source/directives/cache/index.ts +0 -3
  385. package/source/directives/cache/types.ts +0 -9
  386. package/source/directives/cors/CORS.test.ts +0 -75
  387. package/source/directives/cors/CORS.ts +0 -88
  388. package/source/directives/cors/index.ts +0 -3
  389. package/source/directives/dev/Development.ts +0 -41
  390. package/source/directives/dev/Faulty.ts +0 -31
  391. package/source/directives/dev/Sleep.ts +0 -53
  392. package/source/directives/dev/Stub.ts +0 -14
  393. package/source/directives/dev/Throw.ts +0 -14
  394. package/source/directives/dev/index.ts +0 -3
  395. package/source/directives/dev/types.ts +0 -5
  396. package/source/directives/flow/Compose.ts +0 -98
  397. package/source/directives/flow/Fetch.ts +0 -86
  398. package/source/directives/flow/Flow.ts +0 -43
  399. package/source/directives/flow/index.ts +0 -3
  400. package/source/directives/flow/types.ts +0 -7
  401. package/source/directives/help/Family.ts +0 -122
  402. package/source/directives/help/Help.test.ts +0 -227
  403. package/source/directives/help/Help.ts +0 -47
  404. package/source/directives/help/Parameters.ts +0 -47
  405. package/source/directives/help/described.ts +0 -57
  406. package/source/directives/help/index.ts +0 -45
  407. package/source/directives/index.ts +0 -33
  408. package/source/directives/io/Directive.ts +0 -17
  409. package/source/directives/io/IO.ts +0 -118
  410. package/source/directives/io/Input.ts +0 -55
  411. package/source/directives/io/Message.ts +0 -1
  412. package/source/directives/io/Output.ts +0 -81
  413. package/source/directives/io/Status.test.ts +0 -88
  414. package/source/directives/io/Status.ts +0 -47
  415. package/source/directives/io/Throttle.ts +0 -30
  416. package/source/directives/io/index.ts +0 -3
  417. package/source/directives/io/lib/throttle/Configuration.test.ts +0 -72
  418. package/source/directives/io/lib/throttle/Configuration.ts +0 -68
  419. package/source/directives/io/lib/throttle/Keys.ts +0 -53
  420. package/source/directives/io/lib/throttle/Quotas.test.ts +0 -411
  421. package/source/directives/io/lib/throttle/Quotas.ts +0 -190
  422. package/source/directives/io/lib/throttle/Sync.test.ts +0 -163
  423. package/source/directives/io/lib/throttle/Sync.ts +0 -93
  424. package/source/directives/io/lib/throttle/Warning.test.ts +0 -32
  425. package/source/directives/io/lib/throttle/Warning.ts +0 -29
  426. package/source/directives/io/lib/throttle/components/Component.ts +0 -7
  427. package/source/directives/io/lib/throttle/components/IP.ts +0 -30
  428. package/source/directives/io/lib/throttle/components/Identity.ts +0 -19
  429. package/source/directives/io/lib/throttle/components/Path.ts +0 -8
  430. package/source/directives/io/lib/throttle/components/Route.ts +0 -19
  431. package/source/directives/io/lib/throttle/components/Segment.ts +0 -19
  432. package/source/directives/io/lib/throttle/components/index.ts +0 -19
  433. package/source/directives/io/lib/throttle/conditions/Condition.ts +0 -5
  434. package/source/directives/io/lib/throttle/conditions/Status.ts +0 -17
  435. package/source/directives/io/lib/throttle/conditions/index.ts +0 -11
  436. package/source/directives/io/lib/throttle/index.ts +0 -4
  437. package/source/directives/io/schemas.test.ts +0 -40
  438. package/source/directives/io/schemas.ts +0 -16
  439. package/source/directives/map/Authority.ts +0 -15
  440. package/source/directives/map/Buffer.ts +0 -15
  441. package/source/directives/map/Claims.ts +0 -63
  442. package/source/directives/map/Directive.ts +0 -4
  443. package/source/directives/map/Headers.ts +0 -60
  444. package/source/directives/map/Language.ts +0 -45
  445. package/source/directives/map/Languages.ts +0 -17
  446. package/source/directives/map/Map.ts +0 -85
  447. package/source/directives/map/Mapping.ts +0 -45
  448. package/source/directives/map/Properties.ts +0 -15
  449. package/source/directives/map/Segments.ts +0 -52
  450. package/source/directives/map/index.ts +0 -3
  451. package/source/directives/mcp/MCP.ts +0 -33
  452. package/source/directives/mcp/Tool.test.ts +0 -56
  453. package/source/directives/mcp/Tool.ts +0 -32
  454. package/source/directives/mcp/index.ts +0 -6
  455. package/source/directives/oauth/Discovery.ts +0 -66
  456. package/source/directives/oauth/documents.ts +0 -110
  457. package/source/directives/oauth/index.ts +0 -3
  458. package/source/directives/octets/Context.ts +0 -23
  459. package/source/directives/octets/Delete.ts +0 -96
  460. package/source/directives/octets/Directive.ts +0 -21
  461. package/source/directives/octets/Get.ts +0 -88
  462. package/source/directives/octets/Octets.ts +0 -82
  463. package/source/directives/octets/Put.ts +0 -186
  464. package/source/directives/octets/Workflow.ts +0 -60
  465. package/source/directives/octets/bytes.test.ts +0 -33
  466. package/source/directives/octets/bytes.ts +0 -18
  467. package/source/directives/octets/index.ts +0 -3
  468. package/source/directives/octets/schemas.test.ts +0 -20
  469. package/source/directives/octets/schemas.ts +0 -15
  470. package/source/directives/octets/types.ts +0 -9
  471. package/source/directives/octets/workflows/Execution.ts +0 -130
  472. package/source/directives/octets/workflows/Workflow.ts +0 -51
  473. package/source/directives/octets/workflows/index.ts +0 -1
  474. package/source/directives/require/Directive.ts +0 -5
  475. package/source/directives/require/Headers.ts +0 -19
  476. package/source/directives/require/Require.ts +0 -27
  477. package/source/directives/require/index.ts +0 -3
  478. package/source/discovery.ts +0 -1
  479. package/source/exceptions.ts +0 -47
  480. package/source/index.ts +0 -12
  481. package/source/io.ts +0 -4
  482. package/source/manifest.test.ts +0 -56
  483. package/source/manifest.ts +0 -56
  484. package/source/octets.d.ts +0 -17
  485. package/source/root.ts +0 -59
  486. package/source/schemas.test.ts +0 -31
  487. package/source/schemas.ts +0 -15
  488. package/source/service.ts +0 -94
  489. package/source/shortcuts.ts +0 -14
  490. package/source/userland.ts +0 -47
  491. package/transpiled/Annotation.d.ts +0 -70
  492. package/transpiled/Annotation.js +0 -2
  493. package/transpiled/Annotation.js.map +0 -1
  494. package/transpiled/RTD/syntax/parse.d.ts +0 -4
  495. package/transpiled/RTD/syntax/parse.js +0 -112
  496. package/transpiled/RTD/syntax/parse.js.map +0 -1
  497. package/transpiled/RTD/syntax/types.d.ts +0 -52
  498. package/transpiled/RTD/syntax/types.js +0 -11
  499. package/transpiled/RTD/syntax/types.js.map +0 -1
  500. package/transpiled/const.d.ts +0 -36
  501. package/transpiled/const.js +0 -37
  502. package/transpiled/const.js.map +0 -1
  503. package/transpiled/deployment.d.ts +0 -6
  504. package/transpiled/deployment.js +0 -76
  505. package/transpiled/deployment.js.map +0 -1
  506. package/transpiled/manifest.d.ts +0 -3
  507. package/transpiled/manifest.js +0 -39
  508. package/transpiled/manifest.js.map +0 -1
  509. package/transpiled/schemas.d.ts +0 -9
  510. package/transpiled/schemas.js +0 -9
  511. package/transpiled/schemas.js.map +0 -1
  512. package/transpiled/shortcuts.d.ts +0 -3
  513. package/transpiled/shortcuts.js +0 -13
  514. package/transpiled/shortcuts.js.map +0 -1
  515. package/tsconfig.json +0 -13
  516. package/tsconfig.tsbuildinfo +0 -1
  517. package/ui/dist/_app/immutable/assets/0.Bl7vLmIK.css +0 -2
  518. package/ui/dist/_app/immutable/assets/2.BC0-Jhqu.css +0 -1
  519. package/ui/dist/_app/immutable/chunks/B_pK3U1C.js +0 -6
  520. package/ui/dist/_app/immutable/chunks/CiKbPLyY.js +0 -1
  521. package/ui/dist/_app/immutable/chunks/DjIYL2zC.js +0 -3
  522. package/ui/dist/_app/immutable/entry/app.DMqmL4NY.js +0 -2
  523. package/ui/dist/_app/immutable/entry/start.CRe7HWBI.js +0 -1
  524. package/ui/dist/_app/immutable/nodes/0.D9m-6cbM.js +0 -1
  525. package/ui/dist/_app/immutable/nodes/1.Cgi_RcSO.js +0 -1
  526. package/ui/dist/_app/immutable/nodes/2.D_Cbxgz4.js +0 -14
@@ -1,350 +0,0 @@
1
- # Access authorization
2
-
3
- > The Authorization is intrinsically linked with the [Authentication](./identity.md).
4
-
5
- <a href="">
6
- <picture>
7
- <source media="(prefers-color-scheme: dark)" srcset="./.assets/ia3-dark.jpg">
8
- <img alt="IA3" width="600" height="507" src="./.assets/ia3-light.jpg">
9
- </picture>
10
- </a>
11
-
12
- ## Directives
13
-
14
- The Authorization is implemented as a set of [RTD Directives](tree.md#directives).
15
-
16
- Directives are executed in a predetermined order until one of them grants access to a resource.
17
- If none of the directives grants access, then the Authorization interrupts request processing and
18
- responds with an authorization error.
19
-
20
- > The Authorization directive provider is named `authorization`,
21
- > so the full names of the directives are `authorization:{directive}`.
22
-
23
- ### `anonymous`
24
-
25
- Grants access if its value is `true` and no credentials were provided[^1].
26
-
27
- A [procedure](rpc.md) is the exception: it grants access whatever the request presented. The rule
28
- is about a cacheable reply, and what a procedure answers is not one — it is a value in an envelope
29
- the gateway answers `no-store`, and the procedure's own headers are discarded. So a request that
30
- carries a credential reaches an `anonymous` route through `/.rpc` and `/.mcp`, where the same
31
- request would be refused at the route itself. Describing one is the same exception: `OPTIONS` and
32
- [discovery](discovery.md) answer what the route is whatever the request presented.
33
-
34
- [^1]:
35
- Credentials in the request make the
36
- response [non-cacheable](https://datatracker.ietf.org/doc/html/rfc7234#section-3).
37
-
38
- ### `anyone`
39
-
40
- Grants access if its value is `true` and valid credentials were provided.
41
-
42
- ### `id`
43
-
44
- Grants access if resolved Identity matches the value of the URL path segment placeholder named after
45
- the directive's value.
46
-
47
- #### Example
48
-
49
- Given the Route declaration and corresponding HTTP request:
50
-
51
- ```yaml
52
- /users/:user-id:
53
- id: 'user-id'
54
- ```
55
-
56
- ```http
57
- GET /users/87480f2bd88048518c529d7957475ecd/
58
- Authorization: ...
59
- ```
60
-
61
- For this request access will be granted if the resolved Identity value
62
- is `87480f2bd88048518c529d7957475ecd`.
63
-
64
- ### `role`
65
-
66
- Grants access if resolved Identity has a role matching the directive's value or one of its values.
67
-
68
- ```yaml
69
- /code:
70
- role: [developer, reviewer]
71
- ```
72
-
73
- Access will be granted if the resolved Identity has a role that matches `developer` or `reviewer`.
74
-
75
- Read [Roles](#roles) section for more details.
76
-
77
- #### Dynamic roles
78
-
79
- The `role` directive can be used with a placeholder in the route.
80
-
81
- ```yaml
82
- /:org-id:
83
- role: app:{org-id}:moderator
84
- ```
85
-
86
- ### `claims`
87
-
88
- Grants access if `Bearer` authentication scheme is used
89
- and the Token's claims matches the specified values.
90
-
91
- ```yaml
92
- /:
93
- auth:claims:
94
- iss: https://id.example.com
95
- sub: someone
96
- aud: stars
97
- ```
98
-
99
- > If OIDC token claim contains `aud`
100
- > as [an array](https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation), the
101
- > directive will match if at least one value.
102
-
103
- At least one property is required.
104
-
105
- Values may refer to the Route parameters or the request authority:
106
-
107
- ```yaml
108
- /secrets/:org-id:
109
- auth:claims:
110
- iss: https://id.org.com
111
- sub: /:org-id
112
- aud: :authority
113
- ```
114
-
115
- An expression `:domain` will match if the domain in the value of `iss` matches the request
116
- authority, excluding the most specific subdomain.
117
-
118
- Issuer `https://accounts.example.com` matches request authorities `images.example.com`
119
- and `sub.images.example.com`, but not `images.another.com`.
120
-
121
- ```yaml
122
- /images/:user-id:
123
- auth:claims:
124
- iss: :domain
125
- sub: /:org-id
126
- ```
127
-
128
- ### `rule`
129
-
130
- The Rule is a collection of authorization directives. It allows access only if all the specified
131
- directives grant access. The value of the `rule` directive can be a single Rule or a list of Rules.
132
-
133
- #### Example
134
-
135
- ```yaml
136
- /commits/:user-id:
137
- rule:
138
- id: user-id
139
- role: developer
140
- ```
141
-
142
- Access will be granted if an Identity matches a `user-id` placeholder and has a Role of `developer`.
143
-
144
- ### `input`
145
-
146
- Restricts access based on the request body (which must be an object).
147
-
148
- ```yaml
149
- /commits/:id:
150
- PUT:
151
- auth:role: [developer, reviewer]
152
- auth:input:
153
- - prop: approved
154
- role: reviewer
155
- - prop: message
156
- role: developer
157
- ```
158
-
159
- The example above restricts access to the `approved` property of the request body to the identity
160
- with the `reviewer` role, and the `message` property to the identity with the `developer` role.
161
-
162
- > `auth:input` directive does not grant access by itself.
163
-
164
- ### `delegate`
165
-
166
- Embeds the value of the current Identity into the request body as a property named after the value
167
- of the directive value, and grants access.
168
- The request body must be an object.
169
-
170
- > :warning:<br/>
171
- > The intended use case for this directive is audit.
172
- > **Using it to pass Identity to the application logic is strongly discouraged.**
173
-
174
- ## Roles
175
-
176
- Role values are strings that can be assigned to an Identity and used for matching with values of
177
- the [`role` directive](#role).
178
-
179
- ### Hierarchies
180
-
181
- Role values are alphanumeric tokens separated by a colon (`:`).
182
- Each token defines a Role Scope, forming a hierarchy.
183
- A Role matches the value of the `rule` directive if that Role has the specified Scope in a
184
- directive.
185
-
186
- #### Example
187
-
188
- ```yaml
189
- /commits/:user-id:
190
- role: developer:senior
191
- ```
192
-
193
- The example above defines a `role` directive with the specified `developer:senior` Role Scope.
194
- This directive matches the roles `developer:senior` and `developer`,
195
- but it **does not** match the Role `developer:senior:javascript`.
196
- In other words, the Identity must have a specified or more general Role.
197
-
198
- <a href="https://miro.com/app/board/uXjVOoy0ImU=/?moveToWidget=3458764556008550471&cot=14">
199
- <picture>
200
- <source media="(prefers-color-scheme: dark)" srcset=".assets/role-scopes-dark.jpg">
201
- <img alt="IA3" width="600" height="425" src=".assets/role-scopes-light.jpg">
202
- </picture>
203
- </a>
204
-
205
- > The root-level Role Scope `system` is preserved and cannot be used with the `role` directives.
206
-
207
- See also [role management resources](components.md#roles).
208
-
209
- ## Policies
210
-
211
- Component Resource branches cannot have authorization directives.
212
- Instead, they must declare Authorization Policies using `policy` directive to
213
- be attached in the Context to a Resource Tree as a set of Authorization Directives
214
- using `attachment` directive.
215
-
216
- This restriction provides a separation of concerns, allowing components to be reused in different
217
- Contexts with varying
218
- access rules.
219
-
220
- ```yaml
221
- # manifest.toa.yaml
222
-
223
- name: posts
224
-
225
- exposition:
226
- /:user-id:
227
- GET:
228
- endpoint: observe
229
- policy: read:list
230
- POST:
231
- endpoint: transit
232
- policy: post:submit
233
- /:post-id:
234
- GET:
235
- endpoint: observe
236
- policy: read:post
237
- PUT:
238
- endpoint: assign
239
- policy: post:edit
240
- ```
241
-
242
- ```yaml
243
- # context.toa.yaml
244
-
245
- exposition:
246
- /posts:
247
- attachment:
248
- read:
249
- anonymous: true
250
- post:
251
- id: user-id
252
- post:edit:
253
- role: app:posts:editor
254
- ```
255
-
256
- Policy values as well as [Role](#roles) values define hierarchical Policy Scopes.
257
-
258
- In the example above:
259
-
260
- - an Attachment `read` attaches Directive `anonymous: true` to both `read:list` and `read:post`
261
- Policy Scopes.
262
- This means that a list of posts and each post can be accessed without authorization.
263
- - an Attachment `post` attaches Directive `id: user-id` to both `post:submit` and `post:edit` Policy
264
- Scopes.
265
- This means that an Identity can submit and edit their own posts.
266
- - an Attachment `post:edit` attaches Directive `role: app:posts:editor` to `post:edit` Policy Scope.
267
- This means that an identity with the role scope `app:posts:editor` can edit posts by any author,
268
- in addition to the fact that the author themselves can do this thanks to the previous Attachment.
269
-
270
- ### Nesting
271
-
272
- Policies are namespace-scoped, meaning they can be attached to any Route under the
273
- corresponding `/{namespace}` prefix.
274
-
275
- Attachment is applied to the node where it is declared, as well as its nested nodes.
276
- Directives of the Attachment are applied to the node where the attached Policies are declared, as
277
- well as their nested nodes.
278
-
279
- Here's an example of how this works:
280
-
281
- ```yaml
282
- # manifest.toa.yaml
283
-
284
- name: posts
285
-
286
- exposition:
287
- /:user-id:
288
- GET:
289
- endpoint: observe
290
- policy: read
291
- /:user-id/:post-id:
292
- GET:
293
- endpoint: observe
294
- policy: read
295
- ```
296
-
297
- ```yaml
298
- # context.toa.yaml
299
-
300
- exposition:
301
- /posts:
302
- /:user-id:
303
- attachment:
304
- read:
305
- anonymous: true
306
- /:user-id/:post-id:
307
- attachment:
308
- read:
309
- role: reader
310
- ```
311
-
312
- In the example above, the same Policy `read` is attached to two Routes with different Directives.
313
-
314
- The following example demonstrates the attachment of the `read` Policy to both Routes with the same
315
- Directive:
316
-
317
- ```yaml
318
- # context.toa.yaml
319
-
320
- exposition:
321
- /posts:
322
- attachment:
323
- read:
324
- anonymous: true
325
- ```
326
-
327
- ## Introspection
328
-
329
- [`OPTIONS`](introspection.md) answers only the methods this identity may reach, and `403` where it
330
- may reach none. So does [discovery](discovery.md), which omits a resource they may reach no method
331
- of, and so does MCP's `tools/list`: all three read the same description.
332
-
333
- What is decided from the identity decides here — `anonymous`, `anyone`, `role`, `delegate`. `id`
334
- and `federation` decide from one too: *which* identity needs the request, and a description has no
335
- route variable to read, but a caller with no identity at all is refused whatever the value would
336
- have been — and is not shown it. `assert` and `input` admit nobody: they require a credential and
337
- constrain a body, and whoever is admitted is admitted by something else.
338
-
339
- `anonymous` is the exception it is for a procedure: a description is not the reply a cache would
340
- hold, so a route it admits is described whatever the request presented.
341
-
342
- What guards a method is said in the description as well: `authenticated` where reaching it takes
343
- being someone and no more — `anyone`, `delegate`, `claims` — `private` where `id` decides it,
344
- `protected` where `role` does, and `system` besides where that role is one of the `system` scope.
345
- `rule` says whatever each directive it composes says. A resource carries whichever of the four any
346
- of its methods does.
347
-
348
- `anonymous` says so too, which is what tells a client where not to present a credential: it is
349
- the one that refuses a caller carrying one. A method that says nothing at all — `echo` is the
350
- one — takes a credential where there is one and answers without it where there is not.
@@ -1,51 +0,0 @@
1
- # Authorities
2
-
3
- Authorities are a mechanism that allows serving multiple domains from a single instance of the
4
- application.
5
-
6
- ## Definition
7
-
8
- The `authorities` definition is a map of authority identifiers to the `:authority` pseudo-header
9
- values.
10
-
11
- ```yaml
12
- # context.toa.yaml
13
-
14
- exposition:
15
- authorities:
16
- one: the.one.com
17
- two: the.two.com
18
- ```
19
-
20
- ## Mappings
21
-
22
- To pass the requested authority to the operation call, [`map:authority` directive](map.md#authority)
23
- can be used.
24
-
25
- ```yaml
26
- # manifest.toa.yaml
27
-
28
- exposition:
29
- /:
30
- GET:
31
- map:authority: hostname
32
- endpoint: observe
33
- ```
34
-
35
- If the value of the `authority` pseudo-header is not present in the `authorities` definition,
36
- then the value is embedded as is.
37
-
38
- The value is lowercased before the lookup. A value that is not a host name or a bracketed IPv6
39
- literal, each with an optional port, is answered with `400 Bad Request`.
40
-
41
- ## Identity
42
-
43
- Credentials stored or issued by the [authentication system](identity.md) are associated with an
44
- authority.
45
- Credentials in one authority are not valid in another,
46
- or may be associated with a different Identity; in other words, Identity exists in the context of an
47
- authority.
48
-
49
- > :warning:<br/>
50
- > Changing the authority identifier will break compatibility with existing stored or issued
51
- > credentials.
@@ -1,72 +0,0 @@
1
- # Caching
2
-
3
- Directive family `cache` implements the
4
- HTTP [Cache-Control](https://datatracker.ietf.org/doc/html/rfc2616#section-14.9).
5
-
6
- ## `cache:control`
7
-
8
- Sets the value of the `Cache-Control` header
9
- for [successful responses](https://datatracker.ietf.org/doc/html/rfc2616#section-10.2)
10
- to [safe HTTP methods](https://developer.mozilla.org/en-US/docs/Glossary/Safe/HTTP).
11
-
12
- ```yaml
13
- /:
14
- GET:
15
- cache:control: max-age=60000
16
- ```
17
-
18
- ### Implicit modifications
19
-
20
- In terms of security, the following implicit modifications are made to the `cache-control` header:
21
-
22
- - If it contains the `public` directive without `no-cache` and the request is authenticated,
23
- the `no-cache` directive is added.
24
- This is done to prevent the storage of authentication tokens in shared caches.
25
- - If it does not contain the `private` directive and the request is authenticated, the `private`
26
- directive is added.
27
- This is to prevent the storage of private data in shared caches.
28
- - If it contains `private` directive and the request is authenticated, then `vary: authorization` is
29
- added.
30
- This is to prevent the reuse of private data when authenticated as another identity.[^1]
31
-
32
- [^1]:
33
- This also will invalidate the cache each time a new token is used for the same identity, thus
34
- limiting the `max-age` value to the token's `refresh` time.
35
- See [Issuing tokens](components.md#issuing-tokens).
36
-
37
- ## `cache:exact`
38
-
39
- Same as `cache:control` without implicit modifications, and set whatever the method.
40
-
41
- ```yaml
42
- /:
43
- GET:
44
- cache:exact: public, max-age=60000
45
- ```
46
-
47
- `cache:control` and the implicit value are set on `GET` and `HEAD` only. `cache:exact` is set on
48
- any method, so a reply that must not be stored can say so:
49
-
50
- ```yaml
51
- /tokens/:
52
- POST:
53
- cache:exact: no-store
54
- ```
55
-
56
- ## Validators
57
-
58
- A reply that carries an `UPDATED` or `CREATED` timestamp says so in `last-modified`, whatever
59
- the method. A reply to a safe request (`GET`, `HEAD`) that carries a `VERSION` is tagged with
60
- it: `etag: "3"`. A request sending the tag back in `if-none-match`, strong or weak (`W/"3"`), is
61
- answered `304 Not Modified` with the tag as it was sent.
62
-
63
- A reply that carries no version has no tag, and a reply to an unsafe request has none either:
64
- its `VERSION` is in the body, and the next `GET` is what a cache validates.
65
-
66
- `if-match` is [concurrency control](query.md#optimistic-concurrency-control), which is the
67
- request's, whatever its method.
68
-
69
- ## References
70
-
71
- - HTTP 14.9.1 [What is cacheable](https://datatracker.ietf.org/doc/html/rfc2616#section-14.9.1)
72
- - See also [features](/extensions/exposition/features/cache.feature)