@toa.io/extensions.exposition 1.0.0-alpha.0 → 1.0.0-alpha.3

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 (449) hide show
  1. package/components/context.toa.yaml +12 -0
  2. package/components/identity.bans/manifest.toa.yaml +1 -1
  3. package/components/identity.basic/manifest.toa.yaml +2 -2
  4. package/components/identity.basic/operations/authenticate.d.ts +9 -0
  5. package/components/identity.basic/operations/authenticate.js +24 -0
  6. package/components/identity.basic/operations/authenticate.js.map +1 -0
  7. package/components/identity.basic/operations/create.d.ts +10 -0
  8. package/components/identity.basic/operations/create.js +10 -0
  9. package/components/identity.basic/operations/create.js.map +1 -0
  10. package/components/identity.basic/operations/transit.d.ts +12 -0
  11. package/components/identity.basic/operations/transit.js +53 -0
  12. package/components/identity.basic/operations/transit.js.map +1 -0
  13. package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -0
  14. package/components/identity.basic/operations/types.d.ts +38 -0
  15. package/components/identity.basic/operations/types.js +3 -0
  16. package/components/identity.basic/operations/types.js.map +1 -0
  17. package/components/identity.basic/source/authenticate.ts +0 -1
  18. package/components/identity.federation/events/principal.js +22 -0
  19. package/components/identity.federation/manifest.toa.yaml +100 -0
  20. package/components/identity.federation/operations/authenticate.d.ts +3 -0
  21. package/components/identity.federation/operations/authenticate.js +20 -0
  22. package/components/identity.federation/operations/authenticate.js.map +1 -0
  23. package/components/identity.federation/operations/create.d.ts +10 -0
  24. package/components/identity.federation/operations/create.js +15 -0
  25. package/components/identity.federation/operations/create.js.map +1 -0
  26. package/components/identity.federation/operations/lib/assertions-as-values.d.ts +4 -0
  27. package/components/identity.federation/operations/lib/assertions-as-values.js +45 -0
  28. package/components/identity.federation/operations/lib/assertions-as-values.js.map +1 -0
  29. package/components/identity.federation/operations/lib/jwt.d.ts +20 -0
  30. package/components/identity.federation/operations/lib/jwt.js +136 -0
  31. package/components/identity.federation/operations/lib/jwt.js.map +1 -0
  32. package/components/identity.federation/operations/schemas.d.ts +59 -0
  33. package/components/identity.federation/operations/schemas.js +9 -0
  34. package/components/identity.federation/operations/schemas.js.map +1 -0
  35. package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -0
  36. package/components/identity.federation/operations/types.d.ts +51 -0
  37. package/components/identity.federation/operations/types.js +3 -0
  38. package/components/identity.federation/operations/types.js.map +1 -0
  39. package/components/identity.federation/source/authenticate.ts +28 -0
  40. package/components/identity.federation/source/create.ts +26 -0
  41. package/components/identity.federation/source/lib/assertions-as-values.ts +19 -0
  42. package/components/identity.federation/source/lib/jwt.test.ts +56 -0
  43. package/components/identity.federation/source/lib/jwt.ts +171 -0
  44. package/components/identity.federation/source/schemas.ts +61 -0
  45. package/components/identity.federation/source/types.ts +56 -0
  46. package/components/identity.federation/tsconfig.json +9 -0
  47. package/components/identity.roles/operations/list.d.ts +5 -0
  48. package/components/identity.roles/operations/list.js +8 -0
  49. package/components/identity.roles/operations/list.js.map +1 -0
  50. package/components/identity.roles/operations/principal.d.ts +15 -0
  51. package/components/identity.roles/operations/principal.js +8 -0
  52. package/components/identity.roles/operations/principal.js.map +1 -0
  53. package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -0
  54. package/components/identity.tokens/manifest.toa.yaml +1 -1
  55. package/components/identity.tokens/operations/authenticate.d.ts +9 -0
  56. package/components/identity.tokens/operations/authenticate.js +32 -0
  57. package/components/identity.tokens/operations/authenticate.js.map +1 -0
  58. package/components/identity.tokens/operations/decrypt.d.ts +3 -0
  59. package/components/identity.tokens/operations/decrypt.js +32 -0
  60. package/components/identity.tokens/operations/decrypt.js.map +1 -0
  61. package/components/identity.tokens/operations/encrypt.d.ts +8 -0
  62. package/components/identity.tokens/operations/encrypt.js +22 -0
  63. package/components/identity.tokens/operations/encrypt.js.map +1 -0
  64. package/components/identity.tokens/operations/revoke.d.ts +2 -0
  65. package/components/identity.tokens/operations/revoke.js +8 -0
  66. package/components/identity.tokens/operations/revoke.js.map +1 -0
  67. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -0
  68. package/components/identity.tokens/operations/types.d.ts +40 -0
  69. package/components/identity.tokens/operations/types.js +3 -0
  70. package/components/identity.tokens/operations/types.js.map +1 -0
  71. package/components/octets.storage/manifest.toa.yaml +1 -0
  72. package/components/octets.storage/operations/store.js +2 -2
  73. package/cucumber.js +0 -1
  74. package/documentation/components.md +32 -2
  75. package/documentation/identity.md +14 -7
  76. package/documentation/octets.md +105 -40
  77. package/documentation/protocol.md +21 -1
  78. package/documentation/query.md +1 -1
  79. package/documentation/vary.md +69 -0
  80. package/features/cors.feature +72 -0
  81. package/features/identity.feature +19 -3
  82. package/features/identity.federation.feature +155 -0
  83. package/features/octets.entries.feature +121 -0
  84. package/features/octets.feature +2 -28
  85. package/features/octets.meta.feature +65 -0
  86. package/features/octets.workflows.feature +176 -4
  87. package/features/response.feature +65 -0
  88. package/features/routes.feature +37 -0
  89. package/features/steps/Captures.ts +6 -0
  90. package/features/steps/Components.ts +18 -6
  91. package/features/steps/Gateway.ts +1 -2
  92. package/features/steps/HTTP.ts +40 -87
  93. package/features/steps/IdP.ts +149 -0
  94. package/features/steps/Parameters.ts +8 -2
  95. package/features/steps/Workspace.ts +5 -7
  96. package/features/steps/components/echo/operations/error.js +11 -0
  97. package/features/steps/components/octets.tester/manifest.toa.yaml +3 -0
  98. package/features/steps/components/octets.tester/operations/concat.js +7 -0
  99. package/features/steps/components/octets.tester/operations/echo.js +7 -0
  100. package/features/steps/components/users/manifest.toa.yaml +3 -0
  101. package/features/steps/components/users.properties/manifest.toa.yaml +13 -0
  102. package/features/steps/tsconfig.json +1 -1
  103. package/features/vary.feature +150 -0
  104. package/package.json +17 -18
  105. package/schemas/octets/delete.cos.yaml +2 -1
  106. package/schemas/octets/list.cos.yaml +2 -1
  107. package/schemas/octets/workflow.cos.yaml +12 -0
  108. package/source/Directive.test.ts +8 -2
  109. package/source/Directive.ts +19 -16
  110. package/source/Factory.ts +8 -7
  111. package/source/Gateway.ts +22 -8
  112. package/source/HTTP/Server.fixtures.ts +0 -1
  113. package/source/HTTP/Server.test.ts +61 -134
  114. package/source/HTTP/Server.ts +91 -47
  115. package/source/HTTP/formats/msgpack.ts +9 -6
  116. package/source/HTTP/formats/text.ts +1 -1
  117. package/source/HTTP/formats/yaml.ts +1 -1
  118. package/source/HTTP/messages.ts +15 -3
  119. package/source/Interception.ts +24 -0
  120. package/source/RTD/Directives.ts +2 -2
  121. package/source/RTD/Tree.ts +3 -0
  122. package/source/RTD/syntax/parse.ts +6 -6
  123. package/source/RTD/syntax/types.ts +1 -1
  124. package/source/deployment.ts +1 -2
  125. package/source/directives/auth/{Family.ts → Authorization.ts} +29 -33
  126. package/source/directives/auth/Incept.ts +1 -1
  127. package/source/directives/auth/Rule.ts +2 -2
  128. package/source/directives/auth/index.ts +2 -2
  129. package/source/directives/auth/schemes.ts +2 -1
  130. package/source/directives/auth/types.ts +9 -6
  131. package/source/directives/cache/{Family.ts → Cache.ts} +4 -5
  132. package/source/directives/cache/index.ts +2 -2
  133. package/source/directives/cache/types.ts +1 -1
  134. package/source/directives/cors/CORS.ts +54 -0
  135. package/source/directives/cors/index.ts +3 -0
  136. package/source/directives/dev/{Family.ts → Development.ts} +3 -4
  137. package/source/directives/dev/Stub.ts +4 -4
  138. package/source/directives/dev/Throw.ts +4 -4
  139. package/source/directives/dev/index.ts +2 -2
  140. package/source/directives/dev/types.ts +1 -1
  141. package/source/directives/index.ts +10 -6
  142. package/source/directives/octets/Context.ts +1 -1
  143. package/source/directives/octets/Delete.ts +50 -9
  144. package/source/directives/octets/Fetch.ts +18 -19
  145. package/source/directives/octets/List.ts +37 -7
  146. package/source/directives/octets/{Family.ts → Octets.ts} +10 -7
  147. package/source/directives/octets/Permute.ts +3 -3
  148. package/source/directives/octets/Store.ts +57 -99
  149. package/source/directives/octets/Workflow.ts +41 -0
  150. package/source/directives/octets/index.ts +2 -2
  151. package/source/directives/octets/schemas.test.ts +21 -0
  152. package/source/directives/octets/schemas.ts +13 -6
  153. package/source/directives/octets/types.ts +4 -3
  154. package/source/directives/octets/workflows/Execution.ts +76 -0
  155. package/source/directives/octets/workflows/Workflow.ts +37 -0
  156. package/source/directives/octets/workflows/index.ts +1 -0
  157. package/source/directives/vary/Directive.ts +6 -0
  158. package/source/directives/vary/Embed.ts +62 -0
  159. package/source/directives/vary/Properties.ts +17 -0
  160. package/source/directives/vary/Vary.ts +48 -0
  161. package/source/directives/vary/embeddings/Embedding.ts +6 -0
  162. package/source/directives/vary/embeddings/Header.ts +30 -0
  163. package/source/directives/vary/embeddings/Language.ts +31 -0
  164. package/source/directives/vary/embeddings/index.ts +11 -0
  165. package/source/directives/vary/index.ts +3 -0
  166. package/source/io.ts +4 -0
  167. package/source/manifest.test.ts +6 -14
  168. package/source/manifest.ts +9 -6
  169. package/source/schemas.ts +7 -3
  170. package/transpiled/Annotation.d.ts +7 -0
  171. package/transpiled/Annotation.js +3 -0
  172. package/transpiled/Annotation.js.map +1 -0
  173. package/transpiled/Branch.d.ts +7 -0
  174. package/transpiled/Branch.js +3 -0
  175. package/transpiled/Branch.js.map +1 -0
  176. package/transpiled/Composition.d.ts +14 -0
  177. package/transpiled/Composition.js +43 -0
  178. package/transpiled/Composition.js.map +1 -0
  179. package/transpiled/Context.d.ts +5 -0
  180. package/transpiled/Context.js +3 -0
  181. package/transpiled/Context.js.map +1 -0
  182. package/transpiled/Directive.d.ts +31 -0
  183. package/transpiled/Directive.js +78 -0
  184. package/transpiled/Directive.js.map +1 -0
  185. package/transpiled/Endpoint.d.ts +20 -0
  186. package/transpiled/Endpoint.js +45 -0
  187. package/transpiled/Endpoint.js.map +1 -0
  188. package/transpiled/Factory.d.ts +9 -0
  189. package/transpiled/Factory.js +67 -0
  190. package/transpiled/Factory.js.map +1 -0
  191. package/transpiled/Gateway.d.ts +22 -0
  192. package/transpiled/Gateway.js +102 -0
  193. package/transpiled/Gateway.js.map +1 -0
  194. package/transpiled/HTTP/Server.d.ts +24 -0
  195. package/transpiled/HTTP/Server.fixtures.d.ts +10 -0
  196. package/transpiled/HTTP/Server.fixtures.js +31 -0
  197. package/transpiled/HTTP/Server.fixtures.js.map +1 -0
  198. package/transpiled/HTTP/Server.js +149 -0
  199. package/transpiled/HTTP/Server.js.map +1 -0
  200. package/transpiled/HTTP/exceptions.d.ts +34 -0
  201. package/transpiled/HTTP/exceptions.js +71 -0
  202. package/transpiled/HTTP/exceptions.js.map +1 -0
  203. package/transpiled/HTTP/formats/index.d.ts +10 -0
  204. package/transpiled/HTTP/formats/index.js +38 -0
  205. package/transpiled/HTTP/formats/index.js.map +1 -0
  206. package/transpiled/HTTP/formats/json.d.ts +6 -0
  207. package/transpiled/HTTP/formats/json.js +17 -0
  208. package/transpiled/HTTP/formats/json.js.map +1 -0
  209. package/transpiled/HTTP/formats/msgpack.d.ts +6 -0
  210. package/transpiled/HTTP/formats/msgpack.js +17 -0
  211. package/transpiled/HTTP/formats/msgpack.js.map +1 -0
  212. package/transpiled/HTTP/formats/text.d.ts +8 -0
  213. package/transpiled/HTTP/formats/text.js +15 -0
  214. package/transpiled/HTTP/formats/text.js.map +1 -0
  215. package/transpiled/HTTP/formats/yaml.d.ts +6 -0
  216. package/transpiled/HTTP/formats/yaml.js +41 -0
  217. package/transpiled/HTTP/formats/yaml.js.map +1 -0
  218. package/transpiled/HTTP/index.d.ts +3 -0
  219. package/transpiled/HTTP/index.js +20 -0
  220. package/transpiled/HTTP/index.js.map +1 -0
  221. package/transpiled/HTTP/messages.d.ts +33 -0
  222. package/transpiled/HTTP/messages.js +75 -0
  223. package/transpiled/HTTP/messages.js.map +1 -0
  224. package/transpiled/Interception.d.ts +9 -0
  225. package/transpiled/Interception.js +19 -0
  226. package/transpiled/Interception.js.map +1 -0
  227. package/transpiled/Mapping.d.ts +8 -0
  228. package/transpiled/Mapping.js +38 -0
  229. package/transpiled/Mapping.js.map +1 -0
  230. package/transpiled/Query.d.ts +13 -0
  231. package/transpiled/Query.js +107 -0
  232. package/transpiled/Query.js.map +1 -0
  233. package/transpiled/RTD/Context.d.ts +11 -0
  234. package/transpiled/RTD/Context.js +3 -0
  235. package/transpiled/RTD/Context.js.map +1 -0
  236. package/transpiled/RTD/Directives.d.ts +7 -0
  237. package/transpiled/RTD/Directives.js +3 -0
  238. package/transpiled/RTD/Directives.js.map +1 -0
  239. package/transpiled/RTD/Endpoint.d.ts +9 -0
  240. package/transpiled/RTD/Endpoint.js +3 -0
  241. package/transpiled/RTD/Endpoint.js.map +1 -0
  242. package/transpiled/RTD/Match.d.ts +11 -0
  243. package/transpiled/RTD/Match.js +3 -0
  244. package/transpiled/RTD/Match.js.map +1 -0
  245. package/transpiled/RTD/Method.d.ts +9 -0
  246. package/transpiled/RTD/Method.js +16 -0
  247. package/transpiled/RTD/Method.js.map +1 -0
  248. package/transpiled/RTD/Node.d.ts +21 -0
  249. package/transpiled/RTD/Node.js +61 -0
  250. package/transpiled/RTD/Node.js.map +1 -0
  251. package/transpiled/RTD/Route.d.ts +14 -0
  252. package/transpiled/RTD/Route.js +49 -0
  253. package/transpiled/RTD/Route.js.map +1 -0
  254. package/transpiled/RTD/Tree.d.ts +14 -0
  255. package/transpiled/RTD/Tree.js +42 -0
  256. package/transpiled/RTD/Tree.js.map +1 -0
  257. package/transpiled/RTD/factory.d.ts +6 -0
  258. package/transpiled/RTD/factory.js +36 -0
  259. package/transpiled/RTD/factory.js.map +1 -0
  260. package/transpiled/RTD/index.d.ts +8 -0
  261. package/transpiled/RTD/index.js +38 -0
  262. package/transpiled/RTD/index.js.map +1 -0
  263. package/transpiled/RTD/segment.d.ts +8 -0
  264. package/transpiled/RTD/segment.js +25 -0
  265. package/transpiled/RTD/segment.js.map +1 -0
  266. package/transpiled/RTD/syntax/index.d.ts +2 -0
  267. package/transpiled/RTD/syntax/index.js +19 -0
  268. package/transpiled/RTD/syntax/index.js.map +1 -0
  269. package/transpiled/RTD/syntax/parse.d.ts +4 -0
  270. package/transpiled/RTD/syntax/parse.js +128 -0
  271. package/transpiled/RTD/syntax/parse.js.map +1 -0
  272. package/transpiled/RTD/syntax/types.d.ts +41 -0
  273. package/transpiled/RTD/syntax/types.js +5 -0
  274. package/transpiled/RTD/syntax/types.js.map +1 -0
  275. package/transpiled/Remotes.d.ts +9 -0
  276. package/transpiled/Remotes.js +25 -0
  277. package/transpiled/Remotes.js.map +1 -0
  278. package/transpiled/Tenant.d.ts +13 -0
  279. package/transpiled/Tenant.js +34 -0
  280. package/transpiled/Tenant.js.map +1 -0
  281. package/transpiled/deployment.d.ts +3 -0
  282. package/transpiled/deployment.js +66 -0
  283. package/transpiled/deployment.js.map +1 -0
  284. package/transpiled/directives/auth/Anonymous.d.ts +6 -0
  285. package/transpiled/directives/auth/Anonymous.js +17 -0
  286. package/transpiled/directives/auth/Anonymous.js.map +1 -0
  287. package/transpiled/directives/auth/Authorization.d.ts +20 -0
  288. package/transpiled/directives/auth/Authorization.js +125 -0
  289. package/transpiled/directives/auth/Authorization.js.map +1 -0
  290. package/transpiled/directives/auth/Echo.d.ts +6 -0
  291. package/transpiled/directives/auth/Echo.js +13 -0
  292. package/transpiled/directives/auth/Echo.js.map +1 -0
  293. package/transpiled/directives/auth/Id.d.ts +7 -0
  294. package/transpiled/directives/auth/Id.js +17 -0
  295. package/transpiled/directives/auth/Id.js.map +1 -0
  296. package/transpiled/directives/auth/Incept.d.ts +10 -0
  297. package/transpiled/directives/auth/Incept.js +58 -0
  298. package/transpiled/directives/auth/Incept.js.map +1 -0
  299. package/transpiled/directives/auth/Role.d.ts +11 -0
  300. package/transpiled/directives/auth/Role.js +44 -0
  301. package/transpiled/directives/auth/Role.js.map +1 -0
  302. package/transpiled/directives/auth/Rule.d.ts +9 -0
  303. package/transpiled/directives/auth/Rule.js +22 -0
  304. package/transpiled/directives/auth/Rule.js.map +1 -0
  305. package/transpiled/directives/auth/Scheme.d.ts +7 -0
  306. package/transpiled/directives/auth/Scheme.js +47 -0
  307. package/transpiled/directives/auth/Scheme.js.map +1 -0
  308. package/transpiled/directives/auth/index.d.ts +2 -0
  309. package/transpiled/directives/auth/index.js +6 -0
  310. package/transpiled/directives/auth/index.js.map +1 -0
  311. package/transpiled/directives/auth/schemes.d.ts +3 -0
  312. package/transpiled/directives/auth/schemes.js +10 -0
  313. package/transpiled/directives/auth/schemes.js.map +1 -0
  314. package/transpiled/directives/auth/split.d.ts +2 -0
  315. package/transpiled/directives/auth/split.js +38 -0
  316. package/transpiled/directives/auth/split.js.map +1 -0
  317. package/transpiled/directives/auth/types.d.ts +31 -0
  318. package/transpiled/directives/auth/types.js +3 -0
  319. package/transpiled/directives/auth/types.js.map +1 -0
  320. package/transpiled/directives/cache/Cache.d.ts +11 -0
  321. package/transpiled/directives/cache/Cache.js +28 -0
  322. package/transpiled/directives/cache/Cache.js.map +1 -0
  323. package/transpiled/directives/cache/Control.d.ts +9 -0
  324. package/transpiled/directives/cache/Control.js +42 -0
  325. package/transpiled/directives/cache/Control.js.map +1 -0
  326. package/transpiled/directives/cache/Exact.d.ts +4 -0
  327. package/transpiled/directives/cache/Exact.js +11 -0
  328. package/transpiled/directives/cache/Exact.js.map +1 -0
  329. package/transpiled/directives/cache/index.d.ts +2 -0
  330. package/transpiled/directives/cache/index.js +6 -0
  331. package/transpiled/directives/cache/index.js.map +1 -0
  332. package/transpiled/directives/cache/types.d.ts +7 -0
  333. package/transpiled/directives/cache/types.js +3 -0
  334. package/transpiled/directives/cache/types.js.map +1 -0
  335. package/transpiled/directives/cors/CORS.d.ts +11 -0
  336. package/transpiled/directives/cors/CORS.js +44 -0
  337. package/transpiled/directives/cors/CORS.js.map +1 -0
  338. package/transpiled/directives/cors/index.d.ts +2 -0
  339. package/transpiled/directives/cors/index.js +6 -0
  340. package/transpiled/directives/cors/index.js.map +1 -0
  341. package/transpiled/directives/dev/Development.d.ts +9 -0
  342. package/transpiled/directives/dev/Development.js +29 -0
  343. package/transpiled/directives/dev/Development.js.map +1 -0
  344. package/transpiled/directives/dev/Stub.d.ts +7 -0
  345. package/transpiled/directives/dev/Stub.js +14 -0
  346. package/transpiled/directives/dev/Stub.js.map +1 -0
  347. package/transpiled/directives/dev/Throw.d.ts +7 -0
  348. package/transpiled/directives/dev/Throw.js +14 -0
  349. package/transpiled/directives/dev/Throw.js.map +1 -0
  350. package/transpiled/directives/dev/index.d.ts +2 -0
  351. package/transpiled/directives/dev/index.js +6 -0
  352. package/transpiled/directives/dev/index.js.map +1 -0
  353. package/transpiled/directives/dev/types.d.ts +4 -0
  354. package/transpiled/directives/dev/types.js +3 -0
  355. package/transpiled/directives/dev/types.js.map +1 -0
  356. package/transpiled/directives/index.d.ts +4 -0
  357. package/transpiled/directives/index.js +12 -0
  358. package/transpiled/directives/index.js.map +1 -0
  359. package/transpiled/directives/octets/Context.d.ts +8 -0
  360. package/transpiled/directives/octets/Context.js +40 -0
  361. package/transpiled/directives/octets/Context.js.map +1 -0
  362. package/transpiled/directives/octets/Delete.d.ts +19 -0
  363. package/transpiled/directives/octets/Delete.js +72 -0
  364. package/transpiled/directives/octets/Delete.js.map +1 -0
  365. package/transpiled/directives/octets/Fetch.d.ts +17 -0
  366. package/transpiled/directives/octets/Fetch.js +76 -0
  367. package/transpiled/directives/octets/Fetch.js.map +1 -0
  368. package/transpiled/directives/octets/List.d.ts +15 -0
  369. package/transpiled/directives/octets/List.js +65 -0
  370. package/transpiled/directives/octets/List.js.map +1 -0
  371. package/transpiled/directives/octets/Octets.d.ts +12 -0
  372. package/transpiled/directives/octets/Octets.js +53 -0
  373. package/transpiled/directives/octets/Octets.js.map +1 -0
  374. package/transpiled/directives/octets/Permute.d.ts +10 -0
  375. package/transpiled/directives/octets/Permute.js +51 -0
  376. package/transpiled/directives/octets/Permute.js.map +1 -0
  377. package/transpiled/directives/octets/Store.d.ts +23 -0
  378. package/transpiled/directives/octets/Store.js +88 -0
  379. package/transpiled/directives/octets/Store.js.map +1 -0
  380. package/transpiled/directives/octets/Workflow.d.ts +14 -0
  381. package/transpiled/directives/octets/Workflow.js +52 -0
  382. package/transpiled/directives/octets/Workflow.js.map +1 -0
  383. package/transpiled/directives/octets/index.d.ts +2 -0
  384. package/transpiled/directives/octets/index.js +6 -0
  385. package/transpiled/directives/octets/index.js.map +1 -0
  386. package/transpiled/directives/octets/schemas.d.ts +13 -0
  387. package/transpiled/directives/octets/schemas.js +18 -0
  388. package/transpiled/directives/octets/schemas.js.map +1 -0
  389. package/transpiled/directives/octets/types.d.ts +10 -0
  390. package/transpiled/directives/octets/types.js +3 -0
  391. package/transpiled/directives/octets/types.js.map +1 -0
  392. package/transpiled/directives/octets/workflows/Execution.d.ts +25 -0
  393. package/transpiled/directives/octets/workflows/Execution.js +54 -0
  394. package/transpiled/directives/octets/workflows/Execution.js.map +1 -0
  395. package/transpiled/directives/octets/workflows/Workflow.d.ts +12 -0
  396. package/transpiled/directives/octets/workflows/Workflow.js +25 -0
  397. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -0
  398. package/transpiled/directives/octets/workflows/index.d.ts +1 -0
  399. package/transpiled/directives/octets/workflows/index.js +6 -0
  400. package/transpiled/directives/octets/workflows/index.js.map +1 -0
  401. package/transpiled/directives/vary/Directive.d.ts +5 -0
  402. package/transpiled/directives/vary/Directive.js +3 -0
  403. package/transpiled/directives/vary/Directive.js.map +1 -0
  404. package/transpiled/directives/vary/Embed.d.ts +10 -0
  405. package/transpiled/directives/vary/Embed.js +49 -0
  406. package/transpiled/directives/vary/Embed.js.map +1 -0
  407. package/transpiled/directives/vary/Properties.d.ts +9 -0
  408. package/transpiled/directives/vary/Properties.js +16 -0
  409. package/transpiled/directives/vary/Properties.js.map +1 -0
  410. package/transpiled/directives/vary/Vary.d.ts +10 -0
  411. package/transpiled/directives/vary/Vary.js +36 -0
  412. package/transpiled/directives/vary/Vary.js.map +1 -0
  413. package/transpiled/directives/vary/embeddings/Embedding.d.ts +5 -0
  414. package/transpiled/directives/vary/embeddings/Embedding.js +3 -0
  415. package/transpiled/directives/vary/embeddings/Embedding.js.map +1 -0
  416. package/transpiled/directives/vary/embeddings/Header.d.ts +7 -0
  417. package/transpiled/directives/vary/embeddings/Header.js +26 -0
  418. package/transpiled/directives/vary/embeddings/Header.js.map +1 -0
  419. package/transpiled/directives/vary/embeddings/Language.d.ts +7 -0
  420. package/transpiled/directives/vary/embeddings/Language.js +28 -0
  421. package/transpiled/directives/vary/embeddings/Language.js.map +1 -0
  422. package/transpiled/directives/vary/embeddings/index.d.ts +5 -0
  423. package/transpiled/directives/vary/embeddings/index.js +10 -0
  424. package/transpiled/directives/vary/embeddings/index.js.map +1 -0
  425. package/transpiled/directives/vary/index.d.ts +2 -0
  426. package/transpiled/directives/vary/index.js +6 -0
  427. package/transpiled/directives/vary/index.js.map +1 -0
  428. package/transpiled/discovery.d.ts +1 -0
  429. package/transpiled/discovery.js +3 -0
  430. package/transpiled/discovery.js.map +1 -0
  431. package/transpiled/exceptions.d.ts +2 -0
  432. package/transpiled/exceptions.js +39 -0
  433. package/transpiled/exceptions.js.map +1 -0
  434. package/transpiled/index.d.ts +5 -0
  435. package/transpiled/index.js +12 -0
  436. package/transpiled/index.js.map +1 -0
  437. package/transpiled/io.d.ts +3 -0
  438. package/transpiled/io.js +3 -0
  439. package/transpiled/io.js.map +1 -0
  440. package/transpiled/manifest.d.ts +3 -0
  441. package/transpiled/manifest.js +66 -0
  442. package/transpiled/manifest.js.map +1 -0
  443. package/transpiled/root.d.ts +2 -0
  444. package/transpiled/root.js +39 -0
  445. package/transpiled/root.js.map +1 -0
  446. package/transpiled/schemas.d.ts +7 -0
  447. package/transpiled/schemas.js +14 -0
  448. package/transpiled/schemas.js.map +1 -0
  449. package/transpiled/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,171 @@
1
+ import crypto from 'node:crypto'
2
+ import * as assert from 'node:assert'
3
+ import { type JwtHeader, type IdToken } from '../types'
4
+ import { type TrustConfiguration } from '../schemas'
5
+
6
+ export function decodeJwt (token: string): {
7
+ header: unknown
8
+ payload: unknown
9
+ rawHeader: string
10
+ rawPayload: string
11
+ signature: string
12
+ } {
13
+ const [rawHeader, rawPayload, signature] = token.split('.', 3)
14
+
15
+ const header = JSON.parse(Buffer.from(rawHeader, 'base64url').toString())
16
+ const payload = JSON.parse(Buffer.from(rawPayload, 'base64url').toString())
17
+
18
+ return { header, payload, rawHeader, rawPayload, signature }
19
+ }
20
+
21
+ export function validateJwtHeader (header: unknown): asserts header is JwtHeader {
22
+ assert.ok(header !== null && typeof header === 'object', 'Header is not an object')
23
+ assert.ok('alg' in header, 'Header is missing alg')
24
+ assert.ok(typeof header.alg === 'string', 'Header alg is not a string')
25
+ assert.match(header.alg, /^RS256|HS\d{3}$/, `Unknown algorithm ${header.alg}`)
26
+ assert.ok(!('kid' in header) || typeof header.kid === 'string', 'kid must be a string if present')
27
+ }
28
+
29
+ export function validateJwtPayload (payload: unknown,
30
+ trusted: TrustConfiguration[] = [],
31
+ header: JwtHeader): asserts payload is IdToken {
32
+ assert.ok(trusted.length > 0, 'No trusted issuers provided')
33
+
34
+ // full list of validations is
35
+ // at https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation
36
+ assert.ok(payload !== null && typeof payload === 'object', 'Payload is not an object')
37
+
38
+ assert.ok('iss' in payload, 'Payload is missing iss')
39
+ assert.ok(typeof payload.iss === 'string', 'Payload iss is not a string')
40
+ assert.ok('aud' in payload, 'Payload is missing aud')
41
+ assert.ok(typeof payload.aud === 'string', 'Payload aud is not a string')
42
+
43
+ const issuer = trusted.find((config) => config.issuer === payload.iss)
44
+
45
+ assert.ok(issuer !== undefined &&
46
+ (issuer.audience === undefined || issuer.audience.some((a) => a === payload.aud),
47
+ `Unknown issuer / audience: ${payload.iss} / ${payload.aud}`))
48
+
49
+ if (header.alg.startsWith('HS')) {
50
+ const secrets = issuer.secrets
51
+
52
+ assert.ok(secrets, `We don't have known secrets for ${payload.iss}`)
53
+
54
+ const keys = secrets[header.alg]
55
+
56
+ assert.ok(keys, `No known secrets for ${header.alg}`)
57
+
58
+ if (typeof header.kid === 'string')
59
+ assert.ok(header.kid in keys, `No secret ${header.kid} provided for ${header.alg}`)
60
+ }
61
+
62
+ assert.ok('sub' in payload, 'Payload is missing sub')
63
+ assert.ok(typeof payload.sub === 'string', 'Payload sub is not a string')
64
+
65
+ assert.ok('exp' in payload, 'Payload is missing exp')
66
+ assert.ok(typeof payload.exp === 'number', 'Payload exp is not a number')
67
+ assert.ok(Date.now() < payload.exp * 1000, 'Token is expired')
68
+
69
+ assert.ok('iat' in payload, 'Payload is missing iat')
70
+ assert.ok(typeof payload.iat === 'number', 'Payload iat is not a number')
71
+ assert.ok(Date.now() >= payload.iat * 1000, 'Token was issued in the future')
72
+ assert.ok(payload.exp >= payload.iat, 'Payload exp is before iat')
73
+
74
+ if ('nbf' in payload) {
75
+ assert.ok(typeof payload.nbf === 'number', 'Payload nbf is not a number')
76
+ assert.ok(Date.now() >= payload.nbf * 1000, 'Token is not valid yet')
77
+ }
78
+ }
79
+
80
+ export async function validateSignature ({
81
+ header: { kid, alg },
82
+ payload: { iss },
83
+ rawHeader,
84
+ rawPayload,
85
+ signature,
86
+ trusted = []
87
+ }: {
88
+ readonly header: JwtHeader
89
+ rawHeader: string
90
+ readonly payload: IdToken
91
+ rawPayload: string
92
+ signature: string
93
+ trusted?: TrustConfiguration[]
94
+ }): Promise<void> {
95
+ if (alg.startsWith('HS')) {
96
+ // symmetric algorithm, issuer is validated at this point
97
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- `kid` is validated
98
+ const secrets = trusted.find((c) => c.issuer === iss)!.secrets![alg]
99
+ const secret = kid !== undefined ? secrets[kid] : Object.values(secrets)[0]
100
+ const algorithm = alg.replace(/^HS(\d{3})$/, 'sha$1') // HS256 -> sha256
101
+ const hmac = crypto.createHmac(algorithm, secret)
102
+
103
+ hmac.update(rawHeader)
104
+ hmac.update('.')
105
+ hmac.update(rawPayload)
106
+ assert.strictEqual(signature, hmac.digest('base64url'), 'Signature does not match')
107
+
108
+ return
109
+ }
110
+
111
+ // Getting issuer public keys
112
+ const oidcRequest = await fetch(`${iss}/.well-known/openid-configuration`, {
113
+ cache: 'default'
114
+ })
115
+
116
+ assert.ok(oidcRequest.ok,
117
+ `Failed to fetch OpenID configuration: ${oidcRequest.statusText}`)
118
+
119
+ const { jwks_uri: jwksUri } = (await oidcRequest.json()) as { jwks_uri: string }
120
+
121
+ const jwkRequest = await fetch(jwksUri, { cache: 'default' })
122
+
123
+ assert.ok(jwkRequest.ok, `Failed to fetch issuer keys: ${jwkRequest.statusText}`)
124
+
125
+ const { keys } = (await jwkRequest.json()) as {
126
+ keys: Array<{ use: string, kid?: string, alg?: string } & crypto.JsonWebKey>
127
+ }
128
+
129
+ // getting corresponding signing key
130
+ const signingKeys = keys.filter((k) => k.use === 'sig' && k.alg === alg)
131
+
132
+ assert.ok(signingKeys.length > 0, 'No acceptable signing keys found')
133
+
134
+ assert.ok(kid === undefined || signingKeys.length === 1,
135
+ 'Signing key selection is not deterministic')
136
+
137
+ const signingKey = kid === undefined ? signingKeys.find((k) => k.kid === kid) : keys[0]
138
+
139
+ assert.ok(signingKey, 'Signing key was not found in issuer keys')
140
+
141
+ const verifyFunction = crypto.createVerify('RSA-SHA256')
142
+
143
+ verifyFunction.write(rawHeader)
144
+ verifyFunction.write('.')
145
+ verifyFunction.write(rawPayload)
146
+ verifyFunction.end()
147
+
148
+ const signatureValid = verifyFunction.verify({ format: 'jwk', key: signingKey },
149
+ signature,
150
+ 'base64url')
151
+
152
+ assert.ok(signatureValid, 'Failed to validate signature')
153
+ }
154
+
155
+ export async function validateIdToken (token: string,
156
+ trusted?: TrustConfiguration[]): Promise<IdToken> {
157
+ const { header, payload, rawHeader, rawPayload, signature } = decodeJwt(token)
158
+
159
+ validateJwtHeader(header)
160
+ validateJwtPayload(payload, trusted, header)
161
+ await validateSignature({
162
+ header,
163
+ rawHeader,
164
+ payload,
165
+ rawPayload,
166
+ signature,
167
+ trusted
168
+ })
169
+
170
+ return payload
171
+ }
@@ -0,0 +1,61 @@
1
+ /* eslint-disable */
2
+ /**
3
+ * This file was automatically generated by json-schema-to-typescript.
4
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
+ * and run json-schema-to-typescript to regenerate this file.
6
+ */
7
+
8
+ export interface Schemas {
9
+ configuration?: {
10
+ trust?: TrustConfiguration[];
11
+ /**
12
+ * Force identities to be explicitly created or incept before being used in authentication
13
+ */
14
+ explicit_identity_creation?: boolean;
15
+ /**
16
+ * The value of `sub` of an identity token that will be assigned the `system` Role
17
+ */
18
+ principal?: {
19
+ iss: string;
20
+ sub: string;
21
+ };
22
+ };
23
+ entity?: {
24
+ /**
25
+ * The issuer, or signer, of the token, URI like `https://accounts.google.com`
26
+ */
27
+ iss: string;
28
+ /**
29
+ * the ID that represents the principal making the request
30
+ */
31
+ sub: string;
32
+ };
33
+ }
34
+ export interface TrustConfiguration {
35
+ /**
36
+ * Allowed origins for a token `iss` field
37
+ */
38
+ issuer: string;
39
+ /**
40
+ * Acceptable `aud` value(s)
41
+ *
42
+ * @minItems 1
43
+ */
44
+ audience?: [string, ...string[]];
45
+ /**
46
+ * Symmetric encryption secrets
47
+ */
48
+ secrets?: {
49
+ /**
50
+ * This interface was referenced by `undefined`'s JSON-Schema definition
51
+ * via the `patternProperty` "^HS\d{3}$".
52
+ */
53
+ [k: string]: {
54
+ /**
55
+ * This interface was referenced by `undefined`'s JSON-Schema definition
56
+ * via the `patternProperty` "^\w+$".
57
+ */
58
+ [k: string]: string;
59
+ };
60
+ };
61
+ }
@@ -0,0 +1,56 @@
1
+ import { type Call, type Observation, type Query } from '@toa.io/types'
2
+ import type { Schemas } from './schemas'
3
+
4
+ export interface Context {
5
+ local: {
6
+ observe: Observation<Entity & { id: string }>
7
+ transit: Call<TransitOutput, TransitInput>
8
+ }
9
+ remote: {
10
+ identity: {
11
+ tokens: {
12
+ revoke: Call<void, IdentityTokensRevokeInput>
13
+ }
14
+ }
15
+ }
16
+ configuration: Required<Schemas>['configuration']
17
+ }
18
+
19
+ export type Entity = Required<Schemas>['entity']
20
+
21
+ export interface TransitInput {
22
+ readonly iss: string
23
+ readonly sub: string
24
+ }
25
+
26
+ export interface TransitOutput {
27
+ id: string
28
+ }
29
+
30
+ interface IdentityTokensRevokeInput {
31
+ query: Query
32
+ }
33
+
34
+ export interface JwtHeader {
35
+ typ?: string
36
+ alg: string
37
+ kid?: string
38
+ }
39
+
40
+ /**
41
+ * @see {@link https://openid.net/specs/openid-connect-core-1_0.html#IDToken}
42
+ */
43
+ export interface IdToken {
44
+ iss: string
45
+ sub: string
46
+ aud: string
47
+ exp: number
48
+ iat: number
49
+ nbf?: number
50
+ }
51
+
52
+ export interface AuthenticateOutput {
53
+ identity: {
54
+ id: string
55
+ }
56
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "./operations",
5
+ },
6
+ "include": [
7
+ "source"
8
+ ]
9
+ }
@@ -0,0 +1,5 @@
1
+ export declare function observation(_: unknown, objects: Entity[]): string[];
2
+ interface Entity {
3
+ role: string;
4
+ }
5
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.observation = void 0;
4
+ function observation(_, objects) {
5
+ return objects.map(({ role }) => role);
6
+ }
7
+ exports.observation = observation;
8
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../source/list.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAE,CAAU,EAAE,OAAiB;IACxD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;AACxC,CAAC;AAFD,kCAEC"}
@@ -0,0 +1,15 @@
1
+ import { type Call } from '@toa.io/types';
2
+ export declare function effect(input: Identity, context: Context): Promise<void>;
3
+ interface Identity {
4
+ id: string;
5
+ }
6
+ export interface Context {
7
+ local: {
8
+ transit: Call<void, TransitInput>;
9
+ };
10
+ }
11
+ interface TransitInput {
12
+ identity: string;
13
+ role: string;
14
+ }
15
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.effect = void 0;
4
+ async function effect(input, context) {
5
+ await context.local.transit({ input: { identity: input.id, role: 'system' } });
6
+ }
7
+ exports.effect = effect;
8
+ //# sourceMappingURL=principal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"principal.js","sourceRoot":"","sources":["../source/principal.ts"],"names":[],"mappings":";;;AAEO,KAAK,UAAU,MAAM,CAAE,KAAe,EAAE,OAAgB;IAC7D,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAA;AAChF,CAAC;AAFD,wBAEC"}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../source/list.ts","../../../../../types/source/call.d.ts","../../../../../types/source/operation.d.ts","../../../../../types/source/index.d.ts","../source/principal.ts","../../../../../node_modules/@babel/types/lib/index.d.ts","../../../../../node_modules/@types/babel__generator/index.d.ts","../../../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../../../node_modules/@types/babel__template/index.d.ts","../../../../../node_modules/@types/babel__traverse/index.d.ts","../../../../../node_modules/@types/babel__core/index.d.ts","../../../../../node_modules/@types/bcryptjs/index.d.ts","../../../../../node_modules/@types/node/assert.d.ts","../../../../../node_modules/@types/node/assert/strict.d.ts","../../../../../node_modules/buffer/index.d.ts","../../../../../node_modules/undici-types/header.d.ts","../../../../../node_modules/undici-types/readable.d.ts","../../../../../node_modules/undici-types/file.d.ts","../../../../../node_modules/undici-types/fetch.d.ts","../../../../../node_modules/undici-types/formdata.d.ts","../../../../../node_modules/undici-types/connector.d.ts","../../../../../node_modules/undici-types/client.d.ts","../../../../../node_modules/undici-types/errors.d.ts","../../../../../node_modules/undici-types/dispatcher.d.ts","../../../../../node_modules/undici-types/global-dispatcher.d.ts","../../../../../node_modules/undici-types/global-origin.d.ts","../../../../../node_modules/undici-types/pool-stats.d.ts","../../../../../node_modules/undici-types/pool.d.ts","../../../../../node_modules/undici-types/handlers.d.ts","../../../../../node_modules/undici-types/balanced-pool.d.ts","../../../../../node_modules/undici-types/agent.d.ts","../../../../../node_modules/undici-types/mock-interceptor.d.ts","../../../../../node_modules/undici-types/mock-agent.d.ts","../../../../../node_modules/undici-types/mock-client.d.ts","../../../../../node_modules/undici-types/mock-pool.d.ts","../../../../../node_modules/undici-types/mock-errors.d.ts","../../../../../node_modules/undici-types/proxy-agent.d.ts","../../../../../node_modules/undici-types/api.d.ts","../../../../../node_modules/undici-types/cookies.d.ts","../../../../../node_modules/undici-types/patch.d.ts","../../../../../node_modules/undici-types/filereader.d.ts","../../../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../../../node_modules/undici-types/websocket.d.ts","../../../../../node_modules/undici-types/content-type.d.ts","../../../../../node_modules/undici-types/cache.d.ts","../../../../../node_modules/undici-types/interceptors.d.ts","../../../../../node_modules/undici-types/index.d.ts","../../../../../node_modules/@types/node/globals.d.ts","../../../../../node_modules/@types/node/async_hooks.d.ts","../../../../../node_modules/@types/node/buffer.d.ts","../../../../../node_modules/@types/node/child_process.d.ts","../../../../../node_modules/@types/node/cluster.d.ts","../../../../../node_modules/@types/node/console.d.ts","../../../../../node_modules/@types/node/constants.d.ts","../../../../../node_modules/@types/node/crypto.d.ts","../../../../../node_modules/@types/node/dgram.d.ts","../../../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../../../node_modules/@types/node/dns.d.ts","../../../../../node_modules/@types/node/dns/promises.d.ts","../../../../../node_modules/@types/node/domain.d.ts","../../../../../node_modules/@types/node/dom-events.d.ts","../../../../../node_modules/@types/node/events.d.ts","../../../../../node_modules/@types/node/fs.d.ts","../../../../../node_modules/@types/node/fs/promises.d.ts","../../../../../node_modules/@types/node/http.d.ts","../../../../../node_modules/@types/node/http2.d.ts","../../../../../node_modules/@types/node/https.d.ts","../../../../../node_modules/@types/node/inspector.d.ts","../../../../../node_modules/@types/node/module.d.ts","../../../../../node_modules/@types/node/net.d.ts","../../../../../node_modules/@types/node/os.d.ts","../../../../../node_modules/@types/node/path.d.ts","../../../../../node_modules/@types/node/perf_hooks.d.ts","../../../../../node_modules/@types/node/process.d.ts","../../../../../node_modules/@types/node/punycode.d.ts","../../../../../node_modules/@types/node/querystring.d.ts","../../../../../node_modules/@types/node/readline.d.ts","../../../../../node_modules/@types/node/readline/promises.d.ts","../../../../../node_modules/@types/node/repl.d.ts","../../../../../node_modules/@types/node/stream.d.ts","../../../../../node_modules/@types/node/stream/promises.d.ts","../../../../../node_modules/@types/node/stream/consumers.d.ts","../../../../../node_modules/@types/node/stream/web.d.ts","../../../../../node_modules/@types/node/string_decoder.d.ts","../../../../../node_modules/@types/node/test.d.ts","../../../../../node_modules/@types/node/timers.d.ts","../../../../../node_modules/@types/node/timers/promises.d.ts","../../../../../node_modules/@types/node/tls.d.ts","../../../../../node_modules/@types/node/trace_events.d.ts","../../../../../node_modules/@types/node/tty.d.ts","../../../../../node_modules/@types/node/url.d.ts","../../../../../node_modules/@types/node/util.d.ts","../../../../../node_modules/@types/node/v8.d.ts","../../../../../node_modules/@types/node/vm.d.ts","../../../../../node_modules/@types/node/wasi.d.ts","../../../../../node_modules/@types/node/worker_threads.d.ts","../../../../../node_modules/@types/node/zlib.d.ts","../../../../../node_modules/@types/node/globals.global.d.ts","../../../../../node_modules/@types/node/index.d.ts","../../../../../node_modules/@types/connect/index.d.ts","../../../../../node_modules/@types/body-parser/index.d.ts","../../../../../node_modules/@types/cookie/index.d.ts","../../../../../node_modules/@types/cors/index.d.ts","../../../../../node_modules/@types/mime/index.d.ts","../../../../../node_modules/@types/send/index.d.ts","../../../../../node_modules/@types/qs/index.d.ts","../../../../../node_modules/@types/range-parser/index.d.ts","../../../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../../../node_modules/@types/http-errors/index.d.ts","../../../../../node_modules/@types/serve-static/index.d.ts","../../../../../node_modules/@types/express/index.d.ts","../../../../../node_modules/minimatch/dist/cjs/ast.d.ts","../../../../../node_modules/minimatch/dist/cjs/escape.d.ts","../../../../../node_modules/minimatch/dist/cjs/unescape.d.ts","../../../../../node_modules/minimatch/dist/cjs/index.d.ts","../../../../../node_modules/@types/glob/index.d.ts","../../../../../node_modules/@types/graceful-fs/index.d.ts","../../../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../../../node_modules/@types/istanbul-reports/index.d.ts","../../../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../../../node_modules/chalk/index.d.ts","../../../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../../../node_modules/@jest/schemas/build/index.d.ts","../../../../../node_modules/pretty-format/build/index.d.ts","../../../../../node_modules/jest-matcher-utils/node_modules/jest-diff/build/index.d.ts","../../../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../../../node_modules/expect/build/index.d.ts","../../../../../node_modules/@types/jest/index.d.ts","../../../../../node_modules/@types/js-yaml/index.d.ts","../../../../../node_modules/@types/json-schema/index.d.ts","../../../../../node_modules/@types/json5/index.d.ts","../../../../../node_modules/@types/lodash/common/common.d.ts","../../../../../node_modules/@types/lodash/common/array.d.ts","../../../../../node_modules/@types/lodash/common/collection.d.ts","../../../../../node_modules/@types/lodash/common/date.d.ts","../../../../../node_modules/@types/lodash/common/function.d.ts","../../../../../node_modules/@types/lodash/common/lang.d.ts","../../../../../node_modules/@types/lodash/common/math.d.ts","../../../../../node_modules/@types/lodash/common/number.d.ts","../../../../../node_modules/@types/lodash/common/object.d.ts","../../../../../node_modules/@types/lodash/common/seq.d.ts","../../../../../node_modules/@types/lodash/common/string.d.ts","../../../../../node_modules/@types/lodash/common/util.d.ts","../../../../../node_modules/@types/lodash/index.d.ts","../../../../../node_modules/@types/minimatch/index.d.ts","../../../../../node_modules/@types/minimist/index.d.ts","../../../../../node_modules/@types/mute-stream/index.d.ts","../../../../../node_modules/@types/negotiator/index.d.ts","../../../../../node_modules/@types/normalize-package-data/index.d.ts","../../../../../node_modules/@types/parse-json/index.d.ts","../../../../../node_modules/@types/prettier/index.d.ts","../../../../../node_modules/@types/randomstring/index.d.ts","../../../../../node_modules/@types/semver/classes/semver.d.ts","../../../../../node_modules/@types/semver/functions/parse.d.ts","../../../../../node_modules/@types/semver/functions/valid.d.ts","../../../../../node_modules/@types/semver/functions/clean.d.ts","../../../../../node_modules/@types/semver/functions/inc.d.ts","../../../../../node_modules/@types/semver/functions/diff.d.ts","../../../../../node_modules/@types/semver/functions/major.d.ts","../../../../../node_modules/@types/semver/functions/minor.d.ts","../../../../../node_modules/@types/semver/functions/patch.d.ts","../../../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../../../node_modules/@types/semver/functions/compare.d.ts","../../../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../../../node_modules/@types/semver/functions/sort.d.ts","../../../../../node_modules/@types/semver/functions/rsort.d.ts","../../../../../node_modules/@types/semver/functions/gt.d.ts","../../../../../node_modules/@types/semver/functions/lt.d.ts","../../../../../node_modules/@types/semver/functions/eq.d.ts","../../../../../node_modules/@types/semver/functions/neq.d.ts","../../../../../node_modules/@types/semver/functions/gte.d.ts","../../../../../node_modules/@types/semver/functions/lte.d.ts","../../../../../node_modules/@types/semver/functions/cmp.d.ts","../../../../../node_modules/@types/semver/functions/coerce.d.ts","../../../../../node_modules/@types/semver/classes/comparator.d.ts","../../../../../node_modules/@types/semver/classes/range.d.ts","../../../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../../../node_modules/@types/semver/ranges/valid.d.ts","../../../../../node_modules/@types/semver/ranges/outside.d.ts","../../../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../../../node_modules/@types/semver/ranges/subset.d.ts","../../../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../../../node_modules/@types/semver/index.d.ts","../../../../../node_modules/@types/ssh2-streams/index.d.ts","../../../../../node_modules/@types/ssh2/index.d.ts","../../../../../node_modules/@types/stack-utils/index.d.ts","../../../../../node_modules/@types/statuses/index.d.ts","../../../../../node_modules/@types/uuid/index.d.ts","../../../../../node_modules/@types/webidl-conversions/index.d.ts","../../../../../node_modules/@types/whatwg-url/index.d.ts","../../../../../node_modules/@types/wrap-ansi/index.d.ts","../../../../../node_modules/@types/yargs-parser/index.d.ts","../../../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f33e5332b24c3773e930e212cbb8b6867c8ba3ec4492064ea78e55a524d57450","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","26f2f787e82c4222710f3b676b4d83eb5ad0a72fa7b746f03449e7a026ce5073","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c",{"version":"21e41a76098aa7a191028256e52a726baafd45a925ea5cf0222eb430c96c1d83","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"e0275cd0e42990dc3a16f0b7c8bca3efe87f1c8ad404f80c6db1c7c0b828c59f","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"acae90d417bee324b1372813b5a00829d31c7eb670d299cd7f8f9a648ac05688","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"62a4966981264d1f04c44eb0f4b5bdc3d81c1a54725608861e44755aa24ad6a5","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"86a34c7a13de9cabc43161348f663624b56871ed80986e41d214932ddd8d6719","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"4350e5922fecd4bedda2964d69c213a1436349d0b8d260dd902795f5b94dc74b","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"fd1adc28ce106d6b5f7204355726a7ec922191ad5a8cc1a01841cbf9df9a7e64",{"version":"0483283f85ac609e7a4334fccee801d09e81b04ad8e109edcfca588f458a9525","signature":"80f77aec3ca34fd9c916db41e659745d5ed63da8796dc5e5d52a08b82115949e"},"b5ddfe5657c03b7a53ce2c50d685b7ccb3735423f13c6fa8ce6f383d112cee98","0c98aef637801e514fb07a3773e787a22e7f60693ed3ba4baa3610998998724f","aa7592c03c7a724e3bccea35e7270b4efc2b48ca4f1d709bff1fb52b8fd0affb",{"version":"0ff345aa6b1d10e12dd91d1398ac1e77d77a81c3e9ca78078701ea68a5890d99","signature":"9155e126228bae731e8b53c46fd7416170d544590c856a3aedc860335da5648f"},"923c136dcbf20f140c369078a7eb56f6697889d104397d694f70e21dd08b1810","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","8041cfce439ff29d339742389de04c136e3029d6b1817f07b2d7fcbfb7534990","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","9d38964b57191567a14b396422c87488cecd48f405c642daa734159875ee81d9","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","dbe8bd931d343b9804d5398afb6dd6d6728975b2e23a3314bc4911f81c5e5a33","09df3b4f1c937f02e7fee2836d4c4d7a63e66db70fd4d4e97126f4542cc21d9d","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","ef18cbf1d8374576e3db03ff33c2c7499845972eb0c4adf87392949709c5e160","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"4d719cfab49ae4045d15cb6bed0f38ad3d7d6eb7f277d2603502a0f862ca3182","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"5a856afb15f9dc9983faa391dde989826995a33983c1cccb173e9606688e9709","affectsGlobalScope":true},"546ab07e19116d935ad982e76a223275b53bff7771dab94f433b7ab04652936e","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"aefb5a4a209f756b580eb53ea771cca8aad411603926f307a5e5b8ec6b16dcf6","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","f5a8b7ec4b798c88679194a8ebc25dcb6f5368e6e5811fcda9fe12b0d445b8db","b86e1a45b29437f3a99bad4147cb9fe2357617e8008c0484568e5bb5138d6e13","b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","42c431e7965b641106b5e25ab3283aa4865ca7bb9909610a2abfa6226e4348be","0b7e732af0a9599be28c091d6bd1cb22c856ec0d415d4749c087c3881ca07a56","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"8d6138a264ddc6f94f16e99d4e117a2d6eb31b217891cf091b6437a2f114d561","affectsGlobalScope":true},"3b4c85eea12187de9929a76792b98406e8778ce575caca8c574f06da82622c54","f788131a39c81e0c9b9e463645dd7132b5bc1beb609b0e31e5c1ceaea378b4df","0c236069ce7bded4f6774946e928e4b3601894d294054af47a553f7abcafe2c1","21894466693f64957b9bd4c80fa3ec7fdfd4efa9d1861e070aca23f10220c9b2","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"6ec93c745c5e3e25e278fa35451bf18ef857f733de7e57c15e7920ac463baa2a","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","30c2ec6abf6aaa60eb4f32fb1235531506b7961c6d1bdc7430711aec8fd85295","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"308b84e1943ef30015469770e931eb21b795348893b2a6562ca54ea8f0b3c41c","affectsGlobalScope":true},{"version":"d48009cbe8a30a504031cc82e1286f78fed33b7a42abf7602c23b5547b382563","affectsGlobalScope":true},"7aaeb5e62f90e1b2be0fc4844df78cdb1be15c22b427bc6c39d57308785b8f10","3ba30205a029ebc0c91d7b1ab4da73f6277d730ca1fc6692d5a9144c6772c76b","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","458b216959c231df388a5de9dcbcafd4b4ca563bc3784d706d0455467d7d4942","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"24ba151e213906027e2b1f5223d33575a3612b0234a0e2b56119520bbe0e594b","affectsGlobalScope":true},{"version":"cbf046714f3a3ba2544957e1973ac94aa819fa8aa668846fa8de47eb1c41b0b2","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eae74e3d50820f37c72c0679fed959cd1e63c98f6a146a55b8c4361582fa6a52","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"aed89e3c18f4c659ee8153a76560dffda23e2d801e1e60d7a67abd84bc555f8d","affectsGlobalScope":true},{"version":"0ed13c80faeb2b7160bffb4926ff299c468e67a37a645b3ae0917ba0db633c1b","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","2f940651c2f30e6b29f8743fae3f40b7b1c03615184f837132b56ea75edad08b","5749c327c3f789f658072f8340786966c8b05ea124a56c1d8d60e04649495a4d",{"version":"c9d62b2a51b2ff166314d8be84f6881a7fcbccd37612442cf1c70d27d5352f50","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","1748c03e7a7d118f7f6648c709507971eb0d416f489958492c5ae625de445184","efdced704bd09db6984a2a26e3573bc43cdc2379bdef3bcff6cff77efe8ba82b","d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","dcc9081d68c2ade5c51ac7bf5f37cce630359408e713999269b77f611a30d871","2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed",{"version":"50072f976cfa86af1a3044f55cd729d992abe39222d2f6cdf929266c77a42b0b","affectsGlobalScope":true},"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","34118be360cdd3381bbebbfd4b093c394460c8fc5df40688d58f45d86ab1448b","43cdd474c5aa3340da4816bb8f1ae7f3b1bcf9e70d997afc36a0f2c432378c84","c56ef8201a294d65d1132160ebc76ed0c0a98dcf983d20775c8c8c0912210572","de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"b2fdcc3836d425833af10e536ae5491c34e218bc71870f12a401720f874b6ce4","affectsGlobalScope":true},"686e548ae30250d62532c8cacb43fccc922b693408371bd3503563c4a0f28eed","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","b8442e9db28157344d1bc5d8a5a256f1692de213f0c0ddeb84359834015a008c","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","68a0d0c508e1b6d8d23a519a8a0a3303dc5baa4849ca049f21e5bad41945e3fc","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","963d59066dd6742da1918a6213a209bcc205b8ee53b1876ee2b4e6d80f97c85e","fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","dcefc29f25daf56cd69c0a3d3d19f51938efe1e6a15391950be43a76222ee3ed","f4694959db84d3792ca4d4e04c0bc157c4d28627cb0406c9236351f261a3f5e0","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e",{"version":"4698841dc5a91fe716dd41ec7136867bbde9a274ce21031e5ef6ce2d8a552ceb","affectsGlobalScope":true},"5b5337f28573ffdbc95c3653c4a7961d0f02fdf4788888253bf74a3b5a05443e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","85f8ebd7f245e8bf29da270e8b53dcdd17528826ffd27176c5fc7e426213ef5a","7abf54763b6709a2b72ecd1247c3cfe96f8c44fe6e7ce3897951ee8f4c394640","85976d1088db28912f61f76fd68103dd3625480f5ad5ba4c98519a81693ef717","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","1f4ae755492a669b317903a6b1664cb7af3fe0c3d1eec6447f4e95a80616d15a","12fe557e4c2d5ce9e11362f69a8d7c05d0588de4ae415afe8c5106da5c2772aa","f2f23fe34b735887db1d5597714ae37a6ffae530cafd6908c9d79d485667c956","7fae4b2bc906f3e6840725cc24affaa4e684e6c9cc20254242c5df4bede5b6f6","24112d1a55250f4da7f9edb9dabeac8e3badebdf4a55b421fc7b8ca5ccc03133","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e"],"root":[69,73],"options":{"allowJs":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noImplicitOverride":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":99},"fileIdsList":[[160],[72,160],[74,160],[160,191],[74,75,76,77,78,160],[74,76,160],[133,160,167,168],[133,160,167],[130,133,160,167,173,174,175],[160,169,174,176,178],[130,131,160,167,183],[131,160,167],[160,186],[160,187],[160,193,196],[160,201,203,204,205,206,207,208,209,210,211,212,213],[160,201,202,204,205,206,207,208,209,210,211,212,213],[160,202,203,204,205,206,207,208,209,210,211,212,213],[160,201,202,203,205,206,207,208,209,210,211,212,213],[160,201,202,203,204,206,207,208,209,210,211,212,213],[160,201,202,203,204,205,207,208,209,210,211,212,213],[160,201,202,203,204,205,206,208,209,210,211,212,213],[160,201,202,203,204,205,206,207,209,210,211,212,213],[160,201,202,203,204,205,206,207,208,210,211,212,213],[160,201,202,203,204,205,206,207,208,209,211,212,213],[160,201,202,203,204,205,206,207,208,209,210,212,213],[160,201,202,203,204,205,206,207,208,209,210,211,213],[160,201,202,203,204,205,206,207,208,209,210,211,212],[148,160,167],[81,160],[117,160],[118,123,151,160],[119,130,131,138,148,159,160],[119,120,130,138,160],[121,160],[122,123,131,139,160],[123,148,156,160],[124,126,130,138,160],[125,160],[126,127,160],[130,160],[128,130,160],[117,130,160],[130,131,132,148,159,160],[130,131,132,145,148,151,160],[115,160,164],[126,130,133,138,148,159,160],[130,131,133,134,138,148,156,159,160],[133,135,148,156,159,160],[81,82,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166],[130,136,160],[137,159,160,164],[126,130,138,148,160],[139,160],[140,160],[117,141,160],[142,158,160,164],[143,160],[144,160],[130,145,146,160],[145,147,160,162],[118,130,148,149,150,151,160],[118,148,150,160],[148,149,160],[151,160],[152,160],[117,148,160],[130,154,155,160],[154,155,160],[123,138,148,156,160],[157,160],[138,158,160],[118,133,144,159,160],[123,160],[148,160,161],[137,160,162],[160,163],[118,123,130,132,141,148,159,160,162,164],[148,160,165],[160,222,261],[160,222,246,261],[160,261],[160,222],[160,222,247,261],[160,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260],[160,247,261],[131,148,160,167,172],[133,160,167,172,177],[130,138,148,160,167,262],[160,270],[160,189,195],[160,190,194],[160,193],[160,183],[160,180,181,182],[160,192],[92,96,159,160],[92,148,159,160],[87,160],[89,92,156,159,160],[138,156,160],[160,167],[87,160,167],[89,92,138,159,160],[84,85,88,91,118,130,148,159,160],[84,90,160],[88,92,118,151,159,160,167],[118,160,167],[108,118,160,167],[86,87,160,167],[92,160],[86,87,88,89,90,91,92,93,94,96,97,98,99,100,101,102,103,104,105,106,107,109,110,111,112,113,114,160],[92,99,100,160],[90,92,100,101,160],[91,160],[84,87,92,160],[92,96,100,101,160],[96,160],[90,92,95,159,160],[84,89,90,92,96,99,160],[118,148,160],[87,92,108,118,160,164,167],[70,71,160],[72]],"referencedMap":[[69,1],[73,2],[76,3],[74,1],[189,1],[192,4],[191,1],[79,5],[75,3],[77,6],[78,3],[80,1],[169,7],[168,8],[170,1],[171,8],[176,9],[179,10],[184,11],[185,12],[177,1],[186,1],[187,13],[188,14],[197,15],[198,1],[199,1],[200,1],[202,16],[203,17],[201,18],[204,19],[205,20],[206,21],[207,22],[208,23],[209,24],[210,25],[211,26],[212,27],[213,28],[172,1],[214,1],[215,1],[216,29],[217,1],[81,30],[82,30],[117,31],[118,32],[119,33],[120,34],[121,35],[122,36],[123,37],[124,38],[125,39],[126,40],[127,40],[129,41],[128,42],[130,43],[131,44],[132,45],[116,46],[166,1],[133,47],[134,48],[135,49],[167,50],[136,51],[137,52],[138,53],[139,54],[140,55],[141,56],[142,57],[143,58],[144,59],[145,60],[146,60],[147,61],[148,62],[150,63],[149,64],[151,65],[152,66],[153,67],[154,68],[155,69],[156,70],[157,71],[158,72],[159,73],[160,74],[161,75],[162,76],[163,77],[164,78],[165,79],[218,1],[219,1],[220,1],[174,1],[221,1],[175,1],[246,80],[247,81],[222,82],[225,82],[244,80],[245,80],[235,80],[234,83],[232,80],[227,80],[240,80],[238,80],[242,80],[226,80],[239,80],[243,80],[228,80],[229,80],[241,80],[223,80],[230,80],[231,80],[233,80],[237,80],[248,84],[236,80],[224,80],[261,85],[260,1],[255,84],[257,86],[256,84],[249,84],[250,84],[252,84],[254,84],[258,86],[259,86],[251,86],[253,86],[173,87],[178,88],[262,29],[263,89],[264,1],[265,1],[266,1],[267,1],[268,1],[269,1],[270,1],[271,90],[83,1],[190,1],[196,91],[195,92],[194,93],[180,94],[181,94],[183,95],[182,94],[193,96],[66,1],[67,1],[12,1],[13,1],[17,1],[16,1],[2,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[3,1],[4,1],[26,1],[30,1],[27,1],[28,1],[29,1],[31,1],[32,1],[33,1],[5,1],[34,1],[35,1],[36,1],[37,1],[6,1],[41,1],[38,1],[39,1],[40,1],[42,1],[7,1],[43,1],[48,1],[49,1],[44,1],[45,1],[46,1],[47,1],[8,1],[53,1],[50,1],[51,1],[52,1],[54,1],[9,1],[55,1],[56,1],[57,1],[60,1],[58,1],[59,1],[61,1],[62,1],[10,1],[1,1],[11,1],[65,1],[64,1],[68,1],[63,1],[15,1],[14,1],[99,97],[106,98],[98,97],[113,99],[90,100],[89,101],[112,102],[107,103],[110,104],[92,105],[91,106],[87,107],[86,108],[109,109],[88,110],[93,111],[94,1],[97,111],[84,1],[115,112],[114,111],[101,113],[102,114],[104,115],[100,116],[103,117],[108,102],[95,118],[96,119],[105,120],[85,121],[111,122],[70,1],[72,123],[71,1]],"exportedModulesMap":[[73,124],[76,3],[74,1],[189,1],[192,4],[191,1],[79,5],[75,3],[77,6],[78,3],[80,1],[169,7],[168,8],[170,1],[171,8],[176,9],[179,10],[184,11],[185,12],[177,1],[186,1],[187,13],[188,14],[197,15],[198,1],[199,1],[200,1],[202,16],[203,17],[201,18],[204,19],[205,20],[206,21],[207,22],[208,23],[209,24],[210,25],[211,26],[212,27],[213,28],[172,1],[214,1],[215,1],[216,29],[217,1],[81,30],[82,30],[117,31],[118,32],[119,33],[120,34],[121,35],[122,36],[123,37],[124,38],[125,39],[126,40],[127,40],[129,41],[128,42],[130,43],[131,44],[132,45],[116,46],[166,1],[133,47],[134,48],[135,49],[167,50],[136,51],[137,52],[138,53],[139,54],[140,55],[141,56],[142,57],[143,58],[144,59],[145,60],[146,60],[147,61],[148,62],[150,63],[149,64],[151,65],[152,66],[153,67],[154,68],[155,69],[156,70],[157,71],[158,72],[159,73],[160,74],[161,75],[162,76],[163,77],[164,78],[165,79],[218,1],[219,1],[220,1],[174,1],[221,1],[175,1],[246,80],[247,81],[222,82],[225,82],[244,80],[245,80],[235,80],[234,83],[232,80],[227,80],[240,80],[238,80],[242,80],[226,80],[239,80],[243,80],[228,80],[229,80],[241,80],[223,80],[230,80],[231,80],[233,80],[237,80],[248,84],[236,80],[224,80],[261,85],[260,1],[255,84],[257,86],[256,84],[249,84],[250,84],[252,84],[254,84],[258,86],[259,86],[251,86],[253,86],[173,87],[178,88],[262,29],[263,89],[264,1],[265,1],[266,1],[267,1],[268,1],[269,1],[270,1],[271,90],[83,1],[190,1],[196,91],[195,92],[194,93],[180,94],[181,94],[183,95],[182,94],[193,96],[66,1],[67,1],[12,1],[13,1],[17,1],[16,1],[2,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[3,1],[4,1],[26,1],[30,1],[27,1],[28,1],[29,1],[31,1],[32,1],[33,1],[5,1],[34,1],[35,1],[36,1],[37,1],[6,1],[41,1],[38,1],[39,1],[40,1],[42,1],[7,1],[43,1],[48,1],[49,1],[44,1],[45,1],[46,1],[47,1],[8,1],[53,1],[50,1],[51,1],[52,1],[54,1],[9,1],[55,1],[56,1],[57,1],[60,1],[58,1],[59,1],[61,1],[62,1],[10,1],[1,1],[11,1],[65,1],[64,1],[68,1],[63,1],[15,1],[14,1],[99,97],[106,98],[98,97],[113,99],[90,100],[89,101],[112,102],[107,103],[110,104],[92,105],[91,106],[87,107],[86,108],[109,109],[88,110],[93,111],[94,1],[97,111],[84,1],[115,112],[114,111],[101,113],[102,114],[104,115],[100,116],[103,117],[108,102],[95,118],[96,119],[105,120],[85,121],[111,122],[70,1],[72,123],[71,1]],"semanticDiagnosticsPerFile":[69,73,76,74,189,192,191,79,75,77,78,80,169,168,170,171,176,179,184,185,177,186,187,188,197,198,199,200,202,203,201,204,205,206,207,208,209,210,211,212,213,172,214,215,216,217,81,82,117,118,119,120,121,122,123,124,125,126,127,129,128,130,131,132,116,166,133,134,135,167,136,137,138,139,140,141,142,143,144,145,146,147,148,150,149,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,218,219,220,174,221,175,246,247,222,225,244,245,235,234,232,227,240,238,242,226,239,243,228,229,241,223,230,231,233,237,248,236,224,261,260,255,257,256,249,250,252,254,258,259,251,253,173,178,262,263,264,265,266,267,268,269,270,271,83,190,196,195,194,180,181,183,182,193,66,67,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,26,30,27,28,29,31,32,33,5,34,35,36,37,6,41,38,39,40,42,7,43,48,49,44,45,46,47,8,53,50,51,52,54,9,55,56,57,60,58,59,61,62,10,1,11,65,64,68,63,15,14,99,106,98,113,90,89,112,107,110,92,91,87,86,109,88,93,94,97,84,115,114,101,102,104,100,103,108,95,96,105,85,111,70,72,71]},"version":"5.3.3"}
@@ -4,7 +4,7 @@ name: tokens
4
4
  entity:
5
5
  schema:
6
6
  revokedAt: number # timestamp
7
- initialized: true
7
+ dependent: true
8
8
 
9
9
  operations:
10
10
  encrypt:
@@ -0,0 +1,9 @@
1
+ import { type Maybe, type Operation } from '@toa.io/types';
2
+ import { type AuthenticateOutput, type Context } from './types';
3
+ export declare class Computation implements Operation {
4
+ private refresh;
5
+ private decrypt;
6
+ private observe;
7
+ mount(context: Context): void;
8
+ execute(token: string): Promise<Maybe<AuthenticateOutput>>;
9
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Computation = void 0;
4
+ class Computation {
5
+ refresh = 0;
6
+ decrypt = undefined;
7
+ observe = undefined;
8
+ mount(context) {
9
+ this.refresh = context.configuration.refresh * 1000;
10
+ this.decrypt = context.local.decrypt;
11
+ this.observe = context.local.observe;
12
+ }
13
+ async execute(token) {
14
+ const claim = await this.decrypt({ input: token });
15
+ if (claim instanceof Error)
16
+ return claim;
17
+ const identity = claim.identity;
18
+ const iat = new Date(claim.iat).getTime();
19
+ const transient = claim.exp !== undefined;
20
+ const stale = transient && (iat + this.refresh < Date.now());
21
+ if (stale) {
22
+ const revocation = await this.observe({ query: { id: identity.id } });
23
+ if (revocation !== null && iat < revocation.revokedAt)
24
+ return ERR_TOKEN_REVOKED;
25
+ }
26
+ const refresh = stale || claim.refresh;
27
+ return { identity, refresh };
28
+ }
29
+ }
30
+ exports.Computation = Computation;
31
+ const ERR_TOKEN_REVOKED = new Error('TOKEN_REVOKED');
32
+ //# sourceMappingURL=authenticate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticate.js","sourceRoot":"","sources":["../source/authenticate.ts"],"names":[],"mappings":";;;AAGA,MAAa,WAAW;IACd,OAAO,GAAW,CAAC,CAAA;IACnB,OAAO,GAAgC,SAAmD,CAAA;IAC1F,OAAO,GAAgC,SAAmD,CAAA;IAE3F,KAAK,CAAE,OAAgB;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAA;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;IACtC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAE,KAAa;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAElD,IAAI,KAAK,YAAY,KAAK;YACxB,OAAO,KAAK,CAAA;QAEd,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;QAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,KAAK,SAAS,CAAA;QACzC,MAAM,KAAK,GAAG,SAAS,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAE5D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAErE,IAAI,UAAU,KAAK,IAAI,IAAI,GAAG,GAAG,UAAU,CAAC,SAAS;gBACnD,OAAO,iBAAiB,CAAA;QAC5B,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,CAAA;QAEtC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;IAC9B,CAAC;CACF;AAjCD,kCAiCC;AAED,MAAM,iBAAiB,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { type Maybe } from '@toa.io/types';
2
+ import { type Context, type DecryptOutput } from './types';
3
+ export declare function computation(token: string, context: Context): Promise<Maybe<DecryptOutput>>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computation = void 0;
4
+ const paseto_1 = require("paseto");
5
+ async function computation(token, context) {
6
+ let refresh = false;
7
+ let claim = await decrypt(token, context.configuration.key0);
8
+ if (claim === null && context.configuration.key1 !== undefined) {
9
+ refresh = true;
10
+ claim = await decrypt(token, context.configuration.key1);
11
+ }
12
+ if (claim === null)
13
+ return ERR_INVALID_TOKEN;
14
+ else
15
+ return {
16
+ identity: claim.identity,
17
+ iat: claim.iat,
18
+ exp: claim.exp,
19
+ refresh
20
+ };
21
+ }
22
+ exports.computation = computation;
23
+ async function decrypt(token, key) {
24
+ try {
25
+ return await paseto_1.V3.decrypt(token, key);
26
+ }
27
+ catch {
28
+ return null;
29
+ }
30
+ }
31
+ const ERR_INVALID_TOKEN = new Error('INVALID_TOKEN');
32
+ //# sourceMappingURL=decrypt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../source/decrypt.ts"],"names":[],"mappings":";;;AAAA,mCAA2B;AAIpB,KAAK,UAAU,WAAW,CAAE,KAAa,EAAE,OAAgB;IAEhE,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAE5D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/D,OAAO,GAAG,IAAI,CAAA;QACd,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,IAAI,KAAK,KAAK,IAAI;QAChB,OAAO,iBAAiB,CAAA;;QACrB,OAAO;YACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,OAAO;SACR,CAAA;AACH,CAAC;AAlBD,kCAkBC;AAED,KAAK,UAAU,OAAO,CAAE,KAAa,EAAE,GAAW;IAChD,IAAI,CAAC;QACH,OAAO,MAAM,WAAE,CAAC,OAAO,CAAQ,KAAK,EAAE,GAAG,CAAC,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { type Operation } from '@toa.io/types';
2
+ import { type Context, type EncryptInput } from './types';
3
+ export declare class Effect implements Operation {
4
+ private key;
5
+ private lifetime;
6
+ mount(context: Context): void;
7
+ execute(input: EncryptInput): Promise<string>;
8
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Effect = void 0;
4
+ const paseto_1 = require("paseto");
5
+ class Effect {
6
+ key = '';
7
+ lifetime = 0;
8
+ mount(context) {
9
+ this.key = context.configuration.key0;
10
+ this.lifetime = context.configuration.lifetime * 1000;
11
+ }
12
+ async execute(input) {
13
+ const lifetime = input.lifetime === undefined ? this.lifetime : input.lifetime * 1000;
14
+ const exp = lifetime === 0
15
+ ? undefined
16
+ : new Date(Date.now() + lifetime).toISOString();
17
+ const payload = { identity: input.identity, exp };
18
+ return await paseto_1.V3.encrypt(payload, this.key);
19
+ }
20
+ }
21
+ exports.Effect = Effect;
22
+ //# sourceMappingURL=encrypt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encrypt.js","sourceRoot":"","sources":["../source/encrypt.ts"],"names":[],"mappings":";;;AAAA,mCAA2B;AAI3B,MAAa,MAAM;IACT,GAAG,GAAW,EAAE,CAAA;IAChB,QAAQ,GAAW,CAAC,CAAA;IAErB,KAAK,CAAE,OAAgB;QAC5B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAA;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAA;IACvD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAE,KAAmB;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QAErF,MAAM,GAAG,GAAG,QAAQ,KAAK,CAAC;YACxB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;QAEjD,MAAM,OAAO,GAAmB,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAA;QAEjE,OAAO,MAAM,WAAE,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC;CACF;AApBD,wBAoBC"}
@@ -0,0 +1,2 @@
1
+ import { type Entity } from './types';
2
+ export declare function transition(_: never, object: Entity): void;