@toa.io/extensions.exposition 1.0.0-alpha.292 → 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 (443) 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 +24 -13
  6. package/transpiled/Endpoint.js +3 -0
  7. package/transpiled/Endpoint.js.map +1 -1
  8. package/transpiled/Introspection.d.ts +6 -0
  9. package/transpiled/Introspection.js +1 -0
  10. package/transpiled/Introspection.js.map +1 -1
  11. package/transpiled/MCP/schema.js +2 -2
  12. package/transpiled/Query.d.ts +2 -12
  13. package/transpiled/Query.js +2 -12
  14. package/transpiled/Query.js.map +1 -1
  15. package/transpiled/RTD/Endpoint.d.ts +2 -3
  16. package/ui/dist/_app/immutable/assets/0.Cu0AnR_8.css +2 -0
  17. package/ui/dist/_app/immutable/assets/2.BghF56l_.css +1 -0
  18. package/ui/dist/_app/immutable/assets/ui.C8aD6zzF.css +1 -0
  19. package/ui/dist/_app/immutable/chunks/B8GvXrmq.js +1 -0
  20. package/ui/dist/_app/immutable/chunks/BVDJTrf4.js +3 -0
  21. package/ui/dist/_app/immutable/chunks/D6q28_Ok.js +86 -0
  22. package/ui/dist/_app/immutable/chunks/{aLpTDmOc.js → DVlaUfVU.js} +1 -1
  23. package/ui/dist/_app/immutable/chunks/DpB73ZB6.js +6 -0
  24. package/ui/dist/_app/immutable/entry/app.CTava8yn.js +2 -0
  25. package/ui/dist/_app/immutable/entry/start.yWN0gSLA.js +1 -0
  26. package/ui/dist/_app/immutable/nodes/0.HKRDBYrC.js +1 -0
  27. package/ui/dist/_app/immutable/nodes/1.CLa0ydOi.js +1 -0
  28. package/ui/dist/_app/immutable/nodes/2.C9Kaym8C.js +8 -0
  29. package/ui/dist/_app/immutable/nodes/3.C1X4_rXZ.js +1 -0
  30. package/ui/dist/_app/immutable/nodes/4.DdzDIi9E.js +1 -0
  31. package/ui/dist/_app/immutable/nodes/5.DpbmCMdw.js +1 -0
  32. package/ui/dist/_app/version.json +1 -1
  33. package/ui/dist/index.html +12 -12
  34. package/CHANGELOG.md +0 -42
  35. package/components/identity.bans/tsconfig.tsbuildinfo +0 -1
  36. package/components/identity.basic/source/lib/credentials.test.ts +0 -18
  37. package/components/identity.basic/tsconfig.tsbuildinfo +0 -1
  38. package/components/identity.clients/source/lib/canonical.test.ts +0 -43
  39. package/components/identity.clients/source/lib/cimd.test.ts +0 -122
  40. package/components/identity.clients/source/lib/redirect.test.ts +0 -47
  41. package/components/identity.clients/tsconfig.tsbuildinfo +0 -1
  42. package/components/identity.credentials/source/list.test.ts +0 -70
  43. package/components/identity.credentials/tsconfig.tsbuildinfo +0 -1
  44. package/components/identity.federation/source/lib/discovery.test.ts +0 -60
  45. package/components/identity.federation/source/list.test.ts +0 -41
  46. package/components/identity.federation/tsconfig.tsbuildinfo +0 -1
  47. package/components/identity.grants/tsconfig.tsbuildinfo +0 -1
  48. package/components/identity.keys/tsconfig.tsbuildinfo +0 -1
  49. package/components/identity.otp/tsconfig.tsbuildinfo +0 -1
  50. package/components/identity.passkeys/source/errors.test.ts +0 -34
  51. package/components/identity.passkeys/source/webauthn.test.ts +0 -26
  52. package/components/identity.passkeys/tsconfig.tsbuildinfo +0 -1
  53. package/components/identity.roles/tsconfig.tsbuildinfo +0 -1
  54. package/components/identity.tokens/source/authenticate.test.ts +0 -112
  55. package/components/identity.tokens/source/decrypt.test.ts +0 -216
  56. package/components/identity.tokens/source/encrypt.test.ts +0 -150
  57. package/components/identity.tokens/source/issue.test.ts +0 -73
  58. package/components/identity.tokens/source/lib/form.test.ts +0 -25
  59. package/components/identity.tokens/source/lib/paseto.test.ts +0 -62
  60. package/components/identity.tokens/tsconfig.tsbuildinfo +0 -1
  61. package/context.toa.yaml +0 -31
  62. package/cucumber.mjs +0 -7
  63. package/documentation/.assets/ia3-dark.jpg +0 -0
  64. package/documentation/.assets/ia3-light.jpg +0 -0
  65. package/documentation/.assets/overview-dark.jpg +0 -0
  66. package/documentation/.assets/overview-light.jpg +0 -0
  67. package/documentation/.assets/role-scopes-dark.jpg +0 -0
  68. package/documentation/.assets/role-scopes-light.jpg +0 -0
  69. package/documentation/.assets/rtd-dark.jpg +0 -0
  70. package/documentation/.assets/rtd-light.jpg +0 -0
  71. package/documentation/access.md +0 -350
  72. package/documentation/authorities.md +0 -51
  73. package/documentation/cache.md +0 -72
  74. package/documentation/components.md +0 -472
  75. package/documentation/consent.md +0 -101
  76. package/documentation/credentials.md +0 -88
  77. package/documentation/dev.md +0 -30
  78. package/documentation/discovery.md +0 -81
  79. package/documentation/flow.md +0 -44
  80. package/documentation/help.md +0 -122
  81. package/documentation/identity.md +0 -304
  82. package/documentation/introspection.md +0 -123
  83. package/documentation/io.md +0 -167
  84. package/documentation/ip.md +0 -24
  85. package/documentation/map.md +0 -123
  86. package/documentation/mcp.md +0 -183
  87. package/documentation/notes/desync.jpg +0 -0
  88. package/documentation/notes/peers.md +0 -59
  89. package/documentation/notes/sse.md +0 -71
  90. package/documentation/notes/throttling.md +0 -122
  91. package/documentation/oauth.md +0 -180
  92. package/documentation/octets.md +0 -334
  93. package/documentation/passkeys.md +0 -11
  94. package/documentation/protocol.md +0 -120
  95. package/documentation/query.md +0 -324
  96. package/documentation/require.md +0 -15
  97. package/documentation/rpc.md +0 -154
  98. package/documentation/tracing.md +0 -70
  99. package/documentation/tree.md +0 -199
  100. package/features/access.feature +0 -596
  101. package/features/annotation.feature +0 -32
  102. package/features/auth.assert.feature +0 -55
  103. package/features/auth.bearer.feature +0 -120
  104. package/features/auth.claims.feature +0 -171
  105. package/features/auth.incept.feature +0 -166
  106. package/features/auth.input.feature +0 -59
  107. package/features/authorities.basic.feature +0 -141
  108. package/features/authorities.feature +0 -71
  109. package/features/authorities.federation.feature +0 -100
  110. package/features/authorities.tokens.feature +0 -117
  111. package/features/body.feature +0 -76
  112. package/features/cache.feature +0 -368
  113. package/features/configuration.feature +0 -206
  114. package/features/cors.feature +0 -127
  115. package/features/credentials.feature +0 -106
  116. package/features/debug.feature +0 -34
  117. package/features/dev.feature +0 -90
  118. package/features/directives.feature +0 -61
  119. package/features/discovery.feature +0 -213
  120. package/features/discovery.ui.feature +0 -213
  121. package/features/dynamic.feature +0 -192
  122. package/features/errors.feature +0 -258
  123. package/features/etag.feature +0 -239
  124. package/features/flow.feature +0 -148
  125. package/features/help.feature +0 -512
  126. package/features/identity.bans.feature +0 -200
  127. package/features/identity.basic.feature +0 -666
  128. package/features/identity.feature +0 -240
  129. package/features/identity.federation.feature +0 -396
  130. package/features/identity.otp.feature +0 -142
  131. package/features/identity.roles.feature +0 -568
  132. package/features/identity.tokens.custom.feature +0 -430
  133. package/features/identity.tokens.feature +0 -131
  134. package/features/interruptions.feature +0 -20
  135. package/features/introspection.feature +0 -565
  136. package/features/introspection.map.feature +0 -108
  137. package/features/io.feature +0 -204
  138. package/features/io.throttle.feature +0 -166
  139. package/features/map.feature +0 -360
  140. package/features/mcp.feature +0 -753
  141. package/features/methods.feature +0 -48
  142. package/features/oauth.clients.feature +0 -195
  143. package/features/oauth.discovery.feature +0 -164
  144. package/features/oauth.grants.feature +0 -301
  145. package/features/octets.cloudinary.feature +0 -233
  146. package/features/octets.download.feature +0 -194
  147. package/features/octets.entries.feature +0 -83
  148. package/features/octets.feature +0 -306
  149. package/features/octets.head.feature +0 -40
  150. package/features/octets.location.feature +0 -83
  151. package/features/octets.meta.feature +0 -117
  152. package/features/octets.workflows.feature +0 -565
  153. package/features/passkeys.feature +0 -66
  154. package/features/probes.feature +0 -18
  155. package/features/query.feature +0 -389
  156. package/features/realtime.feature +0 -34
  157. package/features/require.feature +0 -66
  158. package/features/response.feature +0 -103
  159. package/features/routes.feature +0 -224
  160. package/features/rpc.feature +0 -429
  161. package/features/server.feature +0 -21
  162. package/features/site/_app/immutable/asset.js +0 -1
  163. package/features/site/favicon.ico +0 -0
  164. package/features/site/index.html +0 -10
  165. package/features/steps/.env.example +0 -5
  166. package/features/steps/Captures.ts +0 -20
  167. package/features/steps/Cloudinary.ts +0 -12
  168. package/features/steps/Common.ts +0 -38
  169. package/features/steps/Components.ts +0 -115
  170. package/features/steps/Database.ts +0 -106
  171. package/features/steps/Gateway.ts +0 -239
  172. package/features/steps/HTTP.ts +0 -96
  173. package/features/steps/IDP.ts +0 -361
  174. package/features/steps/Identity.ts +0 -54
  175. package/features/steps/OTP.ts +0 -42
  176. package/features/steps/Parameters.ts +0 -162
  177. package/features/steps/Probe.ts +0 -38
  178. package/features/steps/Realtime.ts +0 -175
  179. package/features/steps/Workspace.ts +0 -48
  180. package/features/steps/components/audit/manifest.toa.yaml +0 -20
  181. package/features/steps/components/audit/operations/record.js +0 -5
  182. package/features/steps/components/echo/manifest.toa.yaml +0 -59
  183. package/features/steps/components/echo/operations/affect.js +0 -3
  184. package/features/steps/components/echo/operations/compute.js +0 -3
  185. package/features/steps/components/echo/operations/echo.js +0 -3
  186. package/features/steps/components/echo/operations/error.js +0 -7
  187. package/features/steps/components/echo/operations/identity.js +0 -3
  188. package/features/steps/components/echo/operations/parameters.js +0 -3
  189. package/features/steps/components/echo/operations/ping.js +0 -3
  190. package/features/steps/components/echo/operations/unwrap.js +0 -3
  191. package/features/steps/components/echo.beacon/manifest.toa.yaml +0 -2
  192. package/features/steps/components/echo.beacon/operations/hello.js +0 -3
  193. package/features/steps/components/greeter/manifest.toa.yaml +0 -5
  194. package/features/steps/components/greeter/operations/greet.js +0 -3
  195. package/features/steps/components/notify/manifest.toa.yaml +0 -20
  196. package/features/steps/components/notify/operations/send.js +0 -5
  197. package/features/steps/components/octets.tester/manifest.toa.yaml +0 -73
  198. package/features/steps/components/octets.tester/operations/authority.js +0 -3
  199. package/features/steps/components/octets.tester/operations/bar.js +0 -9
  200. package/features/steps/components/octets.tester/operations/baz.js +0 -9
  201. package/features/steps/components/octets.tester/operations/concat.js +0 -5
  202. package/features/steps/components/octets.tester/operations/echo.js +0 -5
  203. package/features/steps/components/octets.tester/operations/err.js +0 -14
  204. package/features/steps/components/octets.tester/operations/foo.js +0 -5
  205. package/features/steps/components/octets.tester/operations/id.js +0 -5
  206. package/features/steps/components/octets.tester/operations/identity.js +0 -5
  207. package/features/steps/components/octets.tester/operations/lenna.png +0 -0
  208. package/features/steps/components/octets.tester/operations/redirect.js +0 -17
  209. package/features/steps/components/octets.tester/operations/yex.js +0 -14
  210. package/features/steps/components/octets.tester/operations/yield.js +0 -11
  211. package/features/steps/components/orders/manifest.toa.yaml +0 -30
  212. package/features/steps/components/orders/operations/create.js +0 -7
  213. package/features/steps/components/pots/manifest.toa.yaml +0 -91
  214. package/features/steps/components/pots/migrations/0002-indexes.yaml +0 -4
  215. package/features/steps/components/pricing/manifest.toa.yaml +0 -13
  216. package/features/steps/components/pricing/operations/quote.js +0 -3
  217. package/features/steps/components/sequences/manifest.toa.yaml +0 -11
  218. package/features/steps/components/sequences/operations/numbers.js +0 -5
  219. package/features/steps/components/sequences/operations/tokens.js +0 -14
  220. package/features/steps/components/users/manifest.toa.yaml +0 -30
  221. package/features/steps/components/users/operations/create.js +0 -11
  222. package/features/steps/components/users.properties/manifest.toa.yaml +0 -22
  223. package/features/steps/map.ts +0 -30
  224. package/features/steps/tsconfig.json +0 -9
  225. package/features/streams.feature +0 -35
  226. package/features/timestamps.feature +0 -41
  227. package/features/timing.feature +0 -49
  228. package/features/tracing.feature +0 -123
  229. package/source/Branch.test.ts +0 -40
  230. package/source/Branch.ts +0 -44
  231. package/source/Composition.ts +0 -51
  232. package/source/Context.ts +0 -11
  233. package/source/Directive.test.ts +0 -199
  234. package/source/Directive.ts +0 -248
  235. package/source/Discovery/Explorer.ts +0 -34
  236. package/source/Discovery/Site.test.ts +0 -147
  237. package/source/Discovery/Site.ts +0 -202
  238. package/source/Discovery/index.ts +0 -3
  239. package/source/Discovery/tree.test.ts +0 -175
  240. package/source/Discovery/tree.ts +0 -77
  241. package/source/Discovery/trunk.ts +0 -33
  242. package/source/Endpoint.test.ts +0 -67
  243. package/source/Endpoint.ts +0 -157
  244. package/source/Factory.ts +0 -42
  245. package/source/Gateway.ts +0 -390
  246. package/source/HTTP/Context.ts +0 -143
  247. package/source/HTTP/Probe.ts +0 -99
  248. package/source/HTTP/Server.ts +0 -435
  249. package/source/HTTP/Timing.ts +0 -14
  250. package/source/HTTP/address.test.ts +0 -28
  251. package/source/HTTP/address.ts +0 -16
  252. package/source/HTTP/exceptions.ts +0 -99
  253. package/source/HTTP/formats/form.ts +0 -21
  254. package/source/HTTP/formats/index.ts +0 -36
  255. package/source/HTTP/formats/json.ts +0 -14
  256. package/source/HTTP/formats/msgpack.ts +0 -14
  257. package/source/HTTP/formats/text.ts +0 -10
  258. package/source/HTTP/formats/yaml.test.ts +0 -22
  259. package/source/HTTP/formats/yaml.ts +0 -40
  260. package/source/HTTP/index.ts +0 -6
  261. package/source/HTTP/messages.test.ts +0 -196
  262. package/source/HTTP/messages.ts +0 -186
  263. package/source/HTTP/types.ts +0 -39
  264. package/source/Interception.ts +0 -37
  265. package/source/Introspection.ts +0 -179
  266. package/source/MCP/Server.ts +0 -335
  267. package/source/MCP/discover.ts +0 -51
  268. package/source/MCP/errors.ts +0 -80
  269. package/source/MCP/index.ts +0 -1
  270. package/source/MCP/schema.test.ts +0 -91
  271. package/source/MCP/schema.ts +0 -94
  272. package/source/MCP/tools.ts +0 -144
  273. package/source/MCP/types.ts +0 -84
  274. package/source/Mapping.ts +0 -101
  275. package/source/Query.test.ts +0 -54
  276. package/source/Query.ts +0 -277
  277. package/source/RPC/Context.ts +0 -75
  278. package/source/RPC/Dispatcher.ts +0 -150
  279. package/source/RPC/errors.test.ts +0 -77
  280. package/source/RPC/errors.ts +0 -82
  281. package/source/RPC/index.ts +0 -1
  282. package/source/RPC/names.test.ts +0 -141
  283. package/source/RPC/names.ts +0 -176
  284. package/source/RPC/types.ts +0 -34
  285. package/source/RTD/Context.ts +0 -16
  286. package/source/RTD/Directives.ts +0 -126
  287. package/source/RTD/Endpoint.ts +0 -27
  288. package/source/RTD/Match.ts +0 -11
  289. package/source/RTD/Method.ts +0 -39
  290. package/source/RTD/Node.ts +0 -169
  291. package/source/RTD/Route.ts +0 -93
  292. package/source/RTD/Tree.ts +0 -137
  293. package/source/RTD/expiration.test.ts +0 -81
  294. package/source/RTD/factory.ts +0 -105
  295. package/source/RTD/index.ts +0 -8
  296. package/source/RTD/segment.test.ts +0 -35
  297. package/source/RTD/segment.ts +0 -51
  298. package/source/RTD/syntax/index.ts +0 -1
  299. package/source/RTD/walk.test.ts +0 -147
  300. package/source/Remotes.test.ts +0 -79
  301. package/source/Remotes.ts +0 -39
  302. package/source/Tenant.ts +0 -73
  303. package/source/directives/auth/Anonymous.test.ts +0 -70
  304. package/source/directives/auth/Anonymous.ts +0 -36
  305. package/source/directives/auth/Anyone.ts +0 -23
  306. package/source/directives/auth/Assert.ts +0 -43
  307. package/source/directives/auth/Authorization.test.ts +0 -24
  308. package/source/directives/auth/Authorization.ts +0 -388
  309. package/source/directives/auth/Delegate.test.ts +0 -36
  310. package/source/directives/auth/Delegate.ts +0 -54
  311. package/source/directives/auth/Echo.ts +0 -24
  312. package/source/directives/auth/Federation.ts +0 -104
  313. package/source/directives/auth/Id.ts +0 -37
  314. package/source/directives/auth/Incept.ts +0 -117
  315. package/source/directives/auth/Input.ts +0 -92
  316. package/source/directives/auth/Role.test.ts +0 -147
  317. package/source/directives/auth/Role.ts +0 -99
  318. package/source/directives/auth/Rule.ts +0 -59
  319. package/source/directives/auth/Scheme.ts +0 -31
  320. package/source/directives/auth/create.ts +0 -11
  321. package/source/directives/auth/index.ts +0 -3
  322. package/source/directives/auth/schemes.test.ts +0 -18
  323. package/source/directives/auth/schemes.ts +0 -39
  324. package/source/directives/auth/split.ts +0 -14
  325. package/source/directives/auth/types.ts +0 -75
  326. package/source/directives/cache/Cache.ts +0 -92
  327. package/source/directives/cache/Control.ts +0 -81
  328. package/source/directives/cache/Exact.ts +0 -7
  329. package/source/directives/cache/etag.ts +0 -38
  330. package/source/directives/cache/index.ts +0 -3
  331. package/source/directives/cache/types.ts +0 -9
  332. package/source/directives/cors/CORS.test.ts +0 -75
  333. package/source/directives/cors/CORS.ts +0 -88
  334. package/source/directives/cors/index.ts +0 -3
  335. package/source/directives/dev/Development.ts +0 -41
  336. package/source/directives/dev/Faulty.ts +0 -31
  337. package/source/directives/dev/Sleep.ts +0 -53
  338. package/source/directives/dev/Stub.ts +0 -14
  339. package/source/directives/dev/Throw.ts +0 -14
  340. package/source/directives/dev/index.ts +0 -3
  341. package/source/directives/dev/types.ts +0 -5
  342. package/source/directives/flow/Compose.ts +0 -98
  343. package/source/directives/flow/Fetch.ts +0 -86
  344. package/source/directives/flow/Flow.ts +0 -43
  345. package/source/directives/flow/index.ts +0 -3
  346. package/source/directives/flow/types.ts +0 -7
  347. package/source/directives/help/Family.ts +0 -122
  348. package/source/directives/help/Help.test.ts +0 -227
  349. package/source/directives/help/Help.ts +0 -47
  350. package/source/directives/help/Parameters.ts +0 -47
  351. package/source/directives/help/described.ts +0 -57
  352. package/source/directives/help/index.ts +0 -45
  353. package/source/directives/index.ts +0 -33
  354. package/source/directives/io/Directive.ts +0 -17
  355. package/source/directives/io/IO.ts +0 -118
  356. package/source/directives/io/Input.ts +0 -55
  357. package/source/directives/io/Message.ts +0 -1
  358. package/source/directives/io/Output.ts +0 -81
  359. package/source/directives/io/Status.test.ts +0 -88
  360. package/source/directives/io/Status.ts +0 -47
  361. package/source/directives/io/Throttle.ts +0 -30
  362. package/source/directives/io/index.ts +0 -3
  363. package/source/directives/io/lib/throttle/Configuration.test.ts +0 -72
  364. package/source/directives/io/lib/throttle/Configuration.ts +0 -68
  365. package/source/directives/io/lib/throttle/Keys.ts +0 -53
  366. package/source/directives/io/lib/throttle/Quotas.test.ts +0 -411
  367. package/source/directives/io/lib/throttle/Quotas.ts +0 -190
  368. package/source/directives/io/lib/throttle/Sync.test.ts +0 -163
  369. package/source/directives/io/lib/throttle/Sync.ts +0 -93
  370. package/source/directives/io/lib/throttle/Warning.test.ts +0 -32
  371. package/source/directives/io/lib/throttle/Warning.ts +0 -29
  372. package/source/directives/io/lib/throttle/components/Component.ts +0 -7
  373. package/source/directives/io/lib/throttle/components/IP.ts +0 -30
  374. package/source/directives/io/lib/throttle/components/Identity.ts +0 -19
  375. package/source/directives/io/lib/throttle/components/Path.ts +0 -8
  376. package/source/directives/io/lib/throttle/components/Route.ts +0 -19
  377. package/source/directives/io/lib/throttle/components/Segment.ts +0 -19
  378. package/source/directives/io/lib/throttle/components/index.ts +0 -19
  379. package/source/directives/io/lib/throttle/conditions/Condition.ts +0 -5
  380. package/source/directives/io/lib/throttle/conditions/Status.ts +0 -17
  381. package/source/directives/io/lib/throttle/conditions/index.ts +0 -11
  382. package/source/directives/io/lib/throttle/index.ts +0 -4
  383. package/source/directives/io/schemas.test.ts +0 -40
  384. package/source/directives/io/schemas.ts +0 -16
  385. package/source/directives/map/Authority.ts +0 -15
  386. package/source/directives/map/Buffer.ts +0 -15
  387. package/source/directives/map/Claims.ts +0 -63
  388. package/source/directives/map/Directive.ts +0 -4
  389. package/source/directives/map/Headers.ts +0 -60
  390. package/source/directives/map/Language.ts +0 -45
  391. package/source/directives/map/Languages.ts +0 -17
  392. package/source/directives/map/Map.ts +0 -85
  393. package/source/directives/map/Mapping.ts +0 -45
  394. package/source/directives/map/Properties.ts +0 -15
  395. package/source/directives/map/Segments.ts +0 -52
  396. package/source/directives/map/index.ts +0 -3
  397. package/source/directives/mcp/MCP.ts +0 -33
  398. package/source/directives/mcp/Tool.test.ts +0 -56
  399. package/source/directives/mcp/Tool.ts +0 -32
  400. package/source/directives/mcp/index.ts +0 -6
  401. package/source/directives/oauth/Discovery.ts +0 -66
  402. package/source/directives/oauth/documents.ts +0 -110
  403. package/source/directives/oauth/index.ts +0 -3
  404. package/source/directives/octets/Context.ts +0 -23
  405. package/source/directives/octets/Delete.ts +0 -96
  406. package/source/directives/octets/Directive.ts +0 -21
  407. package/source/directives/octets/Get.ts +0 -88
  408. package/source/directives/octets/Octets.ts +0 -82
  409. package/source/directives/octets/Put.ts +0 -186
  410. package/source/directives/octets/Workflow.ts +0 -60
  411. package/source/directives/octets/bytes.test.ts +0 -33
  412. package/source/directives/octets/bytes.ts +0 -18
  413. package/source/directives/octets/index.ts +0 -3
  414. package/source/directives/octets/schemas.test.ts +0 -20
  415. package/source/directives/octets/schemas.ts +0 -15
  416. package/source/directives/octets/types.ts +0 -9
  417. package/source/directives/octets/workflows/Execution.ts +0 -130
  418. package/source/directives/octets/workflows/Workflow.ts +0 -51
  419. package/source/directives/octets/workflows/index.ts +0 -1
  420. package/source/directives/require/Directive.ts +0 -5
  421. package/source/directives/require/Headers.ts +0 -19
  422. package/source/directives/require/Require.ts +0 -27
  423. package/source/directives/require/index.ts +0 -3
  424. package/source/discovery.ts +0 -1
  425. package/source/exceptions.ts +0 -47
  426. package/source/index.ts +0 -10
  427. package/source/io.ts +0 -4
  428. package/source/octets.d.ts +0 -17
  429. package/source/root.ts +0 -59
  430. package/source/service.ts +0 -95
  431. package/source/userland.ts +0 -47
  432. package/tsconfig.json +0 -13
  433. package/tsconfig.tsbuildinfo +0 -1
  434. package/ui/dist/_app/immutable/assets/0.Bl7vLmIK.css +0 -2
  435. package/ui/dist/_app/immutable/assets/2.BC0-Jhqu.css +0 -1
  436. package/ui/dist/_app/immutable/chunks/BaWe3aOV.js +0 -1
  437. package/ui/dist/_app/immutable/chunks/DjIYL2zC.js +0 -3
  438. package/ui/dist/_app/immutable/chunks/GZTfV0ks.js +0 -6
  439. package/ui/dist/_app/immutable/entry/app.D5v4JoUx.js +0 -2
  440. package/ui/dist/_app/immutable/entry/start.CWxFoIyZ.js +0 -1
  441. package/ui/dist/_app/immutable/nodes/0.DIh5T_5-.js +0 -1
  442. package/ui/dist/_app/immutable/nodes/1.CY-bFzHC.js +0 -1
  443. package/ui/dist/_app/immutable/nodes/2.6Ubd1ItY.js +0 -14
@@ -1,48 +0,0 @@
1
- Feature: Supported methods
2
-
3
- Scenario Outline: <method> is supported
4
- Given the annotation:
5
- """yaml
6
- /:
7
- <method>:
8
- dev:stub:
9
- hello: world
10
- """
11
- And the `greeter` is running with the following manifest:
12
- """yaml
13
- exposition:
14
- /:
15
- <method>:
16
- dev:stub:
17
- hello: world
18
- """
19
- Examples:
20
- | method |
21
- | GET |
22
- | POST |
23
- | PUT |
24
- | DELETE |
25
- | PATCH |
26
- | LOCK |
27
- | UNLOCK |
28
-
29
- Scenario: CORS allowed methods
30
- Given the annotation:
31
- """yaml
32
- /:
33
- GET:
34
- dev:stub:
35
- hello: world
36
- """
37
- When the following request is received:
38
- """
39
- OPTIONS / HTTP/1.1
40
- access-control-request-method: GET
41
- host: nex.toa.io
42
- origin: https://hello.world
43
- """
44
- Then the following reply is sent:
45
- """
46
- 204 No Content
47
- access-control-allow-methods: GET, POST, PUT, PATCH, DELETE, LOCK, UNLOCK, OPTIONS
48
- """
@@ -1,195 +0,0 @@
1
- @security
2
- Feature: Client registration
3
-
4
- A client that speaks nothing else registers what it is and is given an identifier for it.
5
- The identifier is a hash of the metadata, so a client that cannot remember it registered
6
- here does not leave another row every time it connects.
7
-
8
- Background:
9
- Given the `identity.clients` database is empty
10
- And the `identity.basic` database contains:
11
- | _id | authority | username | password |
12
- | efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
13
- And the annotation:
14
- """yaml
15
- authorities:
16
- nex: nex.toa.io
17
- oauth:
18
- authorize: https://app.nex.toa.io/oauth/authorize
19
- registration: open
20
- """
21
-
22
- Scenario: A client registers what it is
23
- When the following request is received:
24
- """
25
- POST /identity/clients/ HTTP/1.1
26
- host: nex.toa.io
27
- content-type: application/yaml
28
- accept: application/yaml
29
-
30
- client_name: Claude
31
- redirect_uris:
32
- - https://claude.ai/api/mcp/auth_callback
33
- token_endpoint_auth_method: none
34
- """
35
- Then the following reply is sent:
36
- """
37
- 201 Created
38
- cache-control: no-store
39
-
40
- client_id: ${{ client }}
41
- client_name: Claude
42
- redirect_uris:
43
- - https://claude.ai/api/mcp/auth_callback
44
- grant_types:
45
- - authorization_code
46
- response_types:
47
- - code
48
- token_endpoint_auth_method: none
49
- """
50
-
51
- Scenario: The same client is the same client
52
- When the following request is received:
53
- """
54
- POST /identity/clients/ HTTP/1.1
55
- host: nex.toa.io
56
- content-type: application/yaml
57
- accept: application/yaml
58
-
59
- client_name: Claude
60
- redirect_uris:
61
- - https://claude.ai/api/mcp/auth_callback
62
- - http://localhost/callback
63
- """
64
- Then the following reply is sent:
65
- """
66
- 201 Created
67
-
68
- client_id: ${{ first }}
69
- """
70
- # the same metadata, written in another order
71
- When the following request is received:
72
- """
73
- POST /identity/clients/ HTTP/1.1
74
- host: nex.toa.io
75
- content-type: application/yaml
76
- accept: application/yaml
77
-
78
- client_name: Claude
79
- redirect_uris:
80
- - http://localhost/callback
81
- - https://claude.ai/api/mcp/auth_callback
82
- """
83
- Then the following reply is sent:
84
- """
85
- 201 Created
86
-
87
- client_id: ${{ first }}
88
- """
89
-
90
- Scenario: A redirect a code must not be sent to
91
- When the following request is received:
92
- """
93
- POST /identity/clients/ HTTP/1.1
94
- host: nex.toa.io
95
- content-type: application/yaml
96
- accept: application/yaml
97
-
98
- client_name: Insecure
99
- redirect_uris:
100
- - http://example.com/callback
101
- """
102
- Then the following reply is sent:
103
- """
104
- 400 Bad Request
105
- cache-control: no-store
106
-
107
- error: invalid_redirect_uri
108
- """
109
-
110
- Scenario: A client that would authenticate at the token endpoint
111
- When the following request is received:
112
- """
113
- POST /identity/clients/ HTTP/1.1
114
- host: nex.toa.io
115
- content-type: application/yaml
116
- accept: application/yaml
117
-
118
- client_name: Confidential
119
- redirect_uris:
120
- - https://claude.ai/api/mcp/auth_callback
121
- token_endpoint_auth_method: client_secret_post
122
- """
123
- Then the following reply is sent:
124
- """
125
- 400 Bad Request
126
-
127
- error: invalid_client_metadata
128
- """
129
-
130
- Scenario: Registration is advertised once it is opened
131
- When the following request is received:
132
- """
133
- GET /.well-known/oauth-authorization-server HTTP/1.1
134
- host: nex.toa.io
135
- accept: application/yaml
136
- """
137
- Then the following reply is sent:
138
- """
139
- 200 OK
140
-
141
- registration_endpoint: https://nex.toa.io/identity/clients/
142
- """
143
-
144
- Scenario: The consent page reads who is asking
145
- When the following request is received:
146
- """
147
- POST /identity/clients/ HTTP/1.1
148
- host: nex.toa.io
149
- content-type: application/yaml
150
- accept: application/yaml
151
-
152
- client_name: Claude
153
- client_uri: https://claude.ai
154
- redirect_uris:
155
- - https://claude.ai/api/mcp/auth_callback
156
- """
157
- Then the following reply is sent:
158
- """
159
- 201 Created
160
-
161
- client_id: ${{ client }}
162
- """
163
- # the page is authenticated by the time it asks, so this is not anonymous
164
- When the following request is received:
165
- """
166
- GET /identity/clients/${{ client }}/ HTTP/1.1
167
- host: nex.toa.io
168
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
169
- accept: application/yaml
170
- """
171
- Then the following reply is sent:
172
- """
173
- 200 OK
174
-
175
- client_id: ${{ client }}
176
- client_name: Claude
177
- client_uri: https://claude.ai
178
- redirect_uris:
179
- - https://claude.ai/api/mcp/auth_callback
180
- """
181
-
182
- Scenario: A client nobody registered
183
- When the following request is received:
184
- """
185
- GET /identity/clients/00000000000000000000000000000000/ HTTP/1.1
186
- host: nex.toa.io
187
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
188
- accept: application/yaml
189
- """
190
- Then the following reply is sent:
191
- """
192
- 422 Unprocessable Entity
193
-
194
- code: UNKNOWN_CLIENT
195
- """
@@ -1,164 +0,0 @@
1
- @security
2
- Feature: Authorization server discovery
3
-
4
- What a client reads before it can authenticate. Both documents are public, are a
5
- function of the annotation alone, and are answered before anything is routed.
6
-
7
- Background:
8
- Given the annotation:
9
- """yaml
10
- authorities:
11
- nex: nex.toa.io
12
- oauth:
13
- authorize: https://app.nex.toa.io/oauth/authorize
14
- resources: ['/.mcp']
15
- scopes: [app:notes]
16
- mcp:
17
- name: Teapots
18
- """
19
-
20
- Scenario: The authorization server names its endpoints
21
- When the following request is received:
22
- """
23
- GET /.well-known/oauth-authorization-server HTTP/1.1
24
- host: nex.toa.io
25
- accept: application/yaml
26
- """
27
- Then the following reply is sent:
28
- """
29
- 200 OK
30
-
31
- issuer: https://nex.toa.io
32
- authorization_endpoint: https://app.nex.toa.io/oauth/authorize
33
- token_endpoint: https://nex.toa.io/identity/grants/
34
- response_types_supported:
35
- - code
36
- grant_types_supported:
37
- - authorization_code
38
- code_challenge_methods_supported:
39
- - S256
40
- token_endpoint_auth_methods_supported:
41
- - none
42
- client_id_metadata_document_supported: true
43
- authorization_response_iss_parameter_supported: true
44
- scopes_supported:
45
- - app:notes
46
- """
47
-
48
- Scenario: Registration is not advertised unless it is opened
49
- When the following request is received:
50
- """
51
- GET /.well-known/oauth-authorization-server HTTP/1.1
52
- host: nex.toa.io
53
- accept: application/yaml
54
- """
55
- Then the reply does not contain:
56
- """
57
- registration_endpoint
58
- """
59
-
60
- Scenario: The protected resource is named by the path it is reached at
61
- When the following request is received:
62
- """
63
- GET /.well-known/oauth-protected-resource/.mcp HTTP/1.1
64
- host: nex.toa.io
65
- accept: application/yaml
66
- """
67
- Then the following reply is sent:
68
- """
69
- 200 OK
70
-
71
- resource: https://nex.toa.io/.mcp
72
- authorization_servers:
73
- - https://nex.toa.io
74
- bearer_methods_supported:
75
- - header
76
- scopes_supported:
77
- - app:notes
78
- """
79
-
80
- Scenario: The origin has a document of its own
81
- When the following request is received:
82
- """
83
- GET /.well-known/oauth-protected-resource HTTP/1.1
84
- host: nex.toa.io
85
- accept: application/yaml
86
- """
87
- Then the following reply is sent:
88
- """
89
- 200 OK
90
-
91
- resource: https://nex.toa.io
92
- authorization_servers:
93
- - https://nex.toa.io
94
- bearer_methods_supported:
95
- - header
96
- scopes_supported:
97
- - app:notes
98
- """
99
-
100
- Scenario: A client holding a stale token still reads discovery
101
- When the following request is received:
102
- """
103
- GET /.well-known/oauth-authorization-server HTTP/1.1
104
- host: nex.toa.io
105
- authorization: Bearer expired.and.useless
106
- accept: application/yaml
107
- """
108
- Then the following reply is sent:
109
- """
110
- 200 OK
111
-
112
- issuer: https://nex.toa.io
113
- """
114
-
115
- Scenario: The challenge names the resource the request was refused at
116
- When the following request is received:
117
- """
118
- POST /.mcp HTTP/1.1
119
- host: nex.toa.io
120
- accept: text/plain
121
- content-type: application/json
122
-
123
- {"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}
124
- """
125
- Then the following reply is sent:
126
- """
127
- 401 Unauthorized
128
- www-authenticate: Bearer resource_metadata="https://nex.toa.io/.well-known/oauth-protected-resource/.mcp", scope="app:notes"
129
- """
130
-
131
- Scenario: A host named after a property a plain object answers on its own
132
- When the following request is received:
133
- """
134
- GET /.well-known/oauth-authorization-server HTTP/1.1
135
- host: constructor
136
- accept: application/yaml
137
- """
138
- Then the following reply is sent:
139
- """
140
- 404 Not Found
141
- """
142
-
143
- Scenario: An authorization server nobody annotated is not discovered
144
- Given the annotation:
145
- """yaml
146
- authorities:
147
- nex: nex.toa.io
148
- /:
149
- io:output: true
150
- /hello/:
151
- anonymous: true
152
- GET:
153
- dev:stub: Hello
154
- """
155
- When the following request is received:
156
- """
157
- GET /.well-known/oauth-authorization-server HTTP/1.1
158
- host: nex.toa.io
159
- accept: application/yaml
160
- """
161
- Then the following reply is sent:
162
- """
163
- 404 Not Found
164
- """
@@ -1,301 +0,0 @@
1
- @security
2
- Feature: Authorization code flow
3
-
4
- A client is refused, finds the authorization server, registers, is consented to by a user,
5
- and exchanges the code it was given for a token it can come back with. The consent page is
6
- the application's own — the two calls in the background are what it would make.
7
-
8
- Background:
9
- Given the `identity.clients` database is empty
10
- And the `identity.grants` database is empty
11
- And the `identity.basic` database contains:
12
- | _id | authority | username | password |
13
- | efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
14
- And the annotation:
15
- """yaml
16
- authorities:
17
- nex: nex.toa.io
18
- oauth:
19
- authorize: https://app.nex.toa.io/oauth/authorize
20
- resources: ['/.mcp']
21
- registration: open
22
- mcp:
23
- name: Teapots
24
- /:
25
- io:output: true
26
- /pots:
27
- anyone: true
28
- GET:
29
- mcp:tool: true
30
- help:method:
31
- description: Every pot there is.
32
- dev:stub: Kettles and teapots.
33
- """
34
- When the following request is received:
35
- """
36
- POST /identity/clients/ HTTP/1.1
37
- host: nex.toa.io
38
- content-type: application/yaml
39
- accept: application/yaml
40
-
41
- client_name: Claude
42
- redirect_uris:
43
- - https://claude.ai/api/mcp/auth_callback
44
- """
45
- Then the following reply is sent:
46
- """
47
- 201 Created
48
-
49
- client_id: ${{ client }}
50
- """
51
- When the following request is received:
52
- """
53
- POST /identity/grants/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
54
- host: nex.toa.io
55
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
56
- content-type: application/yaml
57
- accept: application/yaml
58
-
59
- client: ${{ client }}
60
- redirect: https://claude.ai/api/mcp/auth_callback
61
- challenge: E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM
62
- method: S256
63
- """
64
- Then the following reply is sent:
65
- """
66
- 201 Created
67
- cache-control: no-store
68
-
69
- code: ${{ code }}
70
- expires_in: 60
71
- """
72
-
73
- Scenario: A client comes back with the token it was given
74
- # nothing yet, and the client is told where to get one
75
- When the following request is received:
76
- """
77
- POST /.mcp HTTP/1.1
78
- host: nex.toa.io
79
- accept: application/yaml
80
- content-type: application/json
81
-
82
- {"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}
83
- """
84
- Then the following reply is sent:
85
- """
86
- 401 Unauthorized
87
- www-authenticate: Bearer resource_metadata="https://nex.toa.io/.well-known/oauth-protected-resource/.mcp"
88
- """
89
- When the following request is received:
90
- """
91
- POST /identity/grants/ HTTP/1.1
92
- host: nex.toa.io
93
- content-type: application/x-www-form-urlencoded
94
- accept: application/yaml
95
-
96
- grant_type=authorization_code&code=${{ code }}&code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk&redirect_uri=https%3A%2F%2Fclaude.ai%2Fapi%2Fmcp%2Fauth_callback&client_id=${{ client }}
97
- """
98
- Then the following reply is sent:
99
- """
100
- 200 OK
101
- cache-control: no-store
102
-
103
- access_token: ${{ access_token }}
104
- token_type: Bearer
105
- """
106
- When the following request is received:
107
- """
108
- POST /.mcp HTTP/1.1
109
- host: nex.toa.io
110
- authorization: Bearer ${{ access_token }}
111
- accept: application/yaml
112
- content-type: application/json
113
-
114
- {"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}
115
- """
116
- Then the following reply is sent:
117
- """
118
- 200 OK
119
-
120
- jsonrpc: '2.0'
121
- id: 1
122
- result:
123
- tools:
124
- - name: pots.GET
125
- """
126
-
127
- Scenario: A code is spent once
128
- When the following request is received:
129
- """
130
- POST /identity/grants/ HTTP/1.1
131
- host: nex.toa.io
132
- content-type: application/x-www-form-urlencoded
133
- accept: application/yaml
134
-
135
- grant_type=authorization_code&code=${{ code }}&code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
136
- """
137
- Then the following reply is sent:
138
- """
139
- 200 OK
140
- """
141
- When the following request is received:
142
- """
143
- POST /identity/grants/ HTTP/1.1
144
- host: nex.toa.io
145
- content-type: application/x-www-form-urlencoded
146
- accept: application/yaml
147
-
148
- grant_type=authorization_code&code=${{ code }}&code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
149
- """
150
- Then the following reply is sent:
151
- """
152
- 400 Bad Request
153
-
154
- error: invalid_grant
155
- """
156
-
157
- Scenario: A verifier that did not make that challenge
158
- When the following request is received:
159
- """
160
- POST /identity/grants/ HTTP/1.1
161
- host: nex.toa.io
162
- content-type: application/x-www-form-urlencoded
163
- accept: application/yaml
164
-
165
- grant_type=authorization_code&code=${{ code }}&code_verifier=this-is-not-the-verifier-that-made-that-challenge
166
- """
167
- Then the following reply is sent:
168
- """
169
- 400 Bad Request
170
-
171
- error: invalid_grant
172
- """
173
- # the code was spent trying, so guessing at it buys nothing
174
- When the following request is received:
175
- """
176
- POST /identity/grants/ HTTP/1.1
177
- host: nex.toa.io
178
- content-type: application/x-www-form-urlencoded
179
- accept: application/yaml
180
-
181
- grant_type=authorization_code&code=${{ code }}&code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
182
- """
183
- Then the following reply is sent:
184
- """
185
- 400 Bad Request
186
-
187
- error: invalid_grant
188
- """
189
-
190
- Scenario: A redirect swapped between authorizing and exchanging
191
- When the following request is received:
192
- """
193
- POST /identity/grants/ HTTP/1.1
194
- host: nex.toa.io
195
- content-type: application/x-www-form-urlencoded
196
- accept: application/yaml
197
-
198
- grant_type=authorization_code&code=${{ code }}&code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk&redirect_uri=https%3A%2F%2Fevil.example%2Fcallback
199
- """
200
- Then the following reply is sent:
201
- """
202
- 400 Bad Request
203
-
204
- error: invalid_grant
205
- """
206
-
207
- Scenario: A grant nobody may be sent a code for
208
- When the following request is received:
209
- """
210
- POST /identity/grants/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
211
- host: nex.toa.io
212
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
213
- content-type: application/yaml
214
- accept: application/yaml
215
-
216
- client: ${{ client }}
217
- redirect: https://evil.example/callback
218
- challenge: E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM
219
- method: S256
220
- """
221
- Then the following reply is sent:
222
- """
223
- 400 Bad Request
224
-
225
- error: invalid_request
226
- """
227
-
228
- Scenario: A challenge method that proves nothing
229
- When the following request is received:
230
- """
231
- POST /identity/grants/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
232
- host: nex.toa.io
233
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
234
- content-type: application/yaml
235
- accept: application/yaml
236
-
237
- client: ${{ client }}
238
- redirect: https://claude.ai/api/mcp/auth_callback
239
- challenge: E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM
240
- method: plain
241
- """
242
- Then the following reply is sent:
243
- """
244
- 400 Bad Request
245
-
246
- error: invalid_request
247
- """
248
-
249
- Scenario: A grant only its own identity may see
250
- When the following request is received:
251
- """
252
- GET /identity/grants/00000000000000000000000000000000/ HTTP/1.1
253
- host: nex.toa.io
254
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
255
- accept: application/yaml
256
- """
257
- Then the following reply is sent:
258
- """
259
- 403 Forbidden
260
- """
261
-
262
- Scenario: Taking back what was allowed
263
- When the following request is received:
264
- """
265
- POST /identity/grants/ HTTP/1.1
266
- host: nex.toa.io
267
- content-type: application/x-www-form-urlencoded
268
- accept: application/yaml
269
-
270
- grant_type=authorization_code&code=${{ code }}&code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
271
- """
272
- Then the following reply is sent:
273
- """
274
- 200 OK
275
-
276
- access_token: ${{ access_token }}
277
- """
278
- When the following request is received:
279
- """
280
- GET /identity/grants/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
281
- host: nex.toa.io
282
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
283
- accept: application/yaml
284
- """
285
- Then the following reply is sent:
286
- """
287
- 200 OK
288
-
289
- - id: ${{ grant }}
290
- client: ${{ client }}
291
- """
292
- When the following request is received:
293
- """
294
- DELETE /identity/grants/efe3a65ebbee47ed95a73edd911ea328/${{ grant }}/ HTTP/1.1
295
- host: nex.toa.io
296
- authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
297
- """
298
- Then the following reply is sent:
299
- """
300
- 204 No Content
301
- """