@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,22 +0,0 @@
1
- properties:
2
- protected:
3
- type: boolean
4
- isolated:
5
- type: boolean
6
- forward:
7
- type: string
8
- routes:
9
- type: array
10
- items:
11
- $ref: route
12
- methods:
13
- type: array
14
- items:
15
- $ref: method
16
- directives:
17
- type: array
18
- items:
19
- $ref: directive
20
- version:
21
- type: string
22
- type: object
@@ -1,31 +0,0 @@
1
- properties:
2
- id:
3
- type: string
4
- criteria:
5
- type: string
6
- sort:
7
- type: string
8
- search:
9
- type: boolean
10
- sample:
11
- type: integer
12
- omit:
13
- $ref: range
14
- limit:
15
- $ref: range
16
- selectors:
17
- type: array
18
- items:
19
- type: string
20
- projection:
21
- type: array
22
- items:
23
- type: string
24
- parameters:
25
- type: array
26
- items:
27
- type: string
28
- deleted:
29
- type: boolean
30
- nullable: true
31
- type: object
@@ -1,19 +0,0 @@
1
- properties:
2
- id:
3
- type: string
4
- criteria:
5
- type: string
6
- search:
7
- type: string
8
- sample:
9
- type: number
10
- sort:
11
- type: string
12
- omit:
13
- type: number
14
- limit:
15
- type: number
16
- version:
17
- type: number
18
- additionalProperties: false
19
- type: object
@@ -1,10 +0,0 @@
1
- properties:
2
- range:
3
- type: array
4
- items:
5
- type: number
6
- value:
7
- type: number
8
- type: object
9
- required:
10
- - range
@@ -1,6 +0,0 @@
1
- properties:
2
- path:
3
- type: string
4
- node:
5
- $ref: node
6
- type: object
@@ -1,89 +0,0 @@
1
- import type { Resources } from '@toa.io/operations'
2
- import type { Protocol } from './HTTP/index.js'
3
-
4
- export interface Annotation {
5
- authorities: Record<string, string>
6
-
7
- /**
8
- * `h2c` requires an ingress controller that proxies cleartext HTTP/2 upstream.
9
- * See `documentation/protocol.md`.
10
- */
11
- protocol?: Protocol
12
- class?: string
13
- resources?: Resources
14
- annotations?: Record<string, string>
15
-
16
- /** The Service, as opposed to the Ingress that `annotations` above describes. */
17
- service?: { annotations?: Record<string, string> }
18
-
19
- debug?: boolean
20
-
21
- /** The header the client address is read from; the connection's without one. See `ip.md`. */
22
- ip?: string
23
-
24
- /** Failed authentications an address may make; none are metered unless set. See `identity.md`. */
25
- bouncer?: Bouncer
26
-
27
- /** The authorization server this context exposes; none is exposed without it. */
28
- oauth?: OAuth
29
-
30
- /** JSON-RPC at `/.rpc`; none is served without it. See `documentation/rpc.md`. */
31
- rpc?: RPC
32
-
33
- /** MCP at `/.mcp`; none is served without it. See `documentation/mcp.md`. */
34
- mcp?: MCP
35
- '/'?: object // parsed and validated by RTD.syntax.parse
36
- }
37
-
38
- export interface OAuth {
39
- /**
40
- * Where a client sends the user to consent. The one endpoint of the flow that needs a
41
- * person, and so the one this extension does not serve: an application builds it.
42
- */
43
- authorize: string
44
-
45
- /** Paths a token may be restricted to, each advertised as a protected resource. */
46
- resources?: string[]
47
-
48
- /** What a client may ask for. Each is a role, or a scope within one. */
49
- scopes?: string[]
50
-
51
- /** Origins whose Client ID Metadata Documents may be read. None are without it. */
52
- trust?: string[]
53
-
54
- /** Dynamic Client Registration, off unless opened. */
55
- registration?: 'open' | 'closed'
56
- }
57
-
58
- export interface RPC {
59
- /**
60
- * Calls one request may carry, 32 by default. One request is one authentication and one
61
- * reply however many calls it makes, so what a caller may ask for at once is bounded.
62
- */
63
- batch?: number
64
- }
65
-
66
- export interface MCP {
67
- /** What the server calls itself, which a client shows a user. */
68
- name: string
69
-
70
- /** What a model is told before it calls anything here. */
71
- instructions?: string
72
-
73
- /**
74
- * Browser origins the endpoint answers, which the revision requires against DNS rebinding.
75
- * None are admitted without it; a request carrying no `Origin` is not a browser's.
76
- */
77
- origins?: string[]
78
-
79
- /** Whether the endpoint answers without a credential. It does not unless it says so. */
80
- anonymous?: boolean
81
- }
82
-
83
- export interface Bouncer {
84
- /** what an address may fail at once, 20 by default */
85
- attempts?: number
86
-
87
- /** seconds it takes to earn them back, 60 by default */
88
- interval?: number
89
- }
@@ -1,40 +0,0 @@
1
- import { it } from 'node:test'
2
- import assert from 'node:assert/strict'
3
-
4
- import { decide } from './Branch.js'
5
- import type { Branch, Exposed } from './Branch.js'
6
-
7
- function branch(version: string, timestamp: number): Branch {
8
- return {
9
- namespace: 'default',
10
- component: 'one',
11
- isolated: false,
12
- node: { routes: [], methods: [], directives: [] },
13
- version,
14
- timestamp
15
- }
16
- }
17
-
18
- function exposed(version: string, timestamp: number): Exposed {
19
- return { version, timestamp, nodes: [] }
20
- }
21
-
22
- it('should refresh the same version', () => {
23
- assert.deepStrictEqual(decide(exposed('a', 1), branch('a', 2)), 'refresh')
24
- })
25
-
26
- it('should refresh the same version announced by an older tenant', () => {
27
- assert.deepStrictEqual(decide(exposed('a', 2), branch('a', 1)), 'refresh')
28
- })
29
-
30
- it('should merge a newer tenant', () => {
31
- assert.deepStrictEqual(decide(exposed('a', 1), branch('b', 2)), 'merge')
32
- })
33
-
34
- it('should not merge a tenant that started earlier', () => {
35
- assert.deepStrictEqual(decide(exposed('b', 2), branch('a', 1)), 'superseded')
36
- })
37
-
38
- it('should merge when tenants started at the same time', () => {
39
- assert.deepStrictEqual(decide(exposed('a', 1), branch('b', 1)), 'merge')
40
- })
package/source/Branch.ts DELETED
@@ -1,44 +0,0 @@
1
- import type * as RTD from './RTD/syntax/index.js'
2
- import type { Node } from './RTD/index.js'
3
-
4
- export interface Branch {
5
- namespace: string
6
- component: string
7
- isolated: boolean
8
- node: RTD.Node
9
- version: string
10
-
11
- /**
12
- * When the tenant that announced it started, by its own clock. A replica on its way
13
- * out announces the same component with an older stamp than the one replacing it, and
14
- * that is what tells the two apart when their versions differ.
15
- */
16
- timestamp: number
17
- }
18
-
19
- /** A branch the gateway has merged, and the tenant it came from. */
20
- export interface Exposed {
21
- version: string
22
-
23
- /** The start time of the tenant this branch came from. */
24
- timestamp: number
25
-
26
- nodes: Node[]
27
- }
28
-
29
- /**
30
- * What to do with an announcement about a component that already has a branch exposed.
31
- *
32
- * - `refresh`: the same version, so its expiration is extended and its endpoints left alone
33
- * - `superseded`: it came from a tenant that started before the one exposed now
34
- * - `merge`: everything else
35
- */
36
- export function decide(exposed: Exposed, branch: Branch): Decision {
37
- if (exposed.version === branch.version) return 'refresh'
38
-
39
- if (branch.timestamp < exposed.timestamp) return 'superseded'
40
-
41
- return 'merge'
42
- }
43
-
44
- export type Decision = 'merge' | 'refresh' | 'superseded'
@@ -1,51 +0,0 @@
1
- import { readdirSync, type Dirent } from 'node:fs'
2
- import { resolve } from 'node:path'
3
- import { Connector } from '@toa.io/core'
4
- import { type Host } from './Factory.js'
5
-
6
- export class Composition extends Connector {
7
- private readonly host: Host
8
-
9
- public constructor(host: Host) {
10
- super()
11
- this.host = host
12
- }
13
-
14
- protected override async open(): Promise<void> {
15
- const paths = find()
16
- const composition = await this.host.composition(paths)
17
-
18
- await composition.connect()
19
-
20
- this.depends(composition)
21
- }
22
- }
23
-
24
- function find(): string[] {
25
- return entries().map((entry) => resolve(ROOT, entry.name))
26
- }
27
-
28
- function entries(): Dirent[] {
29
- const entries = readdirSync(ROOT, { withFileTypes: true })
30
-
31
- return entries.filter((entry) => entry.isDirectory())
32
- }
33
-
34
- export function components(): Components {
35
- const labels: string[] = []
36
- const paths: string[] = []
37
-
38
- for (const entry of entries()) {
39
- labels.push(entry.name.replace('.', '-'))
40
- paths.push(resolve(ROOT, entry.name))
41
- }
42
-
43
- return { labels, paths }
44
- }
45
-
46
- interface Components {
47
- labels: string[]
48
- paths: string[]
49
- }
50
-
51
- const ROOT = resolve(import.meta.dirname, '../components/')
package/source/Context.ts DELETED
@@ -1,11 +0,0 @@
1
- import type * as RTD from './RTD/index.js'
2
-
3
- // the trunk is built from the context annotation and belongs to no branch,
4
- // thus its endpoints must be fully qualified and are not versioned
5
- export type Context = RTD.Context<Extension | undefined>
6
-
7
- interface Extension {
8
- namespace: string
9
- component: string
10
- version: string
11
- }
@@ -1,199 +0,0 @@
1
- import { describe, it, beforeEach, mock } from 'node:test'
2
- import assert from 'node:assert/strict'
3
-
4
- import { generate } from 'randomstring'
5
- import { DirectivesFactory } from './Directive.js'
6
- import type { syntax, DirectiveFamily } from './RTD/index.js'
7
- import type { Remotes } from './Remotes.js'
8
- import type { Host } from './Factory.js'
9
- import type { Context } from './HTTP/index.js'
10
-
11
- const sequence: string[] = []
12
-
13
- const families: Array<DirectiveFamily> = [
14
- {
15
- name: 'foo',
16
- mandatory: true,
17
- create: mock.fn((_0: any, _1: any, _2: any) => generate() as any),
18
- arrange: mock.fn(),
19
- precall: mock.fn(() => {
20
- sequence.push('foo')
21
- return null
22
- }),
23
- settle: mock.fn(),
24
- dispose: mock.fn()
25
- },
26
- {
27
- name: 'qux',
28
- mandatory: true,
29
- create: mock.fn((_0: any, _1: any, _2: any) => generate() as any),
30
- arrange: mock.fn(),
31
- precall: mock.fn(() => {
32
- sequence.push('qux')
33
- return null
34
- }),
35
- settle: mock.fn(),
36
- dispose: mock.fn()
37
- },
38
- {
39
- name: 'bar',
40
- mandatory: false,
41
- create: mock.fn((_0: string, _1: any, _2: any) => generate() as any),
42
- arrange: mock.fn(),
43
- precall: mock.fn(() => {
44
- sequence.push('bar')
45
- return null
46
- }),
47
- settle: mock.fn(),
48
- dispose: mock.fn()
49
- }
50
- ]
51
-
52
- let factory: DirectivesFactory
53
-
54
- beforeEach(() => {
55
- resetCalls()
56
- sequence.length = 0
57
-
58
- for (const family of families) {
59
- assert.ok(family.precall !== undefined)
60
-
61
- family.precall.mock.mockImplementation(() => {
62
- sequence.push(family.name)
63
- return null
64
- })
65
- }
66
-
67
- factory = new DirectivesFactory(
68
- families,
69
- {} as unknown as Remotes,
70
- {} as unknown as Host,
71
- { authorities: {} }
72
- )
73
- })
74
-
75
- it('should create directive', async () => {
76
- const declarations: syntax.Directive[] = [
77
- {
78
- family: 'foo',
79
- name: generate(),
80
- value: generate()
81
- },
82
- {
83
- family: 'bar',
84
- name: generate(),
85
- value: generate()
86
- }
87
- ]
88
-
89
- factory.create(declarations)
90
-
91
- for (const declaration of declarations) {
92
- const family = families.find(({ name }) => name === declaration.family)!
93
-
94
- assert.strictEqual(family.create.mock.calls[0].arguments[0], declaration.name)
95
- assert.strictEqual(family.create.mock.calls[0].arguments[1], declaration.value)
96
- }
97
- })
98
-
99
- it('should pass the route to the families', async () => {
100
- const route = '/' + generate()
101
-
102
- factory.create([{ family: 'foo', name: generate(), value: generate() }], route)
103
-
104
- assert.strictEqual(families[0].create.mock.calls[0].arguments[3], route)
105
- })
106
-
107
- it('should throw error if directive family is not found', async () => {
108
- const declaration: syntax.Directive = {
109
- family: generate(),
110
- name: generate(),
111
- value: generate()
112
- }
113
-
114
- assert.throws(
115
- () => factory.create([declaration]),
116
- (error: Error) =>
117
- error.message.includes(`Directive family '${declaration.family}' is not found`)
118
- )
119
- })
120
-
121
- it('should apply directive', async () => {
122
- const declaration: syntax.Directive = {
123
- family: 'foo',
124
- name: generate(),
125
- value: generate()
126
- }
127
-
128
- const directives = factory.create([declaration])
129
- const request = generate() as unknown as Context
130
- const directive = families[0].create.mock.calls[0].result
131
-
132
- await directives.precall(request, [])
133
-
134
- assert.ok(families[0].precall !== undefined)
135
-
136
- assert.deepStrictEqual(families[0].precall.mock.calls[0].arguments[0], [directive])
137
- assert.deepStrictEqual(families[0].precall.mock.calls[0].arguments[1], request)
138
- })
139
-
140
- it('should apply mandatory families', async () => {
141
- const directives = factory.create([])
142
- const request = generate() as unknown as Context
143
-
144
- await directives.precall(request, [])
145
-
146
- assert.ok(families[0].precall.mock.callCount() > 0)
147
- })
148
-
149
- describe('order', () => {
150
- // the order the families actually ran, as each precall recorded it
151
- function order(): string[] {
152
- return sequence
153
- }
154
-
155
- it('should run mandatory families in their own order, whatever a manifest says', async () => {
156
- // `qux` declared first, but `foo` is registered first and both are mandatory
157
- const directives = factory.create([
158
- { family: 'qux', name: generate(), value: generate() },
159
- { family: 'foo', name: generate(), value: generate() }
160
- ])
161
-
162
- await directives.precall(generate() as unknown as Context, [])
163
-
164
- assert.deepStrictEqual(order(), ['foo', 'qux'])
165
- })
166
-
167
- it('should run a mandatory family before a declared one it is not declared with', async () => {
168
- // only `qux` is declared: `foo` still has to run first, not merely first of
169
- // whatever had no declarations
170
- const directives = factory.create([
171
- { family: 'qux', name: generate(), value: generate() }
172
- ])
173
-
174
- await directives.precall(generate() as unknown as Context, [])
175
-
176
- assert.deepStrictEqual(order(), ['foo', 'qux'])
177
- })
178
-
179
- it('should run mandatory families before the rest', async () => {
180
- const directives = factory.create([
181
- { family: 'bar', name: generate(), value: generate() },
182
- { family: 'qux', name: generate(), value: generate() }
183
- ])
184
-
185
- await directives.precall(generate() as unknown as Context, [])
186
-
187
- assert.deepStrictEqual(order(), ['foo', 'qux', 'bar'])
188
- })
189
- })
190
-
191
- function resetCalls(target = [families], seen = new Set()) {
192
- if (target === null || typeof target !== 'object' || seen.has(target)) return
193
-
194
- seen.add(target)
195
-
196
- for (const value of Object.values(target))
197
- if (typeof value === 'function' && value.mock !== undefined) value.mock.resetCalls()
198
- else resetCalls(value, seen)
199
- }