@quantiya/codevibe-claude-plugin 1.0.0 → 1.0.1

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 (1547) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/dist/http-api.js +1 -1
  3. package/dist/http-api.js.map +1 -1
  4. package/hooks/session-start.sh +10 -1
  5. package/node_modules/@quantiya/codevibe-core/README.md +178 -0
  6. package/node_modules/@quantiya/codevibe-core/bin/codevibe.js +7 -0
  7. package/node_modules/@quantiya/codevibe-core/dist/appsync/appsync-client.d.ts +132 -0
  8. package/node_modules/@quantiya/codevibe-core/dist/appsync/appsync-client.js +568 -0
  9. package/node_modules/@quantiya/codevibe-core/dist/appsync/index.d.ts +2 -0
  10. package/node_modules/@quantiya/codevibe-core/dist/appsync/index.js +10 -0
  11. package/node_modules/@quantiya/codevibe-core/dist/appsync/queries.d.ts +16 -0
  12. package/node_modules/@quantiya/codevibe-core/dist/appsync/queries.js +189 -0
  13. package/node_modules/@quantiya/codevibe-core/dist/auth/auth-cli.d.ts +5 -0
  14. package/node_modules/@quantiya/codevibe-core/dist/auth/auth-cli.js +217 -0
  15. package/node_modules/@quantiya/codevibe-core/dist/auth/auth-service.d.ts +53 -0
  16. package/node_modules/@quantiya/codevibe-core/dist/auth/auth-service.js +310 -0
  17. package/node_modules/@quantiya/codevibe-core/dist/auth/index.d.ts +2 -0
  18. package/node_modules/@quantiya/codevibe-core/dist/auth/index.js +9 -0
  19. package/node_modules/@quantiya/codevibe-core/dist/config/config.d.ts +53 -0
  20. package/node_modules/@quantiya/codevibe-core/dist/config/config.js +123 -0
  21. package/node_modules/@quantiya/codevibe-core/dist/config/index.d.ts +2 -0
  22. package/node_modules/@quantiya/codevibe-core/dist/config/index.js +8 -0
  23. package/node_modules/@quantiya/codevibe-core/dist/crypto/crypto-service.d.ts +118 -0
  24. package/node_modules/@quantiya/codevibe-core/dist/crypto/crypto-service.js +284 -0
  25. package/node_modules/@quantiya/codevibe-core/dist/crypto/index.d.ts +1 -0
  26. package/node_modules/@quantiya/codevibe-core/dist/crypto/index.js +9 -0
  27. package/node_modules/@quantiya/codevibe-core/dist/index.d.ts +14 -0
  28. package/node_modules/@quantiya/codevibe-core/dist/index.js +68 -0
  29. package/node_modules/@quantiya/codevibe-core/dist/keychain/index.d.ts +1 -0
  30. package/node_modules/@quantiya/codevibe-core/dist/keychain/index.js +8 -0
  31. package/node_modules/@quantiya/codevibe-core/dist/keychain/keychain-manager.d.ts +125 -0
  32. package/node_modules/@quantiya/codevibe-core/dist/keychain/keychain-manager.js +375 -0
  33. package/node_modules/@quantiya/codevibe-core/dist/logger/index.d.ts +1 -0
  34. package/node_modules/@quantiya/codevibe-core/dist/logger/index.js +8 -0
  35. package/node_modules/@quantiya/codevibe-core/dist/logger/logger.d.ts +35 -0
  36. package/node_modules/@quantiya/codevibe-core/dist/logger/logger.js +142 -0
  37. package/node_modules/@quantiya/codevibe-core/dist/prompt-parser.d.ts +39 -0
  38. package/node_modules/@quantiya/codevibe-core/dist/prompt-parser.js +236 -0
  39. package/node_modules/@quantiya/codevibe-core/dist/session/index.d.ts +2 -0
  40. package/node_modules/@quantiya/codevibe-core/dist/session/index.js +7 -0
  41. package/node_modules/@quantiya/codevibe-core/dist/session/session-resume.d.ts +55 -0
  42. package/node_modules/@quantiya/codevibe-core/dist/session/session-resume.js +151 -0
  43. package/node_modules/@quantiya/codevibe-core/dist/types/auth.d.ts +15 -0
  44. package/node_modules/@quantiya/codevibe-core/dist/types/auth.js +3 -0
  45. package/node_modules/@quantiya/codevibe-core/dist/types/encryption.d.ts +54 -0
  46. package/node_modules/@quantiya/codevibe-core/dist/types/encryption.js +3 -0
  47. package/node_modules/@quantiya/codevibe-core/dist/types/events.d.ts +74 -0
  48. package/node_modules/@quantiya/codevibe-core/dist/types/events.js +28 -0
  49. package/node_modules/@quantiya/codevibe-core/dist/types/index.d.ts +4 -0
  50. package/node_modules/@quantiya/codevibe-core/dist/types/index.js +22 -0
  51. package/node_modules/@quantiya/codevibe-core/dist/types/session.d.ts +59 -0
  52. package/node_modules/@quantiya/codevibe-core/dist/types/session.js +22 -0
  53. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/CHANGELOG.md +274 -0
  54. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/CONTRIBUTING.md +18 -0
  55. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/LICENSE.md +9 -0
  56. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/README.md +466 -0
  57. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/bin/uuid +2 -0
  58. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/index.js +79 -0
  59. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/md5.js +223 -0
  60. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/native.js +11 -0
  61. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/nil.js +8 -0
  62. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/parse.js +45 -0
  63. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/regex.js +8 -0
  64. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/rng.js +25 -0
  65. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/sha1.js +104 -0
  66. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/stringify.js +44 -0
  67. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v1.js +107 -0
  68. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v3.js +16 -0
  69. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v35.js +80 -0
  70. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v4.js +43 -0
  71. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/v5.js +16 -0
  72. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/validate.js +17 -0
  73. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/commonjs-browser/version.js +21 -0
  74. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/index.js +9 -0
  75. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/md5.js +215 -0
  76. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/native.js +4 -0
  77. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/nil.js +1 -0
  78. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/parse.js +35 -0
  79. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/regex.js +1 -0
  80. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/rng.js +18 -0
  81. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/sha1.js +96 -0
  82. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/stringify.js +33 -0
  83. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v1.js +95 -0
  84. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v3.js +4 -0
  85. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v35.js +66 -0
  86. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v4.js +29 -0
  87. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/v5.js +4 -0
  88. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/validate.js +7 -0
  89. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-browser/version.js +11 -0
  90. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/index.js +9 -0
  91. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/md5.js +13 -0
  92. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/native.js +4 -0
  93. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/nil.js +1 -0
  94. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/parse.js +35 -0
  95. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/regex.js +1 -0
  96. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/rng.js +12 -0
  97. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/sha1.js +13 -0
  98. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/stringify.js +33 -0
  99. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v1.js +95 -0
  100. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v3.js +4 -0
  101. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v35.js +66 -0
  102. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v4.js +29 -0
  103. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/v5.js +4 -0
  104. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/validate.js +7 -0
  105. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/esm-node/version.js +11 -0
  106. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/index.js +79 -0
  107. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/md5-browser.js +223 -0
  108. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/md5.js +23 -0
  109. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/native-browser.js +11 -0
  110. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/native.js +15 -0
  111. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/nil.js +8 -0
  112. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/parse.js +45 -0
  113. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/regex.js +8 -0
  114. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/rng-browser.js +25 -0
  115. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/rng.js +24 -0
  116. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/sha1-browser.js +104 -0
  117. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/sha1.js +23 -0
  118. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/stringify.js +44 -0
  119. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/uuid-bin.js +85 -0
  120. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v1.js +107 -0
  121. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v3.js +16 -0
  122. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v35.js +80 -0
  123. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v4.js +43 -0
  124. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/v5.js +16 -0
  125. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/validate.js +17 -0
  126. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/dist/version.js +21 -0
  127. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/package.json +135 -0
  128. package/node_modules/@quantiya/codevibe-core/node_modules/uuid/wrapper.mjs +10 -0
  129. package/node_modules/@quantiya/codevibe-core/package.json +51 -0
  130. package/node_modules/accepts/HISTORY.md +250 -0
  131. package/node_modules/accepts/LICENSE +23 -0
  132. package/node_modules/accepts/README.md +140 -0
  133. package/node_modules/accepts/index.js +238 -0
  134. package/node_modules/accepts/package.json +47 -0
  135. package/node_modules/base64-js/LICENSE +21 -0
  136. package/node_modules/base64-js/README.md +34 -0
  137. package/node_modules/base64-js/base64js.min.js +1 -0
  138. package/node_modules/base64-js/index.d.ts +3 -0
  139. package/node_modules/base64-js/index.js +150 -0
  140. package/node_modules/base64-js/package.json +47 -0
  141. package/node_modules/bl/.travis.yml +17 -0
  142. package/node_modules/bl/BufferList.js +396 -0
  143. package/node_modules/bl/LICENSE.md +13 -0
  144. package/node_modules/bl/README.md +247 -0
  145. package/node_modules/bl/bl.js +84 -0
  146. package/node_modules/bl/package.json +37 -0
  147. package/node_modules/bl/test/convert.js +21 -0
  148. package/node_modules/bl/test/indexOf.js +492 -0
  149. package/node_modules/bl/test/isBufferList.js +32 -0
  150. package/node_modules/bl/test/test.js +869 -0
  151. package/node_modules/body-parser/LICENSE +23 -0
  152. package/node_modules/body-parser/README.md +494 -0
  153. package/node_modules/body-parser/index.js +80 -0
  154. package/node_modules/body-parser/lib/read.js +250 -0
  155. package/node_modules/body-parser/lib/types/json.js +166 -0
  156. package/node_modules/body-parser/lib/types/raw.js +43 -0
  157. package/node_modules/body-parser/lib/types/text.js +37 -0
  158. package/node_modules/body-parser/lib/types/urlencoded.js +142 -0
  159. package/node_modules/body-parser/lib/utils.js +96 -0
  160. package/node_modules/body-parser/package.json +52 -0
  161. package/node_modules/buffer/AUTHORS.md +70 -0
  162. package/node_modules/buffer/LICENSE +21 -0
  163. package/node_modules/buffer/README.md +410 -0
  164. package/node_modules/buffer/index.d.ts +186 -0
  165. package/node_modules/buffer/index.js +1817 -0
  166. package/node_modules/buffer/package.json +96 -0
  167. package/node_modules/bytes/History.md +97 -0
  168. package/node_modules/bytes/LICENSE +23 -0
  169. package/node_modules/bytes/Readme.md +152 -0
  170. package/node_modules/bytes/index.js +170 -0
  171. package/node_modules/bytes/package.json +42 -0
  172. package/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  173. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  174. package/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  175. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  176. package/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  177. package/node_modules/call-bind-apply-helpers/README.md +62 -0
  178. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  179. package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  180. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  181. package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  182. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  183. package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  184. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  185. package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  186. package/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  187. package/node_modules/call-bind-apply-helpers/index.js +15 -0
  188. package/node_modules/call-bind-apply-helpers/package.json +85 -0
  189. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  190. package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  191. package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  192. package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  193. package/node_modules/call-bound/.eslintrc +13 -0
  194. package/node_modules/call-bound/.github/FUNDING.yml +12 -0
  195. package/node_modules/call-bound/.nycrc +9 -0
  196. package/node_modules/call-bound/CHANGELOG.md +42 -0
  197. package/node_modules/call-bound/LICENSE +21 -0
  198. package/node_modules/call-bound/README.md +53 -0
  199. package/node_modules/call-bound/index.d.ts +94 -0
  200. package/node_modules/call-bound/index.js +19 -0
  201. package/node_modules/call-bound/package.json +99 -0
  202. package/node_modules/call-bound/test/index.js +61 -0
  203. package/node_modules/call-bound/tsconfig.json +10 -0
  204. package/node_modules/chownr/LICENSE +15 -0
  205. package/node_modules/chownr/README.md +3 -0
  206. package/node_modules/chownr/chownr.js +167 -0
  207. package/node_modules/chownr/package.json +29 -0
  208. package/node_modules/content-disposition/HISTORY.md +72 -0
  209. package/node_modules/content-disposition/LICENSE +22 -0
  210. package/node_modules/content-disposition/README.md +142 -0
  211. package/node_modules/content-disposition/index.js +458 -0
  212. package/node_modules/content-disposition/package.json +43 -0
  213. package/node_modules/content-type/HISTORY.md +29 -0
  214. package/node_modules/content-type/LICENSE +22 -0
  215. package/node_modules/content-type/README.md +94 -0
  216. package/node_modules/content-type/index.js +225 -0
  217. package/node_modules/content-type/package.json +42 -0
  218. package/node_modules/cookie/LICENSE +24 -0
  219. package/node_modules/cookie/README.md +317 -0
  220. package/node_modules/cookie/SECURITY.md +25 -0
  221. package/node_modules/cookie/index.js +335 -0
  222. package/node_modules/cookie/package.json +44 -0
  223. package/node_modules/cookie-signature/History.md +70 -0
  224. package/node_modules/cookie-signature/LICENSE +22 -0
  225. package/node_modules/cookie-signature/Readme.md +23 -0
  226. package/node_modules/cookie-signature/index.js +47 -0
  227. package/node_modules/cookie-signature/package.json +24 -0
  228. package/node_modules/debug/LICENSE +20 -0
  229. package/node_modules/debug/README.md +481 -0
  230. package/node_modules/debug/package.json +64 -0
  231. package/node_modules/debug/src/browser.js +272 -0
  232. package/node_modules/debug/src/common.js +292 -0
  233. package/node_modules/debug/src/index.js +10 -0
  234. package/node_modules/debug/src/node.js +263 -0
  235. package/node_modules/decompress-response/index.d.ts +22 -0
  236. package/node_modules/decompress-response/index.js +58 -0
  237. package/node_modules/decompress-response/license +9 -0
  238. package/node_modules/decompress-response/package.json +56 -0
  239. package/node_modules/decompress-response/readme.md +48 -0
  240. package/node_modules/deep-extend/CHANGELOG.md +46 -0
  241. package/node_modules/deep-extend/LICENSE +20 -0
  242. package/node_modules/deep-extend/README.md +91 -0
  243. package/node_modules/deep-extend/index.js +1 -0
  244. package/node_modules/deep-extend/lib/deep-extend.js +150 -0
  245. package/node_modules/deep-extend/package.json +62 -0
  246. package/node_modules/depd/History.md +103 -0
  247. package/node_modules/depd/LICENSE +22 -0
  248. package/node_modules/depd/Readme.md +280 -0
  249. package/node_modules/depd/index.js +538 -0
  250. package/node_modules/depd/lib/browser/index.js +77 -0
  251. package/node_modules/depd/package.json +45 -0
  252. package/node_modules/detect-libc/LICENSE +201 -0
  253. package/node_modules/detect-libc/README.md +163 -0
  254. package/node_modules/detect-libc/index.d.ts +14 -0
  255. package/node_modules/detect-libc/lib/detect-libc.js +313 -0
  256. package/node_modules/detect-libc/lib/elf.js +39 -0
  257. package/node_modules/detect-libc/lib/filesystem.js +51 -0
  258. package/node_modules/detect-libc/lib/process.js +24 -0
  259. package/node_modules/detect-libc/package.json +44 -0
  260. package/node_modules/dotenv/CHANGELOG.md +520 -0
  261. package/node_modules/dotenv/LICENSE +23 -0
  262. package/node_modules/dotenv/README-es.md +411 -0
  263. package/node_modules/dotenv/README.md +645 -0
  264. package/node_modules/dotenv/SECURITY.md +1 -0
  265. package/node_modules/dotenv/config.d.ts +1 -0
  266. package/node_modules/dotenv/config.js +9 -0
  267. package/node_modules/dotenv/lib/cli-options.js +17 -0
  268. package/node_modules/dotenv/lib/env-options.js +28 -0
  269. package/node_modules/dotenv/lib/main.d.ts +162 -0
  270. package/node_modules/dotenv/lib/main.js +386 -0
  271. package/node_modules/dotenv/package.json +62 -0
  272. package/node_modules/dunder-proto/.eslintrc +5 -0
  273. package/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  274. package/node_modules/dunder-proto/.nycrc +13 -0
  275. package/node_modules/dunder-proto/CHANGELOG.md +24 -0
  276. package/node_modules/dunder-proto/LICENSE +21 -0
  277. package/node_modules/dunder-proto/README.md +54 -0
  278. package/node_modules/dunder-proto/get.d.ts +5 -0
  279. package/node_modules/dunder-proto/get.js +30 -0
  280. package/node_modules/dunder-proto/package.json +76 -0
  281. package/node_modules/dunder-proto/set.d.ts +5 -0
  282. package/node_modules/dunder-proto/set.js +35 -0
  283. package/node_modules/dunder-proto/test/get.js +34 -0
  284. package/node_modules/dunder-proto/test/index.js +4 -0
  285. package/node_modules/dunder-proto/test/set.js +50 -0
  286. package/node_modules/dunder-proto/tsconfig.json +9 -0
  287. package/node_modules/ee-first/LICENSE +22 -0
  288. package/node_modules/ee-first/README.md +80 -0
  289. package/node_modules/ee-first/index.js +95 -0
  290. package/node_modules/ee-first/package.json +29 -0
  291. package/node_modules/encodeurl/LICENSE +22 -0
  292. package/node_modules/encodeurl/README.md +109 -0
  293. package/node_modules/encodeurl/index.js +60 -0
  294. package/node_modules/encodeurl/package.json +40 -0
  295. package/node_modules/end-of-stream/LICENSE +21 -0
  296. package/node_modules/end-of-stream/README.md +54 -0
  297. package/node_modules/end-of-stream/index.js +96 -0
  298. package/node_modules/end-of-stream/package.json +37 -0
  299. package/node_modules/es-define-property/.eslintrc +13 -0
  300. package/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  301. package/node_modules/es-define-property/.nycrc +9 -0
  302. package/node_modules/es-define-property/CHANGELOG.md +29 -0
  303. package/node_modules/es-define-property/LICENSE +21 -0
  304. package/node_modules/es-define-property/README.md +49 -0
  305. package/node_modules/es-define-property/index.d.ts +3 -0
  306. package/node_modules/es-define-property/index.js +14 -0
  307. package/node_modules/es-define-property/package.json +81 -0
  308. package/node_modules/es-define-property/test/index.js +56 -0
  309. package/node_modules/es-define-property/tsconfig.json +10 -0
  310. package/node_modules/es-errors/.eslintrc +5 -0
  311. package/node_modules/es-errors/.github/FUNDING.yml +12 -0
  312. package/node_modules/es-errors/CHANGELOG.md +40 -0
  313. package/node_modules/es-errors/LICENSE +21 -0
  314. package/node_modules/es-errors/README.md +55 -0
  315. package/node_modules/es-errors/eval.d.ts +3 -0
  316. package/node_modules/es-errors/eval.js +4 -0
  317. package/node_modules/es-errors/index.d.ts +3 -0
  318. package/node_modules/es-errors/index.js +4 -0
  319. package/node_modules/es-errors/package.json +80 -0
  320. package/node_modules/es-errors/range.d.ts +3 -0
  321. package/node_modules/es-errors/range.js +4 -0
  322. package/node_modules/es-errors/ref.d.ts +3 -0
  323. package/node_modules/es-errors/ref.js +4 -0
  324. package/node_modules/es-errors/syntax.d.ts +3 -0
  325. package/node_modules/es-errors/syntax.js +4 -0
  326. package/node_modules/es-errors/test/index.js +19 -0
  327. package/node_modules/es-errors/tsconfig.json +49 -0
  328. package/node_modules/es-errors/type.d.ts +3 -0
  329. package/node_modules/es-errors/type.js +4 -0
  330. package/node_modules/es-errors/uri.d.ts +3 -0
  331. package/node_modules/es-errors/uri.js +4 -0
  332. package/node_modules/es-object-atoms/.eslintrc +16 -0
  333. package/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  334. package/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  335. package/node_modules/es-object-atoms/LICENSE +21 -0
  336. package/node_modules/es-object-atoms/README.md +63 -0
  337. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  338. package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  339. package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  340. package/node_modules/es-object-atoms/ToObject.js +10 -0
  341. package/node_modules/es-object-atoms/index.d.ts +3 -0
  342. package/node_modules/es-object-atoms/index.js +4 -0
  343. package/node_modules/es-object-atoms/isObject.d.ts +3 -0
  344. package/node_modules/es-object-atoms/isObject.js +6 -0
  345. package/node_modules/es-object-atoms/package.json +80 -0
  346. package/node_modules/es-object-atoms/test/index.js +38 -0
  347. package/node_modules/es-object-atoms/tsconfig.json +6 -0
  348. package/node_modules/escape-html/LICENSE +24 -0
  349. package/node_modules/escape-html/Readme.md +43 -0
  350. package/node_modules/escape-html/index.js +78 -0
  351. package/node_modules/escape-html/package.json +24 -0
  352. package/node_modules/etag/HISTORY.md +83 -0
  353. package/node_modules/etag/LICENSE +22 -0
  354. package/node_modules/etag/README.md +159 -0
  355. package/node_modules/etag/index.js +131 -0
  356. package/node_modules/etag/package.json +47 -0
  357. package/node_modules/expand-template/.travis.yml +6 -0
  358. package/node_modules/expand-template/LICENSE +21 -0
  359. package/node_modules/expand-template/README.md +43 -0
  360. package/node_modules/expand-template/index.js +26 -0
  361. package/node_modules/expand-template/package.json +29 -0
  362. package/node_modules/expand-template/test.js +67 -0
  363. package/node_modules/express/History.md +3858 -0
  364. package/node_modules/express/LICENSE +24 -0
  365. package/node_modules/express/Readme.md +266 -0
  366. package/node_modules/express/index.js +11 -0
  367. package/node_modules/express/lib/application.js +631 -0
  368. package/node_modules/express/lib/express.js +81 -0
  369. package/node_modules/express/lib/request.js +515 -0
  370. package/node_modules/express/lib/response.js +1039 -0
  371. package/node_modules/express/lib/utils.js +269 -0
  372. package/node_modules/express/lib/view.js +205 -0
  373. package/node_modules/express/package.json +98 -0
  374. package/node_modules/finalhandler/HISTORY.md +233 -0
  375. package/node_modules/finalhandler/LICENSE +22 -0
  376. package/node_modules/finalhandler/README.md +147 -0
  377. package/node_modules/finalhandler/index.js +293 -0
  378. package/node_modules/finalhandler/package.json +43 -0
  379. package/node_modules/forwarded/HISTORY.md +21 -0
  380. package/node_modules/forwarded/LICENSE +22 -0
  381. package/node_modules/forwarded/README.md +57 -0
  382. package/node_modules/forwarded/index.js +90 -0
  383. package/node_modules/forwarded/package.json +45 -0
  384. package/node_modules/fresh/HISTORY.md +80 -0
  385. package/node_modules/fresh/LICENSE +23 -0
  386. package/node_modules/fresh/README.md +117 -0
  387. package/node_modules/fresh/index.js +136 -0
  388. package/node_modules/fresh/package.json +46 -0
  389. package/node_modules/fs-constants/LICENSE +21 -0
  390. package/node_modules/fs-constants/README.md +26 -0
  391. package/node_modules/fs-constants/browser.js +1 -0
  392. package/node_modules/fs-constants/index.js +1 -0
  393. package/node_modules/fs-constants/package.json +19 -0
  394. package/node_modules/function-bind/.eslintrc +21 -0
  395. package/node_modules/function-bind/.github/FUNDING.yml +12 -0
  396. package/node_modules/function-bind/.github/SECURITY.md +3 -0
  397. package/node_modules/function-bind/.nycrc +13 -0
  398. package/node_modules/function-bind/CHANGELOG.md +136 -0
  399. package/node_modules/function-bind/LICENSE +20 -0
  400. package/node_modules/function-bind/README.md +46 -0
  401. package/node_modules/function-bind/implementation.js +84 -0
  402. package/node_modules/function-bind/index.js +5 -0
  403. package/node_modules/function-bind/package.json +87 -0
  404. package/node_modules/function-bind/test/.eslintrc +9 -0
  405. package/node_modules/function-bind/test/index.js +252 -0
  406. package/node_modules/get-intrinsic/.eslintrc +42 -0
  407. package/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  408. package/node_modules/get-intrinsic/.nycrc +9 -0
  409. package/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  410. package/node_modules/get-intrinsic/LICENSE +21 -0
  411. package/node_modules/get-intrinsic/README.md +71 -0
  412. package/node_modules/get-intrinsic/index.js +378 -0
  413. package/node_modules/get-intrinsic/package.json +97 -0
  414. package/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  415. package/node_modules/get-proto/.eslintrc +10 -0
  416. package/node_modules/get-proto/.github/FUNDING.yml +12 -0
  417. package/node_modules/get-proto/.nycrc +9 -0
  418. package/node_modules/get-proto/CHANGELOG.md +21 -0
  419. package/node_modules/get-proto/LICENSE +21 -0
  420. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  421. package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  422. package/node_modules/get-proto/README.md +50 -0
  423. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  424. package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  425. package/node_modules/get-proto/index.d.ts +5 -0
  426. package/node_modules/get-proto/index.js +27 -0
  427. package/node_modules/get-proto/package.json +81 -0
  428. package/node_modules/get-proto/test/index.js +68 -0
  429. package/node_modules/get-proto/tsconfig.json +9 -0
  430. package/node_modules/github-from-package/.travis.yml +4 -0
  431. package/node_modules/github-from-package/LICENSE +18 -0
  432. package/node_modules/github-from-package/example/package.json +8 -0
  433. package/node_modules/github-from-package/example/url.js +3 -0
  434. package/node_modules/github-from-package/index.js +17 -0
  435. package/node_modules/github-from-package/package.json +30 -0
  436. package/node_modules/github-from-package/readme.markdown +53 -0
  437. package/node_modules/github-from-package/test/a.json +8 -0
  438. package/node_modules/github-from-package/test/b.json +5 -0
  439. package/node_modules/github-from-package/test/c.json +5 -0
  440. package/node_modules/github-from-package/test/d.json +7 -0
  441. package/node_modules/github-from-package/test/e.json +5 -0
  442. package/node_modules/github-from-package/test/url.js +19 -0
  443. package/node_modules/gopd/.eslintrc +16 -0
  444. package/node_modules/gopd/.github/FUNDING.yml +12 -0
  445. package/node_modules/gopd/CHANGELOG.md +45 -0
  446. package/node_modules/gopd/LICENSE +21 -0
  447. package/node_modules/gopd/README.md +40 -0
  448. package/node_modules/gopd/gOPD.d.ts +1 -0
  449. package/node_modules/gopd/gOPD.js +4 -0
  450. package/node_modules/gopd/index.d.ts +5 -0
  451. package/node_modules/gopd/index.js +15 -0
  452. package/node_modules/gopd/package.json +77 -0
  453. package/node_modules/gopd/test/index.js +36 -0
  454. package/node_modules/gopd/tsconfig.json +9 -0
  455. package/node_modules/graphql/LICENSE +21 -0
  456. package/node_modules/graphql/NotSupportedTSVersion.d.ts +1 -0
  457. package/node_modules/graphql/README.md +203 -0
  458. package/node_modules/graphql/error/GraphQLError.d.ts +152 -0
  459. package/node_modules/graphql/error/GraphQLError.js +267 -0
  460. package/node_modules/graphql/error/GraphQLError.mjs +253 -0
  461. package/node_modules/graphql/error/index.d.ts +9 -0
  462. package/node_modules/graphql/error/index.js +41 -0
  463. package/node_modules/graphql/error/index.mjs +3 -0
  464. package/node_modules/graphql/error/locatedError.d.ts +13 -0
  465. package/node_modules/graphql/error/locatedError.js +40 -0
  466. package/node_modules/graphql/error/locatedError.mjs +32 -0
  467. package/node_modules/graphql/error/syntaxError.d.ts +11 -0
  468. package/node_modules/graphql/error/syntaxError.js +19 -0
  469. package/node_modules/graphql/error/syntaxError.mjs +12 -0
  470. package/node_modules/graphql/execution/collectFields.d.ts +45 -0
  471. package/node_modules/graphql/execution/collectFields.js +229 -0
  472. package/node_modules/graphql/execution/collectFields.mjs +213 -0
  473. package/node_modules/graphql/execution/execute.d.ts +190 -0
  474. package/node_modules/graphql/execution/execute.js +1054 -0
  475. package/node_modules/graphql/execution/execute.mjs +1026 -0
  476. package/node_modules/graphql/execution/index.d.ts +18 -0
  477. package/node_modules/graphql/execution/index.js +73 -0
  478. package/node_modules/graphql/execution/index.mjs +13 -0
  479. package/node_modules/graphql/execution/mapAsyncIterator.d.ts +9 -0
  480. package/node_modules/graphql/execution/mapAsyncIterator.js +68 -0
  481. package/node_modules/graphql/execution/mapAsyncIterator.mjs +61 -0
  482. package/node_modules/graphql/execution/subscribe.d.ts +72 -0
  483. package/node_modules/graphql/execution/subscribe.js +244 -0
  484. package/node_modules/graphql/execution/subscribe.mjs +222 -0
  485. package/node_modules/graphql/execution/values.d.ts +79 -0
  486. package/node_modules/graphql/execution/values.js +300 -0
  487. package/node_modules/graphql/execution/values.mjs +263 -0
  488. package/node_modules/graphql/graphql.d.ts +67 -0
  489. package/node_modules/graphql/graphql.js +96 -0
  490. package/node_modules/graphql/graphql.mjs +122 -0
  491. package/node_modules/graphql/index.d.ts +428 -0
  492. package/node_modules/graphql/index.js +1311 -0
  493. package/node_modules/graphql/index.mjs +262 -0
  494. package/node_modules/graphql/jsutils/Maybe.d.ts +2 -0
  495. package/node_modules/graphql/jsutils/Maybe.js +5 -0
  496. package/node_modules/graphql/jsutils/Maybe.mjs +1 -0
  497. package/node_modules/graphql/jsutils/ObjMap.d.ts +16 -0
  498. package/node_modules/graphql/jsutils/ObjMap.js +5 -0
  499. package/node_modules/graphql/jsutils/ObjMap.mjs +1 -0
  500. package/node_modules/graphql/jsutils/Path.d.ts +20 -0
  501. package/node_modules/graphql/jsutils/Path.js +33 -0
  502. package/node_modules/graphql/jsutils/Path.mjs +25 -0
  503. package/node_modules/graphql/jsutils/PromiseOrValue.d.ts +1 -0
  504. package/node_modules/graphql/jsutils/PromiseOrValue.js +5 -0
  505. package/node_modules/graphql/jsutils/PromiseOrValue.mjs +1 -0
  506. package/node_modules/graphql/jsutils/devAssert.d.ts +1 -0
  507. package/node_modules/graphql/jsutils/devAssert.js +14 -0
  508. package/node_modules/graphql/jsutils/devAssert.mjs +7 -0
  509. package/node_modules/graphql/jsutils/didYouMean.d.ts +8 -0
  510. package/node_modules/graphql/jsutils/didYouMean.js +38 -0
  511. package/node_modules/graphql/jsutils/didYouMean.mjs +32 -0
  512. package/node_modules/graphql/jsutils/groupBy.d.ts +7 -0
  513. package/node_modules/graphql/jsutils/groupBy.js +26 -0
  514. package/node_modules/graphql/jsutils/groupBy.mjs +19 -0
  515. package/node_modules/graphql/jsutils/identityFunc.d.ts +4 -0
  516. package/node_modules/graphql/jsutils/identityFunc.js +13 -0
  517. package/node_modules/graphql/jsutils/identityFunc.mjs +6 -0
  518. package/node_modules/graphql/jsutils/inspect.d.ts +4 -0
  519. package/node_modules/graphql/jsutils/inspect.js +121 -0
  520. package/node_modules/graphql/jsutils/inspect.mjs +115 -0
  521. package/node_modules/graphql/jsutils/instanceOf.d.ts +16 -0
  522. package/node_modules/graphql/jsutils/instanceOf.js +65 -0
  523. package/node_modules/graphql/jsutils/instanceOf.mjs +57 -0
  524. package/node_modules/graphql/jsutils/invariant.d.ts +4 -0
  525. package/node_modules/graphql/jsutils/invariant.js +16 -0
  526. package/node_modules/graphql/jsutils/invariant.mjs +9 -0
  527. package/node_modules/graphql/jsutils/isAsyncIterable.d.ts +7 -0
  528. package/node_modules/graphql/jsutils/isAsyncIterable.js +18 -0
  529. package/node_modules/graphql/jsutils/isAsyncIterable.mjs +11 -0
  530. package/node_modules/graphql/jsutils/isIterableObject.d.ts +20 -0
  531. package/node_modules/graphql/jsutils/isIterableObject.js +32 -0
  532. package/node_modules/graphql/jsutils/isIterableObject.mjs +25 -0
  533. package/node_modules/graphql/jsutils/isObjectLike.d.ts +7 -0
  534. package/node_modules/graphql/jsutils/isObjectLike.js +14 -0
  535. package/node_modules/graphql/jsutils/isObjectLike.mjs +7 -0
  536. package/node_modules/graphql/jsutils/isPromise.d.ts +5 -0
  537. package/node_modules/graphql/jsutils/isPromise.js +17 -0
  538. package/node_modules/graphql/jsutils/isPromise.mjs +10 -0
  539. package/node_modules/graphql/jsutils/keyMap.d.ts +32 -0
  540. package/node_modules/graphql/jsutils/keyMap.js +43 -0
  541. package/node_modules/graphql/jsutils/keyMap.mjs +36 -0
  542. package/node_modules/graphql/jsutils/keyValMap.d.ts +23 -0
  543. package/node_modules/graphql/jsutils/keyValMap.js +33 -0
  544. package/node_modules/graphql/jsutils/keyValMap.mjs +26 -0
  545. package/node_modules/graphql/jsutils/mapValue.d.ts +9 -0
  546. package/node_modules/graphql/jsutils/mapValue.js +20 -0
  547. package/node_modules/graphql/jsutils/mapValue.mjs +13 -0
  548. package/node_modules/graphql/jsutils/memoize3.d.ts +9 -0
  549. package/node_modules/graphql/jsutils/memoize3.js +41 -0
  550. package/node_modules/graphql/jsutils/memoize3.mjs +34 -0
  551. package/node_modules/graphql/jsutils/naturalCompare.d.ts +8 -0
  552. package/node_modules/graphql/jsutils/naturalCompare.js +69 -0
  553. package/node_modules/graphql/jsutils/naturalCompare.mjs +61 -0
  554. package/node_modules/graphql/jsutils/printPathArray.d.ts +6 -0
  555. package/node_modules/graphql/jsutils/printPathArray.js +17 -0
  556. package/node_modules/graphql/jsutils/printPathArray.mjs +10 -0
  557. package/node_modules/graphql/jsutils/promiseForObject.d.ts +11 -0
  558. package/node_modules/graphql/jsutils/promiseForObject.js +25 -0
  559. package/node_modules/graphql/jsutils/promiseForObject.mjs +18 -0
  560. package/node_modules/graphql/jsutils/promiseReduce.d.ts +13 -0
  561. package/node_modules/graphql/jsutils/promiseReduce.js +27 -0
  562. package/node_modules/graphql/jsutils/promiseReduce.mjs +20 -0
  563. package/node_modules/graphql/jsutils/suggestionList.d.ts +8 -0
  564. package/node_modules/graphql/jsutils/suggestionList.js +139 -0
  565. package/node_modules/graphql/jsutils/suggestionList.mjs +130 -0
  566. package/node_modules/graphql/jsutils/toError.d.ts +4 -0
  567. package/node_modules/graphql/jsutils/toError.js +25 -0
  568. package/node_modules/graphql/jsutils/toError.mjs +18 -0
  569. package/node_modules/graphql/jsutils/toObjMap.d.ts +5 -0
  570. package/node_modules/graphql/jsutils/toObjMap.js +24 -0
  571. package/node_modules/graphql/jsutils/toObjMap.mjs +17 -0
  572. package/node_modules/graphql/language/ast.d.ts +582 -0
  573. package/node_modules/graphql/language/ast.js +237 -0
  574. package/node_modules/graphql/language/ast.mjs +221 -0
  575. package/node_modules/graphql/language/blockString.d.ts +28 -0
  576. package/node_modules/graphql/language/blockString.js +195 -0
  577. package/node_modules/graphql/language/blockString.mjs +178 -0
  578. package/node_modules/graphql/language/characterClasses.d.ts +47 -0
  579. package/node_modules/graphql/language/characterClasses.js +75 -0
  580. package/node_modules/graphql/language/characterClasses.mjs +64 -0
  581. package/node_modules/graphql/language/directiveLocation.d.ts +33 -0
  582. package/node_modules/graphql/language/directiveLocation.js +39 -0
  583. package/node_modules/graphql/language/directiveLocation.mjs +33 -0
  584. package/node_modules/graphql/language/index.d.ts +110 -0
  585. package/node_modules/graphql/language/index.js +227 -0
  586. package/node_modules/graphql/language/index.mjs +36 -0
  587. package/node_modules/graphql/language/kinds.d.ts +72 -0
  588. package/node_modules/graphql/language/kinds.js +68 -0
  589. package/node_modules/graphql/language/kinds.mjs +62 -0
  590. package/node_modules/graphql/language/lexer.d.ts +96 -0
  591. package/node_modules/graphql/language/lexer.js +1016 -0
  592. package/node_modules/graphql/language/lexer.mjs +915 -0
  593. package/node_modules/graphql/language/location.d.ts +16 -0
  594. package/node_modules/graphql/language/location.js +38 -0
  595. package/node_modules/graphql/language/location.mjs +30 -0
  596. package/node_modules/graphql/language/parser.d.ts +592 -0
  597. package/node_modules/graphql/language/parser.js +1692 -0
  598. package/node_modules/graphql/language/parser.mjs +1645 -0
  599. package/node_modules/graphql/language/predicates.d.ts +37 -0
  600. package/node_modules/graphql/language/predicates.js +120 -0
  601. package/node_modules/graphql/language/predicates.mjs +90 -0
  602. package/node_modules/graphql/language/printLocation.d.ts +14 -0
  603. package/node_modules/graphql/language/printLocation.js +74 -0
  604. package/node_modules/graphql/language/printLocation.mjs +66 -0
  605. package/node_modules/graphql/language/printString.d.ts +5 -0
  606. package/node_modules/graphql/language/printString.js +183 -0
  607. package/node_modules/graphql/language/printString.mjs +176 -0
  608. package/node_modules/graphql/language/printer.d.ts +6 -0
  609. package/node_modules/graphql/language/printer.js +380 -0
  610. package/node_modules/graphql/language/printer.mjs +368 -0
  611. package/node_modules/graphql/language/schemaCoordinateLexer.d.ts +43 -0
  612. package/node_modules/graphql/language/schemaCoordinateLexer.js +171 -0
  613. package/node_modules/graphql/language/schemaCoordinateLexer.mjs +122 -0
  614. package/node_modules/graphql/language/source.d.ts +25 -0
  615. package/node_modules/graphql/language/source.js +65 -0
  616. package/node_modules/graphql/language/source.mjs +50 -0
  617. package/node_modules/graphql/language/tokenKind.d.ts +36 -0
  618. package/node_modules/graphql/language/tokenKind.js +44 -0
  619. package/node_modules/graphql/language/tokenKind.mjs +38 -0
  620. package/node_modules/graphql/language/visitor.d.ts +194 -0
  621. package/node_modules/graphql/language/visitor.js +374 -0
  622. package/node_modules/graphql/language/visitor.mjs +358 -0
  623. package/node_modules/graphql/package.json +39 -0
  624. package/node_modules/graphql/subscription/index.d.ts +19 -0
  625. package/node_modules/graphql/subscription/index.js +19 -0
  626. package/node_modules/graphql/subscription/index.mjs +19 -0
  627. package/node_modules/graphql/type/assertName.d.ts +10 -0
  628. package/node_modules/graphql/type/assertName.js +59 -0
  629. package/node_modules/graphql/type/assertName.mjs +44 -0
  630. package/node_modules/graphql/type/definition.d.ts +926 -0
  631. package/node_modules/graphql/type/definition.js +1362 -0
  632. package/node_modules/graphql/type/definition.mjs +1197 -0
  633. package/node_modules/graphql/type/directives.d.ts +90 -0
  634. package/node_modules/graphql/type/directives.js +238 -0
  635. package/node_modules/graphql/type/directives.mjs +202 -0
  636. package/node_modules/graphql/type/index.d.ts +151 -0
  637. package/node_modules/graphql/type/index.js +553 -0
  638. package/node_modules/graphql/type/index.mjs +104 -0
  639. package/node_modules/graphql/type/introspection.d.ts +30 -0
  640. package/node_modules/graphql/type/introspection.js +625 -0
  641. package/node_modules/graphql/type/introspection.mjs +559 -0
  642. package/node_modules/graphql/type/scalars.d.ts +19 -0
  643. package/node_modules/graphql/type/scalars.js +369 -0
  644. package/node_modules/graphql/type/scalars.mjs +309 -0
  645. package/node_modules/graphql/type/schema.d.ts +170 -0
  646. package/node_modules/graphql/type/schema.js +402 -0
  647. package/node_modules/graphql/type/schema.mjs +381 -0
  648. package/node_modules/graphql/type/validate.d.ts +17 -0
  649. package/node_modules/graphql/type/validate.js +706 -0
  650. package/node_modules/graphql/type/validate.mjs +681 -0
  651. package/node_modules/graphql/utilities/TypeInfo.d.ts +67 -0
  652. package/node_modules/graphql/utilities/TypeInfo.js +418 -0
  653. package/node_modules/graphql/utilities/TypeInfo.mjs +395 -0
  654. package/node_modules/graphql/utilities/assertValidName.d.ts +13 -0
  655. package/node_modules/graphql/utilities/assertValidName.js +51 -0
  656. package/node_modules/graphql/utilities/assertValidName.mjs +40 -0
  657. package/node_modules/graphql/utilities/astFromValue.d.ts +28 -0
  658. package/node_modules/graphql/utilities/astFromValue.js +190 -0
  659. package/node_modules/graphql/utilities/astFromValue.mjs +177 -0
  660. package/node_modules/graphql/utilities/buildASTSchema.d.ts +35 -0
  661. package/node_modules/graphql/utilities/buildASTSchema.js +115 -0
  662. package/node_modules/graphql/utilities/buildASTSchema.mjs +97 -0
  663. package/node_modules/graphql/utilities/buildClientSchema.d.ts +19 -0
  664. package/node_modules/graphql/utilities/buildClientSchema.js +387 -0
  665. package/node_modules/graphql/utilities/buildClientSchema.mjs +364 -0
  666. package/node_modules/graphql/utilities/coerceInputValue.d.ts +16 -0
  667. package/node_modules/graphql/utilities/coerceInputValue.js +217 -0
  668. package/node_modules/graphql/utilities/coerceInputValue.mjs +192 -0
  669. package/node_modules/graphql/utilities/concatAST.d.ts +9 -0
  670. package/node_modules/graphql/utilities/concatAST.js +26 -0
  671. package/node_modules/graphql/utilities/concatAST.mjs +19 -0
  672. package/node_modules/graphql/utilities/extendSchema.d.ts +40 -0
  673. package/node_modules/graphql/utilities/extendSchema.js +808 -0
  674. package/node_modules/graphql/utilities/extendSchema.mjs +798 -0
  675. package/node_modules/graphql/utilities/findBreakingChanges.d.ts +53 -0
  676. package/node_modules/graphql/utilities/findBreakingChanges.js +547 -0
  677. package/node_modules/graphql/utilities/findBreakingChanges.mjs +519 -0
  678. package/node_modules/graphql/utilities/getIntrospectionQuery.d.ts +188 -0
  679. package/node_modules/graphql/utilities/getIntrospectionQuery.js +145 -0
  680. package/node_modules/graphql/utilities/getIntrospectionQuery.mjs +138 -0
  681. package/node_modules/graphql/utilities/getOperationAST.d.ts +11 -0
  682. package/node_modules/graphql/utilities/getOperationAST.js +43 -0
  683. package/node_modules/graphql/utilities/getOperationAST.mjs +36 -0
  684. package/node_modules/graphql/utilities/getOperationRootType.d.ts +15 -0
  685. package/node_modules/graphql/utilities/getOperationRootType.js +67 -0
  686. package/node_modules/graphql/utilities/getOperationRootType.mjs +54 -0
  687. package/node_modules/graphql/utilities/index.d.ts +66 -0
  688. package/node_modules/graphql/utilities/index.js +247 -0
  689. package/node_modules/graphql/utilities/index.mjs +60 -0
  690. package/node_modules/graphql/utilities/introspectionFromSchema.d.ts +18 -0
  691. package/node_modules/graphql/utilities/introspectionFromSchema.js +43 -0
  692. package/node_modules/graphql/utilities/introspectionFromSchema.mjs +31 -0
  693. package/node_modules/graphql/utilities/lexicographicSortSchema.d.ts +9 -0
  694. package/node_modules/graphql/utilities/lexicographicSortSchema.js +177 -0
  695. package/node_modules/graphql/utilities/lexicographicSortSchema.mjs +172 -0
  696. package/node_modules/graphql/utilities/printSchema.d.ts +5 -0
  697. package/node_modules/graphql/utilities/printSchema.js +338 -0
  698. package/node_modules/graphql/utilities/printSchema.mjs +314 -0
  699. package/node_modules/graphql/utilities/resolveSchemaCoordinate.d.ts +80 -0
  700. package/node_modules/graphql/utilities/resolveSchemaCoordinate.js +260 -0
  701. package/node_modules/graphql/utilities/resolveSchemaCoordinate.mjs +243 -0
  702. package/node_modules/graphql/utilities/separateOperations.d.ts +11 -0
  703. package/node_modules/graphql/utilities/separateOperations.js +88 -0
  704. package/node_modules/graphql/utilities/separateOperations.mjs +80 -0
  705. package/node_modules/graphql/utilities/sortValueNode.d.ts +9 -0
  706. package/node_modules/graphql/utilities/sortValueNode.js +47 -0
  707. package/node_modules/graphql/utilities/sortValueNode.mjs +39 -0
  708. package/node_modules/graphql/utilities/stripIgnoredCharacters.d.ts +62 -0
  709. package/node_modules/graphql/utilities/stripIgnoredCharacters.js +121 -0
  710. package/node_modules/graphql/utilities/stripIgnoredCharacters.mjs +104 -0
  711. package/node_modules/graphql/utilities/typeComparators.d.ts +32 -0
  712. package/node_modules/graphql/utilities/typeComparators.js +116 -0
  713. package/node_modules/graphql/utilities/typeComparators.mjs +106 -0
  714. package/node_modules/graphql/utilities/typeFromAST.d.ts +32 -0
  715. package/node_modules/graphql/utilities/typeFromAST.js +27 -0
  716. package/node_modules/graphql/utilities/typeFromAST.mjs +18 -0
  717. package/node_modules/graphql/utilities/typedQueryDocumentNode.d.ts +22 -0
  718. package/node_modules/graphql/utilities/typedQueryDocumentNode.js +5 -0
  719. package/node_modules/graphql/utilities/typedQueryDocumentNode.mjs +1 -0
  720. package/node_modules/graphql/utilities/valueFromAST.d.ts +29 -0
  721. package/node_modules/graphql/utilities/valueFromAST.js +197 -0
  722. package/node_modules/graphql/utilities/valueFromAST.mjs +184 -0
  723. package/node_modules/graphql/utilities/valueFromASTUntyped.d.ts +23 -0
  724. package/node_modules/graphql/utilities/valueFromASTUntyped.js +61 -0
  725. package/node_modules/graphql/utilities/valueFromASTUntyped.mjs +53 -0
  726. package/node_modules/graphql/validation/ValidationContext.d.ts +96 -0
  727. package/node_modules/graphql/validation/ValidationContext.js +233 -0
  728. package/node_modules/graphql/validation/ValidationContext.mjs +213 -0
  729. package/node_modules/graphql/validation/index.d.ts +41 -0
  730. package/node_modules/graphql/validation/index.js +331 -0
  731. package/node_modules/graphql/validation/index.mjs +69 -0
  732. package/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.d.ts +13 -0
  733. package/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js +46 -0
  734. package/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.mjs +34 -0
  735. package/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.d.ts +13 -0
  736. package/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.js +145 -0
  737. package/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.mjs +127 -0
  738. package/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.d.ts +14 -0
  739. package/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.js +69 -0
  740. package/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.mjs +53 -0
  741. package/node_modules/graphql/validation/rules/KnownArgumentNamesRule.d.ts +23 -0
  742. package/node_modules/graphql/validation/rules/KnownArgumentNamesRule.js +120 -0
  743. package/node_modules/graphql/validation/rules/KnownArgumentNamesRule.mjs +102 -0
  744. package/node_modules/graphql/validation/rules/KnownDirectivesRule.d.ts +16 -0
  745. package/node_modules/graphql/validation/rules/KnownDirectivesRule.js +167 -0
  746. package/node_modules/graphql/validation/rules/KnownDirectivesRule.mjs +150 -0
  747. package/node_modules/graphql/validation/rules/KnownFragmentNamesRule.d.ts +13 -0
  748. package/node_modules/graphql/validation/rules/KnownFragmentNamesRule.js +36 -0
  749. package/node_modules/graphql/validation/rules/KnownFragmentNamesRule.mjs +26 -0
  750. package/node_modules/graphql/validation/rules/KnownTypeNamesRule.d.ts +16 -0
  751. package/node_modules/graphql/validation/rules/KnownTypeNamesRule.js +89 -0
  752. package/node_modules/graphql/validation/rules/KnownTypeNamesRule.mjs +77 -0
  753. package/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.d.ts +13 -0
  754. package/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.js +42 -0
  755. package/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.mjs +34 -0
  756. package/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.d.ts +10 -0
  757. package/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.js +67 -0
  758. package/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.mjs +57 -0
  759. package/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.d.ts +5 -0
  760. package/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.js +90 -0
  761. package/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.mjs +77 -0
  762. package/node_modules/graphql/validation/rules/NoFragmentCyclesRule.d.ts +13 -0
  763. package/node_modules/graphql/validation/rules/NoFragmentCyclesRule.js +85 -0
  764. package/node_modules/graphql/validation/rules/NoFragmentCyclesRule.mjs +78 -0
  765. package/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.d.ts +13 -0
  766. package/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js +52 -0
  767. package/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.mjs +45 -0
  768. package/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.d.ts +13 -0
  769. package/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.js +61 -0
  770. package/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.mjs +51 -0
  771. package/node_modules/graphql/validation/rules/NoUnusedVariablesRule.d.ts +13 -0
  772. package/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js +57 -0
  773. package/node_modules/graphql/validation/rules/NoUnusedVariablesRule.mjs +50 -0
  774. package/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +14 -0
  775. package/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.js +868 -0
  776. package/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +853 -0
  777. package/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.d.ts +12 -0
  778. package/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js +95 -0
  779. package/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.mjs +73 -0
  780. package/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.d.ts +10 -0
  781. package/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.js +171 -0
  782. package/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.mjs +148 -0
  783. package/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.d.ts +20 -0
  784. package/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.js +162 -0
  785. package/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.mjs +142 -0
  786. package/node_modules/graphql/validation/rules/ScalarLeafsRule.d.ts +9 -0
  787. package/node_modules/graphql/validation/rules/ScalarLeafsRule.js +66 -0
  788. package/node_modules/graphql/validation/rules/ScalarLeafsRule.mjs +57 -0
  789. package/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.d.ts +13 -0
  790. package/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.js +86 -0
  791. package/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.mjs +77 -0
  792. package/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +11 -0
  793. package/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.js +92 -0
  794. package/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +81 -0
  795. package/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.d.ts +13 -0
  796. package/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js +55 -0
  797. package/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.mjs +44 -0
  798. package/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.d.ts +10 -0
  799. package/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js +54 -0
  800. package/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.mjs +47 -0
  801. package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.d.ts +16 -0
  802. package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.js +95 -0
  803. package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.mjs +85 -0
  804. package/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.d.ts +10 -0
  805. package/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.js +75 -0
  806. package/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.mjs +64 -0
  807. package/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +10 -0
  808. package/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.js +87 -0
  809. package/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.mjs +79 -0
  810. package/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.d.ts +12 -0
  811. package/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.js +41 -0
  812. package/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.mjs +34 -0
  813. package/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.d.ts +13 -0
  814. package/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js +54 -0
  815. package/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.mjs +46 -0
  816. package/node_modules/graphql/validation/rules/UniqueOperationNamesRule.d.ts +12 -0
  817. package/node_modules/graphql/validation/rules/UniqueOperationNamesRule.js +46 -0
  818. package/node_modules/graphql/validation/rules/UniqueOperationNamesRule.mjs +39 -0
  819. package/node_modules/graphql/validation/rules/UniqueOperationTypesRule.d.ts +10 -0
  820. package/node_modules/graphql/validation/rules/UniqueOperationTypesRule.js +71 -0
  821. package/node_modules/graphql/validation/rules/UniqueOperationTypesRule.mjs +64 -0
  822. package/node_modules/graphql/validation/rules/UniqueTypeNamesRule.d.ts +10 -0
  823. package/node_modules/graphql/validation/rules/UniqueTypeNamesRule.js +57 -0
  824. package/node_modules/graphql/validation/rules/UniqueTypeNamesRule.mjs +47 -0
  825. package/node_modules/graphql/validation/rules/UniqueVariableNamesRule.d.ts +10 -0
  826. package/node_modules/graphql/validation/rules/UniqueVariableNamesRule.js +49 -0
  827. package/node_modules/graphql/validation/rules/UniqueVariableNamesRule.mjs +41 -0
  828. package/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.d.ts +13 -0
  829. package/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.js +246 -0
  830. package/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.mjs +223 -0
  831. package/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.d.ts +13 -0
  832. package/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.js +46 -0
  833. package/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.mjs +33 -0
  834. package/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.d.ts +12 -0
  835. package/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.js +131 -0
  836. package/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.mjs +116 -0
  837. package/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.d.ts +15 -0
  838. package/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.js +131 -0
  839. package/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.mjs +117 -0
  840. package/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +15 -0
  841. package/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +41 -0
  842. package/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +32 -0
  843. package/node_modules/graphql/validation/specifiedRules.d.ts +18 -0
  844. package/node_modules/graphql/validation/specifiedRules.js +176 -0
  845. package/node_modules/graphql/validation/specifiedRules.mjs +132 -0
  846. package/node_modules/graphql/validation/validate.d.ts +61 -0
  847. package/node_modules/graphql/validation/validate.js +151 -0
  848. package/node_modules/graphql/validation/validate.mjs +133 -0
  849. package/node_modules/graphql/version.d.ts +13 -0
  850. package/node_modules/graphql/version.js +25 -0
  851. package/node_modules/graphql/version.mjs +17 -0
  852. package/node_modules/has-symbols/.eslintrc +11 -0
  853. package/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  854. package/node_modules/has-symbols/.nycrc +9 -0
  855. package/node_modules/has-symbols/CHANGELOG.md +91 -0
  856. package/node_modules/has-symbols/LICENSE +21 -0
  857. package/node_modules/has-symbols/README.md +46 -0
  858. package/node_modules/has-symbols/index.d.ts +3 -0
  859. package/node_modules/has-symbols/index.js +14 -0
  860. package/node_modules/has-symbols/package.json +111 -0
  861. package/node_modules/has-symbols/shams.d.ts +3 -0
  862. package/node_modules/has-symbols/shams.js +45 -0
  863. package/node_modules/has-symbols/test/index.js +22 -0
  864. package/node_modules/has-symbols/test/shams/core-js.js +29 -0
  865. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  866. package/node_modules/has-symbols/test/tests.js +58 -0
  867. package/node_modules/has-symbols/tsconfig.json +10 -0
  868. package/node_modules/hasown/.eslintrc +5 -0
  869. package/node_modules/hasown/.github/FUNDING.yml +12 -0
  870. package/node_modules/hasown/.nycrc +13 -0
  871. package/node_modules/hasown/CHANGELOG.md +40 -0
  872. package/node_modules/hasown/LICENSE +21 -0
  873. package/node_modules/hasown/README.md +40 -0
  874. package/node_modules/hasown/index.d.ts +3 -0
  875. package/node_modules/hasown/index.js +8 -0
  876. package/node_modules/hasown/package.json +92 -0
  877. package/node_modules/hasown/tsconfig.json +6 -0
  878. package/node_modules/http-errors/HISTORY.md +186 -0
  879. package/node_modules/http-errors/LICENSE +23 -0
  880. package/node_modules/http-errors/README.md +169 -0
  881. package/node_modules/http-errors/index.js +290 -0
  882. package/node_modules/http-errors/package.json +54 -0
  883. package/node_modules/iconv-lite/Changelog.md +236 -0
  884. package/node_modules/iconv-lite/LICENSE +21 -0
  885. package/node_modules/iconv-lite/README.md +138 -0
  886. package/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  887. package/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  888. package/node_modules/iconv-lite/encodings/index.js +23 -0
  889. package/node_modules/iconv-lite/encodings/internal.js +218 -0
  890. package/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  891. package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  892. package/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  893. package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  894. package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  895. package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  896. package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  897. package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  898. package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  899. package/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  900. package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  901. package/node_modules/iconv-lite/encodings/utf16.js +187 -0
  902. package/node_modules/iconv-lite/encodings/utf32.js +307 -0
  903. package/node_modules/iconv-lite/encodings/utf7.js +283 -0
  904. package/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  905. package/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  906. package/node_modules/iconv-lite/lib/index.d.ts +41 -0
  907. package/node_modules/iconv-lite/lib/index.js +183 -0
  908. package/node_modules/iconv-lite/lib/streams.js +105 -0
  909. package/node_modules/iconv-lite/package.json +59 -0
  910. package/node_modules/ieee754/LICENSE +11 -0
  911. package/node_modules/ieee754/README.md +51 -0
  912. package/node_modules/ieee754/index.d.ts +10 -0
  913. package/node_modules/ieee754/index.js +85 -0
  914. package/node_modules/ieee754/package.json +52 -0
  915. package/node_modules/inherits/LICENSE +16 -0
  916. package/node_modules/inherits/README.md +42 -0
  917. package/node_modules/inherits/inherits.js +9 -0
  918. package/node_modules/inherits/inherits_browser.js +27 -0
  919. package/node_modules/inherits/package.json +29 -0
  920. package/node_modules/ini/LICENSE +15 -0
  921. package/node_modules/ini/README.md +102 -0
  922. package/node_modules/ini/ini.js +206 -0
  923. package/node_modules/ini/package.json +33 -0
  924. package/node_modules/ipaddr.js/LICENSE +19 -0
  925. package/node_modules/ipaddr.js/README.md +233 -0
  926. package/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  927. package/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  928. package/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  929. package/node_modules/ipaddr.js/package.json +35 -0
  930. package/node_modules/is-promise/LICENSE +19 -0
  931. package/node_modules/is-promise/index.d.ts +2 -0
  932. package/node_modules/is-promise/index.js +6 -0
  933. package/node_modules/is-promise/index.mjs +3 -0
  934. package/node_modules/is-promise/package.json +30 -0
  935. package/node_modules/is-promise/readme.md +33 -0
  936. package/node_modules/keytar/LICENSE.md +20 -0
  937. package/node_modules/keytar/README.md +94 -0
  938. package/node_modules/keytar/binding.gyp +66 -0
  939. package/node_modules/keytar/build/Release/keytar.node +0 -0
  940. package/node_modules/keytar/keytar.d.ts +51 -0
  941. package/node_modules/keytar/lib/keytar.js +43 -0
  942. package/node_modules/keytar/package.json +66 -0
  943. package/node_modules/keytar/src/async.cc +242 -0
  944. package/node_modules/keytar/src/async.h +103 -0
  945. package/node_modules/keytar/src/credentials.h +13 -0
  946. package/node_modules/keytar/src/keytar.h +41 -0
  947. package/node_modules/keytar/src/keytar_mac.cc +296 -0
  948. package/node_modules/keytar/src/keytar_posix.cc +184 -0
  949. package/node_modules/keytar/src/keytar_win.cc +272 -0
  950. package/node_modules/keytar/src/main.cc +139 -0
  951. package/node_modules/math-intrinsics/.eslintrc +16 -0
  952. package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  953. package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  954. package/node_modules/math-intrinsics/LICENSE +21 -0
  955. package/node_modules/math-intrinsics/README.md +50 -0
  956. package/node_modules/math-intrinsics/abs.d.ts +1 -0
  957. package/node_modules/math-intrinsics/abs.js +4 -0
  958. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  959. package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  960. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  961. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  962. package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  963. package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  964. package/node_modules/math-intrinsics/floor.d.ts +1 -0
  965. package/node_modules/math-intrinsics/floor.js +4 -0
  966. package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  967. package/node_modules/math-intrinsics/isFinite.js +12 -0
  968. package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  969. package/node_modules/math-intrinsics/isInteger.js +16 -0
  970. package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  971. package/node_modules/math-intrinsics/isNaN.js +6 -0
  972. package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  973. package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  974. package/node_modules/math-intrinsics/max.d.ts +1 -0
  975. package/node_modules/math-intrinsics/max.js +4 -0
  976. package/node_modules/math-intrinsics/min.d.ts +1 -0
  977. package/node_modules/math-intrinsics/min.js +4 -0
  978. package/node_modules/math-intrinsics/mod.d.ts +3 -0
  979. package/node_modules/math-intrinsics/mod.js +9 -0
  980. package/node_modules/math-intrinsics/package.json +86 -0
  981. package/node_modules/math-intrinsics/pow.d.ts +1 -0
  982. package/node_modules/math-intrinsics/pow.js +4 -0
  983. package/node_modules/math-intrinsics/round.d.ts +1 -0
  984. package/node_modules/math-intrinsics/round.js +4 -0
  985. package/node_modules/math-intrinsics/sign.d.ts +3 -0
  986. package/node_modules/math-intrinsics/sign.js +11 -0
  987. package/node_modules/math-intrinsics/test/index.js +192 -0
  988. package/node_modules/math-intrinsics/tsconfig.json +3 -0
  989. package/node_modules/media-typer/HISTORY.md +50 -0
  990. package/node_modules/media-typer/LICENSE +22 -0
  991. package/node_modules/media-typer/README.md +93 -0
  992. package/node_modules/media-typer/index.js +143 -0
  993. package/node_modules/media-typer/package.json +33 -0
  994. package/node_modules/merge-descriptors/index.d.ts +11 -0
  995. package/node_modules/merge-descriptors/index.js +26 -0
  996. package/node_modules/merge-descriptors/license +11 -0
  997. package/node_modules/merge-descriptors/package.json +50 -0
  998. package/node_modules/merge-descriptors/readme.md +55 -0
  999. package/node_modules/mime-db/HISTORY.md +541 -0
  1000. package/node_modules/mime-db/LICENSE +23 -0
  1001. package/node_modules/mime-db/README.md +109 -0
  1002. package/node_modules/mime-db/db.json +9342 -0
  1003. package/node_modules/mime-db/index.js +12 -0
  1004. package/node_modules/mime-db/package.json +56 -0
  1005. package/node_modules/mime-types/HISTORY.md +428 -0
  1006. package/node_modules/mime-types/LICENSE +23 -0
  1007. package/node_modules/mime-types/README.md +126 -0
  1008. package/node_modules/mime-types/index.js +211 -0
  1009. package/node_modules/mime-types/mimeScore.js +57 -0
  1010. package/node_modules/mime-types/package.json +49 -0
  1011. package/node_modules/mimic-response/index.d.ts +17 -0
  1012. package/node_modules/mimic-response/index.js +77 -0
  1013. package/node_modules/mimic-response/license +9 -0
  1014. package/node_modules/mimic-response/package.json +42 -0
  1015. package/node_modules/mimic-response/readme.md +78 -0
  1016. package/node_modules/minimist/.eslintrc +29 -0
  1017. package/node_modules/minimist/.github/FUNDING.yml +12 -0
  1018. package/node_modules/minimist/.nycrc +14 -0
  1019. package/node_modules/minimist/CHANGELOG.md +298 -0
  1020. package/node_modules/minimist/LICENSE +18 -0
  1021. package/node_modules/minimist/README.md +121 -0
  1022. package/node_modules/minimist/example/parse.js +4 -0
  1023. package/node_modules/minimist/index.js +263 -0
  1024. package/node_modules/minimist/package.json +75 -0
  1025. package/node_modules/minimist/test/all_bool.js +34 -0
  1026. package/node_modules/minimist/test/bool.js +177 -0
  1027. package/node_modules/minimist/test/dash.js +43 -0
  1028. package/node_modules/minimist/test/default_bool.js +37 -0
  1029. package/node_modules/minimist/test/dotted.js +24 -0
  1030. package/node_modules/minimist/test/kv_short.js +32 -0
  1031. package/node_modules/minimist/test/long.js +33 -0
  1032. package/node_modules/minimist/test/num.js +38 -0
  1033. package/node_modules/minimist/test/parse.js +209 -0
  1034. package/node_modules/minimist/test/parse_modified.js +11 -0
  1035. package/node_modules/minimist/test/proto.js +64 -0
  1036. package/node_modules/minimist/test/short.js +69 -0
  1037. package/node_modules/minimist/test/stop_early.js +17 -0
  1038. package/node_modules/minimist/test/unknown.js +104 -0
  1039. package/node_modules/minimist/test/whitespace.js +10 -0
  1040. package/node_modules/mkdirp-classic/LICENSE +21 -0
  1041. package/node_modules/mkdirp-classic/README.md +18 -0
  1042. package/node_modules/mkdirp-classic/index.js +98 -0
  1043. package/node_modules/mkdirp-classic/package.json +18 -0
  1044. package/node_modules/ms/index.js +162 -0
  1045. package/node_modules/ms/license.md +21 -0
  1046. package/node_modules/ms/package.json +38 -0
  1047. package/node_modules/ms/readme.md +59 -0
  1048. package/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +31 -0
  1049. package/node_modules/napi-build-utils/LICENSE +21 -0
  1050. package/node_modules/napi-build-utils/README.md +52 -0
  1051. package/node_modules/napi-build-utils/index.js +214 -0
  1052. package/node_modules/napi-build-utils/index.md +0 -0
  1053. package/node_modules/napi-build-utils/package.json +42 -0
  1054. package/node_modules/negotiator/HISTORY.md +114 -0
  1055. package/node_modules/negotiator/LICENSE +24 -0
  1056. package/node_modules/negotiator/README.md +212 -0
  1057. package/node_modules/negotiator/index.js +83 -0
  1058. package/node_modules/negotiator/lib/charset.js +169 -0
  1059. package/node_modules/negotiator/lib/encoding.js +205 -0
  1060. package/node_modules/negotiator/lib/language.js +179 -0
  1061. package/node_modules/negotiator/lib/mediaType.js +294 -0
  1062. package/node_modules/negotiator/package.json +43 -0
  1063. package/node_modules/node-abi/LICENSE +21 -0
  1064. package/node_modules/node-abi/README.md +54 -0
  1065. package/node_modules/node-abi/abi_registry.json +432 -0
  1066. package/node_modules/node-abi/index.js +179 -0
  1067. package/node_modules/node-abi/package.json +45 -0
  1068. package/node_modules/node-addon-api/LICENSE.md +13 -0
  1069. package/node_modules/node-addon-api/README.md +293 -0
  1070. package/node_modules/node-addon-api/common.gypi +21 -0
  1071. package/node_modules/node-addon-api/except.gypi +25 -0
  1072. package/node_modules/node-addon-api/index.js +11 -0
  1073. package/node_modules/node-addon-api/napi-inl.deprecated.h +192 -0
  1074. package/node_modules/node-addon-api/napi-inl.h +6209 -0
  1075. package/node_modules/node-addon-api/napi.h +2983 -0
  1076. package/node_modules/node-addon-api/node_api.gyp +9 -0
  1077. package/node_modules/node-addon-api/noexcept.gypi +26 -0
  1078. package/node_modules/node-addon-api/nothing.c +0 -0
  1079. package/node_modules/node-addon-api/package-support.json +21 -0
  1080. package/node_modules/node-addon-api/package.json +399 -0
  1081. package/node_modules/node-addon-api/tools/README.md +73 -0
  1082. package/node_modules/node-addon-api/tools/check-napi.js +100 -0
  1083. package/node_modules/node-addon-api/tools/clang-format.js +68 -0
  1084. package/node_modules/node-addon-api/tools/conversion.js +309 -0
  1085. package/node_modules/node-addon-api/tools/eslint-format.js +71 -0
  1086. package/node_modules/object-inspect/.eslintrc +53 -0
  1087. package/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  1088. package/node_modules/object-inspect/.nycrc +13 -0
  1089. package/node_modules/object-inspect/CHANGELOG.md +424 -0
  1090. package/node_modules/object-inspect/LICENSE +21 -0
  1091. package/node_modules/object-inspect/example/all.js +23 -0
  1092. package/node_modules/object-inspect/example/circular.js +6 -0
  1093. package/node_modules/object-inspect/example/fn.js +5 -0
  1094. package/node_modules/object-inspect/example/inspect.js +10 -0
  1095. package/node_modules/object-inspect/index.js +544 -0
  1096. package/node_modules/object-inspect/package-support.json +20 -0
  1097. package/node_modules/object-inspect/package.json +105 -0
  1098. package/node_modules/object-inspect/readme.markdown +84 -0
  1099. package/node_modules/object-inspect/test/bigint.js +58 -0
  1100. package/node_modules/object-inspect/test/browser/dom.js +15 -0
  1101. package/node_modules/object-inspect/test/circular.js +16 -0
  1102. package/node_modules/object-inspect/test/deep.js +12 -0
  1103. package/node_modules/object-inspect/test/element.js +53 -0
  1104. package/node_modules/object-inspect/test/err.js +48 -0
  1105. package/node_modules/object-inspect/test/fakes.js +29 -0
  1106. package/node_modules/object-inspect/test/fn.js +76 -0
  1107. package/node_modules/object-inspect/test/global.js +17 -0
  1108. package/node_modules/object-inspect/test/has.js +15 -0
  1109. package/node_modules/object-inspect/test/holes.js +15 -0
  1110. package/node_modules/object-inspect/test/indent-option.js +271 -0
  1111. package/node_modules/object-inspect/test/inspect.js +139 -0
  1112. package/node_modules/object-inspect/test/lowbyte.js +12 -0
  1113. package/node_modules/object-inspect/test/number.js +58 -0
  1114. package/node_modules/object-inspect/test/quoteStyle.js +26 -0
  1115. package/node_modules/object-inspect/test/toStringTag.js +40 -0
  1116. package/node_modules/object-inspect/test/undef.js +12 -0
  1117. package/node_modules/object-inspect/test/values.js +261 -0
  1118. package/node_modules/object-inspect/test-core-js.js +26 -0
  1119. package/node_modules/object-inspect/util.inspect.js +1 -0
  1120. package/node_modules/on-finished/HISTORY.md +98 -0
  1121. package/node_modules/on-finished/LICENSE +23 -0
  1122. package/node_modules/on-finished/README.md +162 -0
  1123. package/node_modules/on-finished/index.js +234 -0
  1124. package/node_modules/on-finished/package.json +39 -0
  1125. package/node_modules/once/LICENSE +15 -0
  1126. package/node_modules/once/README.md +79 -0
  1127. package/node_modules/once/once.js +42 -0
  1128. package/node_modules/once/package.json +33 -0
  1129. package/node_modules/parseurl/HISTORY.md +58 -0
  1130. package/node_modules/parseurl/LICENSE +24 -0
  1131. package/node_modules/parseurl/README.md +133 -0
  1132. package/node_modules/parseurl/index.js +158 -0
  1133. package/node_modules/parseurl/package.json +40 -0
  1134. package/node_modules/path-to-regexp/LICENSE +21 -0
  1135. package/node_modules/path-to-regexp/Readme.md +224 -0
  1136. package/node_modules/path-to-regexp/dist/index.d.ts +144 -0
  1137. package/node_modules/path-to-regexp/dist/index.js +409 -0
  1138. package/node_modules/path-to-regexp/dist/index.js.map +1 -0
  1139. package/node_modules/path-to-regexp/package.json +64 -0
  1140. package/node_modules/prebuild-install/CHANGELOG.md +131 -0
  1141. package/node_modules/prebuild-install/CONTRIBUTING.md +6 -0
  1142. package/node_modules/prebuild-install/LICENSE +21 -0
  1143. package/node_modules/prebuild-install/README.md +163 -0
  1144. package/node_modules/prebuild-install/asset.js +44 -0
  1145. package/node_modules/prebuild-install/bin.js +78 -0
  1146. package/node_modules/prebuild-install/download.js +142 -0
  1147. package/node_modules/prebuild-install/error.js +14 -0
  1148. package/node_modules/prebuild-install/help.txt +16 -0
  1149. package/node_modules/prebuild-install/index.js +1 -0
  1150. package/node_modules/prebuild-install/log.js +33 -0
  1151. package/node_modules/prebuild-install/package.json +67 -0
  1152. package/node_modules/prebuild-install/proxy.js +35 -0
  1153. package/node_modules/prebuild-install/rc.js +64 -0
  1154. package/node_modules/prebuild-install/util.js +143 -0
  1155. package/node_modules/proxy-addr/HISTORY.md +161 -0
  1156. package/node_modules/proxy-addr/LICENSE +22 -0
  1157. package/node_modules/proxy-addr/README.md +139 -0
  1158. package/node_modules/proxy-addr/index.js +327 -0
  1159. package/node_modules/proxy-addr/package.json +47 -0
  1160. package/node_modules/pump/.github/FUNDING.yml +2 -0
  1161. package/node_modules/pump/.travis.yml +5 -0
  1162. package/node_modules/pump/LICENSE +21 -0
  1163. package/node_modules/pump/README.md +74 -0
  1164. package/node_modules/pump/SECURITY.md +5 -0
  1165. package/node_modules/pump/empty.js +1 -0
  1166. package/node_modules/pump/index.js +86 -0
  1167. package/node_modules/pump/package.json +30 -0
  1168. package/node_modules/pump/test-browser.js +66 -0
  1169. package/node_modules/pump/test-node.js +53 -0
  1170. package/node_modules/qs/.editorconfig +46 -0
  1171. package/node_modules/qs/.eslintrc +39 -0
  1172. package/node_modules/qs/.github/FUNDING.yml +12 -0
  1173. package/node_modules/qs/.nycrc +13 -0
  1174. package/node_modules/qs/CHANGELOG.md +622 -0
  1175. package/node_modules/qs/LICENSE.md +29 -0
  1176. package/node_modules/qs/README.md +733 -0
  1177. package/node_modules/qs/dist/qs.js +141 -0
  1178. package/node_modules/qs/lib/formats.js +23 -0
  1179. package/node_modules/qs/lib/index.js +11 -0
  1180. package/node_modules/qs/lib/parse.js +328 -0
  1181. package/node_modules/qs/lib/stringify.js +356 -0
  1182. package/node_modules/qs/lib/utils.js +268 -0
  1183. package/node_modules/qs/package.json +93 -0
  1184. package/node_modules/qs/test/empty-keys-cases.js +267 -0
  1185. package/node_modules/qs/test/parse.js +1276 -0
  1186. package/node_modules/qs/test/stringify.js +1306 -0
  1187. package/node_modules/qs/test/utils.js +262 -0
  1188. package/node_modules/range-parser/HISTORY.md +56 -0
  1189. package/node_modules/range-parser/LICENSE +23 -0
  1190. package/node_modules/range-parser/README.md +84 -0
  1191. package/node_modules/range-parser/index.js +162 -0
  1192. package/node_modules/range-parser/package.json +44 -0
  1193. package/node_modules/raw-body/LICENSE +22 -0
  1194. package/node_modules/raw-body/README.md +223 -0
  1195. package/node_modules/raw-body/index.d.ts +85 -0
  1196. package/node_modules/raw-body/index.js +336 -0
  1197. package/node_modules/raw-body/package.json +46 -0
  1198. package/node_modules/rc/LICENSE.APACHE2 +15 -0
  1199. package/node_modules/rc/LICENSE.BSD +26 -0
  1200. package/node_modules/rc/LICENSE.MIT +24 -0
  1201. package/node_modules/rc/README.md +227 -0
  1202. package/node_modules/rc/browser.js +7 -0
  1203. package/node_modules/rc/cli.js +4 -0
  1204. package/node_modules/rc/index.js +53 -0
  1205. package/node_modules/rc/lib/utils.js +104 -0
  1206. package/node_modules/rc/package.json +29 -0
  1207. package/node_modules/rc/test/ini.js +16 -0
  1208. package/node_modules/rc/test/nested-env-vars.js +50 -0
  1209. package/node_modules/rc/test/test.js +59 -0
  1210. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  1211. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  1212. package/node_modules/readable-stream/LICENSE +47 -0
  1213. package/node_modules/readable-stream/README.md +106 -0
  1214. package/node_modules/readable-stream/errors-browser.js +127 -0
  1215. package/node_modules/readable-stream/errors.js +116 -0
  1216. package/node_modules/readable-stream/experimentalWarning.js +17 -0
  1217. package/node_modules/readable-stream/lib/_stream_duplex.js +126 -0
  1218. package/node_modules/readable-stream/lib/_stream_passthrough.js +37 -0
  1219. package/node_modules/readable-stream/lib/_stream_readable.js +1027 -0
  1220. package/node_modules/readable-stream/lib/_stream_transform.js +190 -0
  1221. package/node_modules/readable-stream/lib/_stream_writable.js +641 -0
  1222. package/node_modules/readable-stream/lib/internal/streams/async_iterator.js +180 -0
  1223. package/node_modules/readable-stream/lib/internal/streams/buffer_list.js +183 -0
  1224. package/node_modules/readable-stream/lib/internal/streams/destroy.js +96 -0
  1225. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +86 -0
  1226. package/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  1227. package/node_modules/readable-stream/lib/internal/streams/from.js +52 -0
  1228. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +86 -0
  1229. package/node_modules/readable-stream/lib/internal/streams/state.js +22 -0
  1230. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  1231. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  1232. package/node_modules/readable-stream/package.json +68 -0
  1233. package/node_modules/readable-stream/readable-browser.js +9 -0
  1234. package/node_modules/readable-stream/readable.js +16 -0
  1235. package/node_modules/router/HISTORY.md +228 -0
  1236. package/node_modules/router/LICENSE +23 -0
  1237. package/node_modules/router/README.md +416 -0
  1238. package/node_modules/router/index.js +748 -0
  1239. package/node_modules/router/lib/layer.js +247 -0
  1240. package/node_modules/router/lib/route.js +242 -0
  1241. package/node_modules/router/package.json +44 -0
  1242. package/node_modules/safe-buffer/LICENSE +21 -0
  1243. package/node_modules/safe-buffer/README.md +584 -0
  1244. package/node_modules/safe-buffer/index.d.ts +187 -0
  1245. package/node_modules/safe-buffer/index.js +65 -0
  1246. package/node_modules/safe-buffer/package.json +51 -0
  1247. package/node_modules/safer-buffer/LICENSE +21 -0
  1248. package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  1249. package/node_modules/safer-buffer/Readme.md +156 -0
  1250. package/node_modules/safer-buffer/dangerous.js +58 -0
  1251. package/node_modules/safer-buffer/package.json +34 -0
  1252. package/node_modules/safer-buffer/safer.js +77 -0
  1253. package/node_modules/safer-buffer/tests.js +406 -0
  1254. package/node_modules/semver/LICENSE +15 -0
  1255. package/node_modules/semver/README.md +665 -0
  1256. package/node_modules/semver/bin/semver.js +191 -0
  1257. package/node_modules/semver/classes/comparator.js +143 -0
  1258. package/node_modules/semver/classes/index.js +7 -0
  1259. package/node_modules/semver/classes/range.js +557 -0
  1260. package/node_modules/semver/classes/semver.js +333 -0
  1261. package/node_modules/semver/functions/clean.js +8 -0
  1262. package/node_modules/semver/functions/cmp.js +54 -0
  1263. package/node_modules/semver/functions/coerce.js +62 -0
  1264. package/node_modules/semver/functions/compare-build.js +9 -0
  1265. package/node_modules/semver/functions/compare-loose.js +5 -0
  1266. package/node_modules/semver/functions/compare.js +7 -0
  1267. package/node_modules/semver/functions/diff.js +60 -0
  1268. package/node_modules/semver/functions/eq.js +5 -0
  1269. package/node_modules/semver/functions/gt.js +5 -0
  1270. package/node_modules/semver/functions/gte.js +5 -0
  1271. package/node_modules/semver/functions/inc.js +21 -0
  1272. package/node_modules/semver/functions/lt.js +5 -0
  1273. package/node_modules/semver/functions/lte.js +5 -0
  1274. package/node_modules/semver/functions/major.js +5 -0
  1275. package/node_modules/semver/functions/minor.js +5 -0
  1276. package/node_modules/semver/functions/neq.js +5 -0
  1277. package/node_modules/semver/functions/parse.js +18 -0
  1278. package/node_modules/semver/functions/patch.js +5 -0
  1279. package/node_modules/semver/functions/prerelease.js +8 -0
  1280. package/node_modules/semver/functions/rcompare.js +5 -0
  1281. package/node_modules/semver/functions/rsort.js +5 -0
  1282. package/node_modules/semver/functions/satisfies.js +12 -0
  1283. package/node_modules/semver/functions/sort.js +5 -0
  1284. package/node_modules/semver/functions/valid.js +8 -0
  1285. package/node_modules/semver/index.js +91 -0
  1286. package/node_modules/semver/internal/constants.js +37 -0
  1287. package/node_modules/semver/internal/debug.js +11 -0
  1288. package/node_modules/semver/internal/identifiers.js +29 -0
  1289. package/node_modules/semver/internal/lrucache.js +42 -0
  1290. package/node_modules/semver/internal/parse-options.js +17 -0
  1291. package/node_modules/semver/internal/re.js +223 -0
  1292. package/node_modules/semver/package.json +78 -0
  1293. package/node_modules/semver/preload.js +4 -0
  1294. package/node_modules/semver/range.bnf +16 -0
  1295. package/node_modules/semver/ranges/gtr.js +6 -0
  1296. package/node_modules/semver/ranges/intersects.js +9 -0
  1297. package/node_modules/semver/ranges/ltr.js +6 -0
  1298. package/node_modules/semver/ranges/max-satisfying.js +27 -0
  1299. package/node_modules/semver/ranges/min-satisfying.js +26 -0
  1300. package/node_modules/semver/ranges/min-version.js +63 -0
  1301. package/node_modules/semver/ranges/outside.js +82 -0
  1302. package/node_modules/semver/ranges/simplify.js +49 -0
  1303. package/node_modules/semver/ranges/subset.js +249 -0
  1304. package/node_modules/semver/ranges/to-comparators.js +10 -0
  1305. package/node_modules/semver/ranges/valid.js +13 -0
  1306. package/node_modules/send/HISTORY.md +580 -0
  1307. package/node_modules/send/LICENSE +23 -0
  1308. package/node_modules/send/README.md +317 -0
  1309. package/node_modules/send/index.js +997 -0
  1310. package/node_modules/send/package.json +60 -0
  1311. package/node_modules/serve-static/HISTORY.md +516 -0
  1312. package/node_modules/serve-static/LICENSE +25 -0
  1313. package/node_modules/serve-static/README.md +253 -0
  1314. package/node_modules/serve-static/index.js +208 -0
  1315. package/node_modules/serve-static/package.json +41 -0
  1316. package/node_modules/setprototypeof/LICENSE +13 -0
  1317. package/node_modules/setprototypeof/README.md +31 -0
  1318. package/node_modules/setprototypeof/index.d.ts +2 -0
  1319. package/node_modules/setprototypeof/index.js +17 -0
  1320. package/node_modules/setprototypeof/package.json +38 -0
  1321. package/node_modules/setprototypeof/test/index.js +24 -0
  1322. package/node_modules/side-channel/.editorconfig +9 -0
  1323. package/node_modules/side-channel/.eslintrc +12 -0
  1324. package/node_modules/side-channel/.github/FUNDING.yml +12 -0
  1325. package/node_modules/side-channel/.nycrc +13 -0
  1326. package/node_modules/side-channel/CHANGELOG.md +110 -0
  1327. package/node_modules/side-channel/LICENSE +21 -0
  1328. package/node_modules/side-channel/README.md +61 -0
  1329. package/node_modules/side-channel/index.d.ts +14 -0
  1330. package/node_modules/side-channel/index.js +43 -0
  1331. package/node_modules/side-channel/package.json +85 -0
  1332. package/node_modules/side-channel/test/index.js +104 -0
  1333. package/node_modules/side-channel/tsconfig.json +9 -0
  1334. package/node_modules/side-channel-list/.editorconfig +9 -0
  1335. package/node_modules/side-channel-list/.eslintrc +11 -0
  1336. package/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  1337. package/node_modules/side-channel-list/.nycrc +13 -0
  1338. package/node_modules/side-channel-list/CHANGELOG.md +15 -0
  1339. package/node_modules/side-channel-list/LICENSE +21 -0
  1340. package/node_modules/side-channel-list/README.md +62 -0
  1341. package/node_modules/side-channel-list/index.d.ts +13 -0
  1342. package/node_modules/side-channel-list/index.js +113 -0
  1343. package/node_modules/side-channel-list/list.d.ts +14 -0
  1344. package/node_modules/side-channel-list/package.json +77 -0
  1345. package/node_modules/side-channel-list/test/index.js +104 -0
  1346. package/node_modules/side-channel-list/tsconfig.json +9 -0
  1347. package/node_modules/side-channel-map/.editorconfig +9 -0
  1348. package/node_modules/side-channel-map/.eslintrc +11 -0
  1349. package/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  1350. package/node_modules/side-channel-map/.nycrc +13 -0
  1351. package/node_modules/side-channel-map/CHANGELOG.md +22 -0
  1352. package/node_modules/side-channel-map/LICENSE +21 -0
  1353. package/node_modules/side-channel-map/README.md +62 -0
  1354. package/node_modules/side-channel-map/index.d.ts +15 -0
  1355. package/node_modules/side-channel-map/index.js +68 -0
  1356. package/node_modules/side-channel-map/package.json +80 -0
  1357. package/node_modules/side-channel-map/test/index.js +114 -0
  1358. package/node_modules/side-channel-map/tsconfig.json +9 -0
  1359. package/node_modules/side-channel-weakmap/.editorconfig +9 -0
  1360. package/node_modules/side-channel-weakmap/.eslintrc +12 -0
  1361. package/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  1362. package/node_modules/side-channel-weakmap/.nycrc +13 -0
  1363. package/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  1364. package/node_modules/side-channel-weakmap/LICENSE +21 -0
  1365. package/node_modules/side-channel-weakmap/README.md +62 -0
  1366. package/node_modules/side-channel-weakmap/index.d.ts +15 -0
  1367. package/node_modules/side-channel-weakmap/index.js +84 -0
  1368. package/node_modules/side-channel-weakmap/package.json +87 -0
  1369. package/node_modules/side-channel-weakmap/test/index.js +114 -0
  1370. package/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  1371. package/node_modules/simple-concat/.travis.yml +3 -0
  1372. package/node_modules/simple-concat/LICENSE +20 -0
  1373. package/node_modules/simple-concat/README.md +44 -0
  1374. package/node_modules/simple-concat/index.js +15 -0
  1375. package/node_modules/simple-concat/package.json +47 -0
  1376. package/node_modules/simple-concat/test/basic.js +41 -0
  1377. package/node_modules/simple-get/.github/dependabot.yml +15 -0
  1378. package/node_modules/simple-get/.github/workflows/ci.yml +23 -0
  1379. package/node_modules/simple-get/LICENSE +20 -0
  1380. package/node_modules/simple-get/README.md +333 -0
  1381. package/node_modules/simple-get/index.js +108 -0
  1382. package/node_modules/simple-get/package.json +67 -0
  1383. package/node_modules/statuses/HISTORY.md +87 -0
  1384. package/node_modules/statuses/LICENSE +23 -0
  1385. package/node_modules/statuses/README.md +139 -0
  1386. package/node_modules/statuses/codes.json +65 -0
  1387. package/node_modules/statuses/index.js +146 -0
  1388. package/node_modules/statuses/package.json +49 -0
  1389. package/node_modules/string_decoder/LICENSE +48 -0
  1390. package/node_modules/string_decoder/README.md +47 -0
  1391. package/node_modules/string_decoder/lib/string_decoder.js +296 -0
  1392. package/node_modules/string_decoder/package.json +34 -0
  1393. package/node_modules/strip-json-comments/index.js +70 -0
  1394. package/node_modules/strip-json-comments/license +21 -0
  1395. package/node_modules/strip-json-comments/package.json +42 -0
  1396. package/node_modules/strip-json-comments/readme.md +64 -0
  1397. package/node_modules/tar-fs/.travis.yml +6 -0
  1398. package/node_modules/tar-fs/LICENSE +21 -0
  1399. package/node_modules/tar-fs/README.md +165 -0
  1400. package/node_modules/tar-fs/index.js +363 -0
  1401. package/node_modules/tar-fs/package.json +41 -0
  1402. package/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -0
  1403. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -0
  1404. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  1405. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  1406. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  1407. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  1408. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  1409. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  1410. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  1411. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  1412. package/node_modules/tar-fs/test/index.js +346 -0
  1413. package/node_modules/tar-stream/LICENSE +21 -0
  1414. package/node_modules/tar-stream/README.md +168 -0
  1415. package/node_modules/tar-stream/extract.js +257 -0
  1416. package/node_modules/tar-stream/headers.js +295 -0
  1417. package/node_modules/tar-stream/index.js +2 -0
  1418. package/node_modules/tar-stream/pack.js +255 -0
  1419. package/node_modules/tar-stream/package.json +58 -0
  1420. package/node_modules/tar-stream/sandbox.js +11 -0
  1421. package/node_modules/toidentifier/HISTORY.md +9 -0
  1422. package/node_modules/toidentifier/LICENSE +21 -0
  1423. package/node_modules/toidentifier/README.md +61 -0
  1424. package/node_modules/toidentifier/index.js +32 -0
  1425. package/node_modules/toidentifier/package.json +38 -0
  1426. package/node_modules/tunnel-agent/LICENSE +55 -0
  1427. package/node_modules/tunnel-agent/README.md +4 -0
  1428. package/node_modules/tunnel-agent/index.js +244 -0
  1429. package/node_modules/tunnel-agent/package.json +22 -0
  1430. package/node_modules/type-is/HISTORY.md +292 -0
  1431. package/node_modules/type-is/LICENSE +23 -0
  1432. package/node_modules/type-is/README.md +198 -0
  1433. package/node_modules/type-is/index.js +250 -0
  1434. package/node_modules/type-is/package.json +47 -0
  1435. package/node_modules/unpipe/HISTORY.md +4 -0
  1436. package/node_modules/unpipe/LICENSE +22 -0
  1437. package/node_modules/unpipe/README.md +43 -0
  1438. package/node_modules/unpipe/index.js +69 -0
  1439. package/node_modules/unpipe/package.json +27 -0
  1440. package/node_modules/util-deprecate/History.md +16 -0
  1441. package/node_modules/util-deprecate/LICENSE +24 -0
  1442. package/node_modules/util-deprecate/README.md +53 -0
  1443. package/node_modules/util-deprecate/browser.js +67 -0
  1444. package/node_modules/util-deprecate/node.js +6 -0
  1445. package/node_modules/util-deprecate/package.json +27 -0
  1446. package/node_modules/uuid/LICENSE.md +9 -0
  1447. package/node_modules/uuid/README.md +499 -0
  1448. package/node_modules/uuid/dist/index.d.ts +15 -0
  1449. package/node_modules/uuid/dist/index.js +14 -0
  1450. package/node_modules/uuid/dist/max.d.ts +2 -0
  1451. package/node_modules/uuid/dist/max.js +1 -0
  1452. package/node_modules/uuid/dist/md5.d.ts +2 -0
  1453. package/node_modules/uuid/dist/md5.js +135 -0
  1454. package/node_modules/uuid/dist/native.d.ts +4 -0
  1455. package/node_modules/uuid/dist/native.js +2 -0
  1456. package/node_modules/uuid/dist/nil.d.ts +2 -0
  1457. package/node_modules/uuid/dist/nil.js +1 -0
  1458. package/node_modules/uuid/dist/parse.d.ts +2 -0
  1459. package/node_modules/uuid/dist/parse.js +9 -0
  1460. package/node_modules/uuid/dist/regex.d.ts +2 -0
  1461. package/node_modules/uuid/dist/regex.js +1 -0
  1462. package/node_modules/uuid/dist/rng.d.ts +1 -0
  1463. package/node_modules/uuid/dist/rng.js +11 -0
  1464. package/node_modules/uuid/dist/sha1.d.ts +2 -0
  1465. package/node_modules/uuid/dist/sha1.js +70 -0
  1466. package/node_modules/uuid/dist/stringify.d.ts +3 -0
  1467. package/node_modules/uuid/dist/stringify.js +35 -0
  1468. package/node_modules/uuid/dist/types.d.ts +21 -0
  1469. package/node_modules/uuid/dist/types.js +1 -0
  1470. package/node_modules/uuid/dist/uuid-bin.d.ts +1 -0
  1471. package/node_modules/uuid/dist/uuid-bin.js +70 -0
  1472. package/node_modules/uuid/dist/v1.d.ts +11 -0
  1473. package/node_modules/uuid/dist/v1.js +83 -0
  1474. package/node_modules/uuid/dist/v1ToV6.d.ts +2 -0
  1475. package/node_modules/uuid/dist/v1ToV6.js +10 -0
  1476. package/node_modules/uuid/dist/v3.d.ts +9 -0
  1477. package/node_modules/uuid/dist/v3.js +9 -0
  1478. package/node_modules/uuid/dist/v35.d.ts +7 -0
  1479. package/node_modules/uuid/dist/v35.js +36 -0
  1480. package/node_modules/uuid/dist/v4.d.ts +4 -0
  1481. package/node_modules/uuid/dist/v4.js +30 -0
  1482. package/node_modules/uuid/dist/v5.d.ts +9 -0
  1483. package/node_modules/uuid/dist/v5.js +9 -0
  1484. package/node_modules/uuid/dist/v6.d.ts +4 -0
  1485. package/node_modules/uuid/dist/v6.js +17 -0
  1486. package/node_modules/uuid/dist/v6ToV1.d.ts +2 -0
  1487. package/node_modules/uuid/dist/v6ToV1.js +10 -0
  1488. package/node_modules/uuid/dist/v7.d.ts +9 -0
  1489. package/node_modules/uuid/dist/v7.js +65 -0
  1490. package/node_modules/uuid/dist/validate.d.ts +2 -0
  1491. package/node_modules/uuid/dist/validate.js +5 -0
  1492. package/node_modules/uuid/dist/version.d.ts +2 -0
  1493. package/node_modules/uuid/dist/version.js +8 -0
  1494. package/node_modules/uuid/dist-node/bin/uuid +2 -0
  1495. package/node_modules/uuid/dist-node/index.js +14 -0
  1496. package/node_modules/uuid/dist-node/max.js +1 -0
  1497. package/node_modules/uuid/dist-node/md5.js +11 -0
  1498. package/node_modules/uuid/dist-node/native.js +2 -0
  1499. package/node_modules/uuid/dist-node/nil.js +1 -0
  1500. package/node_modules/uuid/dist-node/parse.js +9 -0
  1501. package/node_modules/uuid/dist-node/regex.js +1 -0
  1502. package/node_modules/uuid/dist-node/rng.js +10 -0
  1503. package/node_modules/uuid/dist-node/sha1.js +11 -0
  1504. package/node_modules/uuid/dist-node/stringify.js +35 -0
  1505. package/node_modules/uuid/dist-node/types.js +1 -0
  1506. package/node_modules/uuid/dist-node/uuid-bin.js +70 -0
  1507. package/node_modules/uuid/dist-node/v1.js +83 -0
  1508. package/node_modules/uuid/dist-node/v1ToV6.js +10 -0
  1509. package/node_modules/uuid/dist-node/v3.js +9 -0
  1510. package/node_modules/uuid/dist-node/v35.js +36 -0
  1511. package/node_modules/uuid/dist-node/v4.js +30 -0
  1512. package/node_modules/uuid/dist-node/v5.js +9 -0
  1513. package/node_modules/uuid/dist-node/v6.js +17 -0
  1514. package/node_modules/uuid/dist-node/v6ToV1.js +10 -0
  1515. package/node_modules/uuid/dist-node/v7.js +65 -0
  1516. package/node_modules/uuid/dist-node/validate.js +5 -0
  1517. package/node_modules/uuid/dist-node/version.js +8 -0
  1518. package/node_modules/uuid/package.json +119 -0
  1519. package/node_modules/vary/HISTORY.md +39 -0
  1520. package/node_modules/vary/LICENSE +22 -0
  1521. package/node_modules/vary/README.md +101 -0
  1522. package/node_modules/vary/index.js +149 -0
  1523. package/node_modules/vary/package.json +43 -0
  1524. package/node_modules/wrappy/LICENSE +15 -0
  1525. package/node_modules/wrappy/README.md +36 -0
  1526. package/node_modules/wrappy/package.json +29 -0
  1527. package/node_modules/wrappy/wrappy.js +33 -0
  1528. package/node_modules/ws/LICENSE +20 -0
  1529. package/node_modules/ws/README.md +548 -0
  1530. package/node_modules/ws/browser.js +8 -0
  1531. package/node_modules/ws/index.js +13 -0
  1532. package/node_modules/ws/lib/buffer-util.js +131 -0
  1533. package/node_modules/ws/lib/constants.js +18 -0
  1534. package/node_modules/ws/lib/event-target.js +292 -0
  1535. package/node_modules/ws/lib/extension.js +203 -0
  1536. package/node_modules/ws/lib/limiter.js +55 -0
  1537. package/node_modules/ws/lib/permessage-deflate.js +528 -0
  1538. package/node_modules/ws/lib/receiver.js +706 -0
  1539. package/node_modules/ws/lib/sender.js +602 -0
  1540. package/node_modules/ws/lib/stream.js +161 -0
  1541. package/node_modules/ws/lib/subprotocol.js +62 -0
  1542. package/node_modules/ws/lib/validation.js +152 -0
  1543. package/node_modules/ws/lib/websocket-server.js +550 -0
  1544. package/node_modules/ws/lib/websocket.js +1388 -0
  1545. package/node_modules/ws/package.json +69 -0
  1546. package/node_modules/ws/wrapper.mjs +8 -0
  1547. package/package.json +11 -2
@@ -0,0 +1,568 @@
1
+ "use strict";
2
+ //
3
+ // appsync-client.ts
4
+ // CodeVibe Core
5
+ //
6
+ // GraphQL client for AWS AppSync with WebSocket subscriptions
7
+ //
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AppSyncClient = void 0;
13
+ const ws_1 = __importDefault(require("ws"));
14
+ const uuid_1 = require("uuid");
15
+ const config_1 = require("../config");
16
+ const logger_1 = require("../logger");
17
+ const keychain_1 = require("../keychain");
18
+ const queries_1 = require("./queries");
19
+ const types_1 = require("../types");
20
+ /**
21
+ * Reconnection configuration — two-phase strategy:
22
+ * Phase 1 (urgent): Exponential backoff 1s → 60s for first 10 attempts
23
+ * Phase 2 (persistent): Retry every 5 minutes indefinitely
24
+ */
25
+ const RECONNECT_CONFIG = {
26
+ urgentMaxAttempts: 10,
27
+ baseDelayMs: 1000,
28
+ maxDelayMs: 60000,
29
+ backoffMultiplier: 2,
30
+ persistentDelayMs: 5 * 60 * 1000, // 5 minutes
31
+ };
32
+ /**
33
+ * AppSync GraphQL client with WebSocket subscriptions
34
+ */
35
+ class AppSyncClient {
36
+ constructor() {
37
+ this.authenticated = false;
38
+ this.currentUserId = null;
39
+ this.currentEmail = null;
40
+ this.tokens = null;
41
+ this.activeSubscriptions = new Map();
42
+ // MARK: - Heartbeat
43
+ this.heartbeatTimers = new Map();
44
+ // Get environment from centralized config (reads process.env.ENVIRONMENT)
45
+ this.environment = (0, config_1.getEnvironment)();
46
+ logger_1.logger.info('[AppSyncClient] Initialized', { environment: this.environment });
47
+ }
48
+ /**
49
+ * Get the current authenticated user ID
50
+ */
51
+ getCurrentUserId() {
52
+ if (!this.currentUserId) {
53
+ throw new Error('Not authenticated. Call authenticateWithStoredTokens() first.');
54
+ }
55
+ return this.currentUserId;
56
+ }
57
+ /**
58
+ * Get the current authenticated user email
59
+ */
60
+ getCurrentUserEmail() {
61
+ return this.currentEmail;
62
+ }
63
+ /**
64
+ * Authenticate using stored OAuth tokens from keychain
65
+ */
66
+ async authenticateWithStoredTokens() {
67
+ try {
68
+ const tokens = await keychain_1.keychainManager.getTokens(this.environment);
69
+ if (!tokens) {
70
+ logger_1.logger.debug('[AppSyncClient] No stored tokens found');
71
+ return false;
72
+ }
73
+ logger_1.logger.info('[AppSyncClient] Found stored OAuth tokens', {
74
+ userId: tokens.userId,
75
+ email: tokens.email,
76
+ expired: keychain_1.keychainManager.isTokenExpired(tokens),
77
+ });
78
+ // If tokens are expired, try to refresh them
79
+ if (keychain_1.keychainManager.isTokenExpired(tokens)) {
80
+ logger_1.logger.info('[AppSyncClient] Tokens expired, attempting refresh...');
81
+ const refreshed = await this.refreshTokens(tokens);
82
+ if (!refreshed) {
83
+ logger_1.logger.warn('[AppSyncClient] Token refresh failed');
84
+ return false;
85
+ }
86
+ }
87
+ else {
88
+ this.tokens = tokens;
89
+ }
90
+ this.currentUserId = this.tokens.userId;
91
+ this.currentEmail = this.tokens.email;
92
+ this.authenticated = true;
93
+ logger_1.logger.info('[AppSyncClient] Authenticated successfully', {
94
+ userId: this.currentUserId,
95
+ email: this.currentEmail,
96
+ });
97
+ return true;
98
+ }
99
+ catch (error) {
100
+ logger_1.logger.error('[AppSyncClient] Authentication failed:', error);
101
+ return false;
102
+ }
103
+ }
104
+ /**
105
+ * Refresh expired tokens
106
+ */
107
+ async refreshTokens(tokens) {
108
+ try {
109
+ const config = (0, config_1.getConfig)();
110
+ const tokenUrl = `https://${config.aws.cognitoDomain}/oauth2/token`;
111
+ const params = new URLSearchParams({
112
+ grant_type: 'refresh_token',
113
+ client_id: config.aws.cognitoClientId,
114
+ refresh_token: tokens.refreshToken,
115
+ });
116
+ const response = await fetch(tokenUrl, {
117
+ method: 'POST',
118
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
119
+ body: params.toString(),
120
+ });
121
+ if (!response.ok) {
122
+ logger_1.logger.error('[AppSyncClient] Token refresh failed', { status: response.status });
123
+ return false;
124
+ }
125
+ const data = await response.json();
126
+ const updatedTokens = {
127
+ ...tokens,
128
+ accessToken: data.access_token,
129
+ idToken: data.id_token,
130
+ expiresAt: Date.now() + (data.expires_in * 1000),
131
+ };
132
+ await keychain_1.keychainManager.setTokens(updatedTokens, this.environment);
133
+ this.tokens = updatedTokens;
134
+ logger_1.logger.info('[AppSyncClient] Tokens refreshed', {
135
+ expiresAt: new Date(updatedTokens.expiresAt).toISOString(),
136
+ });
137
+ return true;
138
+ }
139
+ catch (error) {
140
+ logger_1.logger.error('[AppSyncClient] Token refresh error:', error);
141
+ return false;
142
+ }
143
+ }
144
+ /**
145
+ * Check if authenticated
146
+ */
147
+ isAuthenticated() {
148
+ return this.authenticated;
149
+ }
150
+ /**
151
+ * Sign out
152
+ */
153
+ signOut() {
154
+ this.authenticated = false;
155
+ this.tokens = null;
156
+ this.currentUserId = null;
157
+ this.currentEmail = null;
158
+ this.cleanupSubscriptions();
159
+ logger_1.logger.info('[AppSyncClient] Signed out');
160
+ }
161
+ /**
162
+ * Make a GraphQL request
163
+ */
164
+ async graphqlRequest(query, variables, isRetry = false) {
165
+ const config = (0, config_1.getConfig)();
166
+ if (!this.tokens?.idToken) {
167
+ throw new Error('Not authenticated. Run "codevibe login" first.');
168
+ }
169
+ const headers = {
170
+ 'Content-Type': 'application/json',
171
+ 'Authorization': this.tokens.idToken,
172
+ };
173
+ const response = await fetch(config.aws.appsyncUrl, {
174
+ method: 'POST',
175
+ headers,
176
+ body: JSON.stringify({ query, variables }),
177
+ });
178
+ const result = await response.json();
179
+ // Handle 401 with token refresh
180
+ if (response.status === 401 && !isRetry && this.tokens) {
181
+ logger_1.logger.info('[AppSyncClient] 401 Unauthorized, refreshing token...');
182
+ const refreshed = await this.refreshTokens(this.tokens);
183
+ if (refreshed) {
184
+ return this.graphqlRequest(query, variables, true);
185
+ }
186
+ throw new Error('Token expired and refresh failed');
187
+ }
188
+ if (!response.ok) {
189
+ throw new Error(`GraphQL request failed: ${response.status}`);
190
+ }
191
+ if (result.errors?.length) {
192
+ throw new Error(`GraphQL error: ${result.errors[0].message}`);
193
+ }
194
+ return result;
195
+ }
196
+ // MARK: - Session Operations
197
+ /**
198
+ * Create a session
199
+ */
200
+ async createSession(input) {
201
+ const preparedInput = {
202
+ ...input,
203
+ metadata: input.metadata ? JSON.stringify(input.metadata) : undefined,
204
+ };
205
+ const response = await this.graphqlRequest(queries_1.mutations.createSession, { input: preparedInput });
206
+ logger_1.logger.info('[AppSyncClient] Session created', { sessionId: response.data.createSession.sessionId });
207
+ return response.data.createSession;
208
+ }
209
+ /**
210
+ * Update a session
211
+ */
212
+ async updateSession(input) {
213
+ const preparedInput = {
214
+ ...input,
215
+ metadata: input.metadata ? JSON.stringify(input.metadata) : undefined,
216
+ };
217
+ const response = await this.graphqlRequest(queries_1.mutations.updateSession, { input: preparedInput });
218
+ logger_1.logger.debug('[AppSyncClient] Session updated', { sessionId: response.data.updateSession.sessionId });
219
+ return response.data.updateSession;
220
+ }
221
+ /**
222
+ * Get a session
223
+ */
224
+ async getSession(sessionId) {
225
+ const response = await this.graphqlRequest(queries_1.queries.getSession, { sessionId });
226
+ return response.data.getSession;
227
+ }
228
+ // MARK: - Event Operations
229
+ /**
230
+ * Create an event
231
+ */
232
+ async createEvent(input) {
233
+ const preparedInput = {
234
+ ...input,
235
+ metadata: input.metadata ? JSON.stringify(input.metadata) : undefined,
236
+ };
237
+ const response = await this.graphqlRequest(queries_1.mutations.createEvent, { input: preparedInput });
238
+ logger_1.logger.debug('[AppSyncClient] Event created', {
239
+ eventId: response.data.createEvent.eventId,
240
+ type: response.data.createEvent.type,
241
+ });
242
+ return response.data.createEvent;
243
+ }
244
+ /**
245
+ * Update event status
246
+ */
247
+ async updateEventStatus(input) {
248
+ const response = await this.graphqlRequest(queries_1.mutations.updateEventStatus, { input });
249
+ return response.data.updateEventStatus;
250
+ }
251
+ /**
252
+ * List events for a session
253
+ */
254
+ async listEvents(sessionId, source, limit) {
255
+ const response = await this.graphqlRequest(queries_1.queries.listEvents, { sessionId, source, limit });
256
+ return response.data.listEvents.items;
257
+ }
258
+ // MARK: - Device Key Operations
259
+ /**
260
+ * List user device keys
261
+ */
262
+ async listUserDeviceKeys() {
263
+ const response = await this.graphqlRequest(queries_1.queries.listUserDeviceKeys, {});
264
+ return response.data.listUserDeviceKeys || [];
265
+ }
266
+ /**
267
+ * Register device key
268
+ */
269
+ async registerDeviceKey(deviceId, publicKey, platform, deviceName) {
270
+ const input = { deviceId, publicKey, platform, deviceName };
271
+ await this.graphqlRequest(queries_1.mutations.registerDeviceKey, { input });
272
+ logger_1.logger.info('[AppSyncClient] Device key registered', { deviceId, platform });
273
+ }
274
+ // MARK: - Attachment Operations
275
+ /**
276
+ * Get attachment download URL
277
+ */
278
+ async getAttachmentDownloadUrl(s3Key) {
279
+ const response = await this.graphqlRequest(queries_1.mutations.getAttachmentDownloadUrl, { s3Key });
280
+ return response.data.getAttachmentDownloadUrl;
281
+ }
282
+ // MARK: - Subscriptions
283
+ /**
284
+ * Subscribe to events for a session
285
+ */
286
+ subscribeToEvents(sessionId, onEvent, onError) {
287
+ logger_1.logger.info('[AppSyncClient] Subscribing to events', { sessionId });
288
+ // Cleanup existing subscription
289
+ const existing = this.activeSubscriptions.get(sessionId);
290
+ if (existing) {
291
+ this.cleanupSubscriptionState(existing);
292
+ this.activeSubscriptions.delete(sessionId);
293
+ }
294
+ const state = {
295
+ ws: null,
296
+ subscriptionId: (0, uuid_1.v4)(),
297
+ sessionId,
298
+ onEvent,
299
+ onError,
300
+ reconnectAttempts: 0,
301
+ isReconnecting: false,
302
+ };
303
+ this.activeSubscriptions.set(sessionId, state);
304
+ this.createSubscription(state);
305
+ return () => {
306
+ this.cleanupSubscriptionState(state);
307
+ this.activeSubscriptions.delete(sessionId);
308
+ };
309
+ }
310
+ /**
311
+ * Build WebSocket URL
312
+ */
313
+ buildRealtimeUrl() {
314
+ const config = (0, config_1.getConfig)();
315
+ const realtimeUrl = config.aws.appsyncUrl
316
+ .replace('https://', 'wss://')
317
+ .replace('appsync-api', 'appsync-realtime-api');
318
+ const authHeader = {
319
+ host: new URL(config.aws.appsyncUrl).host,
320
+ };
321
+ if (this.tokens?.idToken) {
322
+ authHeader['Authorization'] = this.tokens.idToken;
323
+ }
324
+ const headerBase64 = Buffer.from(JSON.stringify(authHeader)).toString('base64');
325
+ const payloadBase64 = Buffer.from(JSON.stringify({})).toString('base64');
326
+ return `${realtimeUrl}?header=${headerBase64}&payload=${payloadBase64}`;
327
+ }
328
+ /**
329
+ * Create WebSocket subscription
330
+ */
331
+ createSubscription(state) {
332
+ const { sessionId, subscriptionId, onEvent, onError } = state;
333
+ try {
334
+ const wsUrl = this.buildRealtimeUrl();
335
+ const ws = new ws_1.default(wsUrl, ['graphql-ws']);
336
+ ws.on('open', () => {
337
+ logger_1.logger.info('[AppSyncClient] WebSocket connected', { sessionId });
338
+ ws.send(JSON.stringify({ type: 'connection_init' }));
339
+ });
340
+ ws.on('message', (data) => {
341
+ try {
342
+ const message = JSON.parse(data.toString());
343
+ switch (message.type) {
344
+ case 'connection_ack':
345
+ this.sendSubscriptionStart(ws, state);
346
+ break;
347
+ case 'start_ack':
348
+ logger_1.logger.info('[AppSyncClient] Subscription started', { sessionId });
349
+ state.isReconnecting = false;
350
+ state.reconnectAttempts = 0;
351
+ break;
352
+ case 'data':
353
+ this.resetKeepAliveTimer(state);
354
+ const event = message.payload?.data?.onEventCreated;
355
+ if (event && event.source === types_1.EventSource.MOBILE) {
356
+ onEvent(event);
357
+ }
358
+ break;
359
+ case 'ka':
360
+ this.resetKeepAliveTimer(state);
361
+ break;
362
+ case 'error':
363
+ const errorMsg = message.payload?.errors?.[0]?.message || 'Unknown error';
364
+ this.handleSubscriptionError(state, new Error(errorMsg));
365
+ break;
366
+ }
367
+ }
368
+ catch (e) {
369
+ logger_1.logger.error('[AppSyncClient] Failed to parse message', { error: e });
370
+ }
371
+ });
372
+ ws.on('error', (error) => {
373
+ logger_1.logger.error('[AppSyncClient] WebSocket error', { sessionId, error: error.message });
374
+ this.handleSubscriptionError(state, error);
375
+ });
376
+ ws.on('close', (code, reason) => {
377
+ logger_1.logger.info('[AppSyncClient] WebSocket closed', { sessionId, code });
378
+ if (state.keepAliveTimer) {
379
+ clearTimeout(state.keepAliveTimer);
380
+ }
381
+ if (code !== 1000 && this.activeSubscriptions.has(sessionId)) {
382
+ this.handleSubscriptionError(state, new Error(`WebSocket closed: ${code}`));
383
+ }
384
+ });
385
+ state.ws = ws;
386
+ this.resetKeepAliveTimer(state);
387
+ }
388
+ catch (error) {
389
+ this.handleSubscriptionError(state, error);
390
+ }
391
+ }
392
+ /**
393
+ * Send subscription start message
394
+ */
395
+ sendSubscriptionStart(ws, state) {
396
+ const config = (0, config_1.getConfig)();
397
+ const { sessionId, subscriptionId } = state;
398
+ const authHeader = {
399
+ host: new URL(config.aws.appsyncUrl).host,
400
+ };
401
+ if (this.tokens?.idToken) {
402
+ authHeader['Authorization'] = this.tokens.idToken;
403
+ }
404
+ ws.send(JSON.stringify({
405
+ id: subscriptionId,
406
+ type: 'start',
407
+ payload: {
408
+ data: JSON.stringify({
409
+ query: queries_1.subscriptions.onEventCreated,
410
+ variables: { sessionId },
411
+ }),
412
+ extensions: { authorization: authHeader },
413
+ },
414
+ }));
415
+ }
416
+ /**
417
+ * Reset keep-alive timer
418
+ */
419
+ resetKeepAliveTimer(state) {
420
+ if (state.keepAliveTimer) {
421
+ clearTimeout(state.keepAliveTimer);
422
+ }
423
+ state.keepAliveTimer = setTimeout(() => {
424
+ this.handleSubscriptionError(state, new Error('Keep-alive timeout'));
425
+ }, 5 * 60 * 1000);
426
+ }
427
+ /**
428
+ * Handle subscription error with two-phase reconnection:
429
+ * Phase 1 (urgent): Exponential backoff for first N attempts
430
+ * Phase 2 (persistent): Fixed interval retry indefinitely
431
+ */
432
+ handleSubscriptionError(state, error) {
433
+ const { sessionId, onError } = state;
434
+ if (state.isReconnecting || !this.activeSubscriptions.has(sessionId)) {
435
+ return;
436
+ }
437
+ state.isReconnecting = true;
438
+ state.reconnectAttempts++;
439
+ const isUrgentPhase = state.reconnectAttempts <= RECONNECT_CONFIG.urgentMaxAttempts;
440
+ let delay;
441
+ if (isUrgentPhase) {
442
+ delay = Math.min(RECONNECT_CONFIG.baseDelayMs * Math.pow(RECONNECT_CONFIG.backoffMultiplier, state.reconnectAttempts - 1), RECONNECT_CONFIG.maxDelayMs);
443
+ }
444
+ else {
445
+ delay = RECONNECT_CONFIG.persistentDelayMs;
446
+ if (state.reconnectAttempts === RECONNECT_CONFIG.urgentMaxAttempts + 1) {
447
+ logger_1.logger.info('[AppSyncClient] Switching to persistent reconnect (every 5min)', { sessionId });
448
+ }
449
+ }
450
+ logger_1.logger.info('[AppSyncClient] Scheduling reconnect', {
451
+ sessionId,
452
+ attempt: state.reconnectAttempts,
453
+ phase: isUrgentPhase ? 'urgent' : 'persistent',
454
+ delayMs: delay,
455
+ });
456
+ if (state.ws) {
457
+ try {
458
+ state.ws.close(1000);
459
+ }
460
+ catch (e) { /* ignore */ }
461
+ state.ws = null;
462
+ }
463
+ if (state.keepAliveTimer) {
464
+ clearTimeout(state.keepAliveTimer);
465
+ }
466
+ state.reconnectTimer = setTimeout(async () => {
467
+ // Reset flag so next failure can trigger another reconnect
468
+ state.isReconnecting = false;
469
+ if (!this.activeSubscriptions.has(sessionId)) {
470
+ return;
471
+ }
472
+ // Refresh tokens before reconnecting — they may have expired
473
+ try {
474
+ const freshTokens = await keychain_1.keychainManager.getTokens(this.environment);
475
+ if (freshTokens) {
476
+ if (keychain_1.keychainManager.isTokenExpired(freshTokens)) {
477
+ const refreshed = await this.refreshTokens(freshTokens);
478
+ if (refreshed) {
479
+ logger_1.logger.info('[AppSyncClient] Tokens refreshed before reconnect', { sessionId });
480
+ }
481
+ }
482
+ else {
483
+ this.tokens = freshTokens;
484
+ }
485
+ }
486
+ }
487
+ catch (e) {
488
+ logger_1.logger.warn('[AppSyncClient] Token refresh failed before reconnect, using existing tokens', { sessionId });
489
+ }
490
+ state.subscriptionId = (0, uuid_1.v4)();
491
+ this.createSubscription(state);
492
+ }, delay);
493
+ }
494
+ /**
495
+ * Cleanup subscription state
496
+ */
497
+ cleanupSubscriptionState(state) {
498
+ if (state.reconnectTimer) {
499
+ clearTimeout(state.reconnectTimer);
500
+ }
501
+ if (state.keepAliveTimer) {
502
+ clearTimeout(state.keepAliveTimer);
503
+ }
504
+ if (state.ws) {
505
+ try {
506
+ if (state.ws.readyState === ws_1.default.OPEN) {
507
+ state.ws.send(JSON.stringify({ id: state.subscriptionId, type: 'stop' }));
508
+ state.ws.close(1000);
509
+ }
510
+ }
511
+ catch (e) { /* ignore */ }
512
+ state.ws = null;
513
+ }
514
+ }
515
+ /**
516
+ * Start periodic heartbeat for a session.
517
+ * Updates lastHeartbeatAt on the session every intervalMs (default 2 minutes).
518
+ */
519
+ startHeartbeat(sessionId, intervalMs = 2 * 60 * 1000) {
520
+ this.stopHeartbeat(sessionId);
521
+ // Send initial heartbeat immediately
522
+ this.sendHeartbeat(sessionId);
523
+ const timer = setInterval(() => {
524
+ this.sendHeartbeat(sessionId);
525
+ }, intervalMs);
526
+ this.heartbeatTimers.set(sessionId, timer);
527
+ logger_1.logger.info('[AppSyncClient] Heartbeat started', { sessionId, intervalMs });
528
+ }
529
+ /**
530
+ * Stop heartbeat for a session.
531
+ */
532
+ stopHeartbeat(sessionId) {
533
+ const timer = this.heartbeatTimers.get(sessionId);
534
+ if (timer) {
535
+ clearInterval(timer);
536
+ this.heartbeatTimers.delete(sessionId);
537
+ logger_1.logger.info('[AppSyncClient] Heartbeat stopped', { sessionId });
538
+ }
539
+ }
540
+ /**
541
+ * Send a single heartbeat update.
542
+ */
543
+ async sendHeartbeat(sessionId) {
544
+ try {
545
+ await this.updateSession({
546
+ sessionId,
547
+ lastHeartbeatAt: new Date().toISOString(),
548
+ });
549
+ logger_1.logger.debug('[AppSyncClient] Heartbeat sent', { sessionId });
550
+ }
551
+ catch (error) {
552
+ logger_1.logger.warn('[AppSyncClient] Heartbeat failed', { sessionId, error });
553
+ }
554
+ }
555
+ /**
556
+ * Cleanup all subscriptions and heartbeats
557
+ */
558
+ cleanupSubscriptions() {
559
+ this.activeSubscriptions.forEach((state) => {
560
+ this.cleanupSubscriptionState(state);
561
+ });
562
+ this.activeSubscriptions.clear();
563
+ this.heartbeatTimers.forEach((timer) => clearInterval(timer));
564
+ this.heartbeatTimers.clear();
565
+ }
566
+ }
567
+ exports.AppSyncClient = AppSyncClient;
568
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwc3luYy1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwc3luYy9hcHBzeW5jLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsRUFBRTtBQUNGLG9CQUFvQjtBQUNwQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLDhEQUE4RDtBQUM5RCxFQUFFOzs7Ozs7QUFFRiw0Q0FBMkI7QUFDM0IsK0JBQW9DO0FBQ3BDLHNDQUFzRDtBQUN0RCxzQ0FBbUM7QUFDbkMsMENBQThDO0FBQzlDLHVDQUE4RDtBQUM5RCxvQ0FVa0I7QUF5QmxCOzs7O0dBSUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLGlCQUFpQixFQUFFLEVBQUU7SUFDckIsV0FBVyxFQUFFLElBQUk7SUFDakIsVUFBVSxFQUFFLEtBQUs7SUFDakIsaUJBQWlCLEVBQUUsQ0FBQztJQUNwQixpQkFBaUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxZQUFZO0NBQy9DLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQWEsYUFBYTtJQVF4QjtRQVBRLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLGtCQUFhLEdBQWtCLElBQUksQ0FBQztRQUNwQyxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsV0FBTSxHQUFxQixJQUFJLENBQUM7UUFDaEMsd0JBQW1CLEdBQW1DLElBQUksR0FBRyxFQUFFLENBQUM7UUFxakJ4RSxvQkFBb0I7UUFFWixvQkFBZSxHQUFnQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBbmpCL0QsMEVBQTBFO1FBQzFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBQSx1QkFBYyxHQUFFLENBQUM7UUFDcEMsZUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDckIs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QUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsZUFBTSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxvQkFBb0I7UUFDekIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVqQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUF2bkJELHNDQXVuQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy8gYXBwc3luYy1jbGllbnQudHNcbi8vIENvZGVWaWJlIENvcmVcbi8vXG4vLyBHcmFwaFFMIGNsaWVudCBmb3IgQVdTIEFwcFN5bmMgd2l0aCBXZWJTb2NrZXQgc3Vic2NyaXB0aW9uc1xuLy9cblxuaW1wb3J0IFdlYlNvY2tldCBmcm9tICd3cyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IGdldENvbmZpZywgZ2V0RW52aXJvbm1lbnQgfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCB7IGtleWNoYWluTWFuYWdlciB9IGZyb20gJy4uL2tleWNoYWluJztcbmltcG9ydCB7IHF1ZXJpZXMsIG11dGF0aW9ucywgc3Vic2NyaXB0aW9ucyB9IGZyb20gJy4vcXVlcmllcyc7XG5pbXBvcnQge1xuICBDcmVhdGVFdmVudElucHV0LFxuICBDcmVhdGVTZXNzaW9uSW5wdXQsXG4gIFVwZGF0ZVNlc3Npb25JbnB1dCxcbiAgVXBkYXRlRXZlbnRTdGF0dXNJbnB1dCxcbiAgRXZlbnQsXG4gIFNlc3Npb24sXG4gIEV2ZW50U291cmNlLFxuICBEZXZpY2VLZXksXG4gIFRva2VuRGF0YSxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIERvd25sb2FkIFVSTCByZXNwb25zZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIERvd25sb2FkVXJsUmVzcG9uc2Uge1xuICBkb3dubG9hZFVybDogc3RyaW5nO1xuICBleHBpcmVzQXQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBTdWJzY3JpcHRpb24gc3RhdGUgZm9yIHJlY29ubmVjdGlvblxuICovXG5pbnRlcmZhY2UgU3Vic2NyaXB0aW9uU3RhdGUge1xuICB3czogV2ViU29ja2V0IHwgbnVsbDtcbiAgc3Vic2NyaXB0aW9uSWQ6IHN0cmluZztcbiAgc2Vzc2lvbklkOiBzdHJpbmc7XG4gIG9uRXZlbnQ6IChldmVudDogRXZlbnQpID0+IHZvaWQ7XG4gIG9uRXJyb3I/OiAoZXJyb3I6IEVycm9yKSA9PiB2b2lkO1xuICByZWNvbm5lY3RBdHRlbXB0czogbnVtYmVyO1xuICByZWNvbm5lY3RUaW1lcj86IE5vZGVKUy5UaW1lb3V0O1xuICBpc1JlY29ubmVjdGluZzogYm9vbGVhbjtcbiAga2VlcEFsaXZlVGltZXI/OiBOb2RlSlMuVGltZW91dDtcbn1cblxuLyoqXG4gKiBSZWNvbm5lY3Rpb24gY29uZmlndXJhdGlvbiDigJQgdHdvLXBoYXNlIHN0cmF0ZWd5OlxuICogUGhhc2UgMSAodXJnZW50KTogRXhwb25lbnRpYWwgYmFja29mZiAxcyDihpIgNjBzIGZvciBmaXJzdCAxMCBhdHRlbXB0c1xuICogUGhhc2UgMiAocGVyc2lzdGVudCk6IFJldHJ5IGV2ZXJ5IDUgbWludXRlcyBpbmRlZmluaXRlbHlcbiAqL1xuY29uc3QgUkVDT05ORUNUX0NPTkZJRyA9IHtcbiAgdXJnZW50TWF4QXR0ZW1wdHM6IDEwLFxuICBiYXNlRGVsYXlNczogMTAwMCxcbiAgbWF4RGVsYXlNczogNjAwMDAsXG4gIGJhY2tvZmZNdWx0aXBsaWVyOiAyLFxuICBwZXJzaXN0ZW50RGVsYXlNczogNSAqIDYwICogMTAwMCwgLy8gNSBtaW51dGVzXG59O1xuXG4vKipcbiAqIEFwcFN5bmMgR3JhcGhRTCBjbGllbnQgd2l0aCBXZWJTb2NrZXQgc3Vic2NyaXB0aW9uc1xuICovXG5leHBvcnQgY2xhc3MgQXBwU3luY0NsaWVudCB7XG4gIHByaXZhdGUgYXV0aGVudGljYXRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGN1cnJlbnRVc2VySWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGN1cnJlbnRFbWFpbDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgdG9rZW5zOiBUb2tlbkRhdGEgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBhY3RpdmVTdWJzY3JpcHRpb25zOiBNYXA8c3RyaW5nLCBTdWJzY3JpcHRpb25TdGF0ZT4gPSBuZXcgTWFwKCk7XG4gIHByaXZhdGUgZW52aXJvbm1lbnQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBHZXQgZW52aXJvbm1lbnQgZnJvbSBjZW50cmFsaXplZCBjb25maWcgKHJlYWRzIHByb2Nlc3MuZW52LkVOVklST05NRU5UKVxuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBnZXRFbnZpcm9ubWVudCgpO1xuICAgIGxvZ2dlci5pbmZvKCdbQXBwU3luY0NsaWVudF0gSW5pdGlhbGl6ZWQnLCB7IGVudmlyb25tZW50OiB0aGlzLmVudmlyb25tZW50IH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBhdXRoZW50aWNhdGVkIHVzZXIgSURcbiAgICovXG4gIHB1YmxpYyBnZXRDdXJyZW50VXNlcklkKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmN1cnJlbnRVc2VySWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGF1dGhlbnRpY2F0ZWQuIENhbGwgYXV0aGVudGljYXRlV2l0aFN0b3JlZFRva2VucygpIGZpcnN0LicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VXNlcklkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBhdXRoZW50aWNhdGVkIHVzZXIgZW1haWxcbiAgICovXG4gIHB1YmxpYyBnZXRDdXJyZW50VXNlckVtYWlsKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRFbWFpbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdXRoZW50aWNhdGUgdXNpbmcgc3RvcmVkIE9BdXRoIHRva2VucyBmcm9tIGtleWNoYWluXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYXV0aGVudGljYXRlV2l0aFN0b3JlZFRva2VucygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdG9rZW5zID0gYXdhaXQga2V5Y2hhaW5NYW5hZ2VyLmdldFRva2Vucyh0aGlzLmVudmlyb25tZW50KTtcbiAgICAgIGlmICghdG9rZW5zKSB7XG4gICAgICAgIGxvZ2dlci5kZWJ1ZygnW0FwcFN5bmNDbGllbnRdIE5vIHN0b3JlZCB0b2tlbnMgZm91bmQnKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBsb2dnZXIuaW5mbygnW0FwcFN5bmNDbGllbnRdIEZvdW5kIHN0b3JlZCBPQXV0aCB0b2tlbnMnLCB7XG4gICAgICAgIHVzZXJJZDogdG9rZW5zLnVzZXJJZCxcbiAgICAgICAgZW1haWw6IHRva2Vucy5lbWFpbCxcbiAgICAgICAgZXhwaXJlZDoga2V5Y2hhaW5NYW5hZ2VyLmlzVG9rZW5FeHBpcmVkKHRva2VucyksXG4gICAgICB9KTtcblxuICAgICAgLy8gSWYgdG9rZW5zIGFyZSBleHBpcmVkLCB0cnkgdG8gcmVmcmVzaCB0aGVtXG4gICAgICBpZiAoa2V5Y2hhaW5NYW5hZ2VyLmlzVG9rZW5FeHBpcmVkKHRva2VucykpIHtcbiAgICAgICAgbG9nZ2VyLmluZm8oJ1tBcHBTeW5jQ2xpZW50XSBUb2tlbnMgZXhwaXJlZCwgYXR0ZW1wdGluZyByZWZyZXNoLi4uJyk7XG4gICAgICAgIGNvbnN0IHJlZnJlc2hlZCA9IGF3YWl0IHRoaXMucmVmcmVzaFRva2Vucyh0b2tlbnMpO1xuICAgICAgICBpZiAoIXJlZnJlc2hlZCkge1xuICAgICAgICAgIGxvZ2dlci53YXJuKCdbQXBwU3luY0NsaWVudF0gVG9rZW4gcmVmcmVzaCBmYWlsZWQnKTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudG9rZW5zID0gdG9rZW5zO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmN1cnJlbnRVc2VySWQgPSB0aGlzLnRva2VucyEudXNlcklkO1xuICAgICAgdGhpcy5jdXJyZW50RW1haWwgPSB0aGlzLnRva2VucyEuZW1haWw7XG4gICAgICB0aGlzLmF1dGhlbnRpY2F0ZWQgPSB0cnVlO1xuXG4gICAgICBsb2dnZXIuaW5mbygnW0FwcFN5bmNDbGllbnRdIEF1dGhlbnRpY2F0ZWQgc3VjY2Vzc2Z1bGx5Jywge1xuICAgICAgICB1c2VySWQ6IHRoaXMuY3VycmVudFVzZXJJZCxcbiAgICAgICAgZW1haWw6IHRoaXMuY3VycmVudEVtYWlsLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoJ1tBcHBTeW5jQ2xpZW50XSBBdXRoZW50aWNhdGlvbiBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWZyZXNoIGV4cGlyZWQgdG9rZW5zXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHJlZnJlc2hUb2tlbnModG9rZW5zOiBUb2tlbkRhdGEpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29uZmlnID0gZ2V0Q29uZmlnKCk7XG4gICAgICBjb25zdCB0b2tlblVybCA9IGBodHRwczovLyR7Y29uZmlnLmF3cy5jb2duaXRvRG9tYWlufS9vYXV0aDIvdG9rZW5gO1xuXG4gICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgICAgZ3JhbnRfdHlwZTogJ3JlZnJlc2hfdG9rZW4nLFxuICAgICAgICBjbGllbnRfaWQ6IGNvbmZpZy5hd3MuY29nbml0b0NsaWVudElkLFxuICAgICAgICByZWZyZXNoX3Rva2VuOiB0b2tlbnMucmVmcmVzaFRva2VuLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godG9rZW5VcmwsIHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnIH0sXG4gICAgICAgIGJvZHk6IHBhcmFtcy50b1N0cmluZygpLFxuICAgICAgfSk7XG5cbiAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgbG9nZ2VyLmVycm9yKCdbQXBwU3luY0NsaWVudF0gVG9rZW4gcmVmcmVzaCBmYWlsZWQnLCB7IHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzIH0pO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCkgYXMge1xuICAgICAgICBhY2Nlc3NfdG9rZW46IHN0cmluZztcbiAgICAgICAgaWRfdG9rZW46IHN0cmluZztcbiAgICAgICAgZXhwaXJlc19pbjogbnVtYmVyO1xuICAgICAgfTtcblxuICAgICAgY29uc3QgdXBkYXRlZFRva2VuczogVG9rZW5EYXRhID0ge1xuICAgICAgICAuLi50b2tlbnMsXG4gICAgICAgIGFjY2Vzc1Rva2VuOiBkYXRhLmFjY2Vzc190b2tlbixcbiAgICAgICAgaWRUb2tlbjogZGF0YS5pZF90b2tlbixcbiAgICAgICAgZXhwaXJlc0F0OiBEYXRlLm5vdygpICsgKGRhdGEuZXhwaXJlc19pbiAqIDEwMDApLFxuICAgICAgfTtcblxuICAgICAgYXdhaXQga2V5Y2hhaW5NYW5hZ2VyLnNldFRva2Vucyh1cGRhdGVkVG9rZW5zLCB0aGlzLmVudmlyb25tZW50KTtcbiAgICAgIHRoaXMudG9rZW5zID0gdXBkYXRlZFRva2VucztcblxuICAgICAgbG9nZ2VyLmluZm8oJ1tBcHBTeW5jQ2xpZW50XSBUb2tlbnMgcmVmcmVzaGVkJywge1xuICAgICAgICBleHBpcmVzQXQ6IG5ldyBEYXRlKHVwZGF0ZWRUb2tlbnMuZXhwaXJlc0F0KS50b0lTT1N0cmluZygpLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoJ1tBcHBTeW5jQ2xpZW50XSBUb2tlbiByZWZyZXNoIGVycm9yOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYXV0aGVudGljYXRlZFxuICAgKi9cbiAgcHVibGljIGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ24gb3V0XG4gICAqL1xuICBwdWJsaWMgc2lnbk91dCgpOiB2b2lkIHtcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLnRva2VucyA9IG51bGw7XG4gICAgdGhpcy5jdXJyZW50VXNlcklkID0gbnVsbDtcbiAgICB0aGlzLmN1cnJlbnRFbWFpbCA9IG51bGw7XG4gICAgdGhpcy5jbGVhbnVwU3Vic2NyaXB0aW9ucygpO1xuICAgIGxvZ2dlci5pbmZvKCdbQXBwU3luY0NsaWVudF0gU2lnbmVkIG91dCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgYSBHcmFwaFFMIHJlcXVlc3RcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZ3JhcGhxbFJlcXVlc3QocXVlcnk6IHN0cmluZywgdmFyaWFibGVzOiBhbnksIGlzUmV0cnk6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0Q29uZmlnKCk7XG5cbiAgICBpZiAoIXRoaXMudG9rZW5zPy5pZFRva2VuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBhdXRoZW50aWNhdGVkLiBSdW4gXCJjb2RldmliZSBsb2dpblwiIGZpcnN0LicpO1xuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgJ0F1dGhvcml6YXRpb24nOiB0aGlzLnRva2Vucy5pZFRva2VuLFxuICAgIH07XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGNvbmZpZy5hd3MuYXBwc3luY1VybCwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBoZWFkZXJzLFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBxdWVyeSwgdmFyaWFibGVzIH0pLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVzcG9uc2UuanNvbigpIGFzIHsgZGF0YT86IGFueTsgZXJyb3JzPzogQXJyYXk8eyBtZXNzYWdlOiBzdHJpbmcgfT4gfTtcblxuICAgIC8vIEhhbmRsZSA0MDEgd2l0aCB0b2tlbiByZWZyZXNoXG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDAxICYmICFpc1JldHJ5ICYmIHRoaXMudG9rZW5zKSB7XG4gICAgICBsb2dnZXIuaW5mbygnW0FwcFN5bmNDbGllbnRdIDQwMSBVbmF1dGhvcml6ZWQsIHJlZnJlc2hpbmcgdG9rZW4uLi4nKTtcbiAgICAgIGNvbnN0IHJlZnJlc2hlZCA9IGF3YWl0IHRoaXMucmVmcmVzaFRva2Vucyh0aGlzLnRva2Vucyk7XG4gICAgICBpZiAocmVmcmVzaGVkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyYXBocWxSZXF1ZXN0KHF1ZXJ5LCB2YXJpYWJsZXMsIHRydWUpO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUb2tlbiBleHBpcmVkIGFuZCByZWZyZXNoIGZhaWxlZCcpO1xuICAgIH1cblxuICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgR3JhcGhRTCByZXF1ZXN0IGZhaWxlZDogJHtyZXNwb25zZS5zdGF0dXN9YCk7XG4gICAgfVxuXG4gICAgaWYgKHJlc3VsdC5lcnJvcnM/Lmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBHcmFwaFFMIGVycm9yOiAke3Jlc3VsdC5lcnJvcnNbMF0ubWVzc2FnZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLy8gTUFSSzogLSBTZXNzaW9uIE9wZXJhdGlvbnNcblxuICAvKipcbiAgICogQ3JlYXRlIGEgc2Vzc2lvblxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNyZWF0ZVNlc3Npb24oaW5wdXQ6IENyZWF0ZVNlc3Npb25JbnB1dCk6IFByb21pc2U8U2Vzc2lvbj4ge1xuICAgIGNvbnN0IHByZXBhcmVkSW5wdXQgPSB7XG4gICAgICAuLi5pbnB1dCxcbiAgICAgIG1ldGFkYXRhOiBpbnB1dC5tZXRhZGF0YSA/IEpTT04uc3RyaW5naWZ5KGlucHV0Lm1ldGFkYXRhKSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmdyYXBocWxSZXF1ZXN0KG11dGF0aW9ucy5jcmVhdGVTZXNzaW9uLCB7IGlucHV0OiBwcmVwYXJlZElucHV0IH0pO1xuICAgIGxvZ2dlci5pbmZvKCdbQXBwU3luY0NsaWVudF0gU2Vzc2lvbiBjcmVhdGVkJywgeyBzZXNzaW9uSWQ6IHJlc3BvbnNlLmRhdGEuY3JlYXRlU2Vzc2lvbi5zZXNzaW9uSWQgfSk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuY3JlYXRlU2Vzc2lvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYSBzZXNzaW9uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgdXBkYXRlU2Vzc2lvbihpbnB1dDogVXBkYXRlU2Vzc2lvbklucHV0KTogUHJvbWlzZTxTZXNzaW9uPiB7XG4gICAgY29uc3QgcHJlcGFyZWRJbnB1dCA9IHtcbiAgICAgIC4uLmlucHV0LFxuICAgICAgbWV0YWRhdGE6IGlucHV0Lm1ldGFkYXRhID8gSlNPTi5zdHJpbmdpZnkoaW5wdXQubWV0YWRhdGEpIDogdW5kZWZpbmVkLFxuICAgIH07XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZ3JhcGhxbFJlcXVlc3QobXV0YXRpb25zLnVwZGF0ZVNlc3Npb24sIHsgaW5wdXQ6IHByZXBhcmVkSW5wdXQgfSk7XG4gICAgbG9nZ2VyLmRlYnVnKCdbQXBwU3luY0NsaWVudF0gU2Vzc2lvbiB1cGRhdGVkJywgeyBzZXNzaW9uSWQ6IHJlc3BvbnNlLmRhdGEudXBkYXRlU2Vzc2lvbi5zZXNzaW9uSWQgfSk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEudXBkYXRlU2Vzc2lvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzZXNzaW9uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0U2Vzc2lvbihzZXNzaW9uSWQ6IHN0cmluZyk6IFByb21pc2U8U2Vzc2lvbiB8IG51bGw+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZ3JhcGhxbFJlcXVlc3QocXVlcmllcy5nZXRTZXNzaW9uLCB7IHNlc3Npb25JZCB9KTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5nZXRTZXNzaW9uO1xuICB9XG5cbiAgLy8gTUFSSzogLSBFdmVudCBPcGVyYXRpb25zXG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBldmVudFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNyZWF0ZUV2ZW50KGlucHV0OiBDcmVhdGVFdmVudElucHV0KTogUHJvbWlzZTxFdmVudD4ge1xuICAgIGNvbnN0IHByZXBhcmVkSW5wdXQgPSB7XG4gICAgICAuLi5pbnB1dCxcbiAgICAgIG1ldGFkYXRhOiBpbnB1dC5tZXRhZGF0YSA/IEpTT04uc3RyaW5naWZ5KGlucHV0Lm1ldGFkYXRhKSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmdyYXBocWxSZXF1ZXN0KG11dGF0aW9ucy5jcmVhdGVFdmVudCwgeyBpbnB1dDogcHJlcGFyZWRJbnB1dCB9KTtcbiAgICBsb2dnZXIuZGVidWcoJ1tBcHBTeW5jQ2xpZW50XSBFdmVudCBjcmVhdGVkJywge1xuICAgICAgZXZlbnRJZDogcmVzcG9uc2UuZGF0YS5jcmVhdGVFdmVudC5ldmVudElkLFxuICAgICAgdHlwZTogcmVzcG9uc2UuZGF0YS5jcmVhdGVFdmVudC50eXBlLFxuICAgIH0pO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhLmNyZWF0ZUV2ZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBldmVudCBzdGF0dXNcbiAgICovXG4gIHB1YmxpYyBhc3luYyB1cGRhdGVFdmVudFN0YXR1cyhpbnB1dDogVXBkYXRlRXZlbnRTdGF0dXNJbnB1dCk6IFByb21pc2U8RXZlbnQ+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZ3JhcGhxbFJlcXVlc3QobXV0YXRpb25zLnVwZGF0ZUV2ZW50U3RhdHVzLCB7IGlucHV0IH0pO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhLnVwZGF0ZUV2ZW50U3RhdHVzO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3QgZXZlbnRzIGZvciBhIHNlc3Npb25cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsaXN0RXZlbnRzKHNlc3Npb25JZDogc3RyaW5nLCBzb3VyY2U/OiBFdmVudFNvdXJjZSwgbGltaXQ/OiBudW1iZXIpOiBQcm9taXNlPEV2ZW50W10+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZ3JhcGhxbFJlcXVlc3QocXVlcmllcy5saXN0RXZlbnRzLCB7IHNlc3Npb25JZCwgc291cmNlLCBsaW1pdCB9KTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5saXN0RXZlbnRzLml0ZW1zO1xuICB9XG5cbiAgLy8gTUFSSzogLSBEZXZpY2UgS2V5IE9wZXJhdGlvbnNcblxuICAvKipcbiAgICogTGlzdCB1c2VyIGRldmljZSBrZXlzXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbGlzdFVzZXJEZXZpY2VLZXlzKCk6IFByb21pc2U8RGV2aWNlS2V5W10+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuZ3JhcGhxbFJlcXVlc3QocXVlcmllcy5saXN0VXNlckRldmljZUtleXMsIHt9KTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS5saXN0VXNlckRldmljZUtleXMgfHwgW107XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIgZGV2aWNlIGtleVxuICAgKi9cbiAgcHVibGljIGFzeW5jIHJlZ2lzdGVyRGV2aWNlS2V5KFxuICAgIGRldmljZUlkOiBzdHJpbmcsXG4gICAgcHVibGljS2V5OiBzdHJpbmcsXG4gICAgcGxhdGZvcm06IHN0cmluZyxcbiAgICBkZXZpY2VOYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgaW5wdXQgPSB7IGRldmljZUlkLCBwdWJsaWNLZXksIHBsYXRmb3JtLCBkZXZpY2VOYW1lIH07XG4gICAgYXdhaXQgdGhpcy5ncmFwaHFsUmVxdWVzdChtdXRhdGlvbnMucmVnaXN0ZXJEZXZpY2VLZXksIHsgaW5wdXQgfSk7XG4gICAgbG9nZ2VyLmluZm8oJ1tBcHBTeW5jQ2xpZW50XSBEZXZpY2Uga2V5IHJlZ2lzdGVyZWQnLCB7IGRldmljZUlkLCBwbGF0Zm9ybSB9KTtcbiAgfVxuXG4gIC8vIE1BUks6IC0gQXR0YWNobWVudCBPcGVyYXRpb25zXG5cbiAgLyoqXG4gICAqIEdldCBhdHRhY2htZW50IGRvd25sb2FkIFVSTFxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldEF0dGFjaG1lbnREb3dubG9hZFVybChzM0tleTogc3RyaW5nKTogUHJvbWlzZTxEb3dubG9hZFVybFJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmdyYXBocWxSZXF1ZXN0KG11dGF0aW9ucy5nZXRBdHRhY2htZW50RG93bmxvYWRVcmwsIHsgczNLZXkgfSk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZ2V0QXR0YWNobWVudERvd25sb2FkVXJsO1xuICB9XG5cbiAgLy8gTUFSSzogLSBTdWJzY3JpcHRpb25zXG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZSB0byBldmVudHMgZm9yIGEgc2Vzc2lvblxuICAgKi9cbiAgcHVibGljIHN1YnNjcmliZVRvRXZlbnRzKFxuICAgIHNlc3Npb25JZDogc3RyaW5nLFxuICAgIG9uRXZlbnQ6IChldmVudDogRXZlbnQpID0+IHZvaWQsXG4gICAgb25FcnJvcj86IChlcnJvcjogRXJyb3IpID0+IHZvaWRcbiAgKTogKCkgPT4gdm9pZCB7XG4gICAgbG9nZ2VyLmluZm8oJ1tBcHBTeW5jQ2xpZW50XSBTdWJzY3JpYmluZyB0byBldmVudHMnLCB7IHNlc3Npb25JZCB9KTtcblxuICAgIC8vIENsZWFudXAgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uXG4gICAgY29uc3QgZXhpc3RpbmcgPSB0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnMuZ2V0KHNlc3Npb25JZCk7XG4gICAgaWYgKGV4aXN0aW5nKSB7XG4gICAgICB0aGlzLmNsZWFudXBTdWJzY3JpcHRpb25TdGF0ZShleGlzdGluZyk7XG4gICAgICB0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnMuZGVsZXRlKHNlc3Npb25JZCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhdGU6IFN1YnNjcmlwdGlvblN0YXRlID0ge1xuICAgICAgd3M6IG51bGwsXG4gICAgICBzdWJzY3JpcHRpb25JZDogdXVpZHY0KCksXG4gICAgICBzZXNzaW9uSWQsXG4gICAgICBvbkV2ZW50LFxuICAgICAgb25FcnJvcixcbiAgICAgIHJlY29ubmVjdEF0dGVtcHRzOiAwLFxuICAgICAgaXNSZWNvbm5lY3Rpbmc6IGZhbHNlLFxuICAgIH07XG5cbiAgICB0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnMuc2V0KHNlc3Npb25JZCwgc3RhdGUpO1xuICAgIHRoaXMuY3JlYXRlU3Vic2NyaXB0aW9uKHN0YXRlKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB0aGlzLmNsZWFudXBTdWJzY3JpcHRpb25TdGF0ZShzdGF0ZSk7XG4gICAgICB0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnMuZGVsZXRlKHNlc3Npb25JZCk7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBXZWJTb2NrZXQgVVJMXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkUmVhbHRpbWVVcmwoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb25maWcgPSBnZXRDb25maWcoKTtcbiAgICBjb25zdCByZWFsdGltZVVybCA9IGNvbmZpZy5hd3MuYXBwc3luY1VybFxuICAgICAgLnJlcGxhY2UoJ2h0dHBzOi8vJywgJ3dzczovLycpXG4gICAgICAucmVwbGFjZSgnYXBwc3luYy1hcGknLCAnYXBwc3luYy1yZWFsdGltZS1hcGknKTtcblxuICAgIGNvbnN0IGF1dGhIZWFkZXI6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBob3N0OiBuZXcgVVJMKGNvbmZpZy5hd3MuYXBwc3luY1VybCkuaG9zdCxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMudG9rZW5zPy5pZFRva2VuKSB7XG4gICAgICBhdXRoSGVhZGVyWydBdXRob3JpemF0aW9uJ10gPSB0aGlzLnRva2Vucy5pZFRva2VuO1xuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlckJhc2U2NCA9IEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KGF1dGhIZWFkZXIpKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gICAgY29uc3QgcGF5bG9hZEJhc2U2NCA9IEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KHt9KSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuXG4gICAgcmV0dXJuIGAke3JlYWx0aW1lVXJsfT9oZWFkZXI9JHtoZWFkZXJCYXNlNjR9JnBheWxvYWQ9JHtwYXlsb2FkQmFzZTY0fWA7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIFdlYlNvY2tldCBzdWJzY3JpcHRpb25cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlU3Vic2NyaXB0aW9uKHN0YXRlOiBTdWJzY3JpcHRpb25TdGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IHsgc2Vzc2lvbklkLCBzdWJzY3JpcHRpb25JZCwgb25FdmVudCwgb25FcnJvciB9ID0gc3RhdGU7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qgd3NVcmwgPSB0aGlzLmJ1aWxkUmVhbHRpbWVVcmwoKTtcbiAgICAgIGNvbnN0IHdzID0gbmV3IFdlYlNvY2tldCh3c1VybCwgWydncmFwaHFsLXdzJ10pO1xuXG4gICAgICB3cy5vbignb3BlbicsICgpID0+IHtcbiAgICAgICAgbG9nZ2VyLmluZm8oJ1tBcHBTeW5jQ2xpZW50XSBXZWJTb2NrZXQgY29ubmVjdGVkJywgeyBzZXNzaW9uSWQgfSk7XG4gICAgICAgIHdzLnNlbmQoSlNPTi5zdHJpbmdpZnkoeyB0eXBlOiAnY29ubmVjdGlvbl9pbml0JyB9KSk7XG4gICAgICB9KTtcblxuICAgICAgd3Mub24oJ21lc3NhZ2UnLCAoZGF0YTogV2ViU29ja2V0LkRhdGEpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gSlNPTi5wYXJzZShkYXRhLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgICAgc3dpdGNoIChtZXNzYWdlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2Nvbm5lY3Rpb25fYWNrJzpcbiAgICAgICAgICAgICAgdGhpcy5zZW5kU3Vic2NyaXB0aW9uU3RhcnQod3MsIHN0YXRlKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ3N0YXJ0X2Fjayc6XG4gICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCdbQXBwU3luY0NsaWVudF0gU3Vic2NyaXB0aW9uIHN0YXJ0ZWQnLCB7IHNlc3Npb25JZCB9KTtcbiAgICAgICAgICAgICAgc3RhdGUuaXNSZWNvbm5lY3RpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgc3RhdGUucmVjb25uZWN0QXR0ZW1wdHMgPSAwO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnZGF0YSc6XG4gICAgICAgICAgICAgIHRoaXMucmVzZXRLZWVwQWxpdmVUaW1lcihzdGF0ZSk7XG4gICAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gbWVzc2FnZS5wYXlsb2FkPy5kYXRhPy5vbkV2ZW50Q3JlYXRlZDtcbiAgICAgICAgICAgICAgaWYgKGV2ZW50ICYmIGV2ZW50LnNvdXJjZSA9PT0gRXZlbnRTb3VyY2UuTU9CSUxFKSB7XG4gICAgICAgICAgICAgICAgb25FdmVudChldmVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ2thJzpcbiAgICAgICAgICAgICAgdGhpcy5yZXNldEtlZXBBbGl2ZVRpbWVyKHN0YXRlKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgICAgICAgY29uc3QgZXJyb3JNc2cgPSBtZXNzYWdlLnBheWxvYWQ/LmVycm9ycz8uWzBdPy5tZXNzYWdlIHx8ICdVbmtub3duIGVycm9yJztcbiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVTdWJzY3JpcHRpb25FcnJvcihzdGF0ZSwgbmV3IEVycm9yKGVycm9yTXNnKSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGxvZ2dlci5lcnJvcignW0FwcFN5bmNDbGllbnRdIEZhaWxlZCB0byBwYXJzZSBtZXNzYWdlJywgeyBlcnJvcjogZSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHdzLm9uKCdlcnJvcicsIChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgbG9nZ2VyLmVycm9yKCdbQXBwU3luY0NsaWVudF0gV2ViU29ja2V0IGVycm9yJywgeyBzZXNzaW9uSWQsIGVycm9yOiBlcnJvci5tZXNzYWdlIH0pO1xuICAgICAgICB0aGlzLmhhbmRsZVN1YnNjcmlwdGlvbkVycm9yKHN0YXRlLCBlcnJvcik7XG4gICAgICB9KTtcblxuICAgICAgd3Mub24oJ2Nsb3NlJywgKGNvZGU6IG51bWJlciwgcmVhc29uOiBCdWZmZXIpID0+IHtcbiAgICAgICAgbG9nZ2VyLmluZm8oJ1tBcHBTeW5jQ2xpZW50XSBXZWJTb2NrZXQgY2xvc2VkJywgeyBzZXNzaW9uSWQsIGNvZGUgfSk7XG4gICAgICAgIGlmIChzdGF0ZS5rZWVwQWxpdmVUaW1lcikge1xuICAgICAgICAgIGNsZWFyVGltZW91dChzdGF0ZS5rZWVwQWxpdmVUaW1lcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvZGUgIT09IDEwMDAgJiYgdGhpcy5hY3RpdmVTdWJzY3JpcHRpb25zLmhhcyhzZXNzaW9uSWQpKSB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVTdWJzY3JpcHRpb25FcnJvcihzdGF0ZSwgbmV3IEVycm9yKGBXZWJTb2NrZXQgY2xvc2VkOiAke2NvZGV9YCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgc3RhdGUud3MgPSB3cztcbiAgICAgIHRoaXMucmVzZXRLZWVwQWxpdmVUaW1lcihzdGF0ZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuaGFuZGxlU3Vic2NyaXB0aW9uRXJyb3Ioc3RhdGUsIGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VuZCBzdWJzY3JpcHRpb24gc3RhcnQgbWVzc2FnZVxuICAgKi9cbiAgcHJpdmF0ZSBzZW5kU3Vic2NyaXB0aW9uU3RhcnQod3M6IFdlYlNvY2tldCwgc3RhdGU6IFN1YnNjcmlwdGlvblN0YXRlKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0Q29uZmlnKCk7XG4gICAgY29uc3QgeyBzZXNzaW9uSWQsIHN1YnNjcmlwdGlvbklkIH0gPSBzdGF0ZTtcblxuICAgIGNvbnN0IGF1dGhIZWFkZXI6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBob3N0OiBuZXcgVVJMKGNvbmZpZy5hd3MuYXBwc3luY1VybCkuaG9zdCxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMudG9rZW5zPy5pZFRva2VuKSB7XG4gICAgICBhdXRoSGVhZGVyWydBdXRob3JpemF0aW9uJ10gPSB0aGlzLnRva2Vucy5pZFRva2VuO1xuICAgIH1cblxuICAgIHdzLnNlbmQoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgaWQ6IHN1YnNjcmlwdGlvbklkLFxuICAgICAgdHlwZTogJ3N0YXJ0JyxcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIHF1ZXJ5OiBzdWJzY3JpcHRpb25zLm9uRXZlbnRDcmVhdGVkLFxuICAgICAgICAgIHZhcmlhYmxlczogeyBzZXNzaW9uSWQgfSxcbiAgICAgICAgfSksXG4gICAgICAgIGV4dGVuc2lvbnM6IHsgYXV0aG9yaXphdGlvbjogYXV0aEhlYWRlciB9LFxuICAgICAgfSxcbiAgICB9KSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQga2VlcC1hbGl2ZSB0aW1lclxuICAgKi9cbiAgcHJpdmF0ZSByZXNldEtlZXBBbGl2ZVRpbWVyKHN0YXRlOiBTdWJzY3JpcHRpb25TdGF0ZSk6IHZvaWQge1xuICAgIGlmIChzdGF0ZS5rZWVwQWxpdmVUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHN0YXRlLmtlZXBBbGl2ZVRpbWVyKTtcbiAgICB9XG4gICAgc3RhdGUua2VlcEFsaXZlVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlU3Vic2NyaXB0aW9uRXJyb3Ioc3RhdGUsIG5ldyBFcnJvcignS2VlcC1hbGl2ZSB0aW1lb3V0JykpO1xuICAgIH0sIDUgKiA2MCAqIDEwMDApO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBzdWJzY3JpcHRpb24gZXJyb3Igd2l0aCB0d28tcGhhc2UgcmVjb25uZWN0aW9uOlxuICAgKiBQaGFzZSAxICh1cmdlbnQpOiBFeHBvbmVudGlhbCBiYWNrb2ZmIGZvciBmaXJzdCBOIGF0dGVtcHRzXG4gICAqIFBoYXNlIDIgKHBlcnNpc3RlbnQpOiBGaXhlZCBpbnRlcnZhbCByZXRyeSBpbmRlZmluaXRlbHlcbiAgICovXG4gIHByaXZhdGUgaGFuZGxlU3Vic2NyaXB0aW9uRXJyb3Ioc3RhdGU6IFN1YnNjcmlwdGlvblN0YXRlLCBlcnJvcjogRXJyb3IpOiB2b2lkIHtcbiAgICBjb25zdCB7IHNlc3Npb25JZCwgb25FcnJvciB9ID0gc3RhdGU7XG5cbiAgICBpZiAoc3RhdGUuaXNSZWNvbm5lY3RpbmcgfHwgIXRoaXMuYWN0aXZlU3Vic2NyaXB0aW9ucy5oYXMoc2Vzc2lvbklkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN0YXRlLmlzUmVjb25uZWN0aW5nID0gdHJ1ZTtcbiAgICBzdGF0ZS5yZWNvbm5lY3RBdHRlbXB0cysrO1xuXG4gICAgY29uc3QgaXNVcmdlbnRQaGFzZSA9IHN0YXRlLnJlY29ubmVjdEF0dGVtcHRzIDw9IFJFQ09OTkVDVF9DT05GSUcudXJnZW50TWF4QXR0ZW1wdHM7XG5cbiAgICBsZXQgZGVsYXk6IG51bWJlcjtcbiAgICBpZiAoaXNVcmdlbnRQaGFzZSkge1xuICAgICAgZGVsYXkgPSBNYXRoLm1pbihcbiAgICAgICAgUkVDT05ORUNUX0NPTkZJRy5iYXNlRGVsYXlNcyAqIE1hdGgucG93KFJFQ09OTkVDVF9DT05GSUcuYmFja29mZk11bHRpcGxpZXIsIHN0YXRlLnJlY29ubmVjdEF0dGVtcHRzIC0gMSksXG4gICAgICAgIFJFQ09OTkVDVF9DT05GSUcubWF4RGVsYXlNc1xuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsYXkgPSBSRUNPTk5FQ1RfQ09ORklHLnBlcnNpc3RlbnREZWxheU1zO1xuICAgICAgaWYgKHN0YXRlLnJlY29ubmVjdEF0dGVtcHRzID09PSBSRUNPTk5FQ1RfQ09ORklHLnVyZ2VudE1heEF0dGVtcHRzICsgMSkge1xuICAgICAgICBsb2dnZXIuaW5mbygnW0FwcFN5bmNDbGllbnRdIFN3aXRjaGluZyB0byBwZXJzaXN0ZW50IHJlY29ubmVjdCAoZXZlcnkgNW1pbiknLCB7IHNlc3Npb25JZCB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsb2dnZXIuaW5mbygnW0FwcFN5bmNDbGllbnRdIFNjaGVkdWxpbmcgcmVjb25uZWN0Jywge1xuICAgICAgc2Vzc2lvbklkLFxuICAgICAgYXR0ZW1wdDogc3RhdGUucmVjb25uZWN0QXR0ZW1wdHMsXG4gICAgICBwaGFzZTogaXNVcmdlbnRQaGFzZSA/ICd1cmdlbnQnIDogJ3BlcnNpc3RlbnQnLFxuICAgICAgZGVsYXlNczogZGVsYXksXG4gICAgfSk7XG5cbiAgICBpZiAoc3RhdGUud3MpIHtcbiAgICAgIHRyeSB7IHN0YXRlLndzLmNsb3NlKDEwMDApOyB9IGNhdGNoIChlKSB7IC8qIGlnbm9yZSAqLyB9XG4gICAgICBzdGF0ZS53cyA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlLmtlZXBBbGl2ZVRpbWVyKSB7XG4gICAgICBjbGVhclRpbWVvdXQoc3RhdGUua2VlcEFsaXZlVGltZXIpO1xuICAgIH1cblxuICAgIHN0YXRlLnJlY29ubmVjdFRpbWVyID0gc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAvLyBSZXNldCBmbGFnIHNvIG5leHQgZmFpbHVyZSBjYW4gdHJpZ2dlciBhbm90aGVyIHJlY29ubmVjdFxuICAgICAgc3RhdGUuaXNSZWNvbm5lY3RpbmcgPSBmYWxzZTtcblxuICAgICAgaWYgKCF0aGlzLmFjdGl2ZVN1YnNjcmlwdGlvbnMuaGFzKHNlc3Npb25JZCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBSZWZyZXNoIHRva2VucyBiZWZvcmUgcmVjb25uZWN0aW5nIOKAlCB0aGV5IG1heSBoYXZlIGV4cGlyZWRcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGZyZXNoVG9rZW5zID0gYXdhaXQga2V5Y2hhaW5NYW5hZ2VyLmdldFRva2Vucyh0aGlzLmVudmlyb25tZW50KTtcbiAgICAgICAgaWYgKGZyZXNoVG9rZW5zKSB7XG4gICAgICAgICAgaWYgKGtleWNoYWluTWFuYWdlci5pc1Rva2VuRXhwaXJlZChmcmVzaFRva2VucykpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlZnJlc2hlZCA9IGF3YWl0IHRoaXMucmVmcmVzaFRva2VucyhmcmVzaFRva2Vucyk7XG4gICAgICAgICAgICBpZiAocmVmcmVzaGVkKSB7XG4gICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCdbQXBwU3luY0NsaWVudF0gVG9rZW5zIHJlZnJlc2hlZCBiZWZvcmUgcmVjb25uZWN0JywgeyBzZXNzaW9uSWQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudG9rZW5zID0gZnJlc2hUb2tlbnM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGxvZ2dlci53YXJuKCdbQXBwU3luY0NsaWVudF0gVG9rZW4gcmVmcmVzaCBmYWlsZWQgYmVmb3JlIHJlY29ubmVjdCwgdXNpbmcgZXhpc3RpbmcgdG9rZW5zJywgeyBzZXNzaW9uSWQgfSk7XG4gICAgICB9XG5cbiAgICAgIHN0YXRlLnN1YnNjcmlwdGlvbklkID0gdXVpZHY0KCk7XG4gICAgICB0aGlzLmNyZWF0ZVN1YnNjcmlwdGlvbihzdGF0ZSk7XG4gICAgfSwgZGVsYXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFudXAgc3Vic2NyaXB0aW9uIHN0YXRlXG4gICAqL1xuICBwcml2YXRlIGNsZWFudXBTdWJzY3JpcHRpb25TdGF0ZShzdGF0ZTogU3Vic2NyaXB0aW9uU3RhdGUpOiB2b2lkIHtcbiAgICBpZiAoc3RhdGUucmVjb25uZWN0VGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dChzdGF0ZS5yZWNvbm5lY3RUaW1lcik7XG4gICAgfVxuICAgIGlmIChzdGF0ZS5rZWVwQWxpdmVUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHN0YXRlLmtlZXBBbGl2ZVRpbWVyKTtcbiAgICB9XG4gICAgaWYgKHN0YXRlLndzKSB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoc3RhdGUud3MucmVhZHlTdGF0ZSA9PT0gV2ViU29ja2V0Lk9QRU4pIHtcbiAgICAgICAgICBzdGF0ZS53cy5zZW5kKEpTT04uc3RyaW5naWZ5KHsgaWQ6IHN0YXRlLnN1YnNjcmlwdGlvbklkLCB0eXBlOiAnc3RvcCcgfSkpO1xuICAgICAgICAgIHN0YXRlLndzLmNsb3NlKDEwMDApO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7IC8qIGlnbm9yZSAqLyB9XG4gICAgICBzdGF0ZS53cyA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLy8gTUFSSzogLSBIZWFydGJlYXRcblxuICBwcml2YXRlIGhlYXJ0YmVhdFRpbWVyczogTWFwPHN0cmluZywgTm9kZUpTLlRpbWVvdXQ+ID0gbmV3IE1hcCgpO1xuXG4gIC8qKlxuICAgKiBTdGFydCBwZXJpb2RpYyBoZWFydGJlYXQgZm9yIGEgc2Vzc2lvbi5cbiAgICogVXBkYXRlcyBsYXN0SGVhcnRiZWF0QXQgb24gdGhlIHNlc3Npb24gZXZlcnkgaW50ZXJ2YWxNcyAoZGVmYXVsdCAyIG1pbnV0ZXMpLlxuICAgKi9cbiAgcHVibGljIHN0YXJ0SGVhcnRiZWF0KHNlc3Npb25JZDogc3RyaW5nLCBpbnRlcnZhbE1zOiBudW1iZXIgPSAyICogNjAgKiAxMDAwKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wSGVhcnRiZWF0KHNlc3Npb25JZCk7XG5cbiAgICAvLyBTZW5kIGluaXRpYWwgaGVhcnRiZWF0IGltbWVkaWF0ZWx5XG4gICAgdGhpcy5zZW5kSGVhcnRiZWF0KHNlc3Npb25JZCk7XG5cbiAgICBjb25zdCB0aW1lciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMuc2VuZEhlYXJ0YmVhdChzZXNzaW9uSWQpO1xuICAgIH0sIGludGVydmFsTXMpO1xuXG4gICAgdGhpcy5oZWFydGJlYXRUaW1lcnMuc2V0KHNlc3Npb25JZCwgdGltZXIpO1xuICAgIGxvZ2dlci5pbmZvKCdbQXBwU3luY0NsaWVudF0gSGVhcnRiZWF0IHN0YXJ0ZWQnLCB7IHNlc3Npb25JZCwgaW50ZXJ2YWxNcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIGhlYXJ0YmVhdCBmb3IgYSBzZXNzaW9uLlxuICAgKi9cbiAgcHVibGljIHN0b3BIZWFydGJlYXQoc2Vzc2lvbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB0aW1lciA9IHRoaXMuaGVhcnRiZWF0VGltZXJzLmdldChzZXNzaW9uSWQpO1xuICAgIGlmICh0aW1lcikge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aW1lcik7XG4gICAgICB0aGlzLmhlYXJ0YmVhdFRpbWVycy5kZWxldGUoc2Vzc2lvbklkKTtcbiAgICAgIGxvZ2dlci5pbmZvKCdbQXBwU3luY0NsaWVudF0gSGVhcnRiZWF0IHN0b3BwZWQnLCB7IHNlc3Npb25JZCB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VuZCBhIHNpbmdsZSBoZWFydGJlYXQgdXBkYXRlLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBzZW5kSGVhcnRiZWF0KHNlc3Npb25JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMudXBkYXRlU2Vzc2lvbih7XG4gICAgICAgIHNlc3Npb25JZCxcbiAgICAgICAgbGFzdEhlYXJ0YmVhdEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICB9KTtcbiAgICAgIGxvZ2dlci5kZWJ1ZygnW0FwcFN5bmNDbGllbnRdIEhlYXJ0YmVhdCBzZW50JywgeyBzZXNzaW9uSWQgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxvZ2dlci53YXJuKCdbQXBwU3luY0NsaWVudF0gSGVhcnRiZWF0IGZhaWxlZCcsIHsgc2Vzc2lvbklkLCBlcnJvciB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xlYW51cCBhbGwgc3Vic2NyaXB0aW9ucyBhbmQgaGVhcnRiZWF0c1xuICAgKi9cbiAgcHVibGljIGNsZWFudXBTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlU3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdGF0ZSkgPT4ge1xuICAgICAgdGhpcy5jbGVhbnVwU3Vic2NyaXB0aW9uU3RhdGUoc3RhdGUpO1xuICAgIH0pO1xuICAgIHRoaXMuYWN0aXZlU3Vic2NyaXB0aW9ucy5jbGVhcigpO1xuXG4gICAgdGhpcy5oZWFydGJlYXRUaW1lcnMuZm9yRWFjaCgodGltZXIpID0+IGNsZWFySW50ZXJ2YWwodGltZXIpKTtcbiAgICB0aGlzLmhlYXJ0YmVhdFRpbWVycy5jbGVhcigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export { AppSyncClient, DownloadUrlResponse } from './appsync-client';
2
+ export { queries, mutations, subscriptions } from './queries';