@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,175 +0,0 @@
1
- import { EventEmitter, once } from 'node:events'
2
- import * as assert from 'node:assert'
3
- import tsflow from 'cucumber-tsflow'
4
-
5
- import { Factory } from '@toa.io/extensions.realtime'
6
- import * as boot from '@toa.io/boot'
7
- import { environment, match, timeout } from '@toa.io/generic'
8
- import { load as parse } from 'js-yaml'
9
- import { Agent } from '@toa.io/agent'
10
- import { Parameters } from './Parameters.js'
11
- import { Gateway } from './Gateway.js'
12
- import { Captures } from './Captures.js'
13
- import type { Connector } from '@toa.io/core'
14
-
15
- const { after, binding, given, afterAll, then } = tsflow
16
-
17
- @binding([Gateway, Parameters, Captures])
18
- export class Realtime {
19
- private static instance: Connector | null = null
20
- private readonly gateway: Gateway
21
- private readonly agent: Agent
22
- private readonly events = new EventEmitter()
23
- private log: Record<string, unknown[]> = {}
24
- private aborted = false
25
-
26
- public constructor(gateway: Gateway, parameters: Parameters, captures: Captures) {
27
- this.gateway = gateway
28
- this.agent = new Agent(parameters.origin, captures)
29
- }
30
-
31
- @given('the Realtime is running with the following annotation:')
32
- public async start(yaml: string): Promise<void> {
33
- await Realtime.stop()
34
-
35
- const annotation = parse(yaml) as Record<string, string>
36
- const routes = []
37
-
38
- for (const [event, property] of Object.entries(annotation))
39
- routes.push({ event, properties: [property] })
40
-
41
- environment.set('TOA_REALTIME', JSON.stringify(routes))
42
-
43
- const factory = new Factory(boot.host())
44
-
45
- Realtime.instance = await factory.service()
46
-
47
- // not awaited: the routes connect to the components that produce the events, and this
48
- // scenario starts the producer after the service, so the connection settles later
49
- void Realtime.instance.connect()
50
- }
51
-
52
- @given('the identity {word} is consuming realtime events')
53
- public async connect(name: string): Promise<void> {
54
- await this.gateway.start()
55
-
56
- const id = await this.createIdentity(name)
57
-
58
- const parts = await this.open(name)
59
-
60
- void this.consume(id, parts).catch((e) => {
61
- if (!this.aborted) console.debug('Consumption interrupted', e)
62
- })
63
- }
64
-
65
- @then('the following event `{word}` is received by {word}:')
66
- public async received(label: string, name: string, yaml: string): Promise<void> {
67
- const id = this.agent.captures.get(`${name}.id`)
68
- const tag = `${id}:${label}`
69
- const expected = parse(yaml)
70
-
71
- if (this.log[tag] !== undefined)
72
- for (const data of this.log[tag])
73
- // eslint-disable-next-line max-depth
74
- if (match(data, expected)) return
75
-
76
- const [event] = await once(this.events, tag)
77
-
78
- assert.ok(match(event, expected), 'Event does not match')
79
- }
80
-
81
- @after()
82
- public abort(): void {
83
- this.aborted = true
84
- this.agent.abort()
85
- this.log = {}
86
- this.events.removeAllListeners()
87
- }
88
-
89
- @afterAll()
90
- public static async stop(): Promise<void> {
91
- if (this.instance === null) return
92
-
93
- await this.instance.disconnect()
94
-
95
- this.instance = null
96
- environment.delete('TOA_REALTIME')
97
- }
98
-
99
- /**
100
- * The stream is asked for until the gateway has the route, not once. The realtime service
101
- * is started by the step before this one and its `connect` is not awaited there — so the
102
- * branch that carries `/realtime/streams` is still being announced while this runs, and
103
- * asking too early reads the 404 that precedes the route.
104
- */
105
- private async open(name: string): Promise<AsyncIterable<Uint8Array>> {
106
- const deadline = Date.now() + DISCOVERY
107
-
108
- for (;;)
109
- try {
110
- return (await this.agent.parts(`
111
- GET /realtime/streams/\${{ ${name}.id }}/ HTTP/1.1
112
- authorization: Token \${{ ${name}.token }}
113
- accept: application/json
114
- `)) as AsyncIterable<Uint8Array>
115
- } catch (error) {
116
- if (Date.now() > deadline) throw error
117
-
118
- await timeout(POLL)
119
- }
120
- }
121
-
122
- private async createIdentity(name: string): Promise<string> {
123
- const password = Math.random().toString(36).slice(2)
124
- const username = name + Math.random().toString(36).slice(2)
125
-
126
- await this.agent.request(`
127
- POST /identity/basic/ HTTP/1.1
128
- accept: application/yaml
129
- content-type: application/yaml
130
-
131
- username: ${username}
132
- password: ${password}
133
- `)
134
-
135
- this.agent.responseIncludes(`
136
- 201 Created
137
- `)
138
-
139
- const credentials = Buffer.from(`${username}:${password}`).toString('base64')
140
-
141
- await this.agent.request(`
142
- GET /identity/ HTTP/1.1
143
- authorization: Basic ${credentials}
144
- accept: application/yaml
145
- `)
146
-
147
- this.agent.responseIncludes(`
148
- 200 OK
149
- authorization: Token \${{ ${name}.token }}
150
-
151
- id: \${{ ${name}.id }}
152
- `)
153
-
154
- return this.agent.captures.get(`${name}.id`) as string
155
- }
156
-
157
- private async consume(id: string, parts: any): Promise<void> {
158
- for await (const part of parts) {
159
- const text = Buffer.from(part.body).toString('utf8')
160
- const event = JSON.parse(text)
161
-
162
- if (typeof event === 'string') continue
163
-
164
- const tag = `${id}:${event.event}`
165
-
166
- this.events.emit(tag, event.data)
167
- this.log[tag] ??= []
168
- this.log[tag].push(event.data)
169
- }
170
- }
171
- }
172
-
173
- /** How long the route is waited for, and how often it is asked for. */
174
- const DISCOVERY = 5000
175
- const POLL = 50
@@ -1,48 +0,0 @@
1
- import { join } from 'node:path'
2
- import { tmpdir, devNull } from 'node:os'
3
- import { mkdtemp, cp, readFile, writeFile } from 'node:fs/promises'
4
- import { load, dump } from 'js-yaml'
5
- import { overwrite } from '@toa.io/generic'
6
-
7
- export class Workspace {
8
- private root: string = devNull
9
-
10
- public static exists(
11
- _0: unknown,
12
- _1: unknown,
13
- descriptor: PropertyDescriptor
14
- ): PropertyDescriptor {
15
- const method = descriptor.value
16
-
17
- descriptor.value = async function (this: Workspace, ...args: any[]): Promise<any> {
18
- if (this.root === devNull)
19
- this.root = await mkdtemp(join(tmpdir(), Math.random().toString(36).slice(2)))
20
-
21
- return method.apply(this, args)
22
- }
23
-
24
- return descriptor
25
- }
26
-
27
- @Workspace.exists
28
- public async addComponent(name: string, patch?: object): Promise<string> {
29
- const source = join(import.meta.dirname, 'components', name)
30
- const target = join(this.root, name)
31
-
32
- await cp(source, target, { force: true, recursive: true })
33
-
34
- if (patch !== undefined) await this.patchManifest(target, patch)
35
-
36
- return target
37
- }
38
-
39
- private async patchManifest(target: string, patch: object): Promise<void> {
40
- const path = join(target, 'manifest.toa.yaml')
41
-
42
- const manifest = load(await readFile(path, 'utf8')) as object
43
-
44
- overwrite(manifest, patch)
45
-
46
- await writeFile(path, dump(manifest, { noRefs: true, lineWidth: -1 }), 'utf8')
47
- }
48
- }
@@ -1,20 +0,0 @@
1
- name: audit
2
-
3
- operations:
4
- record:
5
- input:
6
- properties:
7
- id:
8
- type: string
9
- title:
10
- type: string
11
- volume:
12
- type: number
13
- price:
14
- type: number
15
- type: object
16
- output:
17
- {}
18
-
19
- receivers:
20
- orders.created: record
@@ -1,5 +0,0 @@
1
- export async function effect(input) {
2
- await new Promise((resolve) => setTimeout(resolve, 500))
3
-
4
- return null
5
- }
@@ -1,59 +0,0 @@
1
- name: echo
2
-
3
- operations:
4
- compute:
5
- input:
6
- properties:
7
- name:
8
- type: string
9
- type: object
10
- required:
11
- - name
12
- affect:
13
- input:
14
- properties:
15
- name:
16
- type: string
17
- type: object
18
- required:
19
- - name
20
- identity:
21
- input:
22
- properties:
23
- identity:
24
- properties:
25
- id:
26
- type: string
27
- roles:
28
- type: array
29
- items:
30
- type: string
31
- type: object
32
- type: object
33
- parameters:
34
- description: Answers with what it was given.
35
- input:
36
- type: object
37
- properties:
38
- a:
39
- type: string
40
- b:
41
- type: string
42
- output:
43
- type: object
44
- properties:
45
- a:
46
- type: string
47
- b:
48
- type: string
49
- echo:
50
- input:
51
- type: object
52
- unwrap:
53
- input:
54
- type: object
55
- properties:
56
- buf:
57
- type: string
58
- error:
59
- errors: [CODE]
@@ -1,3 +0,0 @@
1
- export function effect(input) {
2
- return `Hello ${input.name}`
3
- }
@@ -1,3 +0,0 @@
1
- export function computation(input) {
2
- return `Hello ${input.name}`
3
- }
@@ -1,3 +0,0 @@
1
- export function computation(input) {
2
- return input
3
- }
@@ -1,7 +0,0 @@
1
- export function computation() {
2
- const err = { code: 'CODE', message: 'message' }
3
-
4
- Object.setPrototypeOf(err, Error.prototype)
5
-
6
- return err
7
- }
@@ -1,3 +0,0 @@
1
- export function computation(input) {
2
- return input
3
- }
@@ -1,3 +0,0 @@
1
- export function computation(input) {
2
- return input
3
- }
@@ -1,3 +0,0 @@
1
- export function computation() {
2
- return 'pong'
3
- }
@@ -1,3 +0,0 @@
1
- export function computation(input) {
2
- return JSON.parse(input.buf)
3
- }
@@ -1,2 +0,0 @@
1
- namespace: echo
2
- name: beacon
@@ -1,3 +0,0 @@
1
- export const computation = () => {
2
- return 'Hello!'
3
- }
@@ -1,5 +0,0 @@
1
- name: greeter
2
-
3
- exposition:
4
- /:
5
- GET: greet
@@ -1,3 +0,0 @@
1
- export function computation() {
2
- return 'Hello'
3
- }
@@ -1,20 +0,0 @@
1
- name: notify
2
-
3
- operations:
4
- send:
5
- input:
6
- properties:
7
- id:
8
- type: string
9
- title:
10
- type: string
11
- volume:
12
- type: number
13
- price:
14
- type: number
15
- type: object
16
- output:
17
- {}
18
-
19
- receivers:
20
- orders.created: send
@@ -1,5 +0,0 @@
1
- export async function effect(input) {
2
- await new Promise((resolve) => setTimeout(resolve, 800))
3
-
4
- return null
5
- }
@@ -1,73 +0,0 @@
1
- namespace: octets
2
- name: tester
3
-
4
- storages: octets
5
-
6
- operations:
7
- foo: &operation
8
- errors: [ERROR, NOT_FOUND]
9
- input:
10
- properties:
11
- identity:
12
- type: string
13
- parameters:
14
- type: object
15
- steps:
16
- type: object
17
- authority:
18
- type: string
19
- storage:
20
- type: string
21
- path:
22
- type: string
23
- entry:
24
- type: object
25
- type: object
26
- required:
27
- - authority
28
- - storage
29
- - path
30
- - entry
31
- bar: *operation
32
- baz: *operation
33
- err: *operation
34
- id: *operation
35
- echo: *operation
36
- concat: *operation
37
- yield: *operation
38
- yex: *operation
39
- authority: *operation
40
- identity: *operation
41
- redirect:
42
- errors: [ERROR]
43
- input:
44
- properties:
45
- parameters:
46
- type: object
47
- patternProperties:
48
- ^.+$:
49
- type: string
50
- authority:
51
- type: string
52
- path:
53
- type: string
54
- type: object
55
- required:
56
- - authority
57
- - path
58
- output:
59
- type: object
60
- properties:
61
- url:
62
- type: string
63
- options:
64
- type: object
65
- properties:
66
- method:
67
- type: string
68
- headers:
69
- type: object
70
- body:
71
- type: string
72
- required:
73
- - url
@@ -1,3 +0,0 @@
1
- export function computation(input) {
2
- return input.authority
3
- }
@@ -1,9 +0,0 @@
1
- import { setTimeout } from 'node:timers/promises'
2
-
3
- async function bar(input, context) {
4
- await setTimeout(10)
5
-
6
- return { bar: 'baz' }
7
- }
8
-
9
- export { bar as effect }
@@ -1,9 +0,0 @@
1
- import { setTimeout } from 'node:timers/promises'
2
-
3
- async function baz(input, context) {
4
- await setTimeout(30)
5
-
6
- return input.steps ?? null
7
- }
8
-
9
- export { baz as effect }
@@ -1,5 +0,0 @@
1
- function concat(input) {
2
- return input.parameters.a + ' ' + input.parameters.b
3
- }
4
-
5
- export { concat as computation }
@@ -1,5 +0,0 @@
1
- function echo(input) {
2
- return input
3
- }
4
-
5
- export { echo as computation }
@@ -1,14 +0,0 @@
1
- import { setTimeout } from 'node:timers/promises'
2
-
3
- async function err(_) {
4
- await setTimeout(20)
5
-
6
- const err = Object.create(Error.prototype)
7
-
8
- err.code = 'ERROR'
9
- err.message = 'Something went wrong'
10
-
11
- return err
12
- }
13
-
14
- export { err as effect }
@@ -1,5 +0,0 @@
1
- async function foo(input, context) {
2
- return { foo: 'bar' }
3
- }
4
-
5
- export { foo as effect }
@@ -1,5 +0,0 @@
1
- function id(input) {
2
- return input.entry.id
3
- }
4
-
5
- export { id as computation }
@@ -1,5 +0,0 @@
1
- function identity(input) {
2
- return input.identity
3
- }
4
-
5
- export { identity as computation }
@@ -1,17 +0,0 @@
1
- function redirect(input) {
2
- return input.parameters.type in urls
3
- ? { url: urls[input.parameters.type] }
4
- : ERR_UNKNOWN
5
- }
6
-
7
- // an error a caller is meant to see carries a code, always
8
- const ERR_UNKNOWN = new (class UnknownError extends Error {
9
- code = 'ERROR'
10
- })()
11
-
12
- const urls = {
13
- rfc: 'https://www.rfc-editor.org/rfc/rfc9564.txt',
14
- img: 'https://www.w3.org/assets/logos/w3c/w3c-no-bars.svg'
15
- }
16
-
17
- export { redirect as computation }
@@ -1,14 +0,0 @@
1
- import { setTimeout } from 'node:timers/promises'
2
-
3
- async function* effect(_) {
4
- await setTimeout(10)
5
- yield 'hello'
6
-
7
- await setTimeout(10)
8
- yield 'world'
9
-
10
- await setTimeout(10)
11
- throw new Error('Oops!')
12
- }
13
-
14
- export { effect }
@@ -1,11 +0,0 @@
1
- import { setTimeout } from 'node:timers/promises'
2
-
3
- async function* effect(_) {
4
- await setTimeout(10)
5
- yield 'hello'
6
-
7
- await setTimeout(10)
8
- yield 'world'
9
- }
10
-
11
- export { effect }
@@ -1,30 +0,0 @@
1
- name: orders
2
-
3
- entity:
4
- properties:
5
- title:
6
- type: string
7
- volume:
8
- type: number
9
- price:
10
- type: number
11
- required:
12
- - title
13
- - volume
14
-
15
- operations:
16
- create:
17
- concurrency: retry
18
- query: false
19
- input:
20
- properties:
21
- title:
22
- type: string
23
- default: .
24
- volume:
25
- type: string
26
- default: .
27
- type: object
28
- required:
29
- - title
30
- - volume
@@ -1,7 +0,0 @@
1
- export async function transition(input, object, context) {
2
- const price = await context.remote.default.pricing.quote({
3
- input: { volume: input.volume }
4
- })
5
-
6
- return Object.assign(object, { ...input, price })
7
- }