@toa.io/extensions.exposition 1.0.0-alpha.274 → 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 (837) hide show
  1. package/CHANGELOG.md +21 -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/documentation/protocol.md +24 -0
  237. package/features/octets.cloudinary.feature +8 -2
  238. package/features/octets.download.feature +3 -1
  239. package/features/probes.feature +8 -4
  240. package/features/steps/Captures.ts +3 -1
  241. package/features/steps/Common.ts +27 -2
  242. package/features/steps/Components.ts +10 -4
  243. package/features/steps/Database.ts +4 -1
  244. package/features/steps/Gateway.ts +19 -8
  245. package/features/steps/HTTP.ts +8 -5
  246. package/features/steps/IDP.ts +5 -2
  247. package/features/steps/Identity.ts +7 -4
  248. package/features/steps/OTP.ts +5 -2
  249. package/features/steps/Parameters.ts +5 -1
  250. package/features/steps/Probe.ts +36 -0
  251. package/features/steps/Realtime.ts +8 -5
  252. package/features/steps/Workspace.ts +1 -1
  253. package/features/steps/components/audit/operations/record.js +1 -5
  254. package/features/steps/components/echo/operations/affect.js +1 -5
  255. package/features/steps/components/echo/operations/compute.js +1 -5
  256. package/features/steps/components/echo/operations/echo.js +1 -5
  257. package/features/steps/components/echo/operations/error.js +1 -5
  258. package/features/steps/components/echo/operations/identity.js +1 -5
  259. package/features/steps/components/echo/operations/parameters.js +1 -5
  260. package/features/steps/components/echo/operations/ping.js +1 -5
  261. package/features/steps/components/echo/operations/unwrap.js +1 -5
  262. package/features/steps/components/echo.beacon/operations/hello.js +1 -3
  263. package/features/steps/components/greeter/operations/greet.js +1 -5
  264. package/features/steps/components/notify/operations/send.js +1 -5
  265. package/features/steps/components/octets.tester/operations/authority.js +1 -5
  266. package/features/steps/components/octets.tester/operations/bar.js +1 -3
  267. package/features/steps/components/octets.tester/operations/baz.js +1 -3
  268. package/features/steps/components/octets.tester/operations/concat.js +1 -3
  269. package/features/steps/components/octets.tester/operations/echo.js +1 -3
  270. package/features/steps/components/octets.tester/operations/err.js +1 -3
  271. package/features/steps/components/octets.tester/operations/foo.js +1 -3
  272. package/features/steps/components/octets.tester/operations/id.js +1 -3
  273. package/features/steps/components/octets.tester/operations/identity.js +1 -3
  274. package/features/steps/components/octets.tester/operations/redirect.js +1 -3
  275. package/features/steps/components/octets.tester/operations/yex.js +1 -3
  276. package/features/steps/components/octets.tester/operations/yield.js +1 -3
  277. package/features/steps/components/orders/operations/create.js +1 -5
  278. package/features/steps/components/pricing/operations/quote.js +1 -5
  279. package/features/steps/components/sequences/operations/numbers.js +1 -3
  280. package/features/steps/components/sequences/operations/tokens.js +2 -4
  281. package/features/steps/components/users/operations/create.js +1 -5
  282. package/features/steps/map.ts +5 -1
  283. package/package.json +16 -21
  284. package/readme.md +7 -13
  285. package/schemas/annotation.cos.yaml +11 -0
  286. package/source/Annotation.ts +11 -0
  287. package/source/Branch.test.ts +10 -7
  288. package/source/Branch.ts +2 -2
  289. package/source/Composition.ts +2 -2
  290. package/source/Context.ts +1 -1
  291. package/source/Directive.test.ts +52 -40
  292. package/source/Directive.ts +4 -4
  293. package/source/Endpoint.ts +6 -6
  294. package/source/Factory.ts +18 -18
  295. package/source/Gateway.ts +7 -7
  296. package/source/HTTP/Context.ts +5 -10
  297. package/source/HTTP/Probe.ts +112 -0
  298. package/source/HTTP/Server.ts +126 -77
  299. package/source/HTTP/Timing.ts +1 -1
  300. package/source/HTTP/formats/index.ts +4 -4
  301. package/source/HTTP/formats/yaml.test.ts +6 -4
  302. package/source/HTTP/formats/yaml.ts +1 -1
  303. package/source/HTTP/index.ts +6 -4
  304. package/source/HTTP/messages.test.ts +31 -21
  305. package/source/HTTP/messages.ts +42 -45
  306. package/source/HTTP/types.ts +39 -0
  307. package/source/Interception.ts +1 -1
  308. package/source/Mapping.ts +6 -6
  309. package/source/Query.test.ts +8 -5
  310. package/source/Query.ts +6 -6
  311. package/source/RTD/Context.ts +3 -3
  312. package/source/RTD/Directives.ts +4 -4
  313. package/source/RTD/Endpoint.ts +4 -4
  314. package/source/RTD/Match.ts +1 -1
  315. package/source/RTD/Method.ts +3 -3
  316. package/source/RTD/Node.ts +3 -3
  317. package/source/RTD/Route.ts +3 -3
  318. package/source/RTD/Tree.ts +8 -8
  319. package/source/RTD/expiration.test.ts +20 -17
  320. package/source/RTD/factory.ts +7 -7
  321. package/source/RTD/index.ts +8 -8
  322. package/source/RTD/segment.test.ts +13 -10
  323. package/source/RTD/syntax/index.ts +2 -2
  324. package/source/RTD/syntax/parse.test.ts +30 -28
  325. package/source/RTD/syntax/parse.ts +2 -2
  326. package/source/Remotes.test.ts +27 -14
  327. package/source/Remotes.ts +1 -1
  328. package/source/Tenant.ts +3 -3
  329. package/source/deployment.ts +19 -10
  330. package/source/directives/auth/Anonymous.ts +1 -1
  331. package/source/directives/auth/Anyone.ts +1 -1
  332. package/source/directives/auth/Assert.ts +3 -3
  333. package/source/directives/auth/Authorization.ts +19 -19
  334. package/source/directives/auth/Delegate.ts +3 -3
  335. package/source/directives/auth/Echo.ts +3 -3
  336. package/source/directives/auth/Federation.ts +2 -2
  337. package/source/directives/auth/Id.ts +2 -2
  338. package/source/directives/auth/Incept.ts +6 -6
  339. package/source/directives/auth/Input.ts +3 -3
  340. package/source/directives/auth/Role.test.ts +32 -19
  341. package/source/directives/auth/Role.ts +2 -2
  342. package/source/directives/auth/Rule.ts +2 -2
  343. package/source/directives/auth/Scheme.ts +3 -3
  344. package/source/directives/auth/create.ts +1 -1
  345. package/source/directives/auth/index.ts +1 -1
  346. package/source/directives/auth/schemes.ts +1 -1
  347. package/source/directives/auth/split.ts +2 -2
  348. package/source/directives/auth/types.ts +3 -3
  349. package/source/directives/cache/Cache.ts +6 -6
  350. package/source/directives/cache/Control.ts +1 -1
  351. package/source/directives/cache/Exact.ts +1 -1
  352. package/source/directives/cache/index.ts +1 -1
  353. package/source/directives/cache/types.ts +1 -1
  354. package/source/directives/cors/CORS.ts +2 -2
  355. package/source/directives/cors/index.ts +1 -1
  356. package/source/directives/dev/Development.ts +7 -7
  357. package/source/directives/dev/Faulty.ts +4 -4
  358. package/source/directives/dev/Sleep.ts +5 -5
  359. package/source/directives/dev/Stub.ts +2 -2
  360. package/source/directives/dev/Throw.ts +2 -2
  361. package/source/directives/dev/index.ts +1 -1
  362. package/source/directives/dev/types.ts +1 -1
  363. package/source/directives/flow/Compose.ts +3 -3
  364. package/source/directives/flow/Fetch.ts +6 -6
  365. package/source/directives/flow/Flow.ts +6 -6
  366. package/source/directives/flow/index.ts +1 -1
  367. package/source/directives/flow/types.ts +2 -2
  368. package/source/directives/index.ts +11 -11
  369. package/source/directives/io/Directive.ts +4 -4
  370. package/source/directives/io/IO.ts +8 -8
  371. package/source/directives/io/Input.ts +5 -5
  372. package/source/directives/io/Output.ts +5 -5
  373. package/source/directives/io/Throttle.ts +6 -6
  374. package/source/directives/io/index.ts +1 -1
  375. package/source/directives/io/lib/throttle/Configuration.test.ts +10 -7
  376. package/source/directives/io/lib/throttle/Keys.ts +5 -5
  377. package/source/directives/io/lib/throttle/Quotas.test.ts +48 -45
  378. package/source/directives/io/lib/throttle/Quotas.ts +5 -5
  379. package/source/directives/io/lib/throttle/Sync.test.ts +28 -20
  380. package/source/directives/io/lib/throttle/Sync.ts +1 -1
  381. package/source/directives/io/lib/throttle/components/Component.ts +2 -2
  382. package/source/directives/io/lib/throttle/components/IP.ts +2 -2
  383. package/source/directives/io/lib/throttle/components/Identity.ts +2 -2
  384. package/source/directives/io/lib/throttle/components/Path.ts +2 -2
  385. package/source/directives/io/lib/throttle/components/Route.ts +1 -1
  386. package/source/directives/io/lib/throttle/components/Segment.ts +3 -3
  387. package/source/directives/io/lib/throttle/components/index.ts +7 -7
  388. package/source/directives/io/lib/throttle/conditions/Condition.ts +1 -1
  389. package/source/directives/io/lib/throttle/conditions/Status.ts +2 -2
  390. package/source/directives/io/lib/throttle/conditions/index.ts +3 -3
  391. package/source/directives/io/lib/throttle/index.ts +3 -3
  392. package/source/directives/io/schemas.test.ts +12 -9
  393. package/source/directives/io/schemas.ts +7 -6
  394. package/source/directives/map/Authority.ts +2 -2
  395. package/source/directives/map/Buffer.ts +2 -2
  396. package/source/directives/map/Claims.ts +3 -3
  397. package/source/directives/map/Directive.ts +2 -2
  398. package/source/directives/map/Headers.ts +3 -3
  399. package/source/directives/map/Language.ts +6 -6
  400. package/source/directives/map/Languages.ts +1 -1
  401. package/source/directives/map/Map.ts +14 -14
  402. package/source/directives/map/Mapping.ts +4 -4
  403. package/source/directives/map/Segments.ts +2 -2
  404. package/source/directives/map/index.ts +1 -1
  405. package/source/directives/octets/Context.ts +2 -2
  406. package/source/directives/octets/Delete.ts +9 -9
  407. package/source/directives/octets/Directive.ts +3 -3
  408. package/source/directives/octets/Get.ts +8 -8
  409. package/source/directives/octets/Octets.ts +11 -11
  410. package/source/directives/octets/Put.ts +11 -11
  411. package/source/directives/octets/Workflow.ts +9 -9
  412. package/source/directives/octets/bytes.test.ts +21 -18
  413. package/source/directives/octets/index.ts +1 -1
  414. package/source/directives/octets/schemas.test.ts +10 -5
  415. package/source/directives/octets/schemas.ts +6 -6
  416. package/source/directives/octets/types.ts +2 -2
  417. package/source/directives/octets/workflows/Execution.ts +2 -2
  418. package/source/directives/octets/workflows/Workflow.ts +4 -4
  419. package/source/directives/octets/workflows/index.ts +1 -1
  420. package/source/directives/require/Directive.ts +1 -1
  421. package/source/directives/require/Headers.ts +3 -3
  422. package/source/directives/require/Require.ts +4 -4
  423. package/source/directives/require/index.ts +1 -1
  424. package/source/exceptions.ts +2 -2
  425. package/source/index.ts +5 -5
  426. package/source/io.ts +1 -1
  427. package/source/manifest.test.ts +12 -10
  428. package/source/manifest.ts +3 -3
  429. package/source/root.ts +1 -1
  430. package/source/schemas.ts +5 -5
  431. package/transpiled/Annotation.d.ts +10 -0
  432. package/transpiled/Annotation.js +1 -2
  433. package/transpiled/Branch.d.ts +2 -2
  434. package/transpiled/Branch.js +1 -5
  435. package/transpiled/Branch.js.map +1 -1
  436. package/transpiled/Composition.d.ts +1 -1
  437. package/transpiled/Composition.js +9 -14
  438. package/transpiled/Composition.js.map +1 -1
  439. package/transpiled/Context.d.ts +1 -1
  440. package/transpiled/Context.js +1 -2
  441. package/transpiled/Directive.d.ts +4 -4
  442. package/transpiled/Directive.js +6 -11
  443. package/transpiled/Directive.js.map +1 -1
  444. package/transpiled/Endpoint.d.ts +6 -6
  445. package/transpiled/Endpoint.js +10 -38
  446. package/transpiled/Endpoint.js.map +1 -1
  447. package/transpiled/Factory.d.ts +3 -3
  448. package/transpiled/Factory.js +31 -61
  449. package/transpiled/Factory.js.map +1 -1
  450. package/transpiled/Gateway.d.ts +4 -4
  451. package/transpiled/Gateway.js +25 -55
  452. package/transpiled/Gateway.js.map +1 -1
  453. package/transpiled/HTTP/Context.d.ts +4 -11
  454. package/transpiled/HTTP/Context.js +15 -22
  455. package/transpiled/HTTP/Context.js.map +1 -1
  456. package/transpiled/HTTP/Probe.d.ts +36 -0
  457. package/transpiled/HTTP/Probe.js +90 -0
  458. package/transpiled/HTTP/Probe.js.map +1 -0
  459. package/transpiled/HTTP/Server.d.ts +13 -9
  460. package/transpiled/HTTP/Server.js +134 -130
  461. package/transpiled/HTTP/Server.js.map +1 -1
  462. package/transpiled/HTTP/Timing.d.ts +1 -2
  463. package/transpiled/HTTP/Timing.js +6 -10
  464. package/transpiled/HTTP/Timing.js.map +1 -1
  465. package/transpiled/HTTP/exceptions.js +15 -33
  466. package/transpiled/HTTP/exceptions.js.map +1 -1
  467. package/transpiled/HTTP/formats/index.d.ts +0 -2
  468. package/transpiled/HTTP/formats/index.js +6 -32
  469. package/transpiled/HTTP/formats/index.js.map +1 -1
  470. package/transpiled/HTTP/formats/json.d.ts +0 -2
  471. package/transpiled/HTTP/formats/json.js +4 -9
  472. package/transpiled/HTTP/formats/json.js.map +1 -1
  473. package/transpiled/HTTP/formats/msgpack.d.ts +0 -2
  474. package/transpiled/HTTP/formats/msgpack.js +7 -12
  475. package/transpiled/HTTP/formats/msgpack.js.map +1 -1
  476. package/transpiled/HTTP/formats/text.d.ts +0 -2
  477. package/transpiled/HTTP/formats/text.js +4 -9
  478. package/transpiled/HTTP/formats/text.js.map +1 -1
  479. package/transpiled/HTTP/formats/yaml.d.ts +0 -2
  480. package/transpiled/HTTP/formats/yaml.js +5 -33
  481. package/transpiled/HTTP/formats/yaml.js.map +1 -1
  482. package/transpiled/HTTP/index.d.ts +6 -4
  483. package/transpiled/HTTP/index.js +6 -20
  484. package/transpiled/HTTP/index.js.map +1 -1
  485. package/transpiled/HTTP/messages.d.ts +9 -5
  486. package/transpiled/HTTP/messages.js +56 -90
  487. package/transpiled/HTTP/messages.js.map +1 -1
  488. package/transpiled/HTTP/types.d.ts +37 -0
  489. package/transpiled/HTTP/types.js +2 -0
  490. package/transpiled/HTTP/types.js.map +1 -0
  491. package/transpiled/Interception.d.ts +1 -1
  492. package/transpiled/Interception.js +1 -5
  493. package/transpiled/Interception.js.map +1 -1
  494. package/transpiled/Introspection.js +1 -2
  495. package/transpiled/Mapping.d.ts +6 -6
  496. package/transpiled/Mapping.js +4 -9
  497. package/transpiled/Mapping.js.map +1 -1
  498. package/transpiled/Query.d.ts +4 -4
  499. package/transpiled/Query.js +8 -38
  500. package/transpiled/Query.js.map +1 -1
  501. package/transpiled/RTD/Context.d.ts +3 -3
  502. package/transpiled/RTD/Context.js +1 -2
  503. package/transpiled/RTD/Directives.d.ts +4 -4
  504. package/transpiled/RTD/Directives.js +1 -2
  505. package/transpiled/RTD/Endpoint.d.ts +4 -4
  506. package/transpiled/RTD/Endpoint.js +1 -2
  507. package/transpiled/RTD/Match.d.ts +1 -1
  508. package/transpiled/RTD/Match.js +1 -2
  509. package/transpiled/RTD/Method.d.ts +3 -3
  510. package/transpiled/RTD/Method.js +1 -5
  511. package/transpiled/RTD/Method.js.map +1 -1
  512. package/transpiled/RTD/Node.d.ts +3 -3
  513. package/transpiled/RTD/Node.js +1 -5
  514. package/transpiled/RTD/Node.js.map +1 -1
  515. package/transpiled/RTD/Route.d.ts +3 -3
  516. package/transpiled/RTD/Route.js +1 -5
  517. package/transpiled/RTD/Route.js.map +1 -1
  518. package/transpiled/RTD/Tree.d.ts +5 -5
  519. package/transpiled/RTD/Tree.js +6 -10
  520. package/transpiled/RTD/Tree.js.map +1 -1
  521. package/transpiled/RTD/factory.d.ts +3 -3
  522. package/transpiled/RTD/factory.js +13 -18
  523. package/transpiled/RTD/factory.js.map +1 -1
  524. package/transpiled/RTD/index.d.ts +8 -8
  525. package/transpiled/RTD/index.js +8 -37
  526. package/transpiled/RTD/index.js.map +1 -1
  527. package/transpiled/RTD/segment.js +2 -7
  528. package/transpiled/RTD/segment.js.map +1 -1
  529. package/transpiled/RTD/syntax/index.d.ts +2 -2
  530. package/transpiled/RTD/syntax/index.js +2 -18
  531. package/transpiled/RTD/syntax/index.js.map +1 -1
  532. package/transpiled/RTD/syntax/parse.d.ts +1 -1
  533. package/transpiled/RTD/syntax/parse.js +5 -33
  534. package/transpiled/RTD/syntax/parse.js.map +1 -1
  535. package/transpiled/RTD/syntax/types.js +1 -4
  536. package/transpiled/RTD/syntax/types.js.map +1 -1
  537. package/transpiled/Remotes.d.ts +1 -1
  538. package/transpiled/Remotes.js +3 -7
  539. package/transpiled/Remotes.js.map +1 -1
  540. package/transpiled/Tenant.d.ts +2 -2
  541. package/transpiled/Tenant.js +6 -10
  542. package/transpiled/Tenant.js.map +1 -1
  543. package/transpiled/const.js +1 -4
  544. package/transpiled/const.js.map +1 -1
  545. package/transpiled/deployment.d.ts +1 -1
  546. package/transpiled/deployment.js +22 -45
  547. package/transpiled/deployment.js.map +1 -1
  548. package/transpiled/directives/auth/Anonymous.d.ts +1 -1
  549. package/transpiled/directives/auth/Anonymous.js +1 -5
  550. package/transpiled/directives/auth/Anonymous.js.map +1 -1
  551. package/transpiled/directives/auth/Anyone.d.ts +1 -1
  552. package/transpiled/directives/auth/Anyone.js +1 -5
  553. package/transpiled/directives/auth/Anyone.js.map +1 -1
  554. package/transpiled/directives/auth/Assert.d.ts +1 -1
  555. package/transpiled/directives/auth/Assert.js +7 -37
  556. package/transpiled/directives/auth/Assert.js.map +1 -1
  557. package/transpiled/directives/auth/Authorization.d.ts +5 -5
  558. package/transpiled/directives/auth/Authorization.js +41 -71
  559. package/transpiled/directives/auth/Authorization.js.map +1 -1
  560. package/transpiled/directives/auth/Delegate.d.ts +1 -1
  561. package/transpiled/directives/auth/Delegate.js +5 -9
  562. package/transpiled/directives/auth/Delegate.js.map +1 -1
  563. package/transpiled/directives/auth/Echo.d.ts +2 -2
  564. package/transpiled/directives/auth/Echo.js +3 -7
  565. package/transpiled/directives/auth/Echo.js.map +1 -1
  566. package/transpiled/directives/auth/Federation.d.ts +2 -2
  567. package/transpiled/directives/auth/Federation.js +3 -10
  568. package/transpiled/directives/auth/Federation.js.map +1 -1
  569. package/transpiled/directives/auth/Id.d.ts +2 -2
  570. package/transpiled/directives/auth/Id.js +1 -5
  571. package/transpiled/directives/auth/Id.js.map +1 -1
  572. package/transpiled/directives/auth/Incept.d.ts +2 -2
  573. package/transpiled/directives/auth/Incept.js +16 -46
  574. package/transpiled/directives/auth/Incept.js.map +1 -1
  575. package/transpiled/directives/auth/Input.d.ts +2 -2
  576. package/transpiled/directives/auth/Input.js +3 -7
  577. package/transpiled/directives/auth/Input.js.map +1 -1
  578. package/transpiled/directives/auth/Role.d.ts +2 -2
  579. package/transpiled/directives/auth/Role.js +3 -10
  580. package/transpiled/directives/auth/Role.js.map +1 -1
  581. package/transpiled/directives/auth/Rule.d.ts +2 -2
  582. package/transpiled/directives/auth/Rule.js +1 -5
  583. package/transpiled/directives/auth/Rule.js.map +1 -1
  584. package/transpiled/directives/auth/Scheme.d.ts +1 -1
  585. package/transpiled/directives/auth/Scheme.js +4 -31
  586. package/transpiled/directives/auth/Scheme.js.map +1 -1
  587. package/transpiled/directives/auth/create.d.ts +1 -1
  588. package/transpiled/directives/auth/create.js +3 -7
  589. package/transpiled/directives/auth/create.js.map +1 -1
  590. package/transpiled/directives/auth/index.d.ts +1 -1
  591. package/transpiled/directives/auth/index.js +2 -5
  592. package/transpiled/directives/auth/index.js.map +1 -1
  593. package/transpiled/directives/auth/schemes.d.ts +1 -1
  594. package/transpiled/directives/auth/schemes.js +3 -6
  595. package/transpiled/directives/auth/schemes.js.map +1 -1
  596. package/transpiled/directives/auth/split.d.ts +1 -1
  597. package/transpiled/directives/auth/split.js +2 -29
  598. package/transpiled/directives/auth/split.js.map +1 -1
  599. package/transpiled/directives/auth/types.d.ts +3 -3
  600. package/transpiled/directives/auth/types.js +1 -2
  601. package/transpiled/directives/cache/Cache.d.ts +4 -4
  602. package/transpiled/directives/cache/Cache.js +6 -10
  603. package/transpiled/directives/cache/Cache.js.map +1 -1
  604. package/transpiled/directives/cache/Control.d.ts +1 -1
  605. package/transpiled/directives/cache/Control.js +3 -7
  606. package/transpiled/directives/cache/Control.js.map +1 -1
  607. package/transpiled/directives/cache/Exact.d.ts +1 -1
  608. package/transpiled/directives/cache/Exact.js +2 -6
  609. package/transpiled/directives/cache/Exact.js.map +1 -1
  610. package/transpiled/directives/cache/index.d.ts +1 -1
  611. package/transpiled/directives/cache/index.js +2 -5
  612. package/transpiled/directives/cache/index.js.map +1 -1
  613. package/transpiled/directives/cache/types.d.ts +1 -1
  614. package/transpiled/directives/cache/types.js +1 -2
  615. package/transpiled/directives/cors/CORS.d.ts +2 -2
  616. package/transpiled/directives/cors/CORS.js +1 -5
  617. package/transpiled/directives/cors/CORS.js.map +1 -1
  618. package/transpiled/directives/cors/index.d.ts +1 -1
  619. package/transpiled/directives/cors/index.js +2 -5
  620. package/transpiled/directives/cors/index.js.map +1 -1
  621. package/transpiled/directives/dev/Development.d.ts +3 -3
  622. package/transpiled/directives/dev/Development.js +9 -13
  623. package/transpiled/directives/dev/Development.js.map +1 -1
  624. package/transpiled/directives/dev/Faulty.d.ts +2 -2
  625. package/transpiled/directives/dev/Faulty.js +8 -15
  626. package/transpiled/directives/dev/Faulty.js.map +1 -1
  627. package/transpiled/directives/dev/Sleep.d.ts +2 -2
  628. package/transpiled/directives/dev/Sleep.js +13 -20
  629. package/transpiled/directives/dev/Sleep.js.map +1 -1
  630. package/transpiled/directives/dev/Stub.d.ts +2 -2
  631. package/transpiled/directives/dev/Stub.js +1 -5
  632. package/transpiled/directives/dev/Stub.js.map +1 -1
  633. package/transpiled/directives/dev/Throw.d.ts +2 -2
  634. package/transpiled/directives/dev/Throw.js +1 -5
  635. package/transpiled/directives/dev/Throw.js.map +1 -1
  636. package/transpiled/directives/dev/index.d.ts +1 -1
  637. package/transpiled/directives/dev/index.js +2 -5
  638. package/transpiled/directives/dev/index.js.map +1 -1
  639. package/transpiled/directives/dev/types.d.ts +1 -1
  640. package/transpiled/directives/dev/types.js +1 -2
  641. package/transpiled/directives/flow/Compose.d.ts +2 -2
  642. package/transpiled/directives/flow/Compose.js +10 -37
  643. package/transpiled/directives/flow/Compose.js.map +1 -1
  644. package/transpiled/directives/flow/Fetch.d.ts +5 -5
  645. package/transpiled/directives/flow/Fetch.js +10 -17
  646. package/transpiled/directives/flow/Fetch.js.map +1 -1
  647. package/transpiled/directives/flow/Flow.d.ts +4 -4
  648. package/transpiled/directives/flow/Flow.js +5 -9
  649. package/transpiled/directives/flow/Flow.js.map +1 -1
  650. package/transpiled/directives/flow/index.d.ts +1 -1
  651. package/transpiled/directives/flow/index.js +2 -5
  652. package/transpiled/directives/flow/index.js.map +1 -1
  653. package/transpiled/directives/flow/types.d.ts +2 -2
  654. package/transpiled/directives/flow/types.js +1 -2
  655. package/transpiled/directives/index.d.ts +2 -2
  656. package/transpiled/directives/index.js +11 -14
  657. package/transpiled/directives/index.js.map +1 -1
  658. package/transpiled/directives/io/Directive.d.ts +4 -4
  659. package/transpiled/directives/io/Directive.js +1 -2
  660. package/transpiled/directives/io/IO.d.ts +4 -4
  661. package/transpiled/directives/io/IO.js +11 -15
  662. package/transpiled/directives/io/IO.js.map +1 -1
  663. package/transpiled/directives/io/Input.d.ts +2 -2
  664. package/transpiled/directives/io/Input.js +5 -32
  665. package/transpiled/directives/io/Input.js.map +1 -1
  666. package/transpiled/directives/io/Message.js +1 -2
  667. package/transpiled/directives/io/Output.d.ts +2 -2
  668. package/transpiled/directives/io/Output.js +6 -33
  669. package/transpiled/directives/io/Output.js.map +1 -1
  670. package/transpiled/directives/io/Throttle.d.ts +4 -4
  671. package/transpiled/directives/io/Throttle.js +6 -33
  672. package/transpiled/directives/io/Throttle.js.map +1 -1
  673. package/transpiled/directives/io/index.d.ts +1 -1
  674. package/transpiled/directives/io/index.js +2 -5
  675. package/transpiled/directives/io/index.js.map +1 -1
  676. package/transpiled/directives/io/lib/throttle/Configuration.js +1 -5
  677. package/transpiled/directives/io/lib/throttle/Configuration.js.map +1 -1
  678. package/transpiled/directives/io/lib/throttle/Keys.d.ts +5 -5
  679. package/transpiled/directives/io/lib/throttle/Keys.js +7 -11
  680. package/transpiled/directives/io/lib/throttle/Keys.js.map +1 -1
  681. package/transpiled/directives/io/lib/throttle/Quotas.d.ts +5 -5
  682. package/transpiled/directives/io/lib/throttle/Quotas.js +3 -7
  683. package/transpiled/directives/io/lib/throttle/Quotas.js.map +1 -1
  684. package/transpiled/directives/io/lib/throttle/Sync.d.ts +1 -1
  685. package/transpiled/directives/io/lib/throttle/Sync.js +3 -7
  686. package/transpiled/directives/io/lib/throttle/Sync.js.map +1 -1
  687. package/transpiled/directives/io/lib/throttle/components/Component.d.ts +2 -2
  688. package/transpiled/directives/io/lib/throttle/components/Component.js +1 -2
  689. package/transpiled/directives/io/lib/throttle/components/IP.d.ts +2 -2
  690. package/transpiled/directives/io/lib/throttle/components/IP.js +1 -5
  691. package/transpiled/directives/io/lib/throttle/components/IP.js.map +1 -1
  692. package/transpiled/directives/io/lib/throttle/components/Identity.d.ts +2 -2
  693. package/transpiled/directives/io/lib/throttle/components/Identity.js +1 -5
  694. package/transpiled/directives/io/lib/throttle/components/Identity.js.map +1 -1
  695. package/transpiled/directives/io/lib/throttle/components/Path.d.ts +2 -2
  696. package/transpiled/directives/io/lib/throttle/components/Path.js +1 -5
  697. package/transpiled/directives/io/lib/throttle/components/Path.js.map +1 -1
  698. package/transpiled/directives/io/lib/throttle/components/Route.d.ts +1 -1
  699. package/transpiled/directives/io/lib/throttle/components/Route.js +1 -5
  700. package/transpiled/directives/io/lib/throttle/components/Route.js.map +1 -1
  701. package/transpiled/directives/io/lib/throttle/components/Segment.d.ts +3 -3
  702. package/transpiled/directives/io/lib/throttle/components/Segment.js +3 -10
  703. package/transpiled/directives/io/lib/throttle/components/Segment.js.map +1 -1
  704. package/transpiled/directives/io/lib/throttle/components/index.d.ts +2 -2
  705. package/transpiled/directives/io/lib/throttle/components/index.js +11 -14
  706. package/transpiled/directives/io/lib/throttle/components/index.js.map +1 -1
  707. package/transpiled/directives/io/lib/throttle/conditions/Condition.d.ts +1 -1
  708. package/transpiled/directives/io/lib/throttle/conditions/Condition.js +1 -2
  709. package/transpiled/directives/io/lib/throttle/conditions/Status.d.ts +2 -2
  710. package/transpiled/directives/io/lib/throttle/conditions/Status.js +3 -10
  711. package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -1
  712. package/transpiled/directives/io/lib/throttle/conditions/index.d.ts +2 -2
  713. package/transpiled/directives/io/lib/throttle/conditions/index.js +3 -6
  714. package/transpiled/directives/io/lib/throttle/conditions/index.js.map +1 -1
  715. package/transpiled/directives/io/lib/throttle/index.d.ts +3 -3
  716. package/transpiled/directives/io/lib/throttle/index.js +3 -9
  717. package/transpiled/directives/io/lib/throttle/index.js.map +1 -1
  718. package/transpiled/directives/io/schemas.d.ts +5 -5
  719. package/transpiled/directives/io/schemas.js +8 -14
  720. package/transpiled/directives/io/schemas.js.map +1 -1
  721. package/transpiled/directives/map/Authority.d.ts +2 -2
  722. package/transpiled/directives/map/Authority.js +4 -11
  723. package/transpiled/directives/map/Authority.js.map +1 -1
  724. package/transpiled/directives/map/Buffer.d.ts +2 -2
  725. package/transpiled/directives/map/Buffer.js +4 -11
  726. package/transpiled/directives/map/Buffer.js.map +1 -1
  727. package/transpiled/directives/map/Claims.d.ts +3 -3
  728. package/transpiled/directives/map/Claims.js +5 -12
  729. package/transpiled/directives/map/Claims.js.map +1 -1
  730. package/transpiled/directives/map/Directive.d.ts +2 -2
  731. package/transpiled/directives/map/Directive.js +1 -2
  732. package/transpiled/directives/map/Headers.d.ts +2 -2
  733. package/transpiled/directives/map/Headers.js +7 -14
  734. package/transpiled/directives/map/Headers.js.map +1 -1
  735. package/transpiled/directives/map/Language.d.ts +4 -4
  736. package/transpiled/directives/map/Language.js +10 -17
  737. package/transpiled/directives/map/Language.js.map +1 -1
  738. package/transpiled/directives/map/Languages.d.ts +1 -1
  739. package/transpiled/directives/map/Languages.js +5 -12
  740. package/transpiled/directives/map/Languages.js.map +1 -1
  741. package/transpiled/directives/map/Map.d.ts +6 -6
  742. package/transpiled/directives/map/Map.js +20 -24
  743. package/transpiled/directives/map/Map.js.map +1 -1
  744. package/transpiled/directives/map/Mapping.d.ts +4 -4
  745. package/transpiled/directives/map/Mapping.js +1 -5
  746. package/transpiled/directives/map/Mapping.js.map +1 -1
  747. package/transpiled/directives/map/Properties.js +2 -6
  748. package/transpiled/directives/map/Properties.js.map +1 -1
  749. package/transpiled/directives/map/Segments.d.ts +2 -2
  750. package/transpiled/directives/map/Segments.js +6 -13
  751. package/transpiled/directives/map/Segments.js.map +1 -1
  752. package/transpiled/directives/map/index.d.ts +1 -1
  753. package/transpiled/directives/map/index.js +2 -5
  754. package/transpiled/directives/map/index.js.map +1 -1
  755. package/transpiled/directives/octets/Context.d.ts +2 -2
  756. package/transpiled/directives/octets/Context.js +4 -11
  757. package/transpiled/directives/octets/Context.js.map +1 -1
  758. package/transpiled/directives/octets/Delete.d.ts +6 -6
  759. package/transpiled/directives/octets/Delete.js +9 -36
  760. package/transpiled/directives/octets/Delete.js.map +1 -1
  761. package/transpiled/directives/octets/Directive.d.ts +3 -3
  762. package/transpiled/directives/octets/Directive.js +1 -5
  763. package/transpiled/directives/octets/Directive.js.map +1 -1
  764. package/transpiled/directives/octets/Get.d.ts +3 -3
  765. package/transpiled/directives/octets/Get.js +10 -37
  766. package/transpiled/directives/octets/Get.js.map +1 -1
  767. package/transpiled/directives/octets/Octets.d.ts +5 -5
  768. package/transpiled/directives/octets/Octets.js +15 -19
  769. package/transpiled/directives/octets/Octets.js.map +1 -1
  770. package/transpiled/directives/octets/Put.d.ts +6 -6
  771. package/transpiled/directives/octets/Put.js +17 -44
  772. package/transpiled/directives/octets/Put.js.map +1 -1
  773. package/transpiled/directives/octets/Workflow.d.ts +6 -6
  774. package/transpiled/directives/octets/Workflow.js +7 -34
  775. package/transpiled/directives/octets/Workflow.js.map +1 -1
  776. package/transpiled/directives/octets/bytes.js +3 -10
  777. package/transpiled/directives/octets/bytes.js.map +1 -1
  778. package/transpiled/directives/octets/index.d.ts +1 -1
  779. package/transpiled/directives/octets/index.js +2 -5
  780. package/transpiled/directives/octets/index.js.map +1 -1
  781. package/transpiled/directives/octets/schemas.d.ts +4 -4
  782. package/transpiled/directives/octets/schemas.js +8 -14
  783. package/transpiled/directives/octets/schemas.js.map +1 -1
  784. package/transpiled/directives/octets/types.d.ts +2 -2
  785. package/transpiled/directives/octets/types.js +1 -2
  786. package/transpiled/directives/octets/workflows/Execution.d.ts +2 -3
  787. package/transpiled/directives/octets/workflows/Execution.js +5 -9
  788. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  789. package/transpiled/directives/octets/workflows/Workflow.d.ts +3 -3
  790. package/transpiled/directives/octets/workflows/Workflow.js +7 -11
  791. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  792. package/transpiled/directives/octets/workflows/index.d.ts +1 -1
  793. package/transpiled/directives/octets/workflows/index.js +1 -5
  794. package/transpiled/directives/octets/workflows/index.js.map +1 -1
  795. package/transpiled/directives/require/Directive.d.ts +1 -1
  796. package/transpiled/directives/require/Directive.js +1 -2
  797. package/transpiled/directives/require/Headers.d.ts +2 -2
  798. package/transpiled/directives/require/Headers.js +3 -7
  799. package/transpiled/directives/require/Headers.js.map +1 -1
  800. package/transpiled/directives/require/Require.d.ts +3 -3
  801. package/transpiled/directives/require/Require.js +6 -13
  802. package/transpiled/directives/require/Require.js.map +1 -1
  803. package/transpiled/directives/require/index.d.ts +1 -1
  804. package/transpiled/directives/require/index.js +2 -5
  805. package/transpiled/directives/require/index.js.map +1 -1
  806. package/transpiled/discovery.js +1 -2
  807. package/transpiled/exceptions.d.ts +1 -1
  808. package/transpiled/exceptions.js +8 -35
  809. package/transpiled/exceptions.js.map +1 -1
  810. package/transpiled/index.d.ts +5 -5
  811. package/transpiled/index.js +4 -11
  812. package/transpiled/index.js.map +1 -1
  813. package/transpiled/io.d.ts +1 -1
  814. package/transpiled/io.js +1 -2
  815. package/transpiled/manifest.d.ts +1 -1
  816. package/transpiled/manifest.js +8 -38
  817. package/transpiled/manifest.js.map +1 -1
  818. package/transpiled/root.d.ts +1 -1
  819. package/transpiled/root.js +5 -9
  820. package/transpiled/root.js.map +1 -1
  821. package/transpiled/schemas.d.ts +3 -3
  822. package/transpiled/schemas.js +7 -13
  823. package/transpiled/schemas.js.map +1 -1
  824. package/tsconfig.json +2 -1
  825. package/tsconfig.tsbuildinfo +1 -0
  826. package/components/identity.bans/operations/tsconfig.tsbuildinfo +0 -1
  827. package/components/identity.basic/operations/tsconfig.tsbuildinfo +0 -1
  828. package/components/identity.credentials/operations/tsconfig.tsbuildinfo +0 -1
  829. package/components/identity.federation/operations/tsconfig.tsbuildinfo +0 -1
  830. package/components/identity.keys/operations/tsconfig.tsbuildinfo +0 -1
  831. package/components/identity.otp/operations/tsconfig.tsbuildinfo +0 -1
  832. package/components/identity.passkeys/operations/tsconfig.tsbuildinfo +0 -1
  833. package/components/identity.roles/operations/tsconfig.tsbuildinfo +0 -1
  834. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +0 -1
  835. package/cucumber.js +0 -7
  836. package/source/index.test.ts +0 -9
  837. package/transpiled/tsconfig.tsbuildinfo +0 -1
@@ -1,4 +1,7 @@
1
- import { parse } from './parse'
1
+ import { describe, it } from 'node:test'
2
+ import assert from 'node:assert/strict'
3
+
4
+ import { parse } from './parse.js'
2
5
 
3
6
  describe('routes', () => {
4
7
  it('should parse route', async () => {
@@ -9,9 +12,9 @@ describe('routes', () => {
9
12
 
10
13
  const node = parse(declaration)
11
14
 
12
- expect(node.routes).toHaveLength(2)
13
- expect(node.routes[0].path).toBe('/')
14
- expect(node.routes[1].path).toBe('/foo')
15
+ assert.strictEqual(node.routes.length, 2)
16
+ assert.strictEqual(node.routes[0].path, '/')
17
+ assert.strictEqual(node.routes[1].path, '/foo')
15
18
  })
16
19
 
17
20
  it('should parse nested routes', async () => {
@@ -25,9 +28,9 @@ describe('routes', () => {
25
28
  const node = parse(declaration)
26
29
  const root = node.routes[0].node
27
30
 
28
- expect(root.routes).toHaveLength(2)
29
- expect(root.routes[0].path).toBe('/foo')
30
- expect(root.routes[1].path).toBe('/bar')
31
+ assert.strictEqual(root.routes.length, 2)
32
+ assert.strictEqual(root.routes[0].path, '/foo')
33
+ assert.strictEqual(root.routes[1].path, '/bar')
31
34
  })
32
35
  })
33
36
 
@@ -44,9 +47,9 @@ describe('methods', () => {
44
47
  const node = parse(declaration)
45
48
  const root = node.routes[0].node
46
49
 
47
- expect(root.methods).toHaveLength(1)
48
- expect(root.methods[0].verb).toBe('GET')
49
- expect(root.methods[0].mapping).toMatchObject({ endpoint: 'observe' })
50
+ assert.strictEqual(root.methods.length, 1)
51
+ assert.strictEqual(root.methods[0].verb, 'GET')
52
+ assert.partialDeepStrictEqual(root.methods[0].mapping, { endpoint: 'observe' })
50
53
  })
51
54
 
52
55
  it('should parse endpoint shortcut', async () => {
@@ -59,9 +62,9 @@ describe('methods', () => {
59
62
  const node = parse(declaration)
60
63
  const root = node.routes[0].node
61
64
 
62
- expect(root.methods).toHaveLength(1)
63
- expect(root.methods[0].verb).toBe('GET')
64
- expect(root.methods[0].mapping).toMatchObject({ endpoint: 'observe' })
65
+ assert.strictEqual(root.methods.length, 1)
66
+ assert.strictEqual(root.methods[0].verb, 'GET')
67
+ assert.partialDeepStrictEqual(root.methods[0].mapping, { endpoint: 'observe' })
65
68
  })
66
69
 
67
70
  it('should parse fq endpoint', async () => {
@@ -74,10 +77,10 @@ describe('methods', () => {
74
77
  const node = parse(declaration)
75
78
  const root = node.routes[0].node
76
79
 
77
- expect(root.methods).toHaveLength(1)
78
- expect(root.methods[0].verb).toBe('GET')
80
+ assert.strictEqual(root.methods.length, 1)
81
+ assert.strictEqual(root.methods[0].verb, 'GET')
79
82
 
80
- expect(root.methods[0].mapping).toMatchObject({
83
+ assert.partialDeepStrictEqual(root.methods[0].mapping, {
81
84
  namespace: 'dummies',
82
85
  component: 'dummy',
83
86
  endpoint: 'observe'
@@ -94,10 +97,10 @@ describe('methods', () => {
94
97
  const node = parse(declaration)
95
98
  const root = node.routes[0].node
96
99
 
97
- expect(root.methods).toHaveLength(1)
98
- expect(root.methods[0].verb).toBe('GET')
100
+ assert.strictEqual(root.methods.length, 1)
101
+ assert.strictEqual(root.methods[0].verb, 'GET')
99
102
 
100
- expect(root.methods[0].mapping).toMatchObject({
103
+ assert.partialDeepStrictEqual(root.methods[0].mapping, {
101
104
  namespace: 'default',
102
105
  component: 'dummy',
103
106
  endpoint: 'observe'
@@ -117,8 +120,7 @@ describe('methods', () => {
117
120
  const node = parse(declaration)
118
121
  const root = node.routes[0].node
119
122
 
120
- expect(root.methods[0].directives)
121
- .toStrictEqual([{ family: 'auth', name: 'incept', value: 'id' }])
123
+ assert.deepStrictEqual(root.methods[0].directives, [{ family: 'auth', name: 'incept', value: 'id' }])
122
124
  })
123
125
  })
124
126
 
@@ -137,10 +139,10 @@ describe('directives', () => {
137
139
  const node = parse(declaration, shortcuts)
138
140
  const root = node.routes[0].node
139
141
 
140
- expect(root.directives).toHaveLength(1)
141
- expect(root.directives[0].family).toBe('dev')
142
- expect(root.directives[0].name).toBe('foo')
143
- expect(root.directives[0].value).toBe('baz')
142
+ assert.strictEqual(root.directives.length, 1)
143
+ assert.strictEqual(root.directives[0].family, 'dev')
144
+ assert.strictEqual(root.directives[0].name, 'foo')
145
+ assert.strictEqual(root.directives[0].value, 'baz')
144
146
  })
145
147
  })
146
148
 
@@ -148,7 +150,7 @@ describe('validation', () => {
148
150
  it('should throw on unknown key', async () => {
149
151
  const declaration = { hello: 'world' }
150
152
 
151
- expect(() => parse(declaration)).toThrow('RTD parse error: unknown key \'hello\'')
153
+ assert.throws(() => parse(declaration), (error: any) => /RTD parse error: unknown key 'hello'/.test(error.message))
152
154
  })
153
155
 
154
156
  it('should throw on invalid mapping', async () => {
@@ -161,7 +163,7 @@ describe('validation', () => {
161
163
  }
162
164
  }
163
165
 
164
- expect(() => parse(declaration)).toThrow('/methods/0/mapping')
166
+ assert.throws(() => parse(declaration), (error: any) => /\/methods\/0\/mapping/.test(error.message))
165
167
  })
166
168
  })
167
169
 
@@ -181,7 +183,7 @@ it('should expand ranges', async () => {
181
183
  const node = parse(declaration)
182
184
  const query = node.routes[0].node.methods[0].mapping?.query
183
185
 
184
- expect(query).toMatchObject({
186
+ assert.partialDeepStrictEqual(query, {
185
187
  omit: { value: 3, range: [3, 3] },
186
188
  limit: { value: 2, range: [2, 2] }
187
189
  })
@@ -1,4 +1,4 @@
1
- import * as schemas from '../../schemas'
1
+ import * as schemas from '../../schemas.js'
2
2
  import {
3
3
  verbs,
4
4
  type Node,
@@ -7,7 +7,7 @@ import {
7
7
  type Mapping,
8
8
  type Directive,
9
9
  type Range
10
- } from './types'
10
+ } from './types.js'
11
11
 
12
12
  export function parse (input: object, shortcuts?: Shortcuts): Node {
13
13
  const node = parseNode(input, shortcuts)
@@ -1,19 +1,23 @@
1
+ import { it, beforeEach, mock } from 'node:test'
2
+ import assert from 'node:assert/strict'
3
+ import { isDeepStrictEqual } from 'node:util'
4
+
1
5
  import { generate } from 'randomstring'
2
6
  import { Connector } from '@toa.io/core'
3
- import { Remotes } from './Remotes'
4
- import type { Bootloader } from './Factory'
7
+ import { Remotes } from './Remotes.js'
8
+ import type { Bootloader } from './Factory.js'
5
9
  import type { Locator, Source } from '@toa.io/core'
6
10
 
7
- jest.mock('@toa.io/boot', () => ({
11
+ mock.module('@toa.io/boot', { namedExports: ({
8
12
  remote: async (locator: Locator, source?: Source) => await boot.remote(locator, source)
9
- }))
13
+ }) })
10
14
 
11
15
  const boot = {
12
- remote: jest.fn(async (..._) => ({
13
- connect: jest.fn(() => undefined),
14
- link: jest.fn(() => undefined)
16
+ remote: mock.fn(async () => ({
17
+ connect: mock.fn(() => undefined),
18
+ link: mock.fn(() => undefined)
15
19
  }))
16
- } as unknown as jest.MockedObjectDeep<Bootloader>
20
+ } as unknown as Bootloader
17
21
 
18
22
  const namespace = generate()
19
23
  const name = generate()
@@ -27,24 +31,33 @@ beforeEach(() => {
27
31
  it('should create remote', async () => {
28
32
  const remote = await remotes.discover(namespace, name)
29
33
 
30
- expect(boot.remote).toHaveBeenCalledWith(expect.objectContaining({ namespace, name }),
31
- expect.anything())
34
+ assert.ok(boot.remote.mock.calls.some((call: any) => call.arguments.length === 2 && isPartial(call.arguments[0], { namespace, name }) && call.arguments[1] !== null && call.arguments[1] !== undefined))
32
35
 
33
- expect(remote).toStrictEqual(await boot.remote.mock.results[0].value)
36
+ assert.deepStrictEqual(remote, await boot.remote.mock.calls[0].result)
34
37
  })
35
38
 
36
39
  it('should be instance of Connector', async () => {
37
- expect(remotes).toBeInstanceOf(Connector)
40
+ assert.ok(remotes instanceof Connector)
38
41
  })
39
42
 
40
43
  it('should depend on created remotes', async () => {
41
44
  const remote = await remotes.discover(namespace, name)
42
45
 
43
- expect(remote.link).toHaveBeenCalledWith(remotes)
46
+ assert.ok(remote.link.mock.calls.some((call: any) => call.arguments.length === 1 && isDeepStrictEqual(call.arguments[0], remotes)))
44
47
  })
45
48
 
46
49
  it('should attribute calls to the gateway', async () => {
47
50
  await remotes.discover(namespace, name)
48
51
 
49
- expect(boot.remote).toHaveBeenCalledWith(expect.anything(), { service: 'exposition' })
52
+ assert.ok(boot.remote.mock.calls.some((call: any) => call.arguments.length === 2 && call.arguments[0] !== null && call.arguments[0] !== undefined && isDeepStrictEqual(call.arguments[1], { service: 'exposition' })))
50
53
  })
54
+
55
+ function isPartial (actual, expected) {
56
+ try {
57
+ assert.partialDeepStrictEqual(actual, expected)
58
+
59
+ return true
60
+ } catch {
61
+ return false
62
+ }
63
+ }
package/source/Remotes.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Locator, Connector, type Remote, type Source } from '@toa.io/core'
2
- import { type Bootloader } from './Factory'
2
+ import { type Bootloader } from './Factory.js'
3
3
 
4
4
  export class Remotes extends Connector {
5
5
  private readonly boot: Bootloader
package/source/Tenant.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { setTimeout } from 'node:timers/promises'
2
2
  import { Connector } from '@toa.io/core'
3
- import { BRANCH_TTL } from './const'
3
+ import { BRANCH_TTL } from './const.js'
4
4
  import type { bindings } from '@toa.io/core'
5
- import type { Label } from './discovery'
6
- import type { Branch } from './Branch'
5
+ import type { Label } from './discovery.js'
6
+ import type { Branch } from './Branch.js'
7
7
 
8
8
  export class Tenant extends Connector {
9
9
  private readonly broadcast: Broadcast
@@ -1,11 +1,12 @@
1
+ import { readFileSync } from 'node:fs'
1
2
  import assert from 'node:assert'
2
3
  import { type Dependency, type Service } from '@toa.io/operations'
3
- import { type Annotation } from './Annotation'
4
- import * as schemas from './schemas'
5
- import { shortcuts } from './Directive'
6
- import { components } from './Composition'
7
- import { parse } from './RTD/syntax'
8
- import { DELAY, PORT } from './HTTP'
4
+ import { type Annotation } from './Annotation.js'
5
+ import * as schemas from './schemas.js'
6
+ import { shortcuts } from './Directive.js'
7
+ import { components } from './Composition.js'
8
+ import { parse } from './RTD/syntax/index.js'
9
+ import { DELAY, PORT, PROBE } from './HTTP/index.js'
9
10
 
10
11
  export function deployment (_: unknown, annotation?: Annotation): Dependency {
11
12
  assert.ok(annotation !== undefined, 'Exposition context annotation is required')
@@ -17,14 +18,14 @@ export function deployment (_: unknown, annotation?: Annotation): Dependency {
17
18
  group: 'exposition',
18
19
  name: 'gateway',
19
20
  port: PORT,
20
- version: require('../package.json').version,
21
+ version: JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')).version,
21
22
  variables: [],
22
23
  components: labels,
23
24
  resources: annotation.resources,
24
25
  ingress: { path: '/', hosts: [] },
25
26
  probe: {
26
27
  path: '/.ready',
27
- port: PORT,
28
+ port: PROBE,
28
29
  delay: DELAY
29
30
  }
30
31
  }
@@ -49,17 +50,25 @@ export function deployment (_: unknown, annotation?: Annotation): Dependency {
49
50
  if (annotation.annotations !== undefined)
50
51
  service.ingress!.annotations = annotation.annotations
51
52
 
53
+ if (annotation.service?.annotations !== undefined)
54
+ service.annotations = annotation.service.annotations
55
+
52
56
  const properties: Properties = { authorities }
53
57
 
54
58
  if (debug === true)
55
59
  properties.debug = true
56
60
 
61
+ if (annotation.protocol !== undefined)
62
+ properties.protocol = annotation.protocol
63
+
57
64
  service.variables!.push({
58
65
  name: 'TOA_EXPOSITION_PROPERTIES',
59
66
  value: JSON.stringify(properties)
60
67
  })
61
68
 
62
- // Nested identity composition shares this process; gateway already exposes /.ready.
69
+ // The identity composition nested in this process connects before route discovery settles,
70
+ // so telemetry's probe — which tracks that composition — would report ready too early.
71
+ // The gateway answers for itself, on the same port telemetry would have used.
63
72
  service.variables!.push({
64
73
  name: 'TOA_TELEMETRY_READY',
65
74
  value: JSON.stringify(false)
@@ -68,4 +77,4 @@ export function deployment (_: unknown, annotation?: Annotation): Dependency {
68
77
  return { services: [service] }
69
78
  }
70
79
 
71
- type Properties = Pick<Annotation, 'authorities' | 'debug'>
80
+ type Properties = Pick<Annotation, 'authorities' | 'debug' | 'protocol'>
@@ -1,4 +1,4 @@
1
- import { type Directive, type Context } from './types'
1
+ import { type Directive, type Context } from './types.js'
2
2
 
3
3
  export class Anonymous implements Directive {
4
4
  private readonly allow: boolean
@@ -1,4 +1,4 @@
1
- import { type Directive, type Context } from './types'
1
+ import { type Directive, type Context } from './types.js'
2
2
 
3
3
  export class Anyone implements Directive {
4
4
  private readonly allow: boolean
@@ -1,8 +1,8 @@
1
1
  import assert from 'node:assert'
2
2
  import { newid } from '@toa.io/generic'
3
- import * as http from '../../HTTP'
4
- import { Incept } from './Incept'
5
- import type { Context, Directive, Identity } from './types'
3
+ import * as http from '../../HTTP/index.js'
4
+ import { Incept } from './Incept.js'
5
+ import type { Context, Directive, Identity } from './types.js'
6
6
 
7
7
  export class Assert implements Directive {
8
8
  private readonly disabled: boolean
@@ -2,25 +2,25 @@ import assert from 'node:assert'
2
2
  import { match } from 'matchacho'
3
3
  import { console } from 'openspan'
4
4
  import { Minimatch } from 'minimatch'
5
- import * as http from '../../HTTP'
6
- import { Anonymous } from './Anonymous'
7
- import { Id } from './Id'
8
- import { Role } from './Role'
9
- import { Rule } from './Rule'
10
- import { Incept } from './Incept'
11
- import { Assert } from './Assert'
12
- import { Echo } from './Echo'
13
- import { Scheme } from './Scheme'
14
- import { Delegate } from './Delegate'
15
- import { Federation } from './Federation'
16
- import { Anyone } from './Anyone'
17
- import { Input, type Declaration } from './Input'
18
- import { split } from './split'
19
- import { PRIMARY, PROVIDERS } from './schemes'
20
- import type { Output } from '../../io'
5
+ import * as http from '../../HTTP/index.js'
6
+ import { Anonymous } from './Anonymous.js'
7
+ import { Id } from './Id.js'
8
+ import { Role } from './Role.js'
9
+ import { Rule } from './Rule.js'
10
+ import { Incept } from './Incept.js'
11
+ import { Assert } from './Assert.js'
12
+ import { Echo } from './Echo.js'
13
+ import { Scheme } from './Scheme.js'
14
+ import { Delegate } from './Delegate.js'
15
+ import { Federation } from './Federation.js'
16
+ import { Anyone } from './Anyone.js'
17
+ import { Input, type Declaration } from './Input.js'
18
+ import { split } from './split.js'
19
+ import { PRIMARY, PROVIDERS } from './schemes.js'
20
+ import type { Output } from '../../io.js'
21
21
  import type { Component } from '@toa.io/core'
22
- import type { Remotes } from '../../Remotes'
23
- import type { Parameter, DirectiveFamily } from '../../RTD'
22
+ import type { Remotes } from '../../Remotes.js'
23
+ import type { Parameter, DirectiveFamily } from '../../RTD/index.js'
24
24
  import type {
25
25
  AuthenticationResult,
26
26
  Ban,
@@ -31,7 +31,7 @@ import type {
31
31
  Context,
32
32
  Remote,
33
33
  Schemes
34
- } from './types'
34
+ } from './types.js'
35
35
 
36
36
  export class Authorization implements DirectiveFamily<Directive, Extension> {
37
37
  public readonly depends: string[] = ['Vary']
@@ -1,6 +1,6 @@
1
- import { BadRequest } from '../../HTTP'
2
- import { Role } from './Role'
3
- import type { Context, Directive, Identity } from './types'
1
+ import { BadRequest } from '../../HTTP/index.js'
2
+ import { Role } from './Role.js'
3
+ import type { Context, Directive, Identity } from './types.js'
4
4
  import type { Component } from '@toa.io/core'
5
5
 
6
6
  export class Delegate implements Directive {
@@ -1,6 +1,6 @@
1
- import { create } from './create'
2
- import type { OutgoingMessage } from '../../HTTP'
3
- import type { Directive, Identity, Context } from './types'
1
+ import { create } from './create.js'
2
+ import type { OutgoingMessage } from '../../HTTP/index.js'
3
+ import type { Directive, Identity, Context } from './types.js'
4
4
 
5
5
  export class Echo implements Directive {
6
6
  public authorize (identity: Identity | null, context: Context): boolean {
@@ -1,6 +1,6 @@
1
1
  import assert from 'node:assert'
2
- import type { Directive, Identity, Context } from './types'
3
- import type { Parameter } from '../../RTD'
2
+ import type { Directive, Identity, Context } from './types.js'
3
+ import type { Parameter } from '../../RTD/index.js'
4
4
 
5
5
  export class Federation implements Directive {
6
6
  private readonly matchers: Array<[keyof Claims, Matcher]>
@@ -1,5 +1,5 @@
1
- import { type Parameter } from '../../RTD'
2
- import { type Directive, type Identity } from './types'
1
+ import { type Parameter } from '../../RTD/index.js'
2
+ import { type Directive, type Identity } from './types.js'
3
3
 
4
4
  export class Id implements Directive {
5
5
  private readonly parameter: string
@@ -1,13 +1,13 @@
1
1
  import assert from 'node:assert'
2
2
  import { console } from 'openspan'
3
- import * as http from '../../HTTP'
4
- import { split } from './split'
5
- import { create } from './create'
6
- import { PROVIDERS, INCEPTION } from './schemes'
7
- import { Role } from './Role'
3
+ import * as http from '../../HTTP/index.js'
4
+ import { split } from './split.js'
5
+ import { create } from './create.js'
6
+ import { PROVIDERS, INCEPTION } from './schemes.js'
7
+ import { Role } from './Role.js'
8
8
  import type { Component } from '@toa.io/core'
9
9
  import type { Maybe } from '@toa.io/types'
10
- import type { Directive, Discovery, Identity, Context, Schemes, Ban } from './types'
10
+ import type { Directive, Discovery, Identity, Context, Schemes, Ban } from './types.js'
11
11
 
12
12
  export class Incept implements Directive {
13
13
  private static readonly schemes: Schemes = {} as unknown as Schemes
@@ -1,6 +1,6 @@
1
- import { Forbidden } from '../../HTTP'
2
- import type { Parameter } from '../../RTD'
3
- import type { Context, Directive, Identity, Create } from './types'
1
+ import { Forbidden } from '../../HTTP/index.js'
2
+ import type { Parameter } from '../../RTD/index.js'
3
+ import type { Context, Directive, Identity, Create } from './types.js'
4
4
 
5
5
  export class Input implements Directive {
6
6
  public priority = 0
@@ -1,17 +1,21 @@
1
+ import { it, beforeEach, mock } from 'node:test'
2
+ import assert from 'node:assert/strict'
3
+ import { isDeepStrictEqual } from 'node:util'
4
+
1
5
  import { type Component } from '@toa.io/core'
2
6
  import { generate } from 'randomstring'
3
- import { Role } from './Role'
4
- import { type Identity } from './types'
5
- import type { Parameter } from '../../RTD'
7
+ import { Role } from './Role.js'
8
+ import { type Identity } from './types.js'
9
+ import type { Parameter } from '../../RTD/index.js'
6
10
 
7
11
  const remote = {
8
- invoke: jest.fn()
9
- } as unknown as jest.MockedObject<Component>
12
+ invoke: mock.fn()
13
+ } as unknown as Component
10
14
 
11
15
  const discovery = Promise.resolve(remote)
12
16
 
13
17
  beforeEach(() => {
14
- jest.clearAllMocks()
18
+ resetCalls()
15
19
  })
16
20
 
17
21
  it('should return false if not matched', async () => {
@@ -24,43 +28,42 @@ it('should return false if not matched', async () => {
24
28
  refresh: false
25
29
  }
26
30
 
27
- remote.invoke.mockResolvedValueOnce(['guest'])
31
+ remote.invoke.mock.mockImplementationOnce(async () => ['guest'])
28
32
 
29
33
  const result = await directive.authorize(identity, undefined, [])
30
34
 
31
- expect(result).toBe(false)
35
+ assert.strictEqual(result, false)
32
36
 
33
- expect(remote.invoke)
34
- .toHaveBeenCalledWith('list', {
37
+ assert.ok(remote.invoke.mock.calls.some((call: any) => call.arguments.length === 2 && isDeepStrictEqual(call.arguments[0], 'list') && isDeepStrictEqual(call.arguments[1], {
35
38
  query: {
36
39
  criteria: `identity==${identity.id}`,
37
40
  limit: 1024
38
41
  }
39
- })
42
+ })))
40
43
  })
41
44
 
42
45
  it('should return true on exact match', async () => {
43
46
  const result = await match(['admin', 'user'], ['user'])
44
47
 
45
- expect(result).toBe(true)
48
+ assert.strictEqual(result, true)
46
49
  })
47
50
 
48
51
  it('should return true on scope match', async () => {
49
52
  const result = await match(['system:identity:roles'], ['system'])
50
53
 
51
- expect(result).toBe(true)
54
+ assert.strictEqual(result, true)
52
55
  })
53
56
 
54
57
  it('should return false on scope mismatch', async () => {
55
58
  const result = await match(['system:identity'], ['system:identity:roles'])
56
59
 
57
- expect(result).toBe(false)
60
+ assert.strictEqual(result, false)
58
61
  })
59
62
 
60
63
  it('should return false on non-scope substring match', async () => {
61
64
  const result = await match(['system:identity'], ['system:iden'])
62
65
 
63
- expect(result).toBe(false)
66
+ assert.strictEqual(result, false)
64
67
  })
65
68
 
66
69
  it('should return true on match with parameters', async () => {
@@ -70,7 +73,7 @@ it('should return true on match with parameters', async () => {
70
73
  value: '29e54ae1'
71
74
  }])
72
75
 
73
- expect(result).toBe(true)
76
+ assert.strictEqual(result, true)
74
77
  })
75
78
 
76
79
  it('should return true on match with parameters', async () => {
@@ -80,7 +83,7 @@ it('should return true on match with parameters', async () => {
80
83
  value: '29e54ae1'
81
84
  }])
82
85
 
83
- expect(result).toBe(true)
86
+ assert.strictEqual(result, true)
84
87
  })
85
88
 
86
89
  it('should return false on mismatch with parameters', async () => {
@@ -90,7 +93,7 @@ it('should return false on mismatch with parameters', async () => {
90
93
  value: '88584c9b'
91
94
  }])
92
95
 
93
- expect(result).toBe(false)
96
+ assert.strictEqual(result, false)
94
97
  })
95
98
 
96
99
  async function match (expected: string[], actual: string[], parameters: Parameter[] = []): Promise<boolean> {
@@ -102,7 +105,17 @@ async function match (expected: string[], actual: string[], parameters: Paramete
102
105
  refresh: false
103
106
  }
104
107
 
105
- remote.invoke.mockResolvedValueOnce(actual)
108
+ remote.invoke.mock.mockImplementationOnce(async () => actual)
106
109
 
107
110
  return await directive.authorize(identity, undefined, parameters)
108
111
  }
112
+
113
+ function resetCalls (target = [remote, discovery], seen = new Set()) {
114
+ if (target === null || typeof target !== 'object' || seen.has(target)) return
115
+
116
+ seen.add(target)
117
+
118
+ for (const value of Object.values(target))
119
+ if (typeof value === 'function' && value.mock !== undefined) value.mock.resetCalls()
120
+ else resetCalls(value, seen)
121
+ }
@@ -1,7 +1,7 @@
1
1
  import assert from 'node:assert'
2
2
  import { type Component, type Query } from '@toa.io/core'
3
- import { type Directive, type Identity } from './types'
4
- import type { Parameter } from '../../RTD'
3
+ import { type Directive, type Identity } from './types.js'
4
+ import type { Parameter } from '../../RTD/index.js'
5
5
 
6
6
  export class Role implements Directive {
7
7
  public static remote: Component | null = null
@@ -1,5 +1,5 @@
1
- import { type Parameter } from '../../RTD'
2
- import type { Context, Directive, Identity, Create } from './types'
1
+ import { type Parameter } from '../../RTD/index.js'
2
+ import type { Context, Directive, Identity, Create } from './types.js'
3
3
 
4
4
  export class Rule implements Directive {
5
5
  private readonly directives: Directive[] = []
@@ -1,6 +1,6 @@
1
- import * as http from '../../HTTP'
2
- import { type Directive, type Identity, type Context } from './types'
3
- import { split } from './split'
1
+ import * as http from '../../HTTP/index.js'
2
+ import { type Directive, type Identity, type Context } from './types.js'
3
+ import { split } from './split.js'
4
4
 
5
5
  export class Scheme implements Directive {
6
6
  private readonly scheme: string
@@ -1,5 +1,5 @@
1
1
  import { newid } from '@toa.io/generic'
2
- import type { Identity } from './types'
2
+ import type { Identity } from './types.js'
3
3
 
4
4
  export function create (credentials?: string): Identity {
5
5
  return {
@@ -1,3 +1,3 @@
1
- import { Authorization } from './Authorization'
1
+ import { Authorization } from './Authorization.js'
2
2
 
3
3
  export const authorization = new Authorization()
@@ -1,4 +1,4 @@
1
- import type { Remote, Scheme } from './types'
1
+ import type { Remote, Scheme } from './types.js'
2
2
 
3
3
  export const PROVIDERS: Record<Scheme, Remote> = {
4
4
  basic: 'basic',