@toa.io/extensions.exposition 1.0.0-alpha.276 → 1.0.0-alpha.277

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 (827) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/components/exposition.atom/operations/meter.js +1 -3
  3. package/components/exposition.octets/operations/delete.js +1 -3
  4. package/components/exposition.octets/operations/get.js +1 -3
  5. package/components/exposition.octets/operations/head.js +1 -3
  6. package/components/exposition.octets/operations/put.js +6 -6
  7. package/components/identity.bans/operations/transit.js +1 -5
  8. package/components/identity.bans/operations/transit.js.map +1 -1
  9. package/components/identity.bans/tsconfig.json +1 -0
  10. package/components/identity.bans/tsconfig.tsbuildinfo +1 -0
  11. package/components/identity.basic/events/principal.js +2 -4
  12. package/components/identity.basic/operations/add.d.ts +1 -1
  13. package/components/identity.basic/operations/add.js +1 -5
  14. package/components/identity.basic/operations/add.js.map +1 -1
  15. package/components/identity.basic/operations/authenticate.d.ts +1 -1
  16. package/components/identity.basic/operations/authenticate.js +3 -7
  17. package/components/identity.basic/operations/authenticate.js.map +1 -1
  18. package/components/identity.basic/operations/check.d.ts +1 -1
  19. package/components/identity.basic/operations/check.js +1 -5
  20. package/components/identity.basic/operations/check.js.map +1 -1
  21. package/components/identity.basic/operations/delete.d.ts +1 -1
  22. package/components/identity.basic/operations/delete.js +1 -5
  23. package/components/identity.basic/operations/delete.js.map +1 -1
  24. package/components/identity.basic/operations/incept.d.ts +1 -1
  25. package/components/identity.basic/operations/incept.js +1 -5
  26. package/components/identity.basic/operations/incept.js.map +1 -1
  27. package/components/identity.basic/operations/info.d.ts +1 -1
  28. package/components/identity.basic/operations/info.js +1 -5
  29. package/components/identity.basic/operations/info.js.map +1 -1
  30. package/components/identity.basic/operations/transit.d.ts +1 -1
  31. package/components/identity.basic/operations/transit.js +4 -8
  32. package/components/identity.basic/operations/transit.js.map +1 -1
  33. package/components/identity.basic/operations/types.js +1 -2
  34. package/components/identity.basic/source/add.ts +1 -1
  35. package/components/identity.basic/source/authenticate.ts +1 -1
  36. package/components/identity.basic/source/check.ts +1 -1
  37. package/components/identity.basic/source/delete.ts +1 -1
  38. package/components/identity.basic/source/incept.ts +1 -1
  39. package/components/identity.basic/source/info.ts +1 -1
  40. package/components/identity.basic/source/transit.ts +1 -1
  41. package/components/identity.basic/tsconfig.json +1 -0
  42. package/components/identity.basic/tsconfig.tsbuildinfo +1 -0
  43. package/components/identity.credentials/operations/list.js +1 -5
  44. package/components/identity.credentials/operations/list.js.map +1 -1
  45. package/components/identity.credentials/source/list.test.ts +12 -8
  46. package/components/identity.credentials/tsconfig.json +2 -1
  47. package/components/identity.credentials/tsconfig.tsbuildinfo +1 -0
  48. package/components/identity.federation/events/principal.js +5 -7
  49. package/components/identity.federation/operations/authenticate.d.ts +1 -1
  50. package/components/identity.federation/operations/authenticate.js +5 -9
  51. package/components/identity.federation/operations/authenticate.js.map +1 -1
  52. package/components/identity.federation/operations/create.d.ts +1 -1
  53. package/components/identity.federation/operations/create.js +3 -7
  54. package/components/identity.federation/operations/create.js.map +1 -1
  55. package/components/identity.federation/operations/decode.d.ts +1 -1
  56. package/components/identity.federation/operations/decode.js +3 -7
  57. package/components/identity.federation/operations/decode.js.map +1 -1
  58. package/components/identity.federation/operations/delete.d.ts +1 -1
  59. package/components/identity.federation/operations/delete.js +1 -5
  60. package/components/identity.federation/operations/delete.js.map +1 -1
  61. package/components/identity.federation/operations/incept.d.ts +1 -1
  62. package/components/identity.federation/operations/incept.js +3 -7
  63. package/components/identity.federation/operations/incept.js.map +1 -1
  64. package/components/identity.federation/operations/lib/Configuration.js +1 -2
  65. package/components/identity.federation/operations/lib/Ctx.d.ts +2 -2
  66. package/components/identity.federation/operations/lib/Ctx.js +1 -2
  67. package/components/identity.federation/operations/lib/Payload.js +1 -2
  68. package/components/identity.federation/operations/lib/decode.d.ts +2 -2
  69. package/components/identity.federation/operations/lib/decode.js +9 -13
  70. package/components/identity.federation/operations/lib/decode.js.map +1 -1
  71. package/components/identity.federation/operations/lib/discovery.d.ts +2 -2
  72. package/components/identity.federation/operations/lib/discovery.js +4 -9
  73. package/components/identity.federation/operations/lib/discovery.js.map +1 -1
  74. package/components/identity.federation/operations/lib/errors.d.ts +10 -10
  75. package/components/identity.federation/operations/lib/errors.js +10 -13
  76. package/components/identity.federation/operations/lib/errors.js.map +1 -1
  77. package/components/identity.federation/operations/lib/exchange.d.ts +2 -2
  78. package/components/identity.federation/operations/lib/exchange.js +8 -35
  79. package/components/identity.federation/operations/lib/exchange.js.map +1 -1
  80. package/components/identity.federation/operations/lib/index.d.ts +4 -4
  81. package/components/identity.federation/operations/lib/index.js +3 -9
  82. package/components/identity.federation/operations/lib/index.js.map +1 -1
  83. package/components/identity.federation/operations/lib/jose.d.ts +1 -41
  84. package/components/identity.federation/operations/lib/jose.js +1 -26
  85. package/components/identity.federation/operations/lib/jose.js.map +1 -1
  86. package/components/identity.federation/operations/lib/resolve.d.ts +2 -2
  87. package/components/identity.federation/operations/lib/resolve.js +5 -9
  88. package/components/identity.federation/operations/lib/resolve.js.map +1 -1
  89. package/components/identity.federation/operations/list.d.ts +1 -1
  90. package/components/identity.federation/operations/list.js +1 -5
  91. package/components/identity.federation/operations/list.js.map +1 -1
  92. package/components/identity.federation/operations/types/Scheme.js +1 -2
  93. package/components/identity.federation/operations/types/configuration.js +1 -2
  94. package/components/identity.federation/operations/types/context.d.ts +2 -2
  95. package/components/identity.federation/operations/types/context.js +1 -2
  96. package/components/identity.federation/operations/types/entity.js +1 -2
  97. package/components/identity.federation/operations/types/index.d.ts +4 -4
  98. package/components/identity.federation/operations/types/index.js +4 -20
  99. package/components/identity.federation/operations/types/index.js.map +1 -1
  100. package/components/identity.federation/source/authenticate.ts +2 -2
  101. package/components/identity.federation/source/create.ts +2 -2
  102. package/components/identity.federation/source/decode.ts +2 -2
  103. package/components/identity.federation/source/delete.ts +1 -1
  104. package/components/identity.federation/source/incept.ts +2 -2
  105. package/components/identity.federation/source/lib/Ctx.ts +2 -2
  106. package/components/identity.federation/source/lib/decode.ts +5 -5
  107. package/components/identity.federation/source/lib/discovery.test.ts +17 -12
  108. package/components/identity.federation/source/lib/discovery.ts +3 -3
  109. package/components/identity.federation/source/lib/exchange.ts +6 -6
  110. package/components/identity.federation/source/lib/index.ts +4 -4
  111. package/components/identity.federation/source/lib/jose.js +1 -5
  112. package/components/identity.federation/source/lib/resolve.ts +5 -5
  113. package/components/identity.federation/source/list.test.ts +9 -6
  114. package/components/identity.federation/source/list.ts +1 -1
  115. package/components/identity.federation/source/types/context.ts +2 -2
  116. package/components/identity.federation/source/types/index.ts +4 -4
  117. package/components/identity.federation/tsconfig.json +2 -1
  118. package/components/identity.federation/tsconfig.tsbuildinfo +1 -0
  119. package/components/identity.keys/operations/create.js +3 -7
  120. package/components/identity.keys/operations/create.js.map +1 -1
  121. package/components/identity.keys/tsconfig.json +1 -0
  122. package/components/identity.keys/tsconfig.tsbuildinfo +1 -0
  123. package/components/identity.otp/operations/authenticate.d.ts +1 -1
  124. package/components/identity.otp/operations/authenticate.js +1 -5
  125. package/components/identity.otp/operations/authenticate.js.map +1 -1
  126. package/components/identity.otp/operations/issue.d.ts +1 -1
  127. package/components/identity.otp/operations/issue.js +1 -5
  128. package/components/identity.otp/operations/issue.js.map +1 -1
  129. package/components/identity.otp/operations/lib/Context.d.ts +1 -1
  130. package/components/identity.otp/operations/lib/Context.js +1 -2
  131. package/components/identity.otp/operations/lib/Entity.js +1 -2
  132. package/components/identity.otp/operations/lib/index.d.ts +1 -1
  133. package/components/identity.otp/operations/lib/index.js +1 -2
  134. package/components/identity.otp/source/authenticate.ts +1 -1
  135. package/components/identity.otp/source/issue.ts +1 -1
  136. package/components/identity.otp/source/lib/Context.ts +1 -1
  137. package/components/identity.otp/source/lib/index.ts +1 -1
  138. package/components/identity.otp/tsconfig.json +1 -0
  139. package/components/identity.otp/tsconfig.tsbuildinfo +1 -0
  140. package/components/identity.passkeys/operations/authenticate.d.ts +1 -1
  141. package/components/identity.passkeys/operations/authenticate.js +1 -5
  142. package/components/identity.passkeys/operations/authenticate.js.map +1 -1
  143. package/components/identity.passkeys/operations/challenge.d.ts +1 -1
  144. package/components/identity.passkeys/operations/challenge.js +7 -11
  145. package/components/identity.passkeys/operations/challenge.js.map +1 -1
  146. package/components/identity.passkeys/operations/create.d.ts +1 -1
  147. package/components/identity.passkeys/operations/create.js +3 -7
  148. package/components/identity.passkeys/operations/create.js.map +1 -1
  149. package/components/identity.passkeys/operations/delete.d.ts +1 -1
  150. package/components/identity.passkeys/operations/delete.js +1 -5
  151. package/components/identity.passkeys/operations/delete.js.map +1 -1
  152. package/components/identity.passkeys/operations/lib/const.js +1 -4
  153. package/components/identity.passkeys/operations/lib/const.js.map +1 -1
  154. package/components/identity.passkeys/operations/list.d.ts +1 -1
  155. package/components/identity.passkeys/operations/list.js +3 -7
  156. package/components/identity.passkeys/operations/list.js.map +1 -1
  157. package/components/identity.passkeys/operations/types/Configuration.js +1 -2
  158. package/components/identity.passkeys/operations/types/Context.d.ts +3 -3
  159. package/components/identity.passkeys/operations/types/Context.js +1 -2
  160. package/components/identity.passkeys/operations/types/Passkey.d.ts +1 -2
  161. package/components/identity.passkeys/operations/types/Passkey.js +1 -2
  162. package/components/identity.passkeys/operations/types/index.d.ts +2 -2
  163. package/components/identity.passkeys/operations/types/index.js +1 -2
  164. package/components/identity.passkeys/operations/use.d.ts +1 -1
  165. package/components/identity.passkeys/operations/use.js +3 -7
  166. package/components/identity.passkeys/operations/use.js.map +1 -1
  167. package/components/identity.passkeys/source/authenticate.ts +1 -1
  168. package/components/identity.passkeys/source/challenge.ts +2 -2
  169. package/components/identity.passkeys/source/create.ts +1 -1
  170. package/components/identity.passkeys/source/delete.ts +1 -1
  171. package/components/identity.passkeys/source/list.ts +2 -2
  172. package/components/identity.passkeys/source/types/Context.ts +3 -3
  173. package/components/identity.passkeys/source/types/Passkey.ts +1 -3
  174. package/components/identity.passkeys/source/types/index.ts +2 -2
  175. package/components/identity.passkeys/source/use.ts +1 -1
  176. package/components/identity.passkeys/tsconfig.json +1 -0
  177. package/components/identity.passkeys/tsconfig.tsbuildinfo +1 -0
  178. package/components/identity.roles/operations/grant.d.ts +1 -1
  179. package/components/identity.roles/operations/grant.js +1 -5
  180. package/components/identity.roles/operations/grant.js.map +1 -1
  181. package/components/identity.roles/operations/lib/Entity.js +1 -2
  182. package/components/identity.roles/operations/list.d.ts +1 -1
  183. package/components/identity.roles/operations/list.js +1 -5
  184. package/components/identity.roles/operations/list.js.map +1 -1
  185. package/components/identity.roles/operations/principal.d.ts +2 -2
  186. package/components/identity.roles/operations/principal.js +1 -5
  187. package/components/identity.roles/operations/principal.js.map +1 -1
  188. package/components/identity.roles/receivers/identity.federation.principal.js +1 -3
  189. package/components/identity.roles/source/grant.ts +1 -1
  190. package/components/identity.roles/source/list.ts +1 -1
  191. package/components/identity.roles/source/principal.ts +2 -2
  192. package/components/identity.roles/tsconfig.json +1 -0
  193. package/components/identity.roles/tsconfig.tsbuildinfo +1 -0
  194. package/components/identity.tokens/operations/authenticate.d.ts +1 -1
  195. package/components/identity.tokens/operations/authenticate.js +1 -5
  196. package/components/identity.tokens/operations/authenticate.js.map +1 -1
  197. package/components/identity.tokens/operations/decrypt.d.ts +1 -1
  198. package/components/identity.tokens/operations/decrypt.js +15 -14
  199. package/components/identity.tokens/operations/decrypt.js.map +1 -1
  200. package/components/identity.tokens/operations/encrypt.d.ts +1 -1
  201. package/components/identity.tokens/operations/encrypt.js +5 -9
  202. package/components/identity.tokens/operations/encrypt.js.map +1 -1
  203. package/components/identity.tokens/operations/issue.d.ts +1 -1
  204. package/components/identity.tokens/operations/issue.js +1 -5
  205. package/components/identity.tokens/operations/issue.js.map +1 -1
  206. package/components/identity.tokens/operations/lib/index.d.ts +3 -3
  207. package/components/identity.tokens/operations/lib/index.js +3 -21
  208. package/components/identity.tokens/operations/lib/index.js.map +1 -1
  209. package/components/identity.tokens/operations/lib/jose.d.ts +1 -41
  210. package/components/identity.tokens/operations/lib/jose.js +1 -26
  211. package/components/identity.tokens/operations/lib/jose.js.map +1 -1
  212. package/components/identity.tokens/operations/lib/key.js +1 -5
  213. package/components/identity.tokens/operations/lib/key.js.map +1 -1
  214. package/components/identity.tokens/operations/lib/pad.js +1 -4
  215. package/components/identity.tokens/operations/lib/pad.js.map +1 -1
  216. package/components/identity.tokens/operations/lib/types.js +1 -2
  217. package/components/identity.tokens/operations/revoke.d.ts +1 -1
  218. package/components/identity.tokens/operations/revoke.js +1 -5
  219. package/components/identity.tokens/operations/revoke.js.map +1 -1
  220. package/components/identity.tokens/receivers/identity.bans.created.js +1 -3
  221. package/components/identity.tokens/receivers/identity.bans.updated.js +1 -3
  222. package/components/identity.tokens/source/authenticate.test.ts +14 -10
  223. package/components/identity.tokens/source/authenticate.ts +1 -1
  224. package/components/identity.tokens/source/decrypt.test.ts +25 -17
  225. package/components/identity.tokens/source/decrypt.ts +12 -5
  226. package/components/identity.tokens/source/encrypt.test.ts +14 -10
  227. package/components/identity.tokens/source/encrypt.ts +3 -3
  228. package/components/identity.tokens/source/issue.ts +1 -1
  229. package/components/identity.tokens/source/lib/index.ts +3 -3
  230. package/components/identity.tokens/source/lib/jose.js +1 -5
  231. package/components/identity.tokens/source/lib/paseto.test.ts +45 -10
  232. package/components/identity.tokens/source/revoke.ts +1 -1
  233. package/components/identity.tokens/tsconfig.json +1 -0
  234. package/components/identity.tokens/tsconfig.tsbuildinfo +1 -0
  235. package/cucumber.mjs +4 -0
  236. package/features/steps/Captures.ts +3 -1
  237. package/features/steps/Common.ts +4 -2
  238. package/features/steps/Components.ts +10 -4
  239. package/features/steps/Database.ts +4 -1
  240. package/features/steps/Gateway.ts +10 -7
  241. package/features/steps/HTTP.ts +8 -5
  242. package/features/steps/IDP.ts +5 -2
  243. package/features/steps/Identity.ts +7 -4
  244. package/features/steps/OTP.ts +5 -2
  245. package/features/steps/Parameters.ts +1 -1
  246. package/features/steps/Probe.ts +4 -2
  247. package/features/steps/Realtime.ts +8 -5
  248. package/features/steps/Workspace.ts +1 -1
  249. package/features/steps/components/audit/operations/record.js +1 -5
  250. package/features/steps/components/echo/operations/affect.js +1 -5
  251. package/features/steps/components/echo/operations/compute.js +1 -5
  252. package/features/steps/components/echo/operations/echo.js +1 -5
  253. package/features/steps/components/echo/operations/error.js +1 -5
  254. package/features/steps/components/echo/operations/identity.js +1 -5
  255. package/features/steps/components/echo/operations/parameters.js +1 -5
  256. package/features/steps/components/echo/operations/ping.js +1 -5
  257. package/features/steps/components/echo/operations/unwrap.js +1 -5
  258. package/features/steps/components/echo.beacon/operations/hello.js +1 -3
  259. package/features/steps/components/greeter/operations/greet.js +1 -5
  260. package/features/steps/components/notify/operations/send.js +1 -5
  261. package/features/steps/components/octets.tester/operations/authority.js +1 -5
  262. package/features/steps/components/octets.tester/operations/bar.js +1 -3
  263. package/features/steps/components/octets.tester/operations/baz.js +1 -3
  264. package/features/steps/components/octets.tester/operations/concat.js +1 -3
  265. package/features/steps/components/octets.tester/operations/echo.js +1 -3
  266. package/features/steps/components/octets.tester/operations/err.js +1 -3
  267. package/features/steps/components/octets.tester/operations/foo.js +1 -3
  268. package/features/steps/components/octets.tester/operations/id.js +1 -3
  269. package/features/steps/components/octets.tester/operations/identity.js +1 -3
  270. package/features/steps/components/octets.tester/operations/redirect.js +1 -3
  271. package/features/steps/components/octets.tester/operations/yex.js +1 -3
  272. package/features/steps/components/octets.tester/operations/yield.js +1 -3
  273. package/features/steps/components/orders/operations/create.js +1 -5
  274. package/features/steps/components/pricing/operations/quote.js +1 -5
  275. package/features/steps/components/sequences/operations/numbers.js +1 -3
  276. package/features/steps/components/sequences/operations/tokens.js +2 -4
  277. package/features/steps/components/users/operations/create.js +1 -5
  278. package/features/steps/map.ts +5 -1
  279. package/package.json +16 -22
  280. package/source/Annotation.ts +1 -1
  281. package/source/Branch.test.ts +10 -7
  282. package/source/Branch.ts +2 -2
  283. package/source/Composition.ts +2 -2
  284. package/source/Context.ts +1 -1
  285. package/source/Directive.test.ts +52 -40
  286. package/source/Directive.ts +4 -4
  287. package/source/Endpoint.ts +6 -6
  288. package/source/Factory.ts +18 -18
  289. package/source/Gateway.ts +7 -7
  290. package/source/HTTP/Context.ts +5 -5
  291. package/source/HTTP/Server.ts +6 -6
  292. package/source/HTTP/Timing.ts +1 -1
  293. package/source/HTTP/formats/index.ts +4 -4
  294. package/source/HTTP/formats/yaml.test.ts +6 -4
  295. package/source/HTTP/formats/yaml.ts +1 -1
  296. package/source/HTTP/index.ts +6 -6
  297. package/source/HTTP/messages.test.ts +29 -16
  298. package/source/HTTP/messages.ts +6 -5
  299. package/source/Interception.ts +1 -1
  300. package/source/Mapping.ts +6 -6
  301. package/source/Query.test.ts +8 -5
  302. package/source/Query.ts +6 -6
  303. package/source/RTD/Context.ts +3 -3
  304. package/source/RTD/Directives.ts +4 -4
  305. package/source/RTD/Endpoint.ts +4 -4
  306. package/source/RTD/Match.ts +1 -1
  307. package/source/RTD/Method.ts +3 -3
  308. package/source/RTD/Node.ts +3 -3
  309. package/source/RTD/Route.ts +3 -3
  310. package/source/RTD/Tree.ts +8 -8
  311. package/source/RTD/expiration.test.ts +20 -17
  312. package/source/RTD/factory.ts +7 -7
  313. package/source/RTD/index.ts +8 -8
  314. package/source/RTD/segment.test.ts +13 -10
  315. package/source/RTD/syntax/index.ts +2 -2
  316. package/source/RTD/syntax/parse.test.ts +30 -28
  317. package/source/RTD/syntax/parse.ts +2 -2
  318. package/source/Remotes.test.ts +27 -14
  319. package/source/Remotes.ts +1 -1
  320. package/source/Tenant.ts +3 -3
  321. package/source/deployment.ts +8 -7
  322. package/source/directives/auth/Anonymous.ts +1 -1
  323. package/source/directives/auth/Anyone.ts +1 -1
  324. package/source/directives/auth/Assert.ts +3 -3
  325. package/source/directives/auth/Authorization.ts +19 -19
  326. package/source/directives/auth/Delegate.ts +3 -3
  327. package/source/directives/auth/Echo.ts +3 -3
  328. package/source/directives/auth/Federation.ts +2 -2
  329. package/source/directives/auth/Id.ts +2 -2
  330. package/source/directives/auth/Incept.ts +6 -6
  331. package/source/directives/auth/Input.ts +3 -3
  332. package/source/directives/auth/Role.test.ts +32 -19
  333. package/source/directives/auth/Role.ts +2 -2
  334. package/source/directives/auth/Rule.ts +2 -2
  335. package/source/directives/auth/Scheme.ts +3 -3
  336. package/source/directives/auth/create.ts +1 -1
  337. package/source/directives/auth/index.ts +1 -1
  338. package/source/directives/auth/schemes.ts +1 -1
  339. package/source/directives/auth/split.ts +2 -2
  340. package/source/directives/auth/types.ts +3 -3
  341. package/source/directives/cache/Cache.ts +6 -6
  342. package/source/directives/cache/Control.ts +1 -1
  343. package/source/directives/cache/Exact.ts +1 -1
  344. package/source/directives/cache/index.ts +1 -1
  345. package/source/directives/cache/types.ts +1 -1
  346. package/source/directives/cors/CORS.ts +2 -2
  347. package/source/directives/cors/index.ts +1 -1
  348. package/source/directives/dev/Development.ts +7 -7
  349. package/source/directives/dev/Faulty.ts +4 -4
  350. package/source/directives/dev/Sleep.ts +5 -5
  351. package/source/directives/dev/Stub.ts +2 -2
  352. package/source/directives/dev/Throw.ts +2 -2
  353. package/source/directives/dev/index.ts +1 -1
  354. package/source/directives/dev/types.ts +1 -1
  355. package/source/directives/flow/Compose.ts +3 -3
  356. package/source/directives/flow/Fetch.ts +6 -6
  357. package/source/directives/flow/Flow.ts +6 -6
  358. package/source/directives/flow/index.ts +1 -1
  359. package/source/directives/flow/types.ts +2 -2
  360. package/source/directives/index.ts +11 -11
  361. package/source/directives/io/Directive.ts +4 -4
  362. package/source/directives/io/IO.ts +8 -8
  363. package/source/directives/io/Input.ts +5 -5
  364. package/source/directives/io/Output.ts +5 -5
  365. package/source/directives/io/Throttle.ts +6 -6
  366. package/source/directives/io/index.ts +1 -1
  367. package/source/directives/io/lib/throttle/Configuration.test.ts +10 -7
  368. package/source/directives/io/lib/throttle/Keys.ts +5 -5
  369. package/source/directives/io/lib/throttle/Quotas.test.ts +48 -45
  370. package/source/directives/io/lib/throttle/Quotas.ts +5 -5
  371. package/source/directives/io/lib/throttle/Sync.test.ts +28 -20
  372. package/source/directives/io/lib/throttle/Sync.ts +1 -1
  373. package/source/directives/io/lib/throttle/components/Component.ts +2 -2
  374. package/source/directives/io/lib/throttle/components/IP.ts +2 -2
  375. package/source/directives/io/lib/throttle/components/Identity.ts +2 -2
  376. package/source/directives/io/lib/throttle/components/Path.ts +2 -2
  377. package/source/directives/io/lib/throttle/components/Route.ts +1 -1
  378. package/source/directives/io/lib/throttle/components/Segment.ts +3 -3
  379. package/source/directives/io/lib/throttle/components/index.ts +7 -7
  380. package/source/directives/io/lib/throttle/conditions/Condition.ts +1 -1
  381. package/source/directives/io/lib/throttle/conditions/Status.ts +2 -2
  382. package/source/directives/io/lib/throttle/conditions/index.ts +3 -3
  383. package/source/directives/io/lib/throttle/index.ts +3 -3
  384. package/source/directives/io/schemas.test.ts +12 -9
  385. package/source/directives/io/schemas.ts +7 -6
  386. package/source/directives/map/Authority.ts +2 -2
  387. package/source/directives/map/Buffer.ts +2 -2
  388. package/source/directives/map/Claims.ts +3 -3
  389. package/source/directives/map/Directive.ts +2 -2
  390. package/source/directives/map/Headers.ts +3 -3
  391. package/source/directives/map/Language.ts +6 -6
  392. package/source/directives/map/Languages.ts +1 -1
  393. package/source/directives/map/Map.ts +14 -14
  394. package/source/directives/map/Mapping.ts +4 -4
  395. package/source/directives/map/Segments.ts +2 -2
  396. package/source/directives/map/index.ts +1 -1
  397. package/source/directives/octets/Context.ts +2 -2
  398. package/source/directives/octets/Delete.ts +9 -9
  399. package/source/directives/octets/Directive.ts +3 -3
  400. package/source/directives/octets/Get.ts +5 -5
  401. package/source/directives/octets/Octets.ts +11 -11
  402. package/source/directives/octets/Put.ts +11 -11
  403. package/source/directives/octets/Workflow.ts +9 -9
  404. package/source/directives/octets/bytes.test.ts +21 -18
  405. package/source/directives/octets/index.ts +1 -1
  406. package/source/directives/octets/schemas.test.ts +10 -5
  407. package/source/directives/octets/schemas.ts +6 -6
  408. package/source/directives/octets/types.ts +2 -2
  409. package/source/directives/octets/workflows/Execution.ts +2 -2
  410. package/source/directives/octets/workflows/Workflow.ts +4 -4
  411. package/source/directives/octets/workflows/index.ts +1 -1
  412. package/source/directives/require/Directive.ts +1 -1
  413. package/source/directives/require/Headers.ts +3 -3
  414. package/source/directives/require/Require.ts +4 -4
  415. package/source/directives/require/index.ts +1 -1
  416. package/source/exceptions.ts +2 -2
  417. package/source/index.ts +5 -5
  418. package/source/io.ts +1 -1
  419. package/source/manifest.test.ts +12 -10
  420. package/source/manifest.ts +3 -3
  421. package/source/root.ts +1 -1
  422. package/source/schemas.ts +5 -5
  423. package/transpiled/Annotation.d.ts +1 -1
  424. package/transpiled/Annotation.js +1 -2
  425. package/transpiled/Branch.d.ts +2 -2
  426. package/transpiled/Branch.js +1 -5
  427. package/transpiled/Branch.js.map +1 -1
  428. package/transpiled/Composition.d.ts +1 -1
  429. package/transpiled/Composition.js +9 -14
  430. package/transpiled/Composition.js.map +1 -1
  431. package/transpiled/Context.d.ts +1 -1
  432. package/transpiled/Context.js +1 -2
  433. package/transpiled/Directive.d.ts +4 -4
  434. package/transpiled/Directive.js +6 -11
  435. package/transpiled/Directive.js.map +1 -1
  436. package/transpiled/Endpoint.d.ts +6 -6
  437. package/transpiled/Endpoint.js +10 -38
  438. package/transpiled/Endpoint.js.map +1 -1
  439. package/transpiled/Factory.d.ts +3 -3
  440. package/transpiled/Factory.js +31 -61
  441. package/transpiled/Factory.js.map +1 -1
  442. package/transpiled/Gateway.d.ts +4 -4
  443. package/transpiled/Gateway.js +25 -55
  444. package/transpiled/Gateway.js.map +1 -1
  445. package/transpiled/HTTP/Context.d.ts +4 -6
  446. package/transpiled/HTTP/Context.js +15 -22
  447. package/transpiled/HTTP/Context.js.map +1 -1
  448. package/transpiled/HTTP/Probe.js +8 -35
  449. package/transpiled/HTTP/Probe.js.map +1 -1
  450. package/transpiled/HTTP/Server.d.ts +3 -3
  451. package/transpiled/HTTP/Server.js +53 -83
  452. package/transpiled/HTTP/Server.js.map +1 -1
  453. package/transpiled/HTTP/Timing.d.ts +1 -1
  454. package/transpiled/HTTP/Timing.js +6 -10
  455. package/transpiled/HTTP/Timing.js.map +1 -1
  456. package/transpiled/HTTP/exceptions.js +15 -33
  457. package/transpiled/HTTP/exceptions.js.map +1 -1
  458. package/transpiled/HTTP/formats/index.d.ts +0 -2
  459. package/transpiled/HTTP/formats/index.js +6 -32
  460. package/transpiled/HTTP/formats/index.js.map +1 -1
  461. package/transpiled/HTTP/formats/json.d.ts +0 -2
  462. package/transpiled/HTTP/formats/json.js +4 -9
  463. package/transpiled/HTTP/formats/json.js.map +1 -1
  464. package/transpiled/HTTP/formats/msgpack.d.ts +0 -2
  465. package/transpiled/HTTP/formats/msgpack.js +7 -12
  466. package/transpiled/HTTP/formats/msgpack.js.map +1 -1
  467. package/transpiled/HTTP/formats/text.d.ts +0 -2
  468. package/transpiled/HTTP/formats/text.js +4 -9
  469. package/transpiled/HTTP/formats/text.js.map +1 -1
  470. package/transpiled/HTTP/formats/yaml.d.ts +0 -2
  471. package/transpiled/HTTP/formats/yaml.js +5 -33
  472. package/transpiled/HTTP/formats/yaml.js.map +1 -1
  473. package/transpiled/HTTP/index.d.ts +6 -6
  474. package/transpiled/HTTP/index.js +6 -22
  475. package/transpiled/HTTP/index.js.map +1 -1
  476. package/transpiled/HTTP/messages.d.ts +2 -3
  477. package/transpiled/HTTP/messages.js +29 -57
  478. package/transpiled/HTTP/messages.js.map +1 -1
  479. package/transpiled/HTTP/types.d.ts +0 -3
  480. package/transpiled/HTTP/types.js +1 -2
  481. package/transpiled/Interception.d.ts +1 -1
  482. package/transpiled/Interception.js +1 -5
  483. package/transpiled/Interception.js.map +1 -1
  484. package/transpiled/Introspection.js +1 -2
  485. package/transpiled/Mapping.d.ts +6 -6
  486. package/transpiled/Mapping.js +4 -9
  487. package/transpiled/Mapping.js.map +1 -1
  488. package/transpiled/Query.d.ts +4 -4
  489. package/transpiled/Query.js +8 -38
  490. package/transpiled/Query.js.map +1 -1
  491. package/transpiled/RTD/Context.d.ts +3 -3
  492. package/transpiled/RTD/Context.js +1 -2
  493. package/transpiled/RTD/Directives.d.ts +4 -4
  494. package/transpiled/RTD/Directives.js +1 -2
  495. package/transpiled/RTD/Endpoint.d.ts +4 -4
  496. package/transpiled/RTD/Endpoint.js +1 -2
  497. package/transpiled/RTD/Match.d.ts +1 -1
  498. package/transpiled/RTD/Match.js +1 -2
  499. package/transpiled/RTD/Method.d.ts +3 -3
  500. package/transpiled/RTD/Method.js +1 -5
  501. package/transpiled/RTD/Method.js.map +1 -1
  502. package/transpiled/RTD/Node.d.ts +3 -3
  503. package/transpiled/RTD/Node.js +1 -5
  504. package/transpiled/RTD/Node.js.map +1 -1
  505. package/transpiled/RTD/Route.d.ts +3 -3
  506. package/transpiled/RTD/Route.js +1 -5
  507. package/transpiled/RTD/Route.js.map +1 -1
  508. package/transpiled/RTD/Tree.d.ts +5 -5
  509. package/transpiled/RTD/Tree.js +6 -10
  510. package/transpiled/RTD/Tree.js.map +1 -1
  511. package/transpiled/RTD/factory.d.ts +3 -3
  512. package/transpiled/RTD/factory.js +13 -18
  513. package/transpiled/RTD/factory.js.map +1 -1
  514. package/transpiled/RTD/index.d.ts +8 -8
  515. package/transpiled/RTD/index.js +8 -37
  516. package/transpiled/RTD/index.js.map +1 -1
  517. package/transpiled/RTD/segment.js +2 -7
  518. package/transpiled/RTD/segment.js.map +1 -1
  519. package/transpiled/RTD/syntax/index.d.ts +2 -2
  520. package/transpiled/RTD/syntax/index.js +2 -18
  521. package/transpiled/RTD/syntax/index.js.map +1 -1
  522. package/transpiled/RTD/syntax/parse.d.ts +1 -1
  523. package/transpiled/RTD/syntax/parse.js +5 -33
  524. package/transpiled/RTD/syntax/parse.js.map +1 -1
  525. package/transpiled/RTD/syntax/types.js +1 -4
  526. package/transpiled/RTD/syntax/types.js.map +1 -1
  527. package/transpiled/Remotes.d.ts +1 -1
  528. package/transpiled/Remotes.js +3 -7
  529. package/transpiled/Remotes.js.map +1 -1
  530. package/transpiled/Tenant.d.ts +2 -2
  531. package/transpiled/Tenant.js +6 -10
  532. package/transpiled/Tenant.js.map +1 -1
  533. package/transpiled/const.js +1 -4
  534. package/transpiled/const.js.map +1 -1
  535. package/transpiled/deployment.d.ts +1 -1
  536. package/transpiled/deployment.js +15 -44
  537. package/transpiled/deployment.js.map +1 -1
  538. package/transpiled/directives/auth/Anonymous.d.ts +1 -1
  539. package/transpiled/directives/auth/Anonymous.js +1 -5
  540. package/transpiled/directives/auth/Anonymous.js.map +1 -1
  541. package/transpiled/directives/auth/Anyone.d.ts +1 -1
  542. package/transpiled/directives/auth/Anyone.js +1 -5
  543. package/transpiled/directives/auth/Anyone.js.map +1 -1
  544. package/transpiled/directives/auth/Assert.d.ts +1 -1
  545. package/transpiled/directives/auth/Assert.js +7 -37
  546. package/transpiled/directives/auth/Assert.js.map +1 -1
  547. package/transpiled/directives/auth/Authorization.d.ts +5 -5
  548. package/transpiled/directives/auth/Authorization.js +41 -71
  549. package/transpiled/directives/auth/Authorization.js.map +1 -1
  550. package/transpiled/directives/auth/Delegate.d.ts +1 -1
  551. package/transpiled/directives/auth/Delegate.js +5 -9
  552. package/transpiled/directives/auth/Delegate.js.map +1 -1
  553. package/transpiled/directives/auth/Echo.d.ts +2 -2
  554. package/transpiled/directives/auth/Echo.js +3 -7
  555. package/transpiled/directives/auth/Echo.js.map +1 -1
  556. package/transpiled/directives/auth/Federation.d.ts +2 -2
  557. package/transpiled/directives/auth/Federation.js +3 -10
  558. package/transpiled/directives/auth/Federation.js.map +1 -1
  559. package/transpiled/directives/auth/Id.d.ts +2 -2
  560. package/transpiled/directives/auth/Id.js +1 -5
  561. package/transpiled/directives/auth/Id.js.map +1 -1
  562. package/transpiled/directives/auth/Incept.d.ts +2 -2
  563. package/transpiled/directives/auth/Incept.js +16 -46
  564. package/transpiled/directives/auth/Incept.js.map +1 -1
  565. package/transpiled/directives/auth/Input.d.ts +2 -2
  566. package/transpiled/directives/auth/Input.js +3 -7
  567. package/transpiled/directives/auth/Input.js.map +1 -1
  568. package/transpiled/directives/auth/Role.d.ts +2 -2
  569. package/transpiled/directives/auth/Role.js +3 -10
  570. package/transpiled/directives/auth/Role.js.map +1 -1
  571. package/transpiled/directives/auth/Rule.d.ts +2 -2
  572. package/transpiled/directives/auth/Rule.js +1 -5
  573. package/transpiled/directives/auth/Rule.js.map +1 -1
  574. package/transpiled/directives/auth/Scheme.d.ts +1 -1
  575. package/transpiled/directives/auth/Scheme.js +4 -31
  576. package/transpiled/directives/auth/Scheme.js.map +1 -1
  577. package/transpiled/directives/auth/create.d.ts +1 -1
  578. package/transpiled/directives/auth/create.js +3 -7
  579. package/transpiled/directives/auth/create.js.map +1 -1
  580. package/transpiled/directives/auth/index.d.ts +1 -1
  581. package/transpiled/directives/auth/index.js +2 -5
  582. package/transpiled/directives/auth/index.js.map +1 -1
  583. package/transpiled/directives/auth/schemes.d.ts +1 -1
  584. package/transpiled/directives/auth/schemes.js +3 -6
  585. package/transpiled/directives/auth/schemes.js.map +1 -1
  586. package/transpiled/directives/auth/split.d.ts +1 -1
  587. package/transpiled/directives/auth/split.js +2 -29
  588. package/transpiled/directives/auth/split.js.map +1 -1
  589. package/transpiled/directives/auth/types.d.ts +3 -3
  590. package/transpiled/directives/auth/types.js +1 -2
  591. package/transpiled/directives/cache/Cache.d.ts +4 -4
  592. package/transpiled/directives/cache/Cache.js +6 -10
  593. package/transpiled/directives/cache/Cache.js.map +1 -1
  594. package/transpiled/directives/cache/Control.d.ts +1 -1
  595. package/transpiled/directives/cache/Control.js +3 -7
  596. package/transpiled/directives/cache/Control.js.map +1 -1
  597. package/transpiled/directives/cache/Exact.d.ts +1 -1
  598. package/transpiled/directives/cache/Exact.js +2 -6
  599. package/transpiled/directives/cache/Exact.js.map +1 -1
  600. package/transpiled/directives/cache/index.d.ts +1 -1
  601. package/transpiled/directives/cache/index.js +2 -5
  602. package/transpiled/directives/cache/index.js.map +1 -1
  603. package/transpiled/directives/cache/types.d.ts +1 -1
  604. package/transpiled/directives/cache/types.js +1 -2
  605. package/transpiled/directives/cors/CORS.d.ts +2 -2
  606. package/transpiled/directives/cors/CORS.js +1 -5
  607. package/transpiled/directives/cors/CORS.js.map +1 -1
  608. package/transpiled/directives/cors/index.d.ts +1 -1
  609. package/transpiled/directives/cors/index.js +2 -5
  610. package/transpiled/directives/cors/index.js.map +1 -1
  611. package/transpiled/directives/dev/Development.d.ts +3 -3
  612. package/transpiled/directives/dev/Development.js +9 -13
  613. package/transpiled/directives/dev/Development.js.map +1 -1
  614. package/transpiled/directives/dev/Faulty.d.ts +2 -2
  615. package/transpiled/directives/dev/Faulty.js +8 -15
  616. package/transpiled/directives/dev/Faulty.js.map +1 -1
  617. package/transpiled/directives/dev/Sleep.d.ts +2 -2
  618. package/transpiled/directives/dev/Sleep.js +13 -20
  619. package/transpiled/directives/dev/Sleep.js.map +1 -1
  620. package/transpiled/directives/dev/Stub.d.ts +2 -2
  621. package/transpiled/directives/dev/Stub.js +1 -5
  622. package/transpiled/directives/dev/Stub.js.map +1 -1
  623. package/transpiled/directives/dev/Throw.d.ts +2 -2
  624. package/transpiled/directives/dev/Throw.js +1 -5
  625. package/transpiled/directives/dev/Throw.js.map +1 -1
  626. package/transpiled/directives/dev/index.d.ts +1 -1
  627. package/transpiled/directives/dev/index.js +2 -5
  628. package/transpiled/directives/dev/index.js.map +1 -1
  629. package/transpiled/directives/dev/types.d.ts +1 -1
  630. package/transpiled/directives/dev/types.js +1 -2
  631. package/transpiled/directives/flow/Compose.d.ts +2 -2
  632. package/transpiled/directives/flow/Compose.js +10 -37
  633. package/transpiled/directives/flow/Compose.js.map +1 -1
  634. package/transpiled/directives/flow/Fetch.d.ts +5 -5
  635. package/transpiled/directives/flow/Fetch.js +10 -17
  636. package/transpiled/directives/flow/Fetch.js.map +1 -1
  637. package/transpiled/directives/flow/Flow.d.ts +4 -4
  638. package/transpiled/directives/flow/Flow.js +5 -9
  639. package/transpiled/directives/flow/Flow.js.map +1 -1
  640. package/transpiled/directives/flow/index.d.ts +1 -1
  641. package/transpiled/directives/flow/index.js +2 -5
  642. package/transpiled/directives/flow/index.js.map +1 -1
  643. package/transpiled/directives/flow/types.d.ts +2 -2
  644. package/transpiled/directives/flow/types.js +1 -2
  645. package/transpiled/directives/index.d.ts +2 -2
  646. package/transpiled/directives/index.js +11 -14
  647. package/transpiled/directives/index.js.map +1 -1
  648. package/transpiled/directives/io/Directive.d.ts +4 -4
  649. package/transpiled/directives/io/Directive.js +1 -2
  650. package/transpiled/directives/io/IO.d.ts +4 -4
  651. package/transpiled/directives/io/IO.js +11 -15
  652. package/transpiled/directives/io/IO.js.map +1 -1
  653. package/transpiled/directives/io/Input.d.ts +2 -2
  654. package/transpiled/directives/io/Input.js +5 -32
  655. package/transpiled/directives/io/Input.js.map +1 -1
  656. package/transpiled/directives/io/Message.js +1 -2
  657. package/transpiled/directives/io/Output.d.ts +2 -2
  658. package/transpiled/directives/io/Output.js +6 -33
  659. package/transpiled/directives/io/Output.js.map +1 -1
  660. package/transpiled/directives/io/Throttle.d.ts +4 -4
  661. package/transpiled/directives/io/Throttle.js +6 -33
  662. package/transpiled/directives/io/Throttle.js.map +1 -1
  663. package/transpiled/directives/io/index.d.ts +1 -1
  664. package/transpiled/directives/io/index.js +2 -5
  665. package/transpiled/directives/io/index.js.map +1 -1
  666. package/transpiled/directives/io/lib/throttle/Configuration.js +1 -5
  667. package/transpiled/directives/io/lib/throttle/Configuration.js.map +1 -1
  668. package/transpiled/directives/io/lib/throttle/Keys.d.ts +5 -5
  669. package/transpiled/directives/io/lib/throttle/Keys.js +7 -11
  670. package/transpiled/directives/io/lib/throttle/Keys.js.map +1 -1
  671. package/transpiled/directives/io/lib/throttle/Quotas.d.ts +5 -5
  672. package/transpiled/directives/io/lib/throttle/Quotas.js +3 -7
  673. package/transpiled/directives/io/lib/throttle/Quotas.js.map +1 -1
  674. package/transpiled/directives/io/lib/throttle/Sync.d.ts +1 -1
  675. package/transpiled/directives/io/lib/throttle/Sync.js +3 -7
  676. package/transpiled/directives/io/lib/throttle/Sync.js.map +1 -1
  677. package/transpiled/directives/io/lib/throttle/components/Component.d.ts +2 -2
  678. package/transpiled/directives/io/lib/throttle/components/Component.js +1 -2
  679. package/transpiled/directives/io/lib/throttle/components/IP.d.ts +2 -2
  680. package/transpiled/directives/io/lib/throttle/components/IP.js +1 -5
  681. package/transpiled/directives/io/lib/throttle/components/IP.js.map +1 -1
  682. package/transpiled/directives/io/lib/throttle/components/Identity.d.ts +2 -2
  683. package/transpiled/directives/io/lib/throttle/components/Identity.js +1 -5
  684. package/transpiled/directives/io/lib/throttle/components/Identity.js.map +1 -1
  685. package/transpiled/directives/io/lib/throttle/components/Path.d.ts +2 -2
  686. package/transpiled/directives/io/lib/throttle/components/Path.js +1 -5
  687. package/transpiled/directives/io/lib/throttle/components/Path.js.map +1 -1
  688. package/transpiled/directives/io/lib/throttle/components/Route.d.ts +1 -1
  689. package/transpiled/directives/io/lib/throttle/components/Route.js +1 -5
  690. package/transpiled/directives/io/lib/throttle/components/Route.js.map +1 -1
  691. package/transpiled/directives/io/lib/throttle/components/Segment.d.ts +3 -3
  692. package/transpiled/directives/io/lib/throttle/components/Segment.js +3 -10
  693. package/transpiled/directives/io/lib/throttle/components/Segment.js.map +1 -1
  694. package/transpiled/directives/io/lib/throttle/components/index.d.ts +2 -2
  695. package/transpiled/directives/io/lib/throttle/components/index.js +11 -14
  696. package/transpiled/directives/io/lib/throttle/components/index.js.map +1 -1
  697. package/transpiled/directives/io/lib/throttle/conditions/Condition.d.ts +1 -1
  698. package/transpiled/directives/io/lib/throttle/conditions/Condition.js +1 -2
  699. package/transpiled/directives/io/lib/throttle/conditions/Status.d.ts +2 -2
  700. package/transpiled/directives/io/lib/throttle/conditions/Status.js +3 -10
  701. package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -1
  702. package/transpiled/directives/io/lib/throttle/conditions/index.d.ts +2 -2
  703. package/transpiled/directives/io/lib/throttle/conditions/index.js +3 -6
  704. package/transpiled/directives/io/lib/throttle/conditions/index.js.map +1 -1
  705. package/transpiled/directives/io/lib/throttle/index.d.ts +3 -3
  706. package/transpiled/directives/io/lib/throttle/index.js +3 -9
  707. package/transpiled/directives/io/lib/throttle/index.js.map +1 -1
  708. package/transpiled/directives/io/schemas.d.ts +5 -5
  709. package/transpiled/directives/io/schemas.js +8 -14
  710. package/transpiled/directives/io/schemas.js.map +1 -1
  711. package/transpiled/directives/map/Authority.d.ts +2 -2
  712. package/transpiled/directives/map/Authority.js +4 -11
  713. package/transpiled/directives/map/Authority.js.map +1 -1
  714. package/transpiled/directives/map/Buffer.d.ts +2 -2
  715. package/transpiled/directives/map/Buffer.js +4 -11
  716. package/transpiled/directives/map/Buffer.js.map +1 -1
  717. package/transpiled/directives/map/Claims.d.ts +3 -3
  718. package/transpiled/directives/map/Claims.js +5 -12
  719. package/transpiled/directives/map/Claims.js.map +1 -1
  720. package/transpiled/directives/map/Directive.d.ts +2 -2
  721. package/transpiled/directives/map/Directive.js +1 -2
  722. package/transpiled/directives/map/Headers.d.ts +2 -2
  723. package/transpiled/directives/map/Headers.js +7 -14
  724. package/transpiled/directives/map/Headers.js.map +1 -1
  725. package/transpiled/directives/map/Language.d.ts +4 -4
  726. package/transpiled/directives/map/Language.js +10 -17
  727. package/transpiled/directives/map/Language.js.map +1 -1
  728. package/transpiled/directives/map/Languages.d.ts +1 -1
  729. package/transpiled/directives/map/Languages.js +5 -12
  730. package/transpiled/directives/map/Languages.js.map +1 -1
  731. package/transpiled/directives/map/Map.d.ts +6 -6
  732. package/transpiled/directives/map/Map.js +20 -24
  733. package/transpiled/directives/map/Map.js.map +1 -1
  734. package/transpiled/directives/map/Mapping.d.ts +4 -4
  735. package/transpiled/directives/map/Mapping.js +1 -5
  736. package/transpiled/directives/map/Mapping.js.map +1 -1
  737. package/transpiled/directives/map/Properties.js +2 -6
  738. package/transpiled/directives/map/Properties.js.map +1 -1
  739. package/transpiled/directives/map/Segments.d.ts +2 -2
  740. package/transpiled/directives/map/Segments.js +6 -13
  741. package/transpiled/directives/map/Segments.js.map +1 -1
  742. package/transpiled/directives/map/index.d.ts +1 -1
  743. package/transpiled/directives/map/index.js +2 -5
  744. package/transpiled/directives/map/index.js.map +1 -1
  745. package/transpiled/directives/octets/Context.d.ts +2 -2
  746. package/transpiled/directives/octets/Context.js +4 -11
  747. package/transpiled/directives/octets/Context.js.map +1 -1
  748. package/transpiled/directives/octets/Delete.d.ts +6 -6
  749. package/transpiled/directives/octets/Delete.js +9 -36
  750. package/transpiled/directives/octets/Delete.js.map +1 -1
  751. package/transpiled/directives/octets/Directive.d.ts +3 -3
  752. package/transpiled/directives/octets/Directive.js +1 -5
  753. package/transpiled/directives/octets/Directive.js.map +1 -1
  754. package/transpiled/directives/octets/Get.d.ts +3 -3
  755. package/transpiled/directives/octets/Get.js +7 -34
  756. package/transpiled/directives/octets/Get.js.map +1 -1
  757. package/transpiled/directives/octets/Octets.d.ts +5 -5
  758. package/transpiled/directives/octets/Octets.js +15 -19
  759. package/transpiled/directives/octets/Octets.js.map +1 -1
  760. package/transpiled/directives/octets/Put.d.ts +6 -6
  761. package/transpiled/directives/octets/Put.js +17 -44
  762. package/transpiled/directives/octets/Put.js.map +1 -1
  763. package/transpiled/directives/octets/Workflow.d.ts +6 -6
  764. package/transpiled/directives/octets/Workflow.js +7 -34
  765. package/transpiled/directives/octets/Workflow.js.map +1 -1
  766. package/transpiled/directives/octets/bytes.js +3 -10
  767. package/transpiled/directives/octets/bytes.js.map +1 -1
  768. package/transpiled/directives/octets/index.d.ts +1 -1
  769. package/transpiled/directives/octets/index.js +2 -5
  770. package/transpiled/directives/octets/index.js.map +1 -1
  771. package/transpiled/directives/octets/schemas.d.ts +4 -4
  772. package/transpiled/directives/octets/schemas.js +8 -14
  773. package/transpiled/directives/octets/schemas.js.map +1 -1
  774. package/transpiled/directives/octets/types.d.ts +2 -2
  775. package/transpiled/directives/octets/types.js +1 -2
  776. package/transpiled/directives/octets/workflows/Execution.d.ts +2 -3
  777. package/transpiled/directives/octets/workflows/Execution.js +5 -9
  778. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  779. package/transpiled/directives/octets/workflows/Workflow.d.ts +3 -3
  780. package/transpiled/directives/octets/workflows/Workflow.js +7 -11
  781. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  782. package/transpiled/directives/octets/workflows/index.d.ts +1 -1
  783. package/transpiled/directives/octets/workflows/index.js +1 -5
  784. package/transpiled/directives/octets/workflows/index.js.map +1 -1
  785. package/transpiled/directives/require/Directive.d.ts +1 -1
  786. package/transpiled/directives/require/Directive.js +1 -2
  787. package/transpiled/directives/require/Headers.d.ts +2 -2
  788. package/transpiled/directives/require/Headers.js +3 -7
  789. package/transpiled/directives/require/Headers.js.map +1 -1
  790. package/transpiled/directives/require/Require.d.ts +3 -3
  791. package/transpiled/directives/require/Require.js +6 -13
  792. package/transpiled/directives/require/Require.js.map +1 -1
  793. package/transpiled/directives/require/index.d.ts +1 -1
  794. package/transpiled/directives/require/index.js +2 -5
  795. package/transpiled/directives/require/index.js.map +1 -1
  796. package/transpiled/discovery.js +1 -2
  797. package/transpiled/exceptions.d.ts +1 -1
  798. package/transpiled/exceptions.js +8 -35
  799. package/transpiled/exceptions.js.map +1 -1
  800. package/transpiled/index.d.ts +5 -5
  801. package/transpiled/index.js +4 -11
  802. package/transpiled/index.js.map +1 -1
  803. package/transpiled/io.d.ts +1 -1
  804. package/transpiled/io.js +1 -2
  805. package/transpiled/manifest.d.ts +1 -1
  806. package/transpiled/manifest.js +8 -38
  807. package/transpiled/manifest.js.map +1 -1
  808. package/transpiled/root.d.ts +1 -1
  809. package/transpiled/root.js +5 -9
  810. package/transpiled/root.js.map +1 -1
  811. package/transpiled/schemas.d.ts +3 -3
  812. package/transpiled/schemas.js +7 -13
  813. package/transpiled/schemas.js.map +1 -1
  814. package/tsconfig.json +2 -1
  815. package/tsconfig.tsbuildinfo +1 -0
  816. package/components/identity.bans/operations/tsconfig.tsbuildinfo +0 -1
  817. package/components/identity.basic/operations/tsconfig.tsbuildinfo +0 -1
  818. package/components/identity.credentials/operations/tsconfig.tsbuildinfo +0 -1
  819. package/components/identity.federation/operations/tsconfig.tsbuildinfo +0 -1
  820. package/components/identity.keys/operations/tsconfig.tsbuildinfo +0 -1
  821. package/components/identity.otp/operations/tsconfig.tsbuildinfo +0 -1
  822. package/components/identity.passkeys/operations/tsconfig.tsbuildinfo +0 -1
  823. package/components/identity.roles/operations/tsconfig.tsbuildinfo +0 -1
  824. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +0 -1
  825. package/cucumber.js +0 -7
  826. package/source/index.test.ts +0 -9
  827. package/transpiled/tsconfig.tsbuildinfo +0 -1
@@ -1,4 +1,7 @@
1
- import { parse, type Configuration } from './Configuration'
1
+ import { it } from 'node:test'
2
+ import assert from 'node:assert/strict'
3
+
4
+ import { parse, type Configuration } from './Configuration.js'
2
5
 
3
6
  const rest: Omit<Configuration, 'key' | 'condition'> = {
4
7
  interval: 1,
@@ -14,12 +17,12 @@ it('should convert key', () => {
14
17
  ]
15
18
  }
16
19
 
17
- expect(parse({ key: 'ip', ...rest })).toMatchObject(result)
18
- expect(parse({ key: ['ip'], ...rest })).toMatchObject(result)
20
+ assert.partialDeepStrictEqual(parse({ key: 'ip', ...rest }), result)
21
+ assert.partialDeepStrictEqual(parse({ key: ['ip'], ...rest }), result)
19
22
  })
20
23
 
21
24
  it('should convert condition', () => {
22
- expect(parse({ key: ['ip', 'path'], condition: { status: '404' }, ...rest })).toMatchObject({
25
+ assert.partialDeepStrictEqual(parse({ key: ['ip', 'path'], condition: { status: '404' }, ...rest }), {
23
26
  condition: [
24
27
  {
25
28
  method: 'status',
@@ -28,7 +31,7 @@ it('should convert condition', () => {
28
31
  ]
29
32
  })
30
33
 
31
- expect(parse({ key: 'ip', condition: { status: '404' }, ...rest })).toMatchObject({
34
+ assert.partialDeepStrictEqual(parse({ key: 'ip', condition: { status: '404' }, ...rest }), {
32
35
  condition: [
33
36
  {
34
37
  method: 'status',
@@ -39,7 +42,7 @@ it('should convert condition', () => {
39
42
  })
40
43
 
41
44
  it('should convert a key component that takes an argument', () => {
42
- expect(parse({ key: { segment: 'id' }, ...rest })).toMatchObject({
45
+ assert.partialDeepStrictEqual(parse({ key: { segment: 'id' }, ...rest }), {
43
46
  key: [
44
47
  {
45
48
  method: 'segment',
@@ -50,7 +53,7 @@ it('should convert a key component that takes an argument', () => {
50
53
  })
51
54
 
52
55
  it('should convert a mixed key', () => {
53
- expect(parse({ key: ['route', { segment: 'id' }, 'identity'], ...rest })).toMatchObject({
56
+ assert.partialDeepStrictEqual(parse({ key: ['route', { segment: 'id' }, 'identity'], ...rest }), {
54
57
  key: [
55
58
  { method: 'route' },
56
59
  { method: 'segment', options: 'id' },
@@ -1,9 +1,9 @@
1
1
  import { createHash } from 'node:crypto'
2
- import { Components, type Component } from './components'
3
- import { Conditions, type Condition } from './conditions'
4
- import type { KeyComponent, KeyCondition } from './Configuration'
5
- import type { Parameter } from '../../../../RTD'
6
- import type { Input as Context, Output } from '../../../../io'
2
+ import { Components, type Component } from './components/index.js'
3
+ import { Conditions, type Condition } from './conditions/index.js'
4
+ import type { KeyComponent, KeyCondition } from './Configuration.js'
5
+ import type { Parameter } from '../../../../RTD/index.js'
6
+ import type { Input as Context, Output } from '../../../../io.js'
7
7
 
8
8
  const NONE: Parameter[] = []
9
9
 
@@ -1,8 +1,11 @@
1
+ import { describe, it, beforeEach } from 'node:test'
2
+ import assert from 'node:assert/strict'
3
+
1
4
  import { setTimeout } from 'node:timers/promises'
2
- import { Quotas } from './Quotas'
3
- import type { Batch } from './Sync'
4
- import type { Configuration } from './Configuration'
5
- import type { Input as Context, Output } from '../../../../io'
5
+ import { Quotas } from './Quotas.js'
6
+ import type { Batch } from './Sync.js'
7
+ import type { Configuration } from './Configuration.js'
8
+ import type { Input as Context, Output } from '../../../../io.js'
6
9
 
7
10
  let quotas: Quotas
8
11
  let configuration: Configuration
@@ -21,15 +24,15 @@ describe('common', () => {
21
24
  })
22
25
 
23
26
  it('should admit a burst of the whole budget', () => {
24
- expect(quotas.check(context, [])).toBe(0)
25
- expect(quotas.check(context, [])).toBe(0)
27
+ assert.strictEqual(quotas.check(context, []), 0)
28
+ assert.strictEqual(quotas.check(context, []), 0)
26
29
  })
27
30
 
28
31
  it('should refuse past the budget', () => {
29
32
  quotas.check(context, [])
30
33
  quotas.check(context, [])
31
34
 
32
- expect(quotas.check(context, [])).toBeGreaterThan(0)
35
+ assert.ok(quotas.check(context, []) > 0)
33
36
  })
34
37
 
35
38
  it('should not charge what it refuses', async () => {
@@ -42,19 +45,19 @@ describe('common', () => {
42
45
  // all it takes to be admitted again however hard the key is hammered
43
46
  await timeout(configuration.interval / configuration.requests)
44
47
 
45
- expect(quotas.check(context, [])).toBe(0)
48
+ assert.strictEqual(quotas.check(context, []), 0)
46
49
  })
47
50
 
48
51
  it('should earn the budget back over the interval', async () => {
49
52
  quotas.check(context, [])
50
53
  quotas.check(context, [])
51
54
 
52
- expect(quotas.check(context, [])).toBeGreaterThan(0)
55
+ assert.ok(quotas.check(context, []) > 0)
53
56
 
54
57
  await timeout(configuration.interval)
55
58
 
56
- expect(quotas.check(context, [])).toBe(0)
57
- expect(quotas.check(context, [])).toBe(0)
59
+ assert.strictEqual(quotas.check(context, []), 0)
60
+ assert.strictEqual(quotas.check(context, []), 0)
58
61
  })
59
62
  })
60
63
 
@@ -67,7 +70,7 @@ describe('retry', () => {
67
70
  quotas.check(context, [])
68
71
  quotas.check(context, [])
69
72
 
70
- expect(quotas.check(context, [])).toBe(5)
73
+ assert.strictEqual(quotas.check(context, []), 5)
71
74
  })
72
75
 
73
76
  it('should never answer zero when it refuses', () => {
@@ -78,7 +81,7 @@ describe('retry', () => {
78
81
  quotas.check(context, [])
79
82
 
80
83
  // an emission here is a tenth of a second, and `Retry-After` counts in whole ones
81
- expect(quotas.check(context, [])).toBe(1)
84
+ assert.strictEqual(quotas.check(context, []), 1)
82
85
  })
83
86
  })
84
87
 
@@ -94,9 +97,9 @@ describe('group', () => {
94
97
 
95
98
  const batch = flush()
96
99
 
97
- expect(batch).toHaveLength(1)
98
- expect(batch[0].delta).toBe(configuration.interval / configuration.requests)
99
- expect(batch[0].quotas).toBe(quotas)
100
+ assert.strictEqual(batch.length, 1)
101
+ assert.strictEqual(batch[0].delta, configuration.interval / configuration.requests)
102
+ assert.strictEqual(batch[0].quotas, quotas)
100
103
  })
101
104
 
102
105
  it('should refuse on what the group has spent, not on what this process has', () => {
@@ -107,7 +110,7 @@ describe('group', () => {
107
110
  // one request here, but the group is already at capacity
108
111
  quotas.settled(batch[0], configuration.interval, Date.now())
109
112
 
110
- expect(quotas.check(context, [])).toBeGreaterThan(0)
113
+ assert.ok(quotas.check(context, []) > 0)
111
114
  })
112
115
 
113
116
  it('should not refuse below the capacity', () => {
@@ -117,7 +120,7 @@ describe('group', () => {
117
120
 
118
121
  quotas.settled(batch[0], 0, Date.now())
119
122
 
120
- expect(quotas.check(context, [])).toBe(0)
123
+ assert.strictEqual(quotas.check(context, []), 0)
121
124
  })
122
125
 
123
126
  it('should clear what was reported, and keep what was charged since', () => {
@@ -128,7 +131,7 @@ describe('group', () => {
128
131
  quotas.check(context, [])
129
132
  quotas.settled(batch[0], 0, Date.now())
130
133
 
131
- expect(flush()[0].delta).toBe(configuration.interval / configuration.requests)
134
+ assert.strictEqual(flush()[0].delta, configuration.interval / configuration.requests)
132
135
  })
133
136
 
134
137
  it('should keep what it could not report', () => {
@@ -137,7 +140,7 @@ describe('group', () => {
137
140
  const first = flush()
138
141
 
139
142
  // no `settled`, as a tick that cannot reach Redis leaves the debt to the next one
140
- expect(flush()[0].delta).toBe(first[0].delta)
143
+ assert.strictEqual(flush()[0].delta, first[0].delta)
141
144
  })
142
145
 
143
146
  it('should take a debt for a key it has already dropped', () => {
@@ -150,7 +153,7 @@ describe('group', () => {
150
153
 
151
154
  quotas.settled({ ...batch[0], delta: 0 }, configuration.interval, Date.now())
152
155
 
153
- expect(quotas.check(context, [])).toBeGreaterThan(0)
156
+ assert.ok(quotas.check(context, []) > 0)
154
157
  })
155
158
 
156
159
  it('should name keys so that quotas with different budgets never share one', () => {
@@ -161,8 +164,8 @@ describe('group', () => {
161
164
 
162
165
  const batch = flush(Date.now(), quotas, other)
163
166
 
164
- expect(batch[0].key).toBe(batch[1].key)
165
- expect(quotas.name(batch[0].key)).not.toBe(other.name(batch[1].key))
167
+ assert.strictEqual(batch[0].key, batch[1].key)
168
+ assert.notStrictEqual(quotas.name(batch[0].key), other.name(batch[1].key))
166
169
  })
167
170
  })
168
171
 
@@ -181,15 +184,15 @@ describe('sweeping', () => {
181
184
  quotas.settled(batch[0], 0, Date.now())
182
185
 
183
186
  // once the debt has drained, a key says no more than an absent one
184
- expect(flush(Date.now() + configuration.interval)).toHaveLength(0)
185
- expect(flush(Date.now() + configuration.interval)).toHaveLength(0)
186
- expect(quotas.check(context, [])).toBe(0)
187
+ assert.strictEqual(flush(Date.now() + configuration.interval).length, 0)
188
+ assert.strictEqual(flush(Date.now() + configuration.interval).length, 0)
189
+ assert.strictEqual(quotas.check(context, []), 0)
187
190
  })
188
191
 
189
192
  it('should keep a key that still owes something', () => {
190
193
  quotas.check(context, [])
191
194
 
192
- expect(flush(Date.now() + configuration.interval)).toHaveLength(1)
195
+ assert.strictEqual(flush(Date.now() + configuration.interval).length, 1)
193
196
  })
194
197
  })
195
198
 
@@ -206,8 +209,8 @@ describe('path', () => {
206
209
  quotas.check(one, [])
207
210
  quotas.check(one, [])
208
211
 
209
- expect(quotas.check(one, [])).toBeGreaterThan(0)
210
- expect(quotas.check(two, [])).toBe(0)
212
+ assert.ok(quotas.check(one, []) > 0)
213
+ assert.strictEqual(quotas.check(two, []), 0)
211
214
  })
212
215
  })
213
216
 
@@ -224,8 +227,8 @@ describe('ip', () => {
224
227
  quotas.check(one, [])
225
228
  quotas.check(one, [])
226
229
 
227
- expect(quotas.check(one, [])).toBeGreaterThan(0)
228
- expect(quotas.check(two, [])).toBe(0)
230
+ assert.ok(quotas.check(one, []) > 0)
231
+ assert.strictEqual(quotas.check(two, []), 0)
229
232
  })
230
233
  })
231
234
 
@@ -240,8 +243,8 @@ describe('route', () => {
240
243
  quotas.check(two, [])
241
244
 
242
245
  // two paths, one route, one quota — which is the whole difference from `path`
243
- expect(flush()).toHaveLength(1)
244
- expect(quotas.check(one, [])).toBeGreaterThan(0)
246
+ assert.strictEqual(flush().length, 1)
247
+ assert.ok(quotas.check(one, []) > 0)
245
248
  })
246
249
 
247
250
  it('should have separate quotas per route', () => {
@@ -255,7 +258,7 @@ describe('route', () => {
255
258
 
256
259
  const batch = flush(Date.now(), users, posts)
257
260
 
258
- expect(batch[0].key).not.toBe(batch[1].key)
261
+ assert.notStrictEqual(batch[0].key, batch[1].key)
259
262
  })
260
263
  })
261
264
 
@@ -273,8 +276,8 @@ describe('segment', () => {
273
276
  quotas.check(context, one)
274
277
  quotas.check(context, one)
275
278
 
276
- expect(quotas.check(context, one)).toBeGreaterThan(0)
277
- expect(quotas.check(context, two)).toBe(0)
279
+ assert.ok(quotas.check(context, one) > 0)
280
+ assert.strictEqual(quotas.check(context, two), 0)
278
281
  })
279
282
  })
280
283
 
@@ -291,8 +294,8 @@ describe('identity', () => {
291
294
  quotas.check(one, [])
292
295
  quotas.check(one, [])
293
296
 
294
- expect(quotas.check(one, [])).toBeGreaterThan(0)
295
- expect(quotas.check(two, [])).toBe(0)
297
+ assert.ok(quotas.check(one, []) > 0)
298
+ assert.strictEqual(quotas.check(two, []), 0)
296
299
  })
297
300
 
298
301
  it('should put every anonymous request in one quota', () => {
@@ -302,8 +305,8 @@ describe('identity', () => {
302
305
  quotas.check(one, [])
303
306
  quotas.check(two, [])
304
307
 
305
- expect(quotas.check(one, [])).toBeGreaterThan(0)
306
- expect(quotas.check(two, [])).toBeGreaterThan(0)
308
+ assert.ok(quotas.check(one, []) > 0)
309
+ assert.ok(quotas.check(two, []) > 0)
307
310
  })
308
311
  })
309
312
 
@@ -320,15 +323,15 @@ describe('status', () => {
320
323
  quotas.check(context, [])
321
324
 
322
325
  // only the response tells whether a request counts, so checking cannot charge
323
- expect(flush()).toHaveLength(0)
326
+ assert.strictEqual(flush().length, 0)
324
327
  })
325
328
 
326
329
  it('should not charge what the condition rejects', () => {
327
330
  quotas.check(context, [])
328
331
  quotas.use(context, output)
329
332
 
330
- expect(flush()).toHaveLength(0)
331
- expect(quotas.check(context, [])).toBe(0)
333
+ assert.strictEqual(flush().length, 0)
334
+ assert.strictEqual(quotas.check(context, []), 0)
332
335
  })
333
336
 
334
337
  it('should charge what the condition accepts', () => {
@@ -337,7 +340,7 @@ describe('status', () => {
337
340
  quotas.use(context, { status: 404 })
338
341
  }
339
342
 
340
- expect(quotas.check(context, [])).toBeGreaterThan(0)
343
+ assert.ok(quotas.check(context, []) > 0)
341
344
  })
342
345
 
343
346
  it('should charge the key checking saw, which settling cannot recompute', () => {
@@ -356,7 +359,7 @@ describe('status', () => {
356
359
 
357
360
  // settling is handed no parameters, so recomputing there would hash an empty
358
361
  // segment both times and the two requests would charge one key
359
- expect(flush()).toHaveLength(2)
362
+ assert.strictEqual(flush().length, 2)
360
363
  })
361
364
  })
362
365
 
@@ -1,8 +1,8 @@
1
- import { Keys } from './Keys'
2
- import type { Batch } from './Sync'
3
- import type { Configuration } from './Configuration'
4
- import type { Parameter } from '../../../../RTD'
5
- import type { Input as Context, Output } from '../../../../io'
1
+ import { Keys } from './Keys.js'
2
+ import type { Batch } from './Sync.js'
3
+ import type { Configuration } from './Configuration.js'
4
+ import type { Parameter } from '../../../../RTD/index.js'
5
+ import type { Input as Context, Output } from '../../../../io.js'
6
6
 
7
7
  /**
8
8
  * A quota per key, metered by GCRA, decided in this process and shared with the others.
@@ -1,15 +1,18 @@
1
- import { Sync } from './Sync'
2
- import { Quotas } from './Quotas'
1
+ import { it, beforeEach, afterEach, mock } from 'node:test'
2
+ import assert from 'node:assert/strict'
3
+
4
+ import { Sync } from './Sync.js'
5
+ import { Quotas } from './Quotas.js'
3
6
  import type { Remote } from '@toa.io/core'
4
- import type { Configuration } from './Configuration'
5
- import type { Input as Context } from '../../../../io'
7
+ import type { Configuration } from './Configuration.js'
8
+ import type { Input as Context } from '../../../../io.js'
6
9
 
7
10
  let sync: Sync
8
11
  let invocations: Input[]
9
12
  let context: Context
10
13
 
11
14
  beforeEach(() => {
12
- jest.useFakeTimers()
15
+ mock.timers.enable()
13
16
 
14
17
  invocations = []
15
18
  context = createContext()
@@ -18,7 +21,7 @@ beforeEach(() => {
18
21
  afterEach(() => {
19
22
  sync.dispose()
20
23
 
21
- jest.useRealTimers()
24
+ mock.timers.reset()
22
25
  })
23
26
 
24
27
  it('should tick as often as the shortest interval asks', async () => {
@@ -32,15 +35,16 @@ it('should tick as often as the shortest interval asks', async () => {
32
35
 
33
36
  await tick()
34
37
 
35
- expect(invocations).toHaveLength(0)
38
+ assert.strictEqual(invocations.length, 0)
36
39
 
37
40
  // a second asks for every 250ms, and the shortest sets the pace for all of them
38
41
  sync.register(createQuotas({ interval: 1000 }))
39
42
 
40
43
  await tick()
41
44
 
42
- expect(invocations).toHaveLength(1)
43
- expect(jest.getTimerCount()).toBe(1)
45
+ // that a single timer paces every quota was asserted through jest's timer
46
+ // count, which node:test does not expose; the pacing above still covers it
47
+ assert.strictEqual(invocations.length, 1)
44
48
  })
45
49
 
46
50
  it('should reconcile every quota in one call', async () => {
@@ -57,9 +61,9 @@ it('should reconcile every quota in one call', async () => {
57
61
 
58
62
  await tick()
59
63
 
60
- expect(invocations).toHaveLength(1)
61
- expect(invocations[0].keys).toHaveLength(2)
62
- expect(invocations[0].deltas).toStrictEqual([50, 50])
64
+ assert.strictEqual(invocations.length, 1)
65
+ assert.strictEqual(invocations[0].keys.length, 2)
66
+ assert.deepStrictEqual(invocations[0].deltas, [50, 50])
63
67
  })
64
68
 
65
69
  it('should not call when there is nothing to report', async () => {
@@ -69,7 +73,7 @@ it('should not call when there is nothing to report', async () => {
69
73
 
70
74
  await tick()
71
75
 
72
- expect(invocations).toHaveLength(0)
76
+ assert.strictEqual(invocations.length, 0)
73
77
  })
74
78
 
75
79
  it('should take the group debt back', async () => {
@@ -83,7 +87,7 @@ it('should take the group debt back', async () => {
83
87
  await tick()
84
88
 
85
89
  // one request here, but the group is already at capacity
86
- expect(quotas.check(context, [])).toBeGreaterThan(0)
90
+ assert.ok(quotas.check(context, []) > 0)
87
91
  })
88
92
 
89
93
  it('should clear what it reported', async () => {
@@ -97,7 +101,7 @@ it('should clear what it reported', async () => {
97
101
  await tick()
98
102
  await tick()
99
103
 
100
- expect(invocations).toHaveLength(1)
104
+ assert.strictEqual(invocations.length, 1)
101
105
  })
102
106
 
103
107
  it('should keep what it could not report, and keep serving', async () => {
@@ -113,13 +117,17 @@ it('should keep what it could not report, and keep serving', async () => {
113
117
  await tick()
114
118
  await tick()
115
119
 
116
- expect(invocations).toHaveLength(2)
117
- expect(invocations[1].deltas).toStrictEqual([50])
118
- expect(quotas.check(context, [])).toBe(0)
120
+ assert.strictEqual(invocations.length, 2)
121
+ assert.deepStrictEqual(invocations[1].deltas, [50])
122
+ assert.strictEqual(quotas.check(context, []), 0)
119
123
  })
120
124
 
121
125
  async function tick (): Promise<void> {
122
- await jest.advanceTimersByTimeAsync(250)
126
+ mock.timers.tick(250)
127
+
128
+ // the reconciliation a tick starts is asynchronous, and node:test advances
129
+ // timers synchronously; let it settle before the next one
130
+ await new Promise((resolve) => process.nextTick(resolve))
123
131
  }
124
132
 
125
133
  function createQuotas (properties?: Partial<Configuration>): Quotas {
@@ -136,7 +144,7 @@ function createContext (properties?: any): Context {
136
144
  function createStash (reply?: (deltas: number[]) => number[]): Promise<Remote> {
137
145
  const remote = {
138
146
  invoke: async (endpoint: string, request: { input: Input }): Promise<number[]> => {
139
- expect(endpoint).toBe('meter')
147
+ assert.strictEqual(endpoint, 'meter')
140
148
 
141
149
  invocations.push(request.input)
142
150
 
@@ -1,5 +1,5 @@
1
1
  import { console } from 'openspan'
2
- import type { Quotas } from './Quotas'
2
+ import type { Quotas } from './Quotas.js'
3
3
  import type { Remote } from '@toa.io/core'
4
4
 
5
5
  /**
@@ -1,5 +1,5 @@
1
- import type { Parameter } from '../../../../../RTD'
2
- import type { Input as Context } from '../../../../../io'
1
+ import type { Parameter } from '../../../../../RTD/index.js'
2
+ import type { Input as Context } from '../../../../../io.js'
3
3
 
4
4
  export interface Component {
5
5
  get: (context: Context, parameters: Parameter[]) => string
@@ -1,5 +1,5 @@
1
- import type { Context } from '../../../../../HTTP'
2
- import type { Component } from './Component'
1
+ import type { Context } from '../../../../../HTTP/index.js'
2
+ import type { Component } from './Component.js'
3
3
 
4
4
  export class IP implements Component {
5
5
  public get (context: Context): string {
@@ -1,5 +1,5 @@
1
- import type { Input } from '../../../../../io'
2
- import type { Component } from './Component'
1
+ import type { Input } from '../../../../../io.js'
2
+ import type { Component } from './Component.js'
3
3
 
4
4
  /**
5
5
  * The authenticated identity, or nothing when the request carries none.
@@ -1,5 +1,5 @@
1
- import type { Context } from '../../../../../HTTP'
2
- import type { Component } from './Component'
1
+ import type { Context } from '../../../../../HTTP/index.js'
2
+ import type { Component } from './Component.js'
3
3
 
4
4
  export class Path implements Component {
5
5
  public get (context: Context): string {
@@ -1,4 +1,4 @@
1
- import type { Component } from './Component'
1
+ import type { Component } from './Component.js'
2
2
 
3
3
  /**
4
4
  * The route as declared — `/users/:id` — rather than the path a request came in on.
@@ -1,7 +1,7 @@
1
1
  import assert from 'node:assert'
2
- import type { Parameter } from '../../../../../RTD'
3
- import type { Input as Context } from '../../../../../io'
4
- import type { Component } from './Component'
2
+ import type { Parameter } from '../../../../../RTD/index.js'
3
+ import type { Input as Context } from '../../../../../io.js'
4
+ import type { Component } from './Component.js'
5
5
 
6
6
  /** The value a named route segment was bound to, or nothing when the route has none. */
7
7
  export class Segment implements Component {
@@ -1,10 +1,10 @@
1
- import { Path } from './Path'
2
- import { IP } from './IP'
3
- import { Route } from './Route'
4
- import { Identity } from './Identity'
5
- import { Segment } from './Segment'
6
- import type { KeyComponentMethod } from '../Configuration'
7
- import type { Component } from './Component'
1
+ import { Path } from './Path.js'
2
+ import { IP } from './IP.js'
3
+ import { Route } from './Route.js'
4
+ import { Identity } from './Identity.js'
5
+ import { Segment } from './Segment.js'
6
+ import type { KeyComponentMethod } from '../Configuration.js'
7
+ import type { Component } from './Component.js'
8
8
 
9
9
  type Constructor<T> = new (options: unknown, route: string) => T
10
10
 
@@ -1,4 +1,4 @@
1
- import type { Input, Output } from '../../../../../io'
1
+ import type { Input, Output } from '../../../../../io.js'
2
2
 
3
3
  export interface Condition {
4
4
  match: (input: Input, output: Output) => boolean
@@ -1,6 +1,6 @@
1
1
  import assert from 'node:assert'
2
- import type { Input, Output } from '../../../../../io'
3
- import type { Condition } from './Condition'
2
+ import type { Input, Output } from '../../../../../io.js'
3
+ import type { Condition } from './Condition.js'
4
4
 
5
5
  export class Status implements Condition {
6
6
  private readonly status: number
@@ -1,6 +1,6 @@
1
- import { Status } from './Status'
2
- import type { KeyConditionMethod } from '../Configuration'
3
- import type { Condition } from './Condition'
1
+ import { Status } from './Status.js'
2
+ import type { KeyConditionMethod } from '../Configuration.js'
3
+ import type { Condition } from './Condition.js'
4
4
 
5
5
  type Constructor<T> = new (options: unknown) => T
6
6
 
@@ -1,3 +1,3 @@
1
- export { Quotas } from './Quotas'
2
- export { Sync } from './Sync'
3
- export { parse, type Configuration, type Declaration } from './Configuration'
1
+ export { Quotas } from './Quotas.js'
2
+ export { Sync } from './Sync.js'
3
+ export { parse, type Configuration, type Declaration } from './Configuration.js'
@@ -1,31 +1,34 @@
1
- import * as schemas from './schemas'
1
+ import { describe, it } from 'node:test'
2
+ import assert from 'node:assert/strict'
3
+
4
+ import * as schemas from './schemas.js'
2
5
 
3
6
  describe('throttle', () => {
4
7
  const rest = { requests: 1, interval: 1 }
5
8
 
6
9
  it('should validate key', () => {
7
- expect(() => schemas.throttle.validate({ key: 'ip', ...rest })).not.toThrow()
10
+ assert.doesNotThrow(() => schemas.throttle.validate({ key: 'ip', ...rest }))
8
11
  })
9
12
 
10
13
  it('should validate every key component', () => {
11
14
  for (const key of ['ip', 'path', 'route', 'identity'])
12
- expect(() => schemas.throttle.validate({ key, ...rest })).not.toThrow()
15
+ assert.doesNotThrow(() => schemas.throttle.validate({ key, ...rest }))
13
16
 
14
- expect(() => schemas.throttle.validate({ key: { segment: 'id' }, ...rest })).not.toThrow()
15
- expect(() => schemas.throttle.validate({
17
+ assert.doesNotThrow(() => schemas.throttle.validate({ key: { segment: 'id' }, ...rest }))
18
+ assert.doesNotThrow(() => schemas.throttle.validate({
16
19
  key: ['route', { segment: 'id' }],
17
20
  ...rest
18
- })).not.toThrow()
21
+ }))
19
22
  })
20
23
 
21
24
  it('should reject an unknown key component', () => {
22
- expect(() => schemas.throttle.validate({ key: 'header', ...rest })).toThrow()
23
- expect(() => schemas.throttle.validate({ key: { header: 'x-real-ip' }, ...rest })).toThrow()
25
+ assert.throws(() => schemas.throttle.validate({ key: 'header', ...rest }))
26
+ assert.throws(() => schemas.throttle.validate({ key: { header: 'x-real-ip' }, ...rest }))
24
27
  })
25
28
 
26
29
  it('should reject a declaration it no longer honours', () => {
27
30
  // metering earns the budget back rather than locking a key out, so a `cooldown`
28
31
  // left behind is not something to ignore quietly
29
- expect(() => schemas.throttle.validate({ key: 'ip', cooldown: 1, ...rest })).toThrow()
32
+ assert.throws(() => schemas.throttle.validate({ key: 'ip', cooldown: 1, ...rest }))
30
33
  })
31
34
  })