@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,91 +0,0 @@
1
- name: pots
2
-
3
- entity:
4
- properties:
5
- title:
6
- type: string
7
- maxLength: 64
8
- volume:
9
- type: number
10
- exclusiveMinimum: 0
11
- maximum: 1000
12
- temperature:
13
- type: number
14
- exclusiveMinimum: 0
15
- maximum: 300
16
- required:
17
- - title
18
- - volume
19
-
20
- operations:
21
- create:
22
- description: Put a pot on to brew.
23
- query: false
24
- forward: transit
25
- input:
26
- properties:
27
- temperature:
28
- type: string
29
- default: .
30
- title:
31
- type: string
32
- default: .
33
- volume:
34
- type: string
35
- default: .
36
- type: object
37
- required:
38
- - title
39
- - volume
40
- errors:
41
- - NO_WAY
42
- - WONT_CREATE
43
- transit:
44
- concurrency: retry
45
- input:
46
- properties:
47
- title:
48
- type: string
49
- default: .
50
- volume:
51
- type: string
52
- default: .
53
- temperature:
54
- type: string
55
- default: .
56
- type: object
57
- observe:
58
- output:
59
- properties:
60
- id:
61
- type: string
62
- title:
63
- type: string
64
- volume:
65
- type: number
66
- temperature:
67
- type: number
68
- type: object
69
- enumerate:
70
- description: Every pot there is.
71
- output:
72
- type: array
73
- items:
74
- properties:
75
- id:
76
- type: string
77
- default: .
78
- title:
79
- type: string
80
- default: .
81
- volume:
82
- type: string
83
- default: .
84
- temperature:
85
- type: string
86
- default: .
87
- type: object
88
- required:
89
- - id
90
- - title
91
- - volume
@@ -1,4 +0,0 @@
1
- - index:
2
- name: index_text
3
- keys:
4
- title: text
@@ -1,13 +0,0 @@
1
- name: pricing
2
-
3
- operations:
4
- quote:
5
- input:
6
- properties:
7
- volume:
8
- type: number
9
- type: object
10
- required:
11
- - volume
12
- output:
13
- type: number
@@ -1,3 +0,0 @@
1
- export async function computation(input) {
2
- return input.volume * 42
3
- }
@@ -1,11 +0,0 @@
1
- name: sequences
2
-
3
- operations:
4
- numbers:
5
- input:
6
- type: number
7
-
8
- exposition:
9
- /tokens:
10
- anonymous: true
11
- GET: tokens
@@ -1,5 +0,0 @@
1
- function* effect(amount) {
2
- for (let i = 0; i < amount; i++) yield i
3
- }
4
-
5
- export { effect }
@@ -1,14 +0,0 @@
1
- import { randomBytes } from 'node:crypto'
2
-
3
- async function* computation() {
4
- while (true) {
5
- await timeout(Math.floor(Math.random() * 100) + 10)
6
- yield randomBytes(4).toString('hex')
7
- }
8
- }
9
-
10
- function timeout(ms) {
11
- return new Promise((resolve) => setTimeout(resolve, ms))
12
- }
13
-
14
- export { computation }
@@ -1,30 +0,0 @@
1
- name: users
2
-
3
- entity:
4
- properties:
5
- name:
6
- type: string
7
-
8
- operations:
9
- transit:
10
- concurrency: retry
11
- input:
12
- properties:
13
- name:
14
- type: string
15
- default: .
16
- type: object
17
- required:
18
- - name
19
- create:
20
- concurrency: retry
21
- query: false
22
- errors: [0]
23
- input:
24
- properties:
25
- name:
26
- type: string
27
- default: .
28
- type: object
29
- required:
30
- - name
@@ -1,11 +0,0 @@
1
- export function transition(input, object) {
2
- if (input.name === 'return_error') {
3
- const e = new Error()
4
-
5
- e.code = 0
6
-
7
- return e
8
- }
9
-
10
- return Object.assign(object, input)
11
- }
@@ -1,22 +0,0 @@
1
- namespace: users
2
- name: properties
3
-
4
- entity:
5
- associated: true
6
- properties:
7
- newbie:
8
- type: boolean
9
- blank:
10
- newbie: false
11
-
12
- operations:
13
- transit:
14
- concurrency: retry
15
- input:
16
- properties:
17
- newbie:
18
- type: string
19
- default: .
20
- type: object
21
- required:
22
- - newbie
@@ -1,30 +0,0 @@
1
- import { createRequire } from 'node:module'
2
- import * as norm from '@toa.io/norm'
3
- import { dirname, join } from 'node:path'
4
- import type { Manifest } from '@toa.io/norm'
5
-
6
- const require = createRequire(import.meta.url)
7
-
8
- const PACKAGE = '@toa.io/extensions.introspection'
9
- const COMPONENTS = ['introspection.nodes', 'introspection.edges']
10
-
11
- /**
12
- * The map's own components, as the introspection package ships them. Mounted rather
13
- * than copied on purpose: a scenario about a manifest must read that manifest.
14
- */
15
- export function components(): string[] {
16
- const root = dirname(require.resolve(PACKAGE + '/package.json'))
17
-
18
- return COMPONENTS.map((name) => join(root, 'components', name))
19
- }
20
-
21
- /** `norm` declares `component` as a namespace of types; the runtime export is a function. */
22
- export async function manifests(): Promise<Manifest[]> {
23
- const { component } = norm as unknown as Norm
24
-
25
- return await Promise.all(components().map(async (path) => await component(path)))
26
- }
27
-
28
- interface Norm {
29
- component: (path: string) => Promise<Manifest>
30
- }
@@ -1,9 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ESNext",
4
- "noEmit": true,
5
- "moduleResolution": "node",
6
- "experimentalDecorators": true,
7
- "emitDecoratorMetadata": true
8
- }
9
- }
@@ -1,35 +0,0 @@
1
- Feature: Reply streams
2
-
3
- Scenario: Getting a Reply stream
4
- Given the `sequences` is running with the following manifest:
5
- """yaml
6
- exposition:
7
- /:
8
- POST: numbers
9
- """
10
- When the following request is received:
11
- """
12
- POST /sequences/ HTTP/1.1
13
- host: nex.toa.io
14
- content-type: text/plain
15
- accept: text/plain
16
-
17
- 3
18
- """
19
- Then the following reply is sent:
20
- """
21
- 201 Created
22
- content-type: multipart/text; boundary=cut
23
-
24
- --cut
25
- ACK
26
- --cut
27
- 0
28
- --cut
29
- 1
30
- --cut
31
- 2
32
- --cut
33
- FIN
34
- --cut--
35
- """
@@ -1,41 +0,0 @@
1
- Feature: Entity timestamp
2
-
3
- Scenario: Last-Modified
4
- Given the `pots` is running with the following manifest:
5
- """yaml
6
- exposition:
7
- /:
8
- io:output: true
9
- POST: create
10
- /:id:
11
- GET: observe
12
- PUT: transit
13
- """
14
- When the following request is received:
15
- """
16
- POST /pots/ HTTP/1.1
17
- host: nex.toa.io
18
- accept: application/yaml
19
- content-type: application/yaml
20
-
21
- title: Hello
22
- volume: 1.5
23
- """
24
- Then the following reply is sent:
25
- """
26
- 201 Created
27
- last-modified: #{{ utc | set created }}
28
-
29
- id: ${{ id }}
30
- """
31
- When the following request is received:
32
- """
33
- HEAD /pots/${{ id }}/ HTTP/1.1
34
- host: nex.toa.io
35
- """
36
- Then the following reply is sent:
37
- """
38
- 200 OK
39
- last-modified: ${{ created }}
40
- content-length: 145
41
- """
@@ -1,49 +0,0 @@
1
- Feature: Server timing
2
-
3
- Background:
4
- Given the `pots` is running with the following manifest:
5
- """yaml
6
- exposition:
7
- /:
8
- POST: create
9
- """
10
-
11
- Scenario: Server timing is sent
12
- When the following request is received:
13
- """
14
- POST /pots/ HTTP/1.1
15
- host: nex.toa.io
16
- content-type: application/yaml
17
-
18
- title: Hello
19
- volume: 1.5
20
- """
21
- # to debug, break it and look at the console
22
- Then the following reply is sent:
23
- """
24
- 201 Created
25
- server-timing:
26
- """
27
-
28
- Scenario: Octets timing
29
- Given the annotation:
30
- """yaml
31
- /:
32
- io:output: true
33
- auth:anonymous: true
34
- octets:context: octets
35
- POST:
36
- octets:put: ~
37
- """
38
- When the stream of `lenna.png` is received with the following headers:
39
- """
40
- POST / HTTP/1.1
41
- host: nex.toa.io
42
- content-type: application/octet-stream
43
- """
44
- # to debug, break it and look at the console
45
- Then the following reply is sent:
46
- """
47
- 201 Created
48
- server-timing:
49
- """
@@ -1,123 +0,0 @@
1
- Feature: Distributed tracing
2
-
3
- Background:
4
- Given the `pots` is running with the following manifest:
5
- """yaml
6
- exposition:
7
- /:
8
- POST: create
9
- """
10
-
11
- Scenario: Response carries the `ray` header
12
- When the following request is received:
13
- """
14
- POST /pots/ HTTP/1.1
15
- host: nex.toa.io
16
- content-type: application/yaml
17
-
18
- title: Hello
19
- volume: 1.5
20
- """
21
- Then the following reply is sent:
22
- """
23
- 201 Created
24
- ray:
25
- """
26
-
27
- Scenario: Trace is continued from the `traceparent` request header
28
- When the following request is received:
29
- """
30
- POST /pots/ HTTP/1.1
31
- host: nex.toa.io
32
- content-type: application/yaml
33
- traceparent: 00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01
34
-
35
- title: Hello
36
- volume: 1.5
37
- """
38
- Then the following reply is sent:
39
- """
40
- 201 Created
41
- ray: 0af7651916cd43dd8448eb211c80319c
42
- """
43
-
44
- Scenario: Trace is continued from the `ray` request header
45
- When the following request is received:
46
- """
47
- POST /pots/ HTTP/1.1
48
- host: nex.toa.io
49
- content-type: application/yaml
50
- ray: 4bf92f3577b34da6a3ce929d0e0e4736
51
-
52
- title: Hello
53
- volume: 1.5
54
- """
55
- Then the following reply is sent:
56
- """
57
- 201 Created
58
- ray: 4bf92f3577b34da6a3ce929d0e0e4736
59
- """
60
-
61
- Scenario: Trace spans remote calls, storage and events
62
- Given the `identity.basic` database is empty
63
- And the `pricing` is running
64
- And the `orders` is running with the following manifest:
65
- """yaml
66
- exposition:
67
- /:id:
68
- auth:id: id
69
- POST: create
70
- """
71
- And the `audit` is running
72
- And the `notify` is running
73
- When the following request is received:
74
- """
75
- POST /identity/ HTTP/1.1
76
- host: nex.toa.io
77
- authorization: Basic dXNlcjpwYXNzMTIzNA==
78
- accept: application/yaml
79
- """
80
- Then the following reply is sent:
81
- """
82
- 201 Created
83
- authorization: Token ${{ token }}
84
-
85
- id: ${{ id }}
86
- roles: []
87
- """
88
- When the following request is received:
89
- """
90
- POST /orders/${{ id }}/ HTTP/1.1
91
- host: nex.toa.io
92
- authorization: Token ${{ token }}
93
- content-type: application/yaml
94
-
95
- title: Kettle
96
- volume: 2
97
- """
98
- Then the following reply is sent:
99
- """
100
- 201 Created
101
- ray:
102
- """
103
-
104
- Scenario: Invalid `traceparent` starts a new trace
105
- When the following request is received:
106
- """
107
- POST /pots/ HTTP/1.1
108
- host: nex.toa.io
109
- content-type: application/yaml
110
- traceparent: not-a-valid-traceparent
111
-
112
- title: Hello
113
- volume: 1.5
114
- """
115
- Then the following reply is sent:
116
- """
117
- 201 Created
118
- ray:
119
- """
120
- And the reply does not contain:
121
- """
122
- ray: 0af7651916cd43dd8448eb211c80319c
123
- """
@@ -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
- }