rayan-saleh commited on
Commit
7d9f678
1 Parent(s): 04878d0

embeded gradio

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .DS_Store +0 -0
  2. client/.gitignore +24 -0
  3. client/index.html +17 -0
  4. client/package-lock.json +2268 -0
  5. client/package.json +21 -0
  6. client/public/vite.svg +1 -0
  7. client/src/App.css +41 -0
  8. client/src/App.jsx +42 -0
  9. client/src/assets/react.svg +1 -0
  10. client/src/index.css +70 -0
  11. client/src/main.jsx +10 -0
  12. client/vite.config.js +7 -0
  13. server/.DS_Store +0 -0
  14. server/.env +2 -0
  15. server/node_modules/.DS_Store +0 -0
  16. server/node_modules/.bin/mime +1 -0
  17. server/node_modules/.bin/nodemon +1 -0
  18. server/node_modules/.bin/nodetouch +1 -0
  19. server/node_modules/.bin/nopt +1 -0
  20. server/node_modules/.bin/semver +1 -0
  21. server/node_modules/.package-lock.json +1044 -0
  22. server/node_modules/@notionhq/client/LICENSE +7 -0
  23. server/node_modules/@notionhq/client/README.md +280 -0
  24. server/node_modules/@notionhq/client/build/package.json +58 -0
  25. server/node_modules/@notionhq/client/build/src/Client.d.ts +158 -0
  26. server/node_modules/@notionhq/client/build/src/Client.d.ts.map +1 -0
  27. server/node_modules/@notionhq/client/build/src/Client.js +403 -0
  28. server/node_modules/@notionhq/client/build/src/Client.js.map +1 -0
  29. server/node_modules/@notionhq/client/build/src/api-endpoints.d.ts +0 -0
  30. server/node_modules/@notionhq/client/build/src/api-endpoints.d.ts.map +0 -0
  31. server/node_modules/@notionhq/client/build/src/api-endpoints.js +192 -0
  32. server/node_modules/@notionhq/client/build/src/api-endpoints.js.map +0 -0
  33. server/node_modules/@notionhq/client/build/src/errors.d.ts +94 -0
  34. server/node_modules/@notionhq/client/build/src/errors.d.ts.map +1 -0
  35. server/node_modules/@notionhq/client/build/src/errors.js +203 -0
  36. server/node_modules/@notionhq/client/build/src/errors.js.map +1 -0
  37. server/node_modules/@notionhq/client/build/src/fetch-types.d.ts +17 -0
  38. server/node_modules/@notionhq/client/build/src/fetch-types.d.ts.map +1 -0
  39. server/node_modules/@notionhq/client/build/src/fetch-types.js +3 -0
  40. server/node_modules/@notionhq/client/build/src/fetch-types.js.map +1 -0
  41. server/node_modules/@notionhq/client/build/src/helpers.d.ts +71 -0
  42. server/node_modules/@notionhq/client/build/src/helpers.d.ts.map +1 -0
  43. server/node_modules/@notionhq/client/build/src/helpers.js +96 -0
  44. server/node_modules/@notionhq/client/build/src/helpers.js.map +1 -0
  45. server/node_modules/@notionhq/client/build/src/index.d.ts +5 -0
  46. server/node_modules/@notionhq/client/build/src/index.d.ts.map +1 -0
  47. server/node_modules/@notionhq/client/build/src/index.js +24 -0
  48. server/node_modules/@notionhq/client/build/src/index.js.map +1 -0
  49. server/node_modules/@notionhq/client/build/src/logging.d.ts +15 -0
  50. server/node_modules/@notionhq/client/build/src/logging.d.ts.map +1 -0
.DS_Store CHANGED
Binary files a/.DS_Store and b/.DS_Store differ
 
client/.gitignore ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Logs
2
+ logs
3
+ *.log
4
+ npm-debug.log*
5
+ yarn-debug.log*
6
+ yarn-error.log*
7
+ pnpm-debug.log*
8
+ lerna-debug.log*
9
+
10
+ node_modules
11
+ dist
12
+ dist-ssr
13
+ *.local
14
+
15
+ # Editor directories and files
16
+ .vscode/*
17
+ !.vscode/extensions.json
18
+ .idea
19
+ .DS_Store
20
+ *.suo
21
+ *.ntvs*
22
+ *.njsproj
23
+ *.sln
24
+ *.sw?
client/index.html ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Vite + React</title>
8
+ </head>
9
+ <body>
10
+ <div id="root"></div>
11
+ <script type="module" src="/src/main.jsx"></script>
12
+ <script
13
+ type="module"
14
+ src="https://gradio.s3-us-west-2.amazonaws.com/3.3.1/gradio.js"
15
+ ></script>
16
+ </body>
17
+ </html>
client/package-lock.json ADDED
@@ -0,0 +1,2268 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "client",
3
+ "version": "0.0.0",
4
+ "lockfileVersion": 2,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "version": "0.0.0",
9
+ "dependencies": {
10
+ "react": "^18.2.0",
11
+ "react-dom": "^18.2.0"
12
+ },
13
+ "devDependencies": {
14
+ "@types/react": "^18.0.26",
15
+ "@types/react-dom": "^18.0.9",
16
+ "@vitejs/plugin-react": "^3.0.0",
17
+ "vite": "^4.0.0"
18
+ }
19
+ },
20
+ "node_modules/@ampproject/remapping": {
21
+ "version": "2.2.0",
22
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
23
+ "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
24
+ "dev": true,
25
+ "dependencies": {
26
+ "@jridgewell/gen-mapping": "^0.1.0",
27
+ "@jridgewell/trace-mapping": "^0.3.9"
28
+ },
29
+ "engines": {
30
+ "node": ">=6.0.0"
31
+ }
32
+ },
33
+ "node_modules/@babel/code-frame": {
34
+ "version": "7.18.6",
35
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
36
+ "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
37
+ "dev": true,
38
+ "dependencies": {
39
+ "@babel/highlight": "^7.18.6"
40
+ },
41
+ "engines": {
42
+ "node": ">=6.9.0"
43
+ }
44
+ },
45
+ "node_modules/@babel/compat-data": {
46
+ "version": "7.20.14",
47
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.14.tgz",
48
+ "integrity": "sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==",
49
+ "dev": true,
50
+ "engines": {
51
+ "node": ">=6.9.0"
52
+ }
53
+ },
54
+ "node_modules/@babel/core": {
55
+ "version": "7.20.12",
56
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz",
57
+ "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==",
58
+ "dev": true,
59
+ "dependencies": {
60
+ "@ampproject/remapping": "^2.1.0",
61
+ "@babel/code-frame": "^7.18.6",
62
+ "@babel/generator": "^7.20.7",
63
+ "@babel/helper-compilation-targets": "^7.20.7",
64
+ "@babel/helper-module-transforms": "^7.20.11",
65
+ "@babel/helpers": "^7.20.7",
66
+ "@babel/parser": "^7.20.7",
67
+ "@babel/template": "^7.20.7",
68
+ "@babel/traverse": "^7.20.12",
69
+ "@babel/types": "^7.20.7",
70
+ "convert-source-map": "^1.7.0",
71
+ "debug": "^4.1.0",
72
+ "gensync": "^1.0.0-beta.2",
73
+ "json5": "^2.2.2",
74
+ "semver": "^6.3.0"
75
+ },
76
+ "engines": {
77
+ "node": ">=6.9.0"
78
+ },
79
+ "funding": {
80
+ "type": "opencollective",
81
+ "url": "https://opencollective.com/babel"
82
+ }
83
+ },
84
+ "node_modules/@babel/generator": {
85
+ "version": "7.20.14",
86
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz",
87
+ "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==",
88
+ "dev": true,
89
+ "dependencies": {
90
+ "@babel/types": "^7.20.7",
91
+ "@jridgewell/gen-mapping": "^0.3.2",
92
+ "jsesc": "^2.5.1"
93
+ },
94
+ "engines": {
95
+ "node": ">=6.9.0"
96
+ }
97
+ },
98
+ "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
99
+ "version": "0.3.2",
100
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
101
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
102
+ "dev": true,
103
+ "dependencies": {
104
+ "@jridgewell/set-array": "^1.0.1",
105
+ "@jridgewell/sourcemap-codec": "^1.4.10",
106
+ "@jridgewell/trace-mapping": "^0.3.9"
107
+ },
108
+ "engines": {
109
+ "node": ">=6.0.0"
110
+ }
111
+ },
112
+ "node_modules/@babel/helper-compilation-targets": {
113
+ "version": "7.20.7",
114
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
115
+ "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
116
+ "dev": true,
117
+ "dependencies": {
118
+ "@babel/compat-data": "^7.20.5",
119
+ "@babel/helper-validator-option": "^7.18.6",
120
+ "browserslist": "^4.21.3",
121
+ "lru-cache": "^5.1.1",
122
+ "semver": "^6.3.0"
123
+ },
124
+ "engines": {
125
+ "node": ">=6.9.0"
126
+ },
127
+ "peerDependencies": {
128
+ "@babel/core": "^7.0.0"
129
+ }
130
+ },
131
+ "node_modules/@babel/helper-environment-visitor": {
132
+ "version": "7.18.9",
133
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
134
+ "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
135
+ "dev": true,
136
+ "engines": {
137
+ "node": ">=6.9.0"
138
+ }
139
+ },
140
+ "node_modules/@babel/helper-function-name": {
141
+ "version": "7.19.0",
142
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
143
+ "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
144
+ "dev": true,
145
+ "dependencies": {
146
+ "@babel/template": "^7.18.10",
147
+ "@babel/types": "^7.19.0"
148
+ },
149
+ "engines": {
150
+ "node": ">=6.9.0"
151
+ }
152
+ },
153
+ "node_modules/@babel/helper-hoist-variables": {
154
+ "version": "7.18.6",
155
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
156
+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
157
+ "dev": true,
158
+ "dependencies": {
159
+ "@babel/types": "^7.18.6"
160
+ },
161
+ "engines": {
162
+ "node": ">=6.9.0"
163
+ }
164
+ },
165
+ "node_modules/@babel/helper-module-imports": {
166
+ "version": "7.18.6",
167
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
168
+ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
169
+ "dev": true,
170
+ "dependencies": {
171
+ "@babel/types": "^7.18.6"
172
+ },
173
+ "engines": {
174
+ "node": ">=6.9.0"
175
+ }
176
+ },
177
+ "node_modules/@babel/helper-module-transforms": {
178
+ "version": "7.20.11",
179
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz",
180
+ "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==",
181
+ "dev": true,
182
+ "dependencies": {
183
+ "@babel/helper-environment-visitor": "^7.18.9",
184
+ "@babel/helper-module-imports": "^7.18.6",
185
+ "@babel/helper-simple-access": "^7.20.2",
186
+ "@babel/helper-split-export-declaration": "^7.18.6",
187
+ "@babel/helper-validator-identifier": "^7.19.1",
188
+ "@babel/template": "^7.20.7",
189
+ "@babel/traverse": "^7.20.10",
190
+ "@babel/types": "^7.20.7"
191
+ },
192
+ "engines": {
193
+ "node": ">=6.9.0"
194
+ }
195
+ },
196
+ "node_modules/@babel/helper-plugin-utils": {
197
+ "version": "7.20.2",
198
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
199
+ "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
200
+ "dev": true,
201
+ "engines": {
202
+ "node": ">=6.9.0"
203
+ }
204
+ },
205
+ "node_modules/@babel/helper-simple-access": {
206
+ "version": "7.20.2",
207
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
208
+ "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
209
+ "dev": true,
210
+ "dependencies": {
211
+ "@babel/types": "^7.20.2"
212
+ },
213
+ "engines": {
214
+ "node": ">=6.9.0"
215
+ }
216
+ },
217
+ "node_modules/@babel/helper-split-export-declaration": {
218
+ "version": "7.18.6",
219
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
220
+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
221
+ "dev": true,
222
+ "dependencies": {
223
+ "@babel/types": "^7.18.6"
224
+ },
225
+ "engines": {
226
+ "node": ">=6.9.0"
227
+ }
228
+ },
229
+ "node_modules/@babel/helper-string-parser": {
230
+ "version": "7.19.4",
231
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
232
+ "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
233
+ "dev": true,
234
+ "engines": {
235
+ "node": ">=6.9.0"
236
+ }
237
+ },
238
+ "node_modules/@babel/helper-validator-identifier": {
239
+ "version": "7.19.1",
240
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
241
+ "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
242
+ "dev": true,
243
+ "engines": {
244
+ "node": ">=6.9.0"
245
+ }
246
+ },
247
+ "node_modules/@babel/helper-validator-option": {
248
+ "version": "7.18.6",
249
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
250
+ "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
251
+ "dev": true,
252
+ "engines": {
253
+ "node": ">=6.9.0"
254
+ }
255
+ },
256
+ "node_modules/@babel/helpers": {
257
+ "version": "7.20.13",
258
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz",
259
+ "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==",
260
+ "dev": true,
261
+ "dependencies": {
262
+ "@babel/template": "^7.20.7",
263
+ "@babel/traverse": "^7.20.13",
264
+ "@babel/types": "^7.20.7"
265
+ },
266
+ "engines": {
267
+ "node": ">=6.9.0"
268
+ }
269
+ },
270
+ "node_modules/@babel/highlight": {
271
+ "version": "7.18.6",
272
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
273
+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
274
+ "dev": true,
275
+ "dependencies": {
276
+ "@babel/helper-validator-identifier": "^7.18.6",
277
+ "chalk": "^2.0.0",
278
+ "js-tokens": "^4.0.0"
279
+ },
280
+ "engines": {
281
+ "node": ">=6.9.0"
282
+ }
283
+ },
284
+ "node_modules/@babel/parser": {
285
+ "version": "7.20.13",
286
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz",
287
+ "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==",
288
+ "dev": true,
289
+ "bin": {
290
+ "parser": "bin/babel-parser.js"
291
+ },
292
+ "engines": {
293
+ "node": ">=6.0.0"
294
+ }
295
+ },
296
+ "node_modules/@babel/plugin-transform-react-jsx-self": {
297
+ "version": "7.18.6",
298
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz",
299
+ "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==",
300
+ "dev": true,
301
+ "dependencies": {
302
+ "@babel/helper-plugin-utils": "^7.18.6"
303
+ },
304
+ "engines": {
305
+ "node": ">=6.9.0"
306
+ },
307
+ "peerDependencies": {
308
+ "@babel/core": "^7.0.0-0"
309
+ }
310
+ },
311
+ "node_modules/@babel/plugin-transform-react-jsx-source": {
312
+ "version": "7.19.6",
313
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz",
314
+ "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==",
315
+ "dev": true,
316
+ "dependencies": {
317
+ "@babel/helper-plugin-utils": "^7.19.0"
318
+ },
319
+ "engines": {
320
+ "node": ">=6.9.0"
321
+ },
322
+ "peerDependencies": {
323
+ "@babel/core": "^7.0.0-0"
324
+ }
325
+ },
326
+ "node_modules/@babel/template": {
327
+ "version": "7.20.7",
328
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
329
+ "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
330
+ "dev": true,
331
+ "dependencies": {
332
+ "@babel/code-frame": "^7.18.6",
333
+ "@babel/parser": "^7.20.7",
334
+ "@babel/types": "^7.20.7"
335
+ },
336
+ "engines": {
337
+ "node": ">=6.9.0"
338
+ }
339
+ },
340
+ "node_modules/@babel/traverse": {
341
+ "version": "7.20.13",
342
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz",
343
+ "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==",
344
+ "dev": true,
345
+ "dependencies": {
346
+ "@babel/code-frame": "^7.18.6",
347
+ "@babel/generator": "^7.20.7",
348
+ "@babel/helper-environment-visitor": "^7.18.9",
349
+ "@babel/helper-function-name": "^7.19.0",
350
+ "@babel/helper-hoist-variables": "^7.18.6",
351
+ "@babel/helper-split-export-declaration": "^7.18.6",
352
+ "@babel/parser": "^7.20.13",
353
+ "@babel/types": "^7.20.7",
354
+ "debug": "^4.1.0",
355
+ "globals": "^11.1.0"
356
+ },
357
+ "engines": {
358
+ "node": ">=6.9.0"
359
+ }
360
+ },
361
+ "node_modules/@babel/types": {
362
+ "version": "7.20.7",
363
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
364
+ "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==",
365
+ "dev": true,
366
+ "dependencies": {
367
+ "@babel/helper-string-parser": "^7.19.4",
368
+ "@babel/helper-validator-identifier": "^7.19.1",
369
+ "to-fast-properties": "^2.0.0"
370
+ },
371
+ "engines": {
372
+ "node": ">=6.9.0"
373
+ }
374
+ },
375
+ "node_modules/@esbuild/android-arm": {
376
+ "version": "0.16.17",
377
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz",
378
+ "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==",
379
+ "cpu": [
380
+ "arm"
381
+ ],
382
+ "dev": true,
383
+ "optional": true,
384
+ "os": [
385
+ "android"
386
+ ],
387
+ "engines": {
388
+ "node": ">=12"
389
+ }
390
+ },
391
+ "node_modules/@esbuild/android-arm64": {
392
+ "version": "0.16.17",
393
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz",
394
+ "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==",
395
+ "cpu": [
396
+ "arm64"
397
+ ],
398
+ "dev": true,
399
+ "optional": true,
400
+ "os": [
401
+ "android"
402
+ ],
403
+ "engines": {
404
+ "node": ">=12"
405
+ }
406
+ },
407
+ "node_modules/@esbuild/android-x64": {
408
+ "version": "0.16.17",
409
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz",
410
+ "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==",
411
+ "cpu": [
412
+ "x64"
413
+ ],
414
+ "dev": true,
415
+ "optional": true,
416
+ "os": [
417
+ "android"
418
+ ],
419
+ "engines": {
420
+ "node": ">=12"
421
+ }
422
+ },
423
+ "node_modules/@esbuild/darwin-arm64": {
424
+ "version": "0.16.17",
425
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
426
+ "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==",
427
+ "cpu": [
428
+ "arm64"
429
+ ],
430
+ "dev": true,
431
+ "optional": true,
432
+ "os": [
433
+ "darwin"
434
+ ],
435
+ "engines": {
436
+ "node": ">=12"
437
+ }
438
+ },
439
+ "node_modules/@esbuild/darwin-x64": {
440
+ "version": "0.16.17",
441
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz",
442
+ "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==",
443
+ "cpu": [
444
+ "x64"
445
+ ],
446
+ "dev": true,
447
+ "optional": true,
448
+ "os": [
449
+ "darwin"
450
+ ],
451
+ "engines": {
452
+ "node": ">=12"
453
+ }
454
+ },
455
+ "node_modules/@esbuild/freebsd-arm64": {
456
+ "version": "0.16.17",
457
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz",
458
+ "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==",
459
+ "cpu": [
460
+ "arm64"
461
+ ],
462
+ "dev": true,
463
+ "optional": true,
464
+ "os": [
465
+ "freebsd"
466
+ ],
467
+ "engines": {
468
+ "node": ">=12"
469
+ }
470
+ },
471
+ "node_modules/@esbuild/freebsd-x64": {
472
+ "version": "0.16.17",
473
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz",
474
+ "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==",
475
+ "cpu": [
476
+ "x64"
477
+ ],
478
+ "dev": true,
479
+ "optional": true,
480
+ "os": [
481
+ "freebsd"
482
+ ],
483
+ "engines": {
484
+ "node": ">=12"
485
+ }
486
+ },
487
+ "node_modules/@esbuild/linux-arm": {
488
+ "version": "0.16.17",
489
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz",
490
+ "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==",
491
+ "cpu": [
492
+ "arm"
493
+ ],
494
+ "dev": true,
495
+ "optional": true,
496
+ "os": [
497
+ "linux"
498
+ ],
499
+ "engines": {
500
+ "node": ">=12"
501
+ }
502
+ },
503
+ "node_modules/@esbuild/linux-arm64": {
504
+ "version": "0.16.17",
505
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz",
506
+ "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==",
507
+ "cpu": [
508
+ "arm64"
509
+ ],
510
+ "dev": true,
511
+ "optional": true,
512
+ "os": [
513
+ "linux"
514
+ ],
515
+ "engines": {
516
+ "node": ">=12"
517
+ }
518
+ },
519
+ "node_modules/@esbuild/linux-ia32": {
520
+ "version": "0.16.17",
521
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz",
522
+ "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==",
523
+ "cpu": [
524
+ "ia32"
525
+ ],
526
+ "dev": true,
527
+ "optional": true,
528
+ "os": [
529
+ "linux"
530
+ ],
531
+ "engines": {
532
+ "node": ">=12"
533
+ }
534
+ },
535
+ "node_modules/@esbuild/linux-loong64": {
536
+ "version": "0.16.17",
537
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz",
538
+ "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==",
539
+ "cpu": [
540
+ "loong64"
541
+ ],
542
+ "dev": true,
543
+ "optional": true,
544
+ "os": [
545
+ "linux"
546
+ ],
547
+ "engines": {
548
+ "node": ">=12"
549
+ }
550
+ },
551
+ "node_modules/@esbuild/linux-mips64el": {
552
+ "version": "0.16.17",
553
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz",
554
+ "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==",
555
+ "cpu": [
556
+ "mips64el"
557
+ ],
558
+ "dev": true,
559
+ "optional": true,
560
+ "os": [
561
+ "linux"
562
+ ],
563
+ "engines": {
564
+ "node": ">=12"
565
+ }
566
+ },
567
+ "node_modules/@esbuild/linux-ppc64": {
568
+ "version": "0.16.17",
569
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz",
570
+ "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==",
571
+ "cpu": [
572
+ "ppc64"
573
+ ],
574
+ "dev": true,
575
+ "optional": true,
576
+ "os": [
577
+ "linux"
578
+ ],
579
+ "engines": {
580
+ "node": ">=12"
581
+ }
582
+ },
583
+ "node_modules/@esbuild/linux-riscv64": {
584
+ "version": "0.16.17",
585
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz",
586
+ "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==",
587
+ "cpu": [
588
+ "riscv64"
589
+ ],
590
+ "dev": true,
591
+ "optional": true,
592
+ "os": [
593
+ "linux"
594
+ ],
595
+ "engines": {
596
+ "node": ">=12"
597
+ }
598
+ },
599
+ "node_modules/@esbuild/linux-s390x": {
600
+ "version": "0.16.17",
601
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz",
602
+ "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==",
603
+ "cpu": [
604
+ "s390x"
605
+ ],
606
+ "dev": true,
607
+ "optional": true,
608
+ "os": [
609
+ "linux"
610
+ ],
611
+ "engines": {
612
+ "node": ">=12"
613
+ }
614
+ },
615
+ "node_modules/@esbuild/linux-x64": {
616
+ "version": "0.16.17",
617
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz",
618
+ "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==",
619
+ "cpu": [
620
+ "x64"
621
+ ],
622
+ "dev": true,
623
+ "optional": true,
624
+ "os": [
625
+ "linux"
626
+ ],
627
+ "engines": {
628
+ "node": ">=12"
629
+ }
630
+ },
631
+ "node_modules/@esbuild/netbsd-x64": {
632
+ "version": "0.16.17",
633
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz",
634
+ "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==",
635
+ "cpu": [
636
+ "x64"
637
+ ],
638
+ "dev": true,
639
+ "optional": true,
640
+ "os": [
641
+ "netbsd"
642
+ ],
643
+ "engines": {
644
+ "node": ">=12"
645
+ }
646
+ },
647
+ "node_modules/@esbuild/openbsd-x64": {
648
+ "version": "0.16.17",
649
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz",
650
+ "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==",
651
+ "cpu": [
652
+ "x64"
653
+ ],
654
+ "dev": true,
655
+ "optional": true,
656
+ "os": [
657
+ "openbsd"
658
+ ],
659
+ "engines": {
660
+ "node": ">=12"
661
+ }
662
+ },
663
+ "node_modules/@esbuild/sunos-x64": {
664
+ "version": "0.16.17",
665
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz",
666
+ "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==",
667
+ "cpu": [
668
+ "x64"
669
+ ],
670
+ "dev": true,
671
+ "optional": true,
672
+ "os": [
673
+ "sunos"
674
+ ],
675
+ "engines": {
676
+ "node": ">=12"
677
+ }
678
+ },
679
+ "node_modules/@esbuild/win32-arm64": {
680
+ "version": "0.16.17",
681
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz",
682
+ "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==",
683
+ "cpu": [
684
+ "arm64"
685
+ ],
686
+ "dev": true,
687
+ "optional": true,
688
+ "os": [
689
+ "win32"
690
+ ],
691
+ "engines": {
692
+ "node": ">=12"
693
+ }
694
+ },
695
+ "node_modules/@esbuild/win32-ia32": {
696
+ "version": "0.16.17",
697
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz",
698
+ "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==",
699
+ "cpu": [
700
+ "ia32"
701
+ ],
702
+ "dev": true,
703
+ "optional": true,
704
+ "os": [
705
+ "win32"
706
+ ],
707
+ "engines": {
708
+ "node": ">=12"
709
+ }
710
+ },
711
+ "node_modules/@esbuild/win32-x64": {
712
+ "version": "0.16.17",
713
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz",
714
+ "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==",
715
+ "cpu": [
716
+ "x64"
717
+ ],
718
+ "dev": true,
719
+ "optional": true,
720
+ "os": [
721
+ "win32"
722
+ ],
723
+ "engines": {
724
+ "node": ">=12"
725
+ }
726
+ },
727
+ "node_modules/@jridgewell/gen-mapping": {
728
+ "version": "0.1.1",
729
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
730
+ "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
731
+ "dev": true,
732
+ "dependencies": {
733
+ "@jridgewell/set-array": "^1.0.0",
734
+ "@jridgewell/sourcemap-codec": "^1.4.10"
735
+ },
736
+ "engines": {
737
+ "node": ">=6.0.0"
738
+ }
739
+ },
740
+ "node_modules/@jridgewell/resolve-uri": {
741
+ "version": "3.1.0",
742
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
743
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
744
+ "dev": true,
745
+ "engines": {
746
+ "node": ">=6.0.0"
747
+ }
748
+ },
749
+ "node_modules/@jridgewell/set-array": {
750
+ "version": "1.1.2",
751
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
752
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
753
+ "dev": true,
754
+ "engines": {
755
+ "node": ">=6.0.0"
756
+ }
757
+ },
758
+ "node_modules/@jridgewell/sourcemap-codec": {
759
+ "version": "1.4.14",
760
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
761
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
762
+ "dev": true
763
+ },
764
+ "node_modules/@jridgewell/trace-mapping": {
765
+ "version": "0.3.17",
766
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
767
+ "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
768
+ "dev": true,
769
+ "dependencies": {
770
+ "@jridgewell/resolve-uri": "3.1.0",
771
+ "@jridgewell/sourcemap-codec": "1.4.14"
772
+ }
773
+ },
774
+ "node_modules/@types/prop-types": {
775
+ "version": "15.7.5",
776
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
777
+ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
778
+ "dev": true
779
+ },
780
+ "node_modules/@types/react": {
781
+ "version": "18.0.27",
782
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz",
783
+ "integrity": "sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==",
784
+ "dev": true,
785
+ "dependencies": {
786
+ "@types/prop-types": "*",
787
+ "@types/scheduler": "*",
788
+ "csstype": "^3.0.2"
789
+ }
790
+ },
791
+ "node_modules/@types/react-dom": {
792
+ "version": "18.0.10",
793
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz",
794
+ "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==",
795
+ "dev": true,
796
+ "dependencies": {
797
+ "@types/react": "*"
798
+ }
799
+ },
800
+ "node_modules/@types/scheduler": {
801
+ "version": "0.16.2",
802
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
803
+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
804
+ "dev": true
805
+ },
806
+ "node_modules/@vitejs/plugin-react": {
807
+ "version": "3.0.1",
808
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.1.tgz",
809
+ "integrity": "sha512-mx+QvYwIbbpOIJw+hypjnW1lAbKDHtWK5ibkF/V1/oMBu8HU/chb+SnqJDAsLq1+7rGqjktCEomMTM5KShzUKQ==",
810
+ "dev": true,
811
+ "dependencies": {
812
+ "@babel/core": "^7.20.7",
813
+ "@babel/plugin-transform-react-jsx-self": "^7.18.6",
814
+ "@babel/plugin-transform-react-jsx-source": "^7.19.6",
815
+ "magic-string": "^0.27.0",
816
+ "react-refresh": "^0.14.0"
817
+ },
818
+ "engines": {
819
+ "node": "^14.18.0 || >=16.0.0"
820
+ },
821
+ "peerDependencies": {
822
+ "vite": "^4.0.0"
823
+ }
824
+ },
825
+ "node_modules/ansi-styles": {
826
+ "version": "3.2.1",
827
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
828
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
829
+ "dev": true,
830
+ "dependencies": {
831
+ "color-convert": "^1.9.0"
832
+ },
833
+ "engines": {
834
+ "node": ">=4"
835
+ }
836
+ },
837
+ "node_modules/browserslist": {
838
+ "version": "4.21.5",
839
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
840
+ "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
841
+ "dev": true,
842
+ "funding": [
843
+ {
844
+ "type": "opencollective",
845
+ "url": "https://opencollective.com/browserslist"
846
+ },
847
+ {
848
+ "type": "tidelift",
849
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
850
+ }
851
+ ],
852
+ "dependencies": {
853
+ "caniuse-lite": "^1.0.30001449",
854
+ "electron-to-chromium": "^1.4.284",
855
+ "node-releases": "^2.0.8",
856
+ "update-browserslist-db": "^1.0.10"
857
+ },
858
+ "bin": {
859
+ "browserslist": "cli.js"
860
+ },
861
+ "engines": {
862
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
863
+ }
864
+ },
865
+ "node_modules/caniuse-lite": {
866
+ "version": "1.0.30001449",
867
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz",
868
+ "integrity": "sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw==",
869
+ "dev": true,
870
+ "funding": [
871
+ {
872
+ "type": "opencollective",
873
+ "url": "https://opencollective.com/browserslist"
874
+ },
875
+ {
876
+ "type": "tidelift",
877
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
878
+ }
879
+ ]
880
+ },
881
+ "node_modules/chalk": {
882
+ "version": "2.4.2",
883
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
884
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
885
+ "dev": true,
886
+ "dependencies": {
887
+ "ansi-styles": "^3.2.1",
888
+ "escape-string-regexp": "^1.0.5",
889
+ "supports-color": "^5.3.0"
890
+ },
891
+ "engines": {
892
+ "node": ">=4"
893
+ }
894
+ },
895
+ "node_modules/color-convert": {
896
+ "version": "1.9.3",
897
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
898
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
899
+ "dev": true,
900
+ "dependencies": {
901
+ "color-name": "1.1.3"
902
+ }
903
+ },
904
+ "node_modules/color-name": {
905
+ "version": "1.1.3",
906
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
907
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
908
+ "dev": true
909
+ },
910
+ "node_modules/convert-source-map": {
911
+ "version": "1.9.0",
912
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
913
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
914
+ "dev": true
915
+ },
916
+ "node_modules/csstype": {
917
+ "version": "3.1.1",
918
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
919
+ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
920
+ "dev": true
921
+ },
922
+ "node_modules/debug": {
923
+ "version": "4.3.4",
924
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
925
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
926
+ "dev": true,
927
+ "dependencies": {
928
+ "ms": "2.1.2"
929
+ },
930
+ "engines": {
931
+ "node": ">=6.0"
932
+ },
933
+ "peerDependenciesMeta": {
934
+ "supports-color": {
935
+ "optional": true
936
+ }
937
+ }
938
+ },
939
+ "node_modules/electron-to-chromium": {
940
+ "version": "1.4.284",
941
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
942
+ "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
943
+ "dev": true
944
+ },
945
+ "node_modules/esbuild": {
946
+ "version": "0.16.17",
947
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz",
948
+ "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==",
949
+ "dev": true,
950
+ "hasInstallScript": true,
951
+ "bin": {
952
+ "esbuild": "bin/esbuild"
953
+ },
954
+ "engines": {
955
+ "node": ">=12"
956
+ },
957
+ "optionalDependencies": {
958
+ "@esbuild/android-arm": "0.16.17",
959
+ "@esbuild/android-arm64": "0.16.17",
960
+ "@esbuild/android-x64": "0.16.17",
961
+ "@esbuild/darwin-arm64": "0.16.17",
962
+ "@esbuild/darwin-x64": "0.16.17",
963
+ "@esbuild/freebsd-arm64": "0.16.17",
964
+ "@esbuild/freebsd-x64": "0.16.17",
965
+ "@esbuild/linux-arm": "0.16.17",
966
+ "@esbuild/linux-arm64": "0.16.17",
967
+ "@esbuild/linux-ia32": "0.16.17",
968
+ "@esbuild/linux-loong64": "0.16.17",
969
+ "@esbuild/linux-mips64el": "0.16.17",
970
+ "@esbuild/linux-ppc64": "0.16.17",
971
+ "@esbuild/linux-riscv64": "0.16.17",
972
+ "@esbuild/linux-s390x": "0.16.17",
973
+ "@esbuild/linux-x64": "0.16.17",
974
+ "@esbuild/netbsd-x64": "0.16.17",
975
+ "@esbuild/openbsd-x64": "0.16.17",
976
+ "@esbuild/sunos-x64": "0.16.17",
977
+ "@esbuild/win32-arm64": "0.16.17",
978
+ "@esbuild/win32-ia32": "0.16.17",
979
+ "@esbuild/win32-x64": "0.16.17"
980
+ }
981
+ },
982
+ "node_modules/escalade": {
983
+ "version": "3.1.1",
984
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
985
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
986
+ "dev": true,
987
+ "engines": {
988
+ "node": ">=6"
989
+ }
990
+ },
991
+ "node_modules/escape-string-regexp": {
992
+ "version": "1.0.5",
993
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
994
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
995
+ "dev": true,
996
+ "engines": {
997
+ "node": ">=0.8.0"
998
+ }
999
+ },
1000
+ "node_modules/fsevents": {
1001
+ "version": "2.3.2",
1002
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1003
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1004
+ "dev": true,
1005
+ "hasInstallScript": true,
1006
+ "optional": true,
1007
+ "os": [
1008
+ "darwin"
1009
+ ],
1010
+ "engines": {
1011
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1012
+ }
1013
+ },
1014
+ "node_modules/function-bind": {
1015
+ "version": "1.1.1",
1016
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1017
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1018
+ "dev": true
1019
+ },
1020
+ "node_modules/gensync": {
1021
+ "version": "1.0.0-beta.2",
1022
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
1023
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
1024
+ "dev": true,
1025
+ "engines": {
1026
+ "node": ">=6.9.0"
1027
+ }
1028
+ },
1029
+ "node_modules/globals": {
1030
+ "version": "11.12.0",
1031
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
1032
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
1033
+ "dev": true,
1034
+ "engines": {
1035
+ "node": ">=4"
1036
+ }
1037
+ },
1038
+ "node_modules/has": {
1039
+ "version": "1.0.3",
1040
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1041
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1042
+ "dev": true,
1043
+ "dependencies": {
1044
+ "function-bind": "^1.1.1"
1045
+ },
1046
+ "engines": {
1047
+ "node": ">= 0.4.0"
1048
+ }
1049
+ },
1050
+ "node_modules/has-flag": {
1051
+ "version": "3.0.0",
1052
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1053
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
1054
+ "dev": true,
1055
+ "engines": {
1056
+ "node": ">=4"
1057
+ }
1058
+ },
1059
+ "node_modules/is-core-module": {
1060
+ "version": "2.11.0",
1061
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
1062
+ "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
1063
+ "dev": true,
1064
+ "dependencies": {
1065
+ "has": "^1.0.3"
1066
+ },
1067
+ "funding": {
1068
+ "url": "https://github.com/sponsors/ljharb"
1069
+ }
1070
+ },
1071
+ "node_modules/js-tokens": {
1072
+ "version": "4.0.0",
1073
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1074
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
1075
+ },
1076
+ "node_modules/jsesc": {
1077
+ "version": "2.5.2",
1078
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
1079
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
1080
+ "dev": true,
1081
+ "bin": {
1082
+ "jsesc": "bin/jsesc"
1083
+ },
1084
+ "engines": {
1085
+ "node": ">=4"
1086
+ }
1087
+ },
1088
+ "node_modules/json5": {
1089
+ "version": "2.2.3",
1090
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
1091
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
1092
+ "dev": true,
1093
+ "bin": {
1094
+ "json5": "lib/cli.js"
1095
+ },
1096
+ "engines": {
1097
+ "node": ">=6"
1098
+ }
1099
+ },
1100
+ "node_modules/loose-envify": {
1101
+ "version": "1.4.0",
1102
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1103
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1104
+ "dependencies": {
1105
+ "js-tokens": "^3.0.0 || ^4.0.0"
1106
+ },
1107
+ "bin": {
1108
+ "loose-envify": "cli.js"
1109
+ }
1110
+ },
1111
+ "node_modules/lru-cache": {
1112
+ "version": "5.1.1",
1113
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
1114
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1115
+ "dev": true,
1116
+ "dependencies": {
1117
+ "yallist": "^3.0.2"
1118
+ }
1119
+ },
1120
+ "node_modules/magic-string": {
1121
+ "version": "0.27.0",
1122
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
1123
+ "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
1124
+ "dev": true,
1125
+ "dependencies": {
1126
+ "@jridgewell/sourcemap-codec": "^1.4.13"
1127
+ },
1128
+ "engines": {
1129
+ "node": ">=12"
1130
+ }
1131
+ },
1132
+ "node_modules/ms": {
1133
+ "version": "2.1.2",
1134
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1135
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1136
+ "dev": true
1137
+ },
1138
+ "node_modules/nanoid": {
1139
+ "version": "3.3.4",
1140
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
1141
+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
1142
+ "dev": true,
1143
+ "bin": {
1144
+ "nanoid": "bin/nanoid.cjs"
1145
+ },
1146
+ "engines": {
1147
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1148
+ }
1149
+ },
1150
+ "node_modules/node-releases": {
1151
+ "version": "2.0.9",
1152
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz",
1153
+ "integrity": "sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==",
1154
+ "dev": true
1155
+ },
1156
+ "node_modules/path-parse": {
1157
+ "version": "1.0.7",
1158
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1159
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1160
+ "dev": true
1161
+ },
1162
+ "node_modules/picocolors": {
1163
+ "version": "1.0.0",
1164
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
1165
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
1166
+ "dev": true
1167
+ },
1168
+ "node_modules/postcss": {
1169
+ "version": "8.4.21",
1170
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
1171
+ "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
1172
+ "dev": true,
1173
+ "funding": [
1174
+ {
1175
+ "type": "opencollective",
1176
+ "url": "https://opencollective.com/postcss/"
1177
+ },
1178
+ {
1179
+ "type": "tidelift",
1180
+ "url": "https://tidelift.com/funding/github/npm/postcss"
1181
+ }
1182
+ ],
1183
+ "dependencies": {
1184
+ "nanoid": "^3.3.4",
1185
+ "picocolors": "^1.0.0",
1186
+ "source-map-js": "^1.0.2"
1187
+ },
1188
+ "engines": {
1189
+ "node": "^10 || ^12 || >=14"
1190
+ }
1191
+ },
1192
+ "node_modules/react": {
1193
+ "version": "18.2.0",
1194
+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
1195
+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
1196
+ "dependencies": {
1197
+ "loose-envify": "^1.1.0"
1198
+ },
1199
+ "engines": {
1200
+ "node": ">=0.10.0"
1201
+ }
1202
+ },
1203
+ "node_modules/react-dom": {
1204
+ "version": "18.2.0",
1205
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
1206
+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
1207
+ "dependencies": {
1208
+ "loose-envify": "^1.1.0",
1209
+ "scheduler": "^0.23.0"
1210
+ },
1211
+ "peerDependencies": {
1212
+ "react": "^18.2.0"
1213
+ }
1214
+ },
1215
+ "node_modules/react-refresh": {
1216
+ "version": "0.14.0",
1217
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
1218
+ "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==",
1219
+ "dev": true,
1220
+ "engines": {
1221
+ "node": ">=0.10.0"
1222
+ }
1223
+ },
1224
+ "node_modules/resolve": {
1225
+ "version": "1.22.1",
1226
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
1227
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
1228
+ "dev": true,
1229
+ "dependencies": {
1230
+ "is-core-module": "^2.9.0",
1231
+ "path-parse": "^1.0.7",
1232
+ "supports-preserve-symlinks-flag": "^1.0.0"
1233
+ },
1234
+ "bin": {
1235
+ "resolve": "bin/resolve"
1236
+ },
1237
+ "funding": {
1238
+ "url": "https://github.com/sponsors/ljharb"
1239
+ }
1240
+ },
1241
+ "node_modules/rollup": {
1242
+ "version": "3.12.0",
1243
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.0.tgz",
1244
+ "integrity": "sha512-4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg==",
1245
+ "dev": true,
1246
+ "bin": {
1247
+ "rollup": "dist/bin/rollup"
1248
+ },
1249
+ "engines": {
1250
+ "node": ">=14.18.0",
1251
+ "npm": ">=8.0.0"
1252
+ },
1253
+ "optionalDependencies": {
1254
+ "fsevents": "~2.3.2"
1255
+ }
1256
+ },
1257
+ "node_modules/scheduler": {
1258
+ "version": "0.23.0",
1259
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
1260
+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
1261
+ "dependencies": {
1262
+ "loose-envify": "^1.1.0"
1263
+ }
1264
+ },
1265
+ "node_modules/semver": {
1266
+ "version": "6.3.0",
1267
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
1268
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
1269
+ "dev": true,
1270
+ "bin": {
1271
+ "semver": "bin/semver.js"
1272
+ }
1273
+ },
1274
+ "node_modules/source-map-js": {
1275
+ "version": "1.0.2",
1276
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1277
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
1278
+ "dev": true,
1279
+ "engines": {
1280
+ "node": ">=0.10.0"
1281
+ }
1282
+ },
1283
+ "node_modules/supports-color": {
1284
+ "version": "5.5.0",
1285
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1286
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1287
+ "dev": true,
1288
+ "dependencies": {
1289
+ "has-flag": "^3.0.0"
1290
+ },
1291
+ "engines": {
1292
+ "node": ">=4"
1293
+ }
1294
+ },
1295
+ "node_modules/supports-preserve-symlinks-flag": {
1296
+ "version": "1.0.0",
1297
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1298
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1299
+ "dev": true,
1300
+ "engines": {
1301
+ "node": ">= 0.4"
1302
+ },
1303
+ "funding": {
1304
+ "url": "https://github.com/sponsors/ljharb"
1305
+ }
1306
+ },
1307
+ "node_modules/to-fast-properties": {
1308
+ "version": "2.0.0",
1309
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
1310
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
1311
+ "dev": true,
1312
+ "engines": {
1313
+ "node": ">=4"
1314
+ }
1315
+ },
1316
+ "node_modules/update-browserslist-db": {
1317
+ "version": "1.0.10",
1318
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
1319
+ "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
1320
+ "dev": true,
1321
+ "funding": [
1322
+ {
1323
+ "type": "opencollective",
1324
+ "url": "https://opencollective.com/browserslist"
1325
+ },
1326
+ {
1327
+ "type": "tidelift",
1328
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
1329
+ }
1330
+ ],
1331
+ "dependencies": {
1332
+ "escalade": "^3.1.1",
1333
+ "picocolors": "^1.0.0"
1334
+ },
1335
+ "bin": {
1336
+ "browserslist-lint": "cli.js"
1337
+ },
1338
+ "peerDependencies": {
1339
+ "browserslist": ">= 4.21.0"
1340
+ }
1341
+ },
1342
+ "node_modules/vite": {
1343
+ "version": "4.0.4",
1344
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz",
1345
+ "integrity": "sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==",
1346
+ "dev": true,
1347
+ "dependencies": {
1348
+ "esbuild": "^0.16.3",
1349
+ "postcss": "^8.4.20",
1350
+ "resolve": "^1.22.1",
1351
+ "rollup": "^3.7.0"
1352
+ },
1353
+ "bin": {
1354
+ "vite": "bin/vite.js"
1355
+ },
1356
+ "engines": {
1357
+ "node": "^14.18.0 || >=16.0.0"
1358
+ },
1359
+ "optionalDependencies": {
1360
+ "fsevents": "~2.3.2"
1361
+ },
1362
+ "peerDependencies": {
1363
+ "@types/node": ">= 14",
1364
+ "less": "*",
1365
+ "sass": "*",
1366
+ "stylus": "*",
1367
+ "sugarss": "*",
1368
+ "terser": "^5.4.0"
1369
+ },
1370
+ "peerDependenciesMeta": {
1371
+ "@types/node": {
1372
+ "optional": true
1373
+ },
1374
+ "less": {
1375
+ "optional": true
1376
+ },
1377
+ "sass": {
1378
+ "optional": true
1379
+ },
1380
+ "stylus": {
1381
+ "optional": true
1382
+ },
1383
+ "sugarss": {
1384
+ "optional": true
1385
+ },
1386
+ "terser": {
1387
+ "optional": true
1388
+ }
1389
+ }
1390
+ },
1391
+ "node_modules/yallist": {
1392
+ "version": "3.1.1",
1393
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
1394
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
1395
+ "dev": true
1396
+ }
1397
+ },
1398
+ "dependencies": {
1399
+ "@ampproject/remapping": {
1400
+ "version": "2.2.0",
1401
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
1402
+ "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
1403
+ "dev": true,
1404
+ "requires": {
1405
+ "@jridgewell/gen-mapping": "^0.1.0",
1406
+ "@jridgewell/trace-mapping": "^0.3.9"
1407
+ }
1408
+ },
1409
+ "@babel/code-frame": {
1410
+ "version": "7.18.6",
1411
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
1412
+ "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
1413
+ "dev": true,
1414
+ "requires": {
1415
+ "@babel/highlight": "^7.18.6"
1416
+ }
1417
+ },
1418
+ "@babel/compat-data": {
1419
+ "version": "7.20.14",
1420
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.14.tgz",
1421
+ "integrity": "sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==",
1422
+ "dev": true
1423
+ },
1424
+ "@babel/core": {
1425
+ "version": "7.20.12",
1426
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz",
1427
+ "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==",
1428
+ "dev": true,
1429
+ "requires": {
1430
+ "@ampproject/remapping": "^2.1.0",
1431
+ "@babel/code-frame": "^7.18.6",
1432
+ "@babel/generator": "^7.20.7",
1433
+ "@babel/helper-compilation-targets": "^7.20.7",
1434
+ "@babel/helper-module-transforms": "^7.20.11",
1435
+ "@babel/helpers": "^7.20.7",
1436
+ "@babel/parser": "^7.20.7",
1437
+ "@babel/template": "^7.20.7",
1438
+ "@babel/traverse": "^7.20.12",
1439
+ "@babel/types": "^7.20.7",
1440
+ "convert-source-map": "^1.7.0",
1441
+ "debug": "^4.1.0",
1442
+ "gensync": "^1.0.0-beta.2",
1443
+ "json5": "^2.2.2",
1444
+ "semver": "^6.3.0"
1445
+ }
1446
+ },
1447
+ "@babel/generator": {
1448
+ "version": "7.20.14",
1449
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz",
1450
+ "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==",
1451
+ "dev": true,
1452
+ "requires": {
1453
+ "@babel/types": "^7.20.7",
1454
+ "@jridgewell/gen-mapping": "^0.3.2",
1455
+ "jsesc": "^2.5.1"
1456
+ },
1457
+ "dependencies": {
1458
+ "@jridgewell/gen-mapping": {
1459
+ "version": "0.3.2",
1460
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
1461
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
1462
+ "dev": true,
1463
+ "requires": {
1464
+ "@jridgewell/set-array": "^1.0.1",
1465
+ "@jridgewell/sourcemap-codec": "^1.4.10",
1466
+ "@jridgewell/trace-mapping": "^0.3.9"
1467
+ }
1468
+ }
1469
+ }
1470
+ },
1471
+ "@babel/helper-compilation-targets": {
1472
+ "version": "7.20.7",
1473
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
1474
+ "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
1475
+ "dev": true,
1476
+ "requires": {
1477
+ "@babel/compat-data": "^7.20.5",
1478
+ "@babel/helper-validator-option": "^7.18.6",
1479
+ "browserslist": "^4.21.3",
1480
+ "lru-cache": "^5.1.1",
1481
+ "semver": "^6.3.0"
1482
+ }
1483
+ },
1484
+ "@babel/helper-environment-visitor": {
1485
+ "version": "7.18.9",
1486
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
1487
+ "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
1488
+ "dev": true
1489
+ },
1490
+ "@babel/helper-function-name": {
1491
+ "version": "7.19.0",
1492
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
1493
+ "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
1494
+ "dev": true,
1495
+ "requires": {
1496
+ "@babel/template": "^7.18.10",
1497
+ "@babel/types": "^7.19.0"
1498
+ }
1499
+ },
1500
+ "@babel/helper-hoist-variables": {
1501
+ "version": "7.18.6",
1502
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
1503
+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
1504
+ "dev": true,
1505
+ "requires": {
1506
+ "@babel/types": "^7.18.6"
1507
+ }
1508
+ },
1509
+ "@babel/helper-module-imports": {
1510
+ "version": "7.18.6",
1511
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
1512
+ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
1513
+ "dev": true,
1514
+ "requires": {
1515
+ "@babel/types": "^7.18.6"
1516
+ }
1517
+ },
1518
+ "@babel/helper-module-transforms": {
1519
+ "version": "7.20.11",
1520
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz",
1521
+ "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==",
1522
+ "dev": true,
1523
+ "requires": {
1524
+ "@babel/helper-environment-visitor": "^7.18.9",
1525
+ "@babel/helper-module-imports": "^7.18.6",
1526
+ "@babel/helper-simple-access": "^7.20.2",
1527
+ "@babel/helper-split-export-declaration": "^7.18.6",
1528
+ "@babel/helper-validator-identifier": "^7.19.1",
1529
+ "@babel/template": "^7.20.7",
1530
+ "@babel/traverse": "^7.20.10",
1531
+ "@babel/types": "^7.20.7"
1532
+ }
1533
+ },
1534
+ "@babel/helper-plugin-utils": {
1535
+ "version": "7.20.2",
1536
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
1537
+ "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
1538
+ "dev": true
1539
+ },
1540
+ "@babel/helper-simple-access": {
1541
+ "version": "7.20.2",
1542
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
1543
+ "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
1544
+ "dev": true,
1545
+ "requires": {
1546
+ "@babel/types": "^7.20.2"
1547
+ }
1548
+ },
1549
+ "@babel/helper-split-export-declaration": {
1550
+ "version": "7.18.6",
1551
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
1552
+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
1553
+ "dev": true,
1554
+ "requires": {
1555
+ "@babel/types": "^7.18.6"
1556
+ }
1557
+ },
1558
+ "@babel/helper-string-parser": {
1559
+ "version": "7.19.4",
1560
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
1561
+ "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
1562
+ "dev": true
1563
+ },
1564
+ "@babel/helper-validator-identifier": {
1565
+ "version": "7.19.1",
1566
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
1567
+ "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
1568
+ "dev": true
1569
+ },
1570
+ "@babel/helper-validator-option": {
1571
+ "version": "7.18.6",
1572
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
1573
+ "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
1574
+ "dev": true
1575
+ },
1576
+ "@babel/helpers": {
1577
+ "version": "7.20.13",
1578
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz",
1579
+ "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==",
1580
+ "dev": true,
1581
+ "requires": {
1582
+ "@babel/template": "^7.20.7",
1583
+ "@babel/traverse": "^7.20.13",
1584
+ "@babel/types": "^7.20.7"
1585
+ }
1586
+ },
1587
+ "@babel/highlight": {
1588
+ "version": "7.18.6",
1589
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
1590
+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
1591
+ "dev": true,
1592
+ "requires": {
1593
+ "@babel/helper-validator-identifier": "^7.18.6",
1594
+ "chalk": "^2.0.0",
1595
+ "js-tokens": "^4.0.0"
1596
+ }
1597
+ },
1598
+ "@babel/parser": {
1599
+ "version": "7.20.13",
1600
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz",
1601
+ "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==",
1602
+ "dev": true
1603
+ },
1604
+ "@babel/plugin-transform-react-jsx-self": {
1605
+ "version": "7.18.6",
1606
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz",
1607
+ "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==",
1608
+ "dev": true,
1609
+ "requires": {
1610
+ "@babel/helper-plugin-utils": "^7.18.6"
1611
+ }
1612
+ },
1613
+ "@babel/plugin-transform-react-jsx-source": {
1614
+ "version": "7.19.6",
1615
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz",
1616
+ "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==",
1617
+ "dev": true,
1618
+ "requires": {
1619
+ "@babel/helper-plugin-utils": "^7.19.0"
1620
+ }
1621
+ },
1622
+ "@babel/template": {
1623
+ "version": "7.20.7",
1624
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
1625
+ "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
1626
+ "dev": true,
1627
+ "requires": {
1628
+ "@babel/code-frame": "^7.18.6",
1629
+ "@babel/parser": "^7.20.7",
1630
+ "@babel/types": "^7.20.7"
1631
+ }
1632
+ },
1633
+ "@babel/traverse": {
1634
+ "version": "7.20.13",
1635
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz",
1636
+ "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==",
1637
+ "dev": true,
1638
+ "requires": {
1639
+ "@babel/code-frame": "^7.18.6",
1640
+ "@babel/generator": "^7.20.7",
1641
+ "@babel/helper-environment-visitor": "^7.18.9",
1642
+ "@babel/helper-function-name": "^7.19.0",
1643
+ "@babel/helper-hoist-variables": "^7.18.6",
1644
+ "@babel/helper-split-export-declaration": "^7.18.6",
1645
+ "@babel/parser": "^7.20.13",
1646
+ "@babel/types": "^7.20.7",
1647
+ "debug": "^4.1.0",
1648
+ "globals": "^11.1.0"
1649
+ }
1650
+ },
1651
+ "@babel/types": {
1652
+ "version": "7.20.7",
1653
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz",
1654
+ "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==",
1655
+ "dev": true,
1656
+ "requires": {
1657
+ "@babel/helper-string-parser": "^7.19.4",
1658
+ "@babel/helper-validator-identifier": "^7.19.1",
1659
+ "to-fast-properties": "^2.0.0"
1660
+ }
1661
+ },
1662
+ "@esbuild/android-arm": {
1663
+ "version": "0.16.17",
1664
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz",
1665
+ "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==",
1666
+ "dev": true,
1667
+ "optional": true
1668
+ },
1669
+ "@esbuild/android-arm64": {
1670
+ "version": "0.16.17",
1671
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz",
1672
+ "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==",
1673
+ "dev": true,
1674
+ "optional": true
1675
+ },
1676
+ "@esbuild/android-x64": {
1677
+ "version": "0.16.17",
1678
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz",
1679
+ "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==",
1680
+ "dev": true,
1681
+ "optional": true
1682
+ },
1683
+ "@esbuild/darwin-arm64": {
1684
+ "version": "0.16.17",
1685
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
1686
+ "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==",
1687
+ "dev": true,
1688
+ "optional": true
1689
+ },
1690
+ "@esbuild/darwin-x64": {
1691
+ "version": "0.16.17",
1692
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz",
1693
+ "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==",
1694
+ "dev": true,
1695
+ "optional": true
1696
+ },
1697
+ "@esbuild/freebsd-arm64": {
1698
+ "version": "0.16.17",
1699
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz",
1700
+ "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==",
1701
+ "dev": true,
1702
+ "optional": true
1703
+ },
1704
+ "@esbuild/freebsd-x64": {
1705
+ "version": "0.16.17",
1706
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz",
1707
+ "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==",
1708
+ "dev": true,
1709
+ "optional": true
1710
+ },
1711
+ "@esbuild/linux-arm": {
1712
+ "version": "0.16.17",
1713
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz",
1714
+ "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==",
1715
+ "dev": true,
1716
+ "optional": true
1717
+ },
1718
+ "@esbuild/linux-arm64": {
1719
+ "version": "0.16.17",
1720
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz",
1721
+ "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==",
1722
+ "dev": true,
1723
+ "optional": true
1724
+ },
1725
+ "@esbuild/linux-ia32": {
1726
+ "version": "0.16.17",
1727
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz",
1728
+ "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==",
1729
+ "dev": true,
1730
+ "optional": true
1731
+ },
1732
+ "@esbuild/linux-loong64": {
1733
+ "version": "0.16.17",
1734
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz",
1735
+ "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==",
1736
+ "dev": true,
1737
+ "optional": true
1738
+ },
1739
+ "@esbuild/linux-mips64el": {
1740
+ "version": "0.16.17",
1741
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz",
1742
+ "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==",
1743
+ "dev": true,
1744
+ "optional": true
1745
+ },
1746
+ "@esbuild/linux-ppc64": {
1747
+ "version": "0.16.17",
1748
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz",
1749
+ "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==",
1750
+ "dev": true,
1751
+ "optional": true
1752
+ },
1753
+ "@esbuild/linux-riscv64": {
1754
+ "version": "0.16.17",
1755
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz",
1756
+ "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==",
1757
+ "dev": true,
1758
+ "optional": true
1759
+ },
1760
+ "@esbuild/linux-s390x": {
1761
+ "version": "0.16.17",
1762
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz",
1763
+ "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==",
1764
+ "dev": true,
1765
+ "optional": true
1766
+ },
1767
+ "@esbuild/linux-x64": {
1768
+ "version": "0.16.17",
1769
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz",
1770
+ "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==",
1771
+ "dev": true,
1772
+ "optional": true
1773
+ },
1774
+ "@esbuild/netbsd-x64": {
1775
+ "version": "0.16.17",
1776
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz",
1777
+ "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==",
1778
+ "dev": true,
1779
+ "optional": true
1780
+ },
1781
+ "@esbuild/openbsd-x64": {
1782
+ "version": "0.16.17",
1783
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz",
1784
+ "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==",
1785
+ "dev": true,
1786
+ "optional": true
1787
+ },
1788
+ "@esbuild/sunos-x64": {
1789
+ "version": "0.16.17",
1790
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz",
1791
+ "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==",
1792
+ "dev": true,
1793
+ "optional": true
1794
+ },
1795
+ "@esbuild/win32-arm64": {
1796
+ "version": "0.16.17",
1797
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz",
1798
+ "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==",
1799
+ "dev": true,
1800
+ "optional": true
1801
+ },
1802
+ "@esbuild/win32-ia32": {
1803
+ "version": "0.16.17",
1804
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz",
1805
+ "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==",
1806
+ "dev": true,
1807
+ "optional": true
1808
+ },
1809
+ "@esbuild/win32-x64": {
1810
+ "version": "0.16.17",
1811
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz",
1812
+ "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==",
1813
+ "dev": true,
1814
+ "optional": true
1815
+ },
1816
+ "@jridgewell/gen-mapping": {
1817
+ "version": "0.1.1",
1818
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
1819
+ "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
1820
+ "dev": true,
1821
+ "requires": {
1822
+ "@jridgewell/set-array": "^1.0.0",
1823
+ "@jridgewell/sourcemap-codec": "^1.4.10"
1824
+ }
1825
+ },
1826
+ "@jridgewell/resolve-uri": {
1827
+ "version": "3.1.0",
1828
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
1829
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
1830
+ "dev": true
1831
+ },
1832
+ "@jridgewell/set-array": {
1833
+ "version": "1.1.2",
1834
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
1835
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
1836
+ "dev": true
1837
+ },
1838
+ "@jridgewell/sourcemap-codec": {
1839
+ "version": "1.4.14",
1840
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
1841
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
1842
+ "dev": true
1843
+ },
1844
+ "@jridgewell/trace-mapping": {
1845
+ "version": "0.3.17",
1846
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
1847
+ "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
1848
+ "dev": true,
1849
+ "requires": {
1850
+ "@jridgewell/resolve-uri": "3.1.0",
1851
+ "@jridgewell/sourcemap-codec": "1.4.14"
1852
+ }
1853
+ },
1854
+ "@types/prop-types": {
1855
+ "version": "15.7.5",
1856
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
1857
+ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
1858
+ "dev": true
1859
+ },
1860
+ "@types/react": {
1861
+ "version": "18.0.27",
1862
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz",
1863
+ "integrity": "sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==",
1864
+ "dev": true,
1865
+ "requires": {
1866
+ "@types/prop-types": "*",
1867
+ "@types/scheduler": "*",
1868
+ "csstype": "^3.0.2"
1869
+ }
1870
+ },
1871
+ "@types/react-dom": {
1872
+ "version": "18.0.10",
1873
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz",
1874
+ "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==",
1875
+ "dev": true,
1876
+ "requires": {
1877
+ "@types/react": "*"
1878
+ }
1879
+ },
1880
+ "@types/scheduler": {
1881
+ "version": "0.16.2",
1882
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
1883
+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
1884
+ "dev": true
1885
+ },
1886
+ "@vitejs/plugin-react": {
1887
+ "version": "3.0.1",
1888
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.1.tgz",
1889
+ "integrity": "sha512-mx+QvYwIbbpOIJw+hypjnW1lAbKDHtWK5ibkF/V1/oMBu8HU/chb+SnqJDAsLq1+7rGqjktCEomMTM5KShzUKQ==",
1890
+ "dev": true,
1891
+ "requires": {
1892
+ "@babel/core": "^7.20.7",
1893
+ "@babel/plugin-transform-react-jsx-self": "^7.18.6",
1894
+ "@babel/plugin-transform-react-jsx-source": "^7.19.6",
1895
+ "magic-string": "^0.27.0",
1896
+ "react-refresh": "^0.14.0"
1897
+ }
1898
+ },
1899
+ "ansi-styles": {
1900
+ "version": "3.2.1",
1901
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
1902
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
1903
+ "dev": true,
1904
+ "requires": {
1905
+ "color-convert": "^1.9.0"
1906
+ }
1907
+ },
1908
+ "browserslist": {
1909
+ "version": "4.21.5",
1910
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
1911
+ "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
1912
+ "dev": true,
1913
+ "requires": {
1914
+ "caniuse-lite": "^1.0.30001449",
1915
+ "electron-to-chromium": "^1.4.284",
1916
+ "node-releases": "^2.0.8",
1917
+ "update-browserslist-db": "^1.0.10"
1918
+ }
1919
+ },
1920
+ "caniuse-lite": {
1921
+ "version": "1.0.30001449",
1922
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz",
1923
+ "integrity": "sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw==",
1924
+ "dev": true
1925
+ },
1926
+ "chalk": {
1927
+ "version": "2.4.2",
1928
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1929
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1930
+ "dev": true,
1931
+ "requires": {
1932
+ "ansi-styles": "^3.2.1",
1933
+ "escape-string-regexp": "^1.0.5",
1934
+ "supports-color": "^5.3.0"
1935
+ }
1936
+ },
1937
+ "color-convert": {
1938
+ "version": "1.9.3",
1939
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1940
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1941
+ "dev": true,
1942
+ "requires": {
1943
+ "color-name": "1.1.3"
1944
+ }
1945
+ },
1946
+ "color-name": {
1947
+ "version": "1.1.3",
1948
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1949
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
1950
+ "dev": true
1951
+ },
1952
+ "convert-source-map": {
1953
+ "version": "1.9.0",
1954
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
1955
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
1956
+ "dev": true
1957
+ },
1958
+ "csstype": {
1959
+ "version": "3.1.1",
1960
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
1961
+ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==",
1962
+ "dev": true
1963
+ },
1964
+ "debug": {
1965
+ "version": "4.3.4",
1966
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
1967
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
1968
+ "dev": true,
1969
+ "requires": {
1970
+ "ms": "2.1.2"
1971
+ }
1972
+ },
1973
+ "electron-to-chromium": {
1974
+ "version": "1.4.284",
1975
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
1976
+ "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==",
1977
+ "dev": true
1978
+ },
1979
+ "esbuild": {
1980
+ "version": "0.16.17",
1981
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz",
1982
+ "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==",
1983
+ "dev": true,
1984
+ "requires": {
1985
+ "@esbuild/android-arm": "0.16.17",
1986
+ "@esbuild/android-arm64": "0.16.17",
1987
+ "@esbuild/android-x64": "0.16.17",
1988
+ "@esbuild/darwin-arm64": "0.16.17",
1989
+ "@esbuild/darwin-x64": "0.16.17",
1990
+ "@esbuild/freebsd-arm64": "0.16.17",
1991
+ "@esbuild/freebsd-x64": "0.16.17",
1992
+ "@esbuild/linux-arm": "0.16.17",
1993
+ "@esbuild/linux-arm64": "0.16.17",
1994
+ "@esbuild/linux-ia32": "0.16.17",
1995
+ "@esbuild/linux-loong64": "0.16.17",
1996
+ "@esbuild/linux-mips64el": "0.16.17",
1997
+ "@esbuild/linux-ppc64": "0.16.17",
1998
+ "@esbuild/linux-riscv64": "0.16.17",
1999
+ "@esbuild/linux-s390x": "0.16.17",
2000
+ "@esbuild/linux-x64": "0.16.17",
2001
+ "@esbuild/netbsd-x64": "0.16.17",
2002
+ "@esbuild/openbsd-x64": "0.16.17",
2003
+ "@esbuild/sunos-x64": "0.16.17",
2004
+ "@esbuild/win32-arm64": "0.16.17",
2005
+ "@esbuild/win32-ia32": "0.16.17",
2006
+ "@esbuild/win32-x64": "0.16.17"
2007
+ }
2008
+ },
2009
+ "escalade": {
2010
+ "version": "3.1.1",
2011
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
2012
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
2013
+ "dev": true
2014
+ },
2015
+ "escape-string-regexp": {
2016
+ "version": "1.0.5",
2017
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
2018
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
2019
+ "dev": true
2020
+ },
2021
+ "fsevents": {
2022
+ "version": "2.3.2",
2023
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
2024
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
2025
+ "dev": true,
2026
+ "optional": true
2027
+ },
2028
+ "function-bind": {
2029
+ "version": "1.1.1",
2030
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
2031
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
2032
+ "dev": true
2033
+ },
2034
+ "gensync": {
2035
+ "version": "1.0.0-beta.2",
2036
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
2037
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
2038
+ "dev": true
2039
+ },
2040
+ "globals": {
2041
+ "version": "11.12.0",
2042
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
2043
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
2044
+ "dev": true
2045
+ },
2046
+ "has": {
2047
+ "version": "1.0.3",
2048
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
2049
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
2050
+ "dev": true,
2051
+ "requires": {
2052
+ "function-bind": "^1.1.1"
2053
+ }
2054
+ },
2055
+ "has-flag": {
2056
+ "version": "3.0.0",
2057
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
2058
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
2059
+ "dev": true
2060
+ },
2061
+ "is-core-module": {
2062
+ "version": "2.11.0",
2063
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
2064
+ "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
2065
+ "dev": true,
2066
+ "requires": {
2067
+ "has": "^1.0.3"
2068
+ }
2069
+ },
2070
+ "js-tokens": {
2071
+ "version": "4.0.0",
2072
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2073
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
2074
+ },
2075
+ "jsesc": {
2076
+ "version": "2.5.2",
2077
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
2078
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
2079
+ "dev": true
2080
+ },
2081
+ "json5": {
2082
+ "version": "2.2.3",
2083
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
2084
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
2085
+ "dev": true
2086
+ },
2087
+ "loose-envify": {
2088
+ "version": "1.4.0",
2089
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
2090
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
2091
+ "requires": {
2092
+ "js-tokens": "^3.0.0 || ^4.0.0"
2093
+ }
2094
+ },
2095
+ "lru-cache": {
2096
+ "version": "5.1.1",
2097
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
2098
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
2099
+ "dev": true,
2100
+ "requires": {
2101
+ "yallist": "^3.0.2"
2102
+ }
2103
+ },
2104
+ "magic-string": {
2105
+ "version": "0.27.0",
2106
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
2107
+ "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
2108
+ "dev": true,
2109
+ "requires": {
2110
+ "@jridgewell/sourcemap-codec": "^1.4.13"
2111
+ }
2112
+ },
2113
+ "ms": {
2114
+ "version": "2.1.2",
2115
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
2116
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
2117
+ "dev": true
2118
+ },
2119
+ "nanoid": {
2120
+ "version": "3.3.4",
2121
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
2122
+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
2123
+ "dev": true
2124
+ },
2125
+ "node-releases": {
2126
+ "version": "2.0.9",
2127
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz",
2128
+ "integrity": "sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==",
2129
+ "dev": true
2130
+ },
2131
+ "path-parse": {
2132
+ "version": "1.0.7",
2133
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2134
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2135
+ "dev": true
2136
+ },
2137
+ "picocolors": {
2138
+ "version": "1.0.0",
2139
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
2140
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
2141
+ "dev": true
2142
+ },
2143
+ "postcss": {
2144
+ "version": "8.4.21",
2145
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
2146
+ "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
2147
+ "dev": true,
2148
+ "requires": {
2149
+ "nanoid": "^3.3.4",
2150
+ "picocolors": "^1.0.0",
2151
+ "source-map-js": "^1.0.2"
2152
+ }
2153
+ },
2154
+ "react": {
2155
+ "version": "18.2.0",
2156
+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
2157
+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
2158
+ "requires": {
2159
+ "loose-envify": "^1.1.0"
2160
+ }
2161
+ },
2162
+ "react-dom": {
2163
+ "version": "18.2.0",
2164
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
2165
+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
2166
+ "requires": {
2167
+ "loose-envify": "^1.1.0",
2168
+ "scheduler": "^0.23.0"
2169
+ }
2170
+ },
2171
+ "react-refresh": {
2172
+ "version": "0.14.0",
2173
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz",
2174
+ "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==",
2175
+ "dev": true
2176
+ },
2177
+ "resolve": {
2178
+ "version": "1.22.1",
2179
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
2180
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
2181
+ "dev": true,
2182
+ "requires": {
2183
+ "is-core-module": "^2.9.0",
2184
+ "path-parse": "^1.0.7",
2185
+ "supports-preserve-symlinks-flag": "^1.0.0"
2186
+ }
2187
+ },
2188
+ "rollup": {
2189
+ "version": "3.12.0",
2190
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.0.tgz",
2191
+ "integrity": "sha512-4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg==",
2192
+ "dev": true,
2193
+ "requires": {
2194
+ "fsevents": "~2.3.2"
2195
+ }
2196
+ },
2197
+ "scheduler": {
2198
+ "version": "0.23.0",
2199
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
2200
+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
2201
+ "requires": {
2202
+ "loose-envify": "^1.1.0"
2203
+ }
2204
+ },
2205
+ "semver": {
2206
+ "version": "6.3.0",
2207
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
2208
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
2209
+ "dev": true
2210
+ },
2211
+ "source-map-js": {
2212
+ "version": "1.0.2",
2213
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
2214
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
2215
+ "dev": true
2216
+ },
2217
+ "supports-color": {
2218
+ "version": "5.5.0",
2219
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
2220
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
2221
+ "dev": true,
2222
+ "requires": {
2223
+ "has-flag": "^3.0.0"
2224
+ }
2225
+ },
2226
+ "supports-preserve-symlinks-flag": {
2227
+ "version": "1.0.0",
2228
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
2229
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
2230
+ "dev": true
2231
+ },
2232
+ "to-fast-properties": {
2233
+ "version": "2.0.0",
2234
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
2235
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
2236
+ "dev": true
2237
+ },
2238
+ "update-browserslist-db": {
2239
+ "version": "1.0.10",
2240
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
2241
+ "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
2242
+ "dev": true,
2243
+ "requires": {
2244
+ "escalade": "^3.1.1",
2245
+ "picocolors": "^1.0.0"
2246
+ }
2247
+ },
2248
+ "vite": {
2249
+ "version": "4.0.4",
2250
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz",
2251
+ "integrity": "sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==",
2252
+ "dev": true,
2253
+ "requires": {
2254
+ "esbuild": "^0.16.3",
2255
+ "fsevents": "~2.3.2",
2256
+ "postcss": "^8.4.20",
2257
+ "resolve": "^1.22.1",
2258
+ "rollup": "^3.7.0"
2259
+ }
2260
+ },
2261
+ "yallist": {
2262
+ "version": "3.1.1",
2263
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2264
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2265
+ "dev": true
2266
+ }
2267
+ }
2268
+ }
client/package.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "client",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "vite build",
9
+ "preview": "vite preview"
10
+ },
11
+ "dependencies": {
12
+ "react": "^18.2.0",
13
+ "react-dom": "^18.2.0"
14
+ },
15
+ "devDependencies": {
16
+ "@types/react": "^18.0.26",
17
+ "@types/react-dom": "^18.0.9",
18
+ "@vitejs/plugin-react": "^3.0.0",
19
+ "vite": "^4.0.0"
20
+ }
21
+ }
client/public/vite.svg ADDED
client/src/App.css ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #root {
2
+ max-width: 1280px;
3
+ margin: 0 auto;
4
+ padding: 2rem;
5
+ text-align: center;
6
+ }
7
+
8
+ .logo {
9
+ height: 6em;
10
+ padding: 1.5em;
11
+ will-change: filter;
12
+ }
13
+ .logo:hover {
14
+ filter: drop-shadow(0 0 2em #646cffaa);
15
+ }
16
+ .logo.react:hover {
17
+ filter: drop-shadow(0 0 2em #61dafbaa);
18
+ }
19
+
20
+ @keyframes logo-spin {
21
+ from {
22
+ transform: rotate(0deg);
23
+ }
24
+ to {
25
+ transform: rotate(360deg);
26
+ }
27
+ }
28
+
29
+ @media (prefers-reduced-motion: no-preference) {
30
+ a:nth-of-type(2) .logo {
31
+ animation: logo-spin infinite 20s linear;
32
+ }
33
+ }
34
+
35
+ .card {
36
+ padding: 2em;
37
+ }
38
+
39
+ .read-the-docs {
40
+ color: #888;
41
+ }
client/src/App.jsx ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useState } from 'react'
2
+ import reactLogo from './assets/react.svg'
3
+ import './App.css'
4
+
5
+ function App() {
6
+ const [name, setName] = useState('')
7
+
8
+
9
+ // this function is called when the submit button is clicked
10
+ // it sends a POST request to the server with the name
11
+ const submitFormToNotion = () => {
12
+ console.log(name)
13
+ fetch("http://localhost:4000/submitFormToNotion", { //fetch API, need to change localhost&port to the server
14
+ method: "POST",
15
+ headers: { //incase
16
+ "Content-Type": "application/json",
17
+ },
18
+ body: JSON.stringify({name: name}), //converts to JSON
19
+ }).then(response => response.json()) //seperates out the JSON
20
+ .then(data => {
21
+ console.log('Success:', data);
22
+ }).catch((error) => {
23
+ console.error('Error:', error);
24
+ }
25
+ )
26
+ }
27
+
28
+ return (
29
+ <div className="App">
30
+ <div style={{maxWidth: '500px', margin: '0 auto'}}>
31
+ <h1>Text</h1>
32
+ <input type="text" id="name" onChange={(e) => setName(e.target.value)} /> {/* onChange is a listener that listens for changes in the input field and then sets the value of name*/}
33
+ </div>
34
+ <button onClick={submitFormToNotion}>Submit</button>
35
+ <gradio-app src="https://aadnk-whisper-webui.hf.space"></gradio-app>
36
+
37
+
38
+ </div>
39
+ )
40
+ }
41
+
42
+ export default App
client/src/assets/react.svg ADDED
client/src/index.css ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ :root {
2
+ font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
3
+ font-size: 16px;
4
+ line-height: 24px;
5
+ font-weight: 400;
6
+
7
+ color-scheme: light dark;
8
+ color: rgba(255, 255, 255, 0.87);
9
+ background-color: #242424;
10
+
11
+ font-synthesis: none;
12
+ text-rendering: optimizeLegibility;
13
+ -webkit-font-smoothing: antialiased;
14
+ -moz-osx-font-smoothing: grayscale;
15
+ -webkit-text-size-adjust: 100%;
16
+ }
17
+
18
+ a {
19
+ font-weight: 500;
20
+ color: #646cff;
21
+ text-decoration: inherit;
22
+ }
23
+ a:hover {
24
+ color: #535bf2;
25
+ }
26
+
27
+ body {
28
+ margin: 0;
29
+ display: flex;
30
+ place-items: center;
31
+ min-width: 320px;
32
+ min-height: 100vh;
33
+ }
34
+
35
+ h1 {
36
+ font-size: 3.2em;
37
+ line-height: 1.1;
38
+ }
39
+
40
+ button {
41
+ border-radius: 8px;
42
+ border: 1px solid transparent;
43
+ padding: 0.6em 1.2em;
44
+ font-size: 1em;
45
+ font-weight: 500;
46
+ font-family: inherit;
47
+ background-color: #1a1a1a;
48
+ cursor: pointer;
49
+ transition: border-color 0.25s;
50
+ }
51
+ button:hover {
52
+ border-color: #646cff;
53
+ }
54
+ button:focus,
55
+ button:focus-visible {
56
+ outline: 4px auto -webkit-focus-ring-color;
57
+ }
58
+
59
+ @media (prefers-color-scheme: light) {
60
+ :root {
61
+ color: #213547;
62
+ background-color: #ffffff;
63
+ }
64
+ a:hover {
65
+ color: #747bff;
66
+ }
67
+ button {
68
+ background-color: #f9f9f9;
69
+ }
70
+ }
client/src/main.jsx ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ import React from 'react'
2
+ import ReactDOM from 'react-dom/client'
3
+ import App from './App'
4
+ import './index.css'
5
+
6
+ ReactDOM.createRoot(document.getElementById('root')).render(
7
+ <React.StrictMode>
8
+ <App />
9
+ </React.StrictMode>,
10
+ )
client/vite.config.js ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+
4
+ // https://vitejs.dev/config/
5
+ export default defineConfig({
6
+ plugins: [react()],
7
+ })
server/.DS_Store ADDED
Binary file (10.2 kB). View file
 
server/.env ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ PORT=4000
2
+ HOST="localhost"
server/node_modules/.DS_Store ADDED
Binary file (24.6 kB). View file
 
server/node_modules/.bin/mime ADDED
@@ -0,0 +1 @@
 
 
1
+ ../mime/cli.js
server/node_modules/.bin/nodemon ADDED
@@ -0,0 +1 @@
 
 
1
+ ../nodemon/bin/nodemon.js
server/node_modules/.bin/nodetouch ADDED
@@ -0,0 +1 @@
 
 
1
+ ../touch/bin/nodetouch.js
server/node_modules/.bin/nopt ADDED
@@ -0,0 +1 @@
 
 
1
+ ../nopt/bin/nopt.js
server/node_modules/.bin/semver ADDED
@@ -0,0 +1 @@
 
 
1
+ ../semver/bin/semver
server/node_modules/.package-lock.json ADDED
@@ -0,0 +1,1044 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "Whisper<>Notion",
3
+ "lockfileVersion": 2,
4
+ "requires": true,
5
+ "packages": {
6
+ "node_modules/@notionhq/client": {
7
+ "version": "2.2.3",
8
+ "resolved": "https://registry.npmjs.org/@notionhq/client/-/client-2.2.3.tgz",
9
+ "integrity": "sha512-ZqUzY0iRg/LIrwS+wzz/6osSB2nxIpmqdAtdUwzpcimc9Jlu1j85FeYdaU26Shr193CFrl2TLFeKqpk/APRQ4g==",
10
+ "dependencies": {
11
+ "@types/node-fetch": "^2.5.10",
12
+ "node-fetch": "^2.6.1"
13
+ },
14
+ "engines": {
15
+ "node": ">=12"
16
+ }
17
+ },
18
+ "node_modules/@types/node": {
19
+ "version": "18.11.18",
20
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
21
+ "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA=="
22
+ },
23
+ "node_modules/@types/node-fetch": {
24
+ "version": "2.6.2",
25
+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.2.tgz",
26
+ "integrity": "sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==",
27
+ "dependencies": {
28
+ "@types/node": "*",
29
+ "form-data": "^3.0.0"
30
+ }
31
+ },
32
+ "node_modules/abbrev": {
33
+ "version": "1.1.1",
34
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
35
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
36
+ },
37
+ "node_modules/accepts": {
38
+ "version": "1.3.8",
39
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
40
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
41
+ "dependencies": {
42
+ "mime-types": "~2.1.34",
43
+ "negotiator": "0.6.3"
44
+ },
45
+ "engines": {
46
+ "node": ">= 0.6"
47
+ }
48
+ },
49
+ "node_modules/anymatch": {
50
+ "version": "3.1.3",
51
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
52
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
53
+ "dependencies": {
54
+ "normalize-path": "^3.0.0",
55
+ "picomatch": "^2.0.4"
56
+ },
57
+ "engines": {
58
+ "node": ">= 8"
59
+ }
60
+ },
61
+ "node_modules/array-flatten": {
62
+ "version": "1.1.1",
63
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
64
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
65
+ },
66
+ "node_modules/asynckit": {
67
+ "version": "0.4.0",
68
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
69
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
70
+ },
71
+ "node_modules/balanced-match": {
72
+ "version": "1.0.2",
73
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
74
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
75
+ },
76
+ "node_modules/binary-extensions": {
77
+ "version": "2.2.0",
78
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
79
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
80
+ "engines": {
81
+ "node": ">=8"
82
+ }
83
+ },
84
+ "node_modules/body-parser": {
85
+ "version": "1.20.1",
86
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
87
+ "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
88
+ "dependencies": {
89
+ "bytes": "3.1.2",
90
+ "content-type": "~1.0.4",
91
+ "debug": "2.6.9",
92
+ "depd": "2.0.0",
93
+ "destroy": "1.2.0",
94
+ "http-errors": "2.0.0",
95
+ "iconv-lite": "0.4.24",
96
+ "on-finished": "2.4.1",
97
+ "qs": "6.11.0",
98
+ "raw-body": "2.5.1",
99
+ "type-is": "~1.6.18",
100
+ "unpipe": "1.0.0"
101
+ },
102
+ "engines": {
103
+ "node": ">= 0.8",
104
+ "npm": "1.2.8000 || >= 1.4.16"
105
+ }
106
+ },
107
+ "node_modules/brace-expansion": {
108
+ "version": "1.1.11",
109
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
110
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
111
+ "dependencies": {
112
+ "balanced-match": "^1.0.0",
113
+ "concat-map": "0.0.1"
114
+ }
115
+ },
116
+ "node_modules/braces": {
117
+ "version": "3.0.2",
118
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
119
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
120
+ "dependencies": {
121
+ "fill-range": "^7.0.1"
122
+ },
123
+ "engines": {
124
+ "node": ">=8"
125
+ }
126
+ },
127
+ "node_modules/bytes": {
128
+ "version": "3.1.2",
129
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
130
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
131
+ "engines": {
132
+ "node": ">= 0.8"
133
+ }
134
+ },
135
+ "node_modules/call-bind": {
136
+ "version": "1.0.2",
137
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
138
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
139
+ "dependencies": {
140
+ "function-bind": "^1.1.1",
141
+ "get-intrinsic": "^1.0.2"
142
+ },
143
+ "funding": {
144
+ "url": "https://github.com/sponsors/ljharb"
145
+ }
146
+ },
147
+ "node_modules/chokidar": {
148
+ "version": "3.5.3",
149
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
150
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
151
+ "funding": [
152
+ {
153
+ "type": "individual",
154
+ "url": "https://paulmillr.com/funding/"
155
+ }
156
+ ],
157
+ "dependencies": {
158
+ "anymatch": "~3.1.2",
159
+ "braces": "~3.0.2",
160
+ "glob-parent": "~5.1.2",
161
+ "is-binary-path": "~2.1.0",
162
+ "is-glob": "~4.0.1",
163
+ "normalize-path": "~3.0.0",
164
+ "readdirp": "~3.6.0"
165
+ },
166
+ "engines": {
167
+ "node": ">= 8.10.0"
168
+ },
169
+ "optionalDependencies": {
170
+ "fsevents": "~2.3.2"
171
+ }
172
+ },
173
+ "node_modules/combined-stream": {
174
+ "version": "1.0.8",
175
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
176
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
177
+ "dependencies": {
178
+ "delayed-stream": "~1.0.0"
179
+ },
180
+ "engines": {
181
+ "node": ">= 0.8"
182
+ }
183
+ },
184
+ "node_modules/concat-map": {
185
+ "version": "0.0.1",
186
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
187
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
188
+ },
189
+ "node_modules/content-disposition": {
190
+ "version": "0.5.4",
191
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
192
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
193
+ "dependencies": {
194
+ "safe-buffer": "5.2.1"
195
+ },
196
+ "engines": {
197
+ "node": ">= 0.6"
198
+ }
199
+ },
200
+ "node_modules/content-type": {
201
+ "version": "1.0.5",
202
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
203
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
204
+ "engines": {
205
+ "node": ">= 0.6"
206
+ }
207
+ },
208
+ "node_modules/cookie": {
209
+ "version": "0.5.0",
210
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
211
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
212
+ "engines": {
213
+ "node": ">= 0.6"
214
+ }
215
+ },
216
+ "node_modules/cookie-signature": {
217
+ "version": "1.0.6",
218
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
219
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
220
+ },
221
+ "node_modules/cors": {
222
+ "version": "2.8.5",
223
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
224
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
225
+ "dependencies": {
226
+ "object-assign": "^4",
227
+ "vary": "^1"
228
+ },
229
+ "engines": {
230
+ "node": ">= 0.10"
231
+ }
232
+ },
233
+ "node_modules/debug": {
234
+ "version": "2.6.9",
235
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
236
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
237
+ "dependencies": {
238
+ "ms": "2.0.0"
239
+ }
240
+ },
241
+ "node_modules/delayed-stream": {
242
+ "version": "1.0.0",
243
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
244
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
245
+ "engines": {
246
+ "node": ">=0.4.0"
247
+ }
248
+ },
249
+ "node_modules/depd": {
250
+ "version": "2.0.0",
251
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
252
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
253
+ "engines": {
254
+ "node": ">= 0.8"
255
+ }
256
+ },
257
+ "node_modules/destroy": {
258
+ "version": "1.2.0",
259
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
260
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
261
+ "engines": {
262
+ "node": ">= 0.8",
263
+ "npm": "1.2.8000 || >= 1.4.16"
264
+ }
265
+ },
266
+ "node_modules/dotenv": {
267
+ "version": "16.0.3",
268
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
269
+ "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
270
+ "engines": {
271
+ "node": ">=12"
272
+ }
273
+ },
274
+ "node_modules/ee-first": {
275
+ "version": "1.1.1",
276
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
277
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
278
+ },
279
+ "node_modules/encodeurl": {
280
+ "version": "1.0.2",
281
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
282
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
283
+ "engines": {
284
+ "node": ">= 0.8"
285
+ }
286
+ },
287
+ "node_modules/escape-html": {
288
+ "version": "1.0.3",
289
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
290
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
291
+ },
292
+ "node_modules/etag": {
293
+ "version": "1.8.1",
294
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
295
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
296
+ "engines": {
297
+ "node": ">= 0.6"
298
+ }
299
+ },
300
+ "node_modules/express": {
301
+ "version": "4.18.2",
302
+ "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
303
+ "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
304
+ "dependencies": {
305
+ "accepts": "~1.3.8",
306
+ "array-flatten": "1.1.1",
307
+ "body-parser": "1.20.1",
308
+ "content-disposition": "0.5.4",
309
+ "content-type": "~1.0.4",
310
+ "cookie": "0.5.0",
311
+ "cookie-signature": "1.0.6",
312
+ "debug": "2.6.9",
313
+ "depd": "2.0.0",
314
+ "encodeurl": "~1.0.2",
315
+ "escape-html": "~1.0.3",
316
+ "etag": "~1.8.1",
317
+ "finalhandler": "1.2.0",
318
+ "fresh": "0.5.2",
319
+ "http-errors": "2.0.0",
320
+ "merge-descriptors": "1.0.1",
321
+ "methods": "~1.1.2",
322
+ "on-finished": "2.4.1",
323
+ "parseurl": "~1.3.3",
324
+ "path-to-regexp": "0.1.7",
325
+ "proxy-addr": "~2.0.7",
326
+ "qs": "6.11.0",
327
+ "range-parser": "~1.2.1",
328
+ "safe-buffer": "5.2.1",
329
+ "send": "0.18.0",
330
+ "serve-static": "1.15.0",
331
+ "setprototypeof": "1.2.0",
332
+ "statuses": "2.0.1",
333
+ "type-is": "~1.6.18",
334
+ "utils-merge": "1.0.1",
335
+ "vary": "~1.1.2"
336
+ },
337
+ "engines": {
338
+ "node": ">= 0.10.0"
339
+ }
340
+ },
341
+ "node_modules/fill-range": {
342
+ "version": "7.0.1",
343
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
344
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
345
+ "dependencies": {
346
+ "to-regex-range": "^5.0.1"
347
+ },
348
+ "engines": {
349
+ "node": ">=8"
350
+ }
351
+ },
352
+ "node_modules/finalhandler": {
353
+ "version": "1.2.0",
354
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
355
+ "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
356
+ "dependencies": {
357
+ "debug": "2.6.9",
358
+ "encodeurl": "~1.0.2",
359
+ "escape-html": "~1.0.3",
360
+ "on-finished": "2.4.1",
361
+ "parseurl": "~1.3.3",
362
+ "statuses": "2.0.1",
363
+ "unpipe": "~1.0.0"
364
+ },
365
+ "engines": {
366
+ "node": ">= 0.8"
367
+ }
368
+ },
369
+ "node_modules/form-data": {
370
+ "version": "3.0.1",
371
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
372
+ "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
373
+ "dependencies": {
374
+ "asynckit": "^0.4.0",
375
+ "combined-stream": "^1.0.8",
376
+ "mime-types": "^2.1.12"
377
+ },
378
+ "engines": {
379
+ "node": ">= 6"
380
+ }
381
+ },
382
+ "node_modules/forwarded": {
383
+ "version": "0.2.0",
384
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
385
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
386
+ "engines": {
387
+ "node": ">= 0.6"
388
+ }
389
+ },
390
+ "node_modules/fresh": {
391
+ "version": "0.5.2",
392
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
393
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
394
+ "engines": {
395
+ "node": ">= 0.6"
396
+ }
397
+ },
398
+ "node_modules/fsevents": {
399
+ "version": "2.3.2",
400
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
401
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
402
+ "hasInstallScript": true,
403
+ "optional": true,
404
+ "os": [
405
+ "darwin"
406
+ ],
407
+ "engines": {
408
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
409
+ }
410
+ },
411
+ "node_modules/function-bind": {
412
+ "version": "1.1.1",
413
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
414
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
415
+ },
416
+ "node_modules/get-intrinsic": {
417
+ "version": "1.2.0",
418
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
419
+ "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
420
+ "dependencies": {
421
+ "function-bind": "^1.1.1",
422
+ "has": "^1.0.3",
423
+ "has-symbols": "^1.0.3"
424
+ },
425
+ "funding": {
426
+ "url": "https://github.com/sponsors/ljharb"
427
+ }
428
+ },
429
+ "node_modules/glob-parent": {
430
+ "version": "5.1.2",
431
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
432
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
433
+ "dependencies": {
434
+ "is-glob": "^4.0.1"
435
+ },
436
+ "engines": {
437
+ "node": ">= 6"
438
+ }
439
+ },
440
+ "node_modules/has": {
441
+ "version": "1.0.3",
442
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
443
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
444
+ "dependencies": {
445
+ "function-bind": "^1.1.1"
446
+ },
447
+ "engines": {
448
+ "node": ">= 0.4.0"
449
+ }
450
+ },
451
+ "node_modules/has-flag": {
452
+ "version": "3.0.0",
453
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
454
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
455
+ "engines": {
456
+ "node": ">=4"
457
+ }
458
+ },
459
+ "node_modules/has-symbols": {
460
+ "version": "1.0.3",
461
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
462
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
463
+ "engines": {
464
+ "node": ">= 0.4"
465
+ },
466
+ "funding": {
467
+ "url": "https://github.com/sponsors/ljharb"
468
+ }
469
+ },
470
+ "node_modules/http-errors": {
471
+ "version": "2.0.0",
472
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
473
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
474
+ "dependencies": {
475
+ "depd": "2.0.0",
476
+ "inherits": "2.0.4",
477
+ "setprototypeof": "1.2.0",
478
+ "statuses": "2.0.1",
479
+ "toidentifier": "1.0.1"
480
+ },
481
+ "engines": {
482
+ "node": ">= 0.8"
483
+ }
484
+ },
485
+ "node_modules/iconv-lite": {
486
+ "version": "0.4.24",
487
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
488
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
489
+ "dependencies": {
490
+ "safer-buffer": ">= 2.1.2 < 3"
491
+ },
492
+ "engines": {
493
+ "node": ">=0.10.0"
494
+ }
495
+ },
496
+ "node_modules/ignore-by-default": {
497
+ "version": "1.0.1",
498
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
499
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
500
+ },
501
+ "node_modules/inherits": {
502
+ "version": "2.0.4",
503
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
504
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
505
+ },
506
+ "node_modules/ipaddr.js": {
507
+ "version": "1.9.1",
508
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
509
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
510
+ "engines": {
511
+ "node": ">= 0.10"
512
+ }
513
+ },
514
+ "node_modules/is-binary-path": {
515
+ "version": "2.1.0",
516
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
517
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
518
+ "dependencies": {
519
+ "binary-extensions": "^2.0.0"
520
+ },
521
+ "engines": {
522
+ "node": ">=8"
523
+ }
524
+ },
525
+ "node_modules/is-extglob": {
526
+ "version": "2.1.1",
527
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
528
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
529
+ "engines": {
530
+ "node": ">=0.10.0"
531
+ }
532
+ },
533
+ "node_modules/is-glob": {
534
+ "version": "4.0.3",
535
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
536
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
537
+ "dependencies": {
538
+ "is-extglob": "^2.1.1"
539
+ },
540
+ "engines": {
541
+ "node": ">=0.10.0"
542
+ }
543
+ },
544
+ "node_modules/is-number": {
545
+ "version": "7.0.0",
546
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
547
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
548
+ "engines": {
549
+ "node": ">=0.12.0"
550
+ }
551
+ },
552
+ "node_modules/media-typer": {
553
+ "version": "0.3.0",
554
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
555
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
556
+ "engines": {
557
+ "node": ">= 0.6"
558
+ }
559
+ },
560
+ "node_modules/merge-descriptors": {
561
+ "version": "1.0.1",
562
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
563
+ "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
564
+ },
565
+ "node_modules/methods": {
566
+ "version": "1.1.2",
567
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
568
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
569
+ "engines": {
570
+ "node": ">= 0.6"
571
+ }
572
+ },
573
+ "node_modules/mime": {
574
+ "version": "1.6.0",
575
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
576
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
577
+ "bin": {
578
+ "mime": "cli.js"
579
+ },
580
+ "engines": {
581
+ "node": ">=4"
582
+ }
583
+ },
584
+ "node_modules/mime-db": {
585
+ "version": "1.52.0",
586
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
587
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
588
+ "engines": {
589
+ "node": ">= 0.6"
590
+ }
591
+ },
592
+ "node_modules/mime-types": {
593
+ "version": "2.1.35",
594
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
595
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
596
+ "dependencies": {
597
+ "mime-db": "1.52.0"
598
+ },
599
+ "engines": {
600
+ "node": ">= 0.6"
601
+ }
602
+ },
603
+ "node_modules/minimatch": {
604
+ "version": "3.1.2",
605
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
606
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
607
+ "dependencies": {
608
+ "brace-expansion": "^1.1.7"
609
+ },
610
+ "engines": {
611
+ "node": "*"
612
+ }
613
+ },
614
+ "node_modules/ms": {
615
+ "version": "2.0.0",
616
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
617
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
618
+ },
619
+ "node_modules/negotiator": {
620
+ "version": "0.6.3",
621
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
622
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
623
+ "engines": {
624
+ "node": ">= 0.6"
625
+ }
626
+ },
627
+ "node_modules/node-fetch": {
628
+ "version": "2.6.9",
629
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
630
+ "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==",
631
+ "dependencies": {
632
+ "whatwg-url": "^5.0.0"
633
+ },
634
+ "engines": {
635
+ "node": "4.x || >=6.0.0"
636
+ },
637
+ "peerDependencies": {
638
+ "encoding": "^0.1.0"
639
+ },
640
+ "peerDependenciesMeta": {
641
+ "encoding": {
642
+ "optional": true
643
+ }
644
+ }
645
+ },
646
+ "node_modules/nodemon": {
647
+ "version": "2.0.20",
648
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz",
649
+ "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==",
650
+ "dependencies": {
651
+ "chokidar": "^3.5.2",
652
+ "debug": "^3.2.7",
653
+ "ignore-by-default": "^1.0.1",
654
+ "minimatch": "^3.1.2",
655
+ "pstree.remy": "^1.1.8",
656
+ "semver": "^5.7.1",
657
+ "simple-update-notifier": "^1.0.7",
658
+ "supports-color": "^5.5.0",
659
+ "touch": "^3.1.0",
660
+ "undefsafe": "^2.0.5"
661
+ },
662
+ "bin": {
663
+ "nodemon": "bin/nodemon.js"
664
+ },
665
+ "engines": {
666
+ "node": ">=8.10.0"
667
+ },
668
+ "funding": {
669
+ "type": "opencollective",
670
+ "url": "https://opencollective.com/nodemon"
671
+ }
672
+ },
673
+ "node_modules/nodemon/node_modules/debug": {
674
+ "version": "3.2.7",
675
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
676
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
677
+ "dependencies": {
678
+ "ms": "^2.1.1"
679
+ }
680
+ },
681
+ "node_modules/nodemon/node_modules/ms": {
682
+ "version": "2.1.3",
683
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
684
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
685
+ },
686
+ "node_modules/nopt": {
687
+ "version": "1.0.10",
688
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
689
+ "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
690
+ "dependencies": {
691
+ "abbrev": "1"
692
+ },
693
+ "bin": {
694
+ "nopt": "bin/nopt.js"
695
+ },
696
+ "engines": {
697
+ "node": "*"
698
+ }
699
+ },
700
+ "node_modules/normalize-path": {
701
+ "version": "3.0.0",
702
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
703
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
704
+ "engines": {
705
+ "node": ">=0.10.0"
706
+ }
707
+ },
708
+ "node_modules/object-assign": {
709
+ "version": "4.1.1",
710
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
711
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
712
+ "engines": {
713
+ "node": ">=0.10.0"
714
+ }
715
+ },
716
+ "node_modules/object-inspect": {
717
+ "version": "1.12.3",
718
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
719
+ "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
720
+ "funding": {
721
+ "url": "https://github.com/sponsors/ljharb"
722
+ }
723
+ },
724
+ "node_modules/on-finished": {
725
+ "version": "2.4.1",
726
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
727
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
728
+ "dependencies": {
729
+ "ee-first": "1.1.1"
730
+ },
731
+ "engines": {
732
+ "node": ">= 0.8"
733
+ }
734
+ },
735
+ "node_modules/parseurl": {
736
+ "version": "1.3.3",
737
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
738
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
739
+ "engines": {
740
+ "node": ">= 0.8"
741
+ }
742
+ },
743
+ "node_modules/path-to-regexp": {
744
+ "version": "0.1.7",
745
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
746
+ "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
747
+ },
748
+ "node_modules/picomatch": {
749
+ "version": "2.3.1",
750
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
751
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
752
+ "engines": {
753
+ "node": ">=8.6"
754
+ },
755
+ "funding": {
756
+ "url": "https://github.com/sponsors/jonschlinkert"
757
+ }
758
+ },
759
+ "node_modules/proxy-addr": {
760
+ "version": "2.0.7",
761
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
762
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
763
+ "dependencies": {
764
+ "forwarded": "0.2.0",
765
+ "ipaddr.js": "1.9.1"
766
+ },
767
+ "engines": {
768
+ "node": ">= 0.10"
769
+ }
770
+ },
771
+ "node_modules/pstree.remy": {
772
+ "version": "1.1.8",
773
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
774
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="
775
+ },
776
+ "node_modules/qs": {
777
+ "version": "6.11.0",
778
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
779
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
780
+ "dependencies": {
781
+ "side-channel": "^1.0.4"
782
+ },
783
+ "engines": {
784
+ "node": ">=0.6"
785
+ },
786
+ "funding": {
787
+ "url": "https://github.com/sponsors/ljharb"
788
+ }
789
+ },
790
+ "node_modules/range-parser": {
791
+ "version": "1.2.1",
792
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
793
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
794
+ "engines": {
795
+ "node": ">= 0.6"
796
+ }
797
+ },
798
+ "node_modules/raw-body": {
799
+ "version": "2.5.1",
800
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
801
+ "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
802
+ "dependencies": {
803
+ "bytes": "3.1.2",
804
+ "http-errors": "2.0.0",
805
+ "iconv-lite": "0.4.24",
806
+ "unpipe": "1.0.0"
807
+ },
808
+ "engines": {
809
+ "node": ">= 0.8"
810
+ }
811
+ },
812
+ "node_modules/readdirp": {
813
+ "version": "3.6.0",
814
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
815
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
816
+ "dependencies": {
817
+ "picomatch": "^2.2.1"
818
+ },
819
+ "engines": {
820
+ "node": ">=8.10.0"
821
+ }
822
+ },
823
+ "node_modules/safe-buffer": {
824
+ "version": "5.2.1",
825
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
826
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
827
+ "funding": [
828
+ {
829
+ "type": "github",
830
+ "url": "https://github.com/sponsors/feross"
831
+ },
832
+ {
833
+ "type": "patreon",
834
+ "url": "https://www.patreon.com/feross"
835
+ },
836
+ {
837
+ "type": "consulting",
838
+ "url": "https://feross.org/support"
839
+ }
840
+ ]
841
+ },
842
+ "node_modules/safer-buffer": {
843
+ "version": "2.1.2",
844
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
845
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
846
+ },
847
+ "node_modules/semver": {
848
+ "version": "5.7.1",
849
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
850
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
851
+ "bin": {
852
+ "semver": "bin/semver"
853
+ }
854
+ },
855
+ "node_modules/send": {
856
+ "version": "0.18.0",
857
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
858
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
859
+ "dependencies": {
860
+ "debug": "2.6.9",
861
+ "depd": "2.0.0",
862
+ "destroy": "1.2.0",
863
+ "encodeurl": "~1.0.2",
864
+ "escape-html": "~1.0.3",
865
+ "etag": "~1.8.1",
866
+ "fresh": "0.5.2",
867
+ "http-errors": "2.0.0",
868
+ "mime": "1.6.0",
869
+ "ms": "2.1.3",
870
+ "on-finished": "2.4.1",
871
+ "range-parser": "~1.2.1",
872
+ "statuses": "2.0.1"
873
+ },
874
+ "engines": {
875
+ "node": ">= 0.8.0"
876
+ }
877
+ },
878
+ "node_modules/send/node_modules/ms": {
879
+ "version": "2.1.3",
880
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
881
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
882
+ },
883
+ "node_modules/serve-static": {
884
+ "version": "1.15.0",
885
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
886
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
887
+ "dependencies": {
888
+ "encodeurl": "~1.0.2",
889
+ "escape-html": "~1.0.3",
890
+ "parseurl": "~1.3.3",
891
+ "send": "0.18.0"
892
+ },
893
+ "engines": {
894
+ "node": ">= 0.8.0"
895
+ }
896
+ },
897
+ "node_modules/setprototypeof": {
898
+ "version": "1.2.0",
899
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
900
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
901
+ },
902
+ "node_modules/side-channel": {
903
+ "version": "1.0.4",
904
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
905
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
906
+ "dependencies": {
907
+ "call-bind": "^1.0.0",
908
+ "get-intrinsic": "^1.0.2",
909
+ "object-inspect": "^1.9.0"
910
+ },
911
+ "funding": {
912
+ "url": "https://github.com/sponsors/ljharb"
913
+ }
914
+ },
915
+ "node_modules/simple-update-notifier": {
916
+ "version": "1.1.0",
917
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz",
918
+ "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==",
919
+ "dependencies": {
920
+ "semver": "~7.0.0"
921
+ },
922
+ "engines": {
923
+ "node": ">=8.10.0"
924
+ }
925
+ },
926
+ "node_modules/simple-update-notifier/node_modules/semver": {
927
+ "version": "7.0.0",
928
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
929
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
930
+ "bin": {
931
+ "semver": "bin/semver.js"
932
+ }
933
+ },
934
+ "node_modules/statuses": {
935
+ "version": "2.0.1",
936
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
937
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
938
+ "engines": {
939
+ "node": ">= 0.8"
940
+ }
941
+ },
942
+ "node_modules/supports-color": {
943
+ "version": "5.5.0",
944
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
945
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
946
+ "dependencies": {
947
+ "has-flag": "^3.0.0"
948
+ },
949
+ "engines": {
950
+ "node": ">=4"
951
+ }
952
+ },
953
+ "node_modules/to-regex-range": {
954
+ "version": "5.0.1",
955
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
956
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
957
+ "dependencies": {
958
+ "is-number": "^7.0.0"
959
+ },
960
+ "engines": {
961
+ "node": ">=8.0"
962
+ }
963
+ },
964
+ "node_modules/toidentifier": {
965
+ "version": "1.0.1",
966
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
967
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
968
+ "engines": {
969
+ "node": ">=0.6"
970
+ }
971
+ },
972
+ "node_modules/touch": {
973
+ "version": "3.1.0",
974
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
975
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
976
+ "dependencies": {
977
+ "nopt": "~1.0.10"
978
+ },
979
+ "bin": {
980
+ "nodetouch": "bin/nodetouch.js"
981
+ }
982
+ },
983
+ "node_modules/tr46": {
984
+ "version": "0.0.3",
985
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
986
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
987
+ },
988
+ "node_modules/type-is": {
989
+ "version": "1.6.18",
990
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
991
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
992
+ "dependencies": {
993
+ "media-typer": "0.3.0",
994
+ "mime-types": "~2.1.24"
995
+ },
996
+ "engines": {
997
+ "node": ">= 0.6"
998
+ }
999
+ },
1000
+ "node_modules/undefsafe": {
1001
+ "version": "2.0.5",
1002
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
1003
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="
1004
+ },
1005
+ "node_modules/unpipe": {
1006
+ "version": "1.0.0",
1007
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1008
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
1009
+ "engines": {
1010
+ "node": ">= 0.8"
1011
+ }
1012
+ },
1013
+ "node_modules/utils-merge": {
1014
+ "version": "1.0.1",
1015
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
1016
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
1017
+ "engines": {
1018
+ "node": ">= 0.4.0"
1019
+ }
1020
+ },
1021
+ "node_modules/vary": {
1022
+ "version": "1.1.2",
1023
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1024
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
1025
+ "engines": {
1026
+ "node": ">= 0.8"
1027
+ }
1028
+ },
1029
+ "node_modules/webidl-conversions": {
1030
+ "version": "3.0.1",
1031
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
1032
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
1033
+ },
1034
+ "node_modules/whatwg-url": {
1035
+ "version": "5.0.0",
1036
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
1037
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
1038
+ "dependencies": {
1039
+ "tr46": "~0.0.3",
1040
+ "webidl-conversions": "^3.0.0"
1041
+ }
1042
+ }
1043
+ }
1044
+ }
server/node_modules/@notionhq/client/LICENSE ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ Copyright 2021 Notion Labs, Inc.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
server/node_modules/@notionhq/client/README.md ADDED
@@ -0,0 +1,280 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div align="center">
2
+ <h1>Notion SDK for JavaScript</h1>
3
+ <p>
4
+ <b>A simple and easy to use client for the <a href="https://developers.notion.com">Notion API</a></b>
5
+ </p>
6
+ <br>
7
+ </div>
8
+
9
+ ![Build status](https://github.com/makenotion/notion-sdk-js/actions/workflows/ci.yml/badge.svg)
10
+ [![npm version](https://badge.fury.io/js/%40notionhq%2Fclient.svg)](https://www.npmjs.com/package/@notionhq/client)
11
+
12
+ ## Installation
13
+
14
+ ```
15
+ npm install @notionhq/client
16
+ ```
17
+
18
+ ## Usage
19
+
20
+ > Use Notion's [Getting Started Guide](https://developers.notion.com/docs/getting-started) to get set up to use Notion's API.
21
+
22
+ Import and initialize a client using an **integration token** or an OAuth **access token**.
23
+
24
+ ```js
25
+ const { Client } = require("@notionhq/client")
26
+
27
+ // Initializing a client
28
+ const notion = new Client({
29
+ auth: process.env.NOTION_TOKEN,
30
+ })
31
+ ```
32
+
33
+ Make a request to any Notion API endpoint.
34
+
35
+ > See the complete list of endpoints in the [API reference](https://developers.notion.com/reference).
36
+
37
+ ```js
38
+ ;(async () => {
39
+ const listUsersResponse = await notion.users.list({})
40
+ })()
41
+ ```
42
+
43
+ Each method returns a `Promise` which resolves the response.
44
+
45
+ ```js
46
+ console.log(listUsersResponse)
47
+ ```
48
+
49
+ ```
50
+ {
51
+ results: [
52
+ {
53
+ object: 'user',
54
+ id: 'd40e767c-d7af-4b18-a86d-55c61f1e39a4',
55
+ type: 'person',
56
+ person: {
57
+ email: '[email protected]',
58
+ },
59
+ name: 'Avocado Lovelace',
60
+ avatar_url: 'https://secure.notion-static.com/e6a352a8-8381-44d0-a1dc-9ed80e62b53d.jpg',
61
+ },
62
+ ...
63
+ ]
64
+ }
65
+ ```
66
+
67
+ Endpoint parameters are grouped into a single object. You don't need to remember which parameters go in the path, query, or body.
68
+
69
+ ```js
70
+ const myPage = await notion.databases.query({
71
+ database_id: "897e5a76-ae52-4b48-9fdf-e71f5945d1af",
72
+ filter: {
73
+ property: "Landmark",
74
+ rich_text: {
75
+ contains: "Bridge",
76
+ },
77
+ },
78
+ })
79
+ ```
80
+
81
+ ### Handling errors
82
+
83
+ If the API returns an unsuccessful response, the returned `Promise` rejects with a `APIResponseError`.
84
+
85
+ The error contains properties from the response, and the most helpful is `code`. You can compare `code` to the values in the `APIErrorCode` object to avoid misspelling error codes.
86
+
87
+ ```js
88
+ const { Client, APIErrorCode } = require("@notionhq/client")
89
+
90
+ try {
91
+ const myPage = await notion.databases.query({
92
+ database_id: databaseId,
93
+ filter: {
94
+ property: "Landmark",
95
+ rich_text: {
96
+ contains: "Bridge",
97
+ },
98
+ },
99
+ })
100
+ } catch (error) {
101
+ if (error.code === APIErrorCode.ObjectNotFound) {
102
+ //
103
+ // For example: handle by asking the user to select a different database
104
+ //
105
+ } else {
106
+ // Other error handling code
107
+ console.error(error)
108
+ }
109
+ }
110
+ ```
111
+
112
+ ### Logging
113
+
114
+ The client emits useful information to a logger. By default, it only emits warnings and errors.
115
+
116
+ If you're debugging an application, and would like the client to log response bodies, set the `logLevel` option to `LogLevel.DEBUG`.
117
+
118
+ ```js
119
+ const { Client, LogLevel } = require("@notionhq/client")
120
+
121
+ const notion = new Client({
122
+ auth: process.env.NOTION_TOKEN,
123
+ logLevel: LogLevel.DEBUG,
124
+ })
125
+ ```
126
+
127
+ You may also set a custom `logger` to emit logs to a destination other than `stdout`. A custom logger is a function which is called with 3 parameters: `logLevel`, `message`, and `extraInfo`. The custom logger should not return a value.
128
+
129
+ ### Client options
130
+
131
+ The `Client` supports the following options on initialization. These options are all keys in the single constructor parameter.
132
+
133
+ | Option | Default value | Type | Description |
134
+ | ----------- | -------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
135
+ | `auth` | `undefined` | `string` | Bearer token for authentication. If left undefined, the `auth` parameter should be set on each request. |
136
+ | `logLevel` | `LogLevel.WARN` | `LogLevel` | Verbosity of logs the instance will produce. By default, logs are written to `stdout`. |
137
+ | `timeoutMs` | `60_000` | `number` | Number of milliseconds to wait before emitting a `RequestTimeoutError` |
138
+ | `baseUrl` | `"https://api.notion.com"` | `string` | The root URL for sending API requests. This can be changed to test with a mock server. |
139
+ | `logger` | Log to console | `Logger` | A custom logging function. This function is only called when the client emits a log that is equal or greater severity than `logLevel`. |
140
+ | `agent` | Default node agent | `http.Agent` | Used to control creation of TCP sockets. A common use is to proxy requests with [`https-proxy-agent`](https://github.com/TooTallNate/node-https-proxy-agent) |
141
+
142
+ ### TypeScript
143
+
144
+ This package contains type definitions for all request parameters and responses,
145
+ as well as some useful sub-objects from those entities.
146
+
147
+ Because errors in TypeScript start with type `any` or `unknown`, you should use
148
+ the `isNotionClientError` type guard to handle them in a type-safe way. Each
149
+ `NotionClientError` type is uniquely identified by its `error.code`. Codes in
150
+ the `APIErrorCode` enum are returned from the server. Codes in the
151
+ `ClientErrorCode` enum are produced on the client.
152
+
153
+ ```ts
154
+ try {
155
+ const response = await notion.databases.query({
156
+ /* ... */
157
+ })
158
+ } catch (error: unknown) {
159
+ if (isNotionClientError(error)) {
160
+ // error is now strongly typed to NotionClientError
161
+ switch (error.code) {
162
+ case ClientErrorCode.RequestTimeout:
163
+ // ...
164
+ break
165
+ case APIErrorCode.ObjectNotFound:
166
+ // ...
167
+ break
168
+ case APIErrorCode.Unauthorized:
169
+ // ...
170
+ break
171
+ // ...
172
+ default:
173
+ // you could even take advantage of exhaustiveness checking
174
+ assertNever(error.code)
175
+ }
176
+ }
177
+ }
178
+ ```
179
+
180
+ #### Type guards
181
+
182
+ There are several [type guards](https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types)
183
+ provided to distinguish between full and partial API responses.
184
+
185
+ | Type guard function | Purpose |
186
+ | ------------------- | -------------------------------------------------------------- |
187
+ | `isFullPage` | Determine whether an object is a full `PageObjectResponse` |
188
+ | `isFullBlock` | Determine whether an object is a full `BlockObjectResponse` |
189
+ | `isFullDatabase` | Determine whether an object is a full `DatabaseObjectResponse` |
190
+ | `isFullUser` | Determine whether an object is a full `UserObjectResponse` |
191
+ | `isFullComment` | Determine whether an object is a full `CommentObjectResponse` |
192
+
193
+ Here is an example of using a type guard:
194
+
195
+ ```typescript
196
+ const fullOrPartialPages = await notion.databases.query({
197
+ database_id: "897e5a76-ae52-4b48-9fdf-e71f5945d1af",
198
+ })
199
+ for (const page of fullOrPartialPages.results) {
200
+ if (!isFullPage(page)) {
201
+ continue
202
+ }
203
+ // The page variable has been narrowed from PageObjectResponse | PartialPageObjectResponse to PageObjectResponse.
204
+ console.log("Created at:", page.created_time)
205
+ }
206
+ ```
207
+
208
+ ### Utility functions
209
+
210
+ This package also exports a few utility functions that are helpful for dealing with
211
+ any of our paginated APIs.
212
+
213
+ #### `iteratePaginatedAPI(listFn, firstPageArgs)`
214
+
215
+ This utility turns any paginated API into an async iterator.
216
+
217
+ **Parameters:**
218
+
219
+ - `listFn`: Any function on the Notion client that represents a paginated API (i.e. accepts
220
+ `start_cursor`.) Example: `notion.blocks.children.list`.
221
+ - `firstPageArgs`: Arguments that should be passed to the API on the first and subsequent calls
222
+ to the API, for example a `block_id`.
223
+
224
+ **Returns:**
225
+
226
+ An [async iterator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#the_async_iterator_and_async_iterable_protocols)
227
+ over results from the API.
228
+
229
+ **Example:**
230
+
231
+ ```javascript
232
+ for await (const block of iteratePaginatedAPI(notion.blocks.children.list, {
233
+ block_id: parentBlockId,
234
+ })) {
235
+ // Do something with block.
236
+ }
237
+ ```
238
+
239
+ #### `collectPaginatedAPI(listFn, firstPageArgs)`
240
+
241
+ This utility accepts the same arguments as `iteratePaginatedAPI`, but collects
242
+ the results into an in-memory array.
243
+
244
+ Before using this utility, check that the data you are dealing with is
245
+ small enough to fit in memory.
246
+
247
+ **Parameters:**
248
+
249
+ - `listFn`: Any function on the Notion client that represents a paginated API (i.e. accepts
250
+ `start_cursor`.) Example: `notion.blocks.children.list`.
251
+ - `firstPageArgs`: Arguments that should be passed to the API on the first and subsequent calls
252
+ to the API, for example a `block_id`.
253
+
254
+ **Returns:**
255
+
256
+ An array with results from the API.
257
+
258
+ **Example:**
259
+
260
+ ```javascript
261
+ const blocks = collectPaginatedAPI(notion.blocks.children.list, {
262
+ block_id: parentBlockId,
263
+ })
264
+ // Do something with blocks.
265
+ ```
266
+
267
+ ## Requirements
268
+
269
+ This package supports the following minimum versions:
270
+
271
+ - Runtime: `node >= 12`
272
+ - Type definitions (optional): `typescript >= 4.5`
273
+
274
+ Earlier versions may still work, but we encourage people building new applications to upgrade to the current stable.
275
+
276
+ ## Getting help
277
+
278
+ If you want to submit a feature request for Notion's API, or are experiencing any issues with the API platform, please email us at `[email protected]`.
279
+
280
+ To report issues with the SDK, it is possible to [submit an issue](https://github.com/makenotion/notion-sdk-js/issues) to this repo. However, we don't monitor these issues very closely. We recommend you reach out to us at `[email protected]` instead.
server/node_modules/@notionhq/client/build/package.json ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "@notionhq/client",
3
+ "version": "2.2.3",
4
+ "description": "A simple and easy to use client for the Notion API",
5
+ "engines": {
6
+ "node": ">=12"
7
+ },
8
+ "homepage": "https://developers.notion.com/docs/getting-started",
9
+ "bugs": {
10
+ "url": "https://github.com/makenotion/notion-sdk-js/issues"
11
+ },
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "https://github.com/makenotion/notion-sdk-js/"
15
+ },
16
+ "keywords": [
17
+ "notion",
18
+ "notionapi",
19
+ "rest",
20
+ "notion-api"
21
+ ],
22
+ "main": "./build/src",
23
+ "types": "./build/src/index.d.ts",
24
+ "scripts": {
25
+ "prepare": "npm run build",
26
+ "prepublishOnly": "npm run checkLoggedIn && npm run lint && npm run test",
27
+ "build": "tsc",
28
+ "prettier": "prettier --write .",
29
+ "lint": "prettier --check . && eslint . --ext .ts && cspell '**/*' ",
30
+ "test": "jest ./test",
31
+ "check-links": "git ls-files | grep md$ | xargs -n 1 markdown-link-check",
32
+ "prebuild": "npm run clean",
33
+ "clean": "rm -rf ./build",
34
+ "checkLoggedIn": "./scripts/verifyLoggedIn.sh"
35
+ },
36
+ "author": "",
37
+ "license": "MIT",
38
+ "files": [
39
+ "build/package.json",
40
+ "build/src/**"
41
+ ],
42
+ "dependencies": {
43
+ "@types/node-fetch": "^2.5.10",
44
+ "node-fetch": "^2.6.1"
45
+ },
46
+ "devDependencies": {
47
+ "@types/jest": "^28.1.4",
48
+ "@typescript-eslint/eslint-plugin": "^5.39.0",
49
+ "@typescript-eslint/parser": "^5.39.0",
50
+ "cspell": "^5.4.1",
51
+ "eslint": "^7.24.0",
52
+ "jest": "^28.1.2",
53
+ "markdown-link-check": "^3.8.7",
54
+ "prettier": "^2.3.0",
55
+ "ts-jest": "^28.0.5",
56
+ "typescript": "^4.8.4"
57
+ }
58
+ }
server/node_modules/@notionhq/client/build/src/Client.d.ts ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /// <reference types="node" />
2
+ import type { Agent } from "http";
3
+ import { Logger, LogLevel } from "./logging";
4
+ import { GetBlockParameters, GetBlockResponse, UpdateBlockParameters, UpdateBlockResponse, DeleteBlockParameters, DeleteBlockResponse, AppendBlockChildrenParameters, AppendBlockChildrenResponse, ListBlockChildrenParameters, ListBlockChildrenResponse, ListDatabasesParameters, ListDatabasesResponse, GetDatabaseParameters, GetDatabaseResponse, QueryDatabaseParameters, QueryDatabaseResponse, CreateDatabaseParameters, CreateDatabaseResponse, UpdateDatabaseParameters, UpdateDatabaseResponse, CreatePageParameters, CreatePageResponse, GetPageParameters, GetPageResponse, UpdatePageParameters, UpdatePageResponse, GetUserParameters, GetUserResponse, ListUsersParameters, ListUsersResponse, SearchParameters, SearchResponse, GetSelfParameters, GetSelfResponse, GetPagePropertyParameters, GetPagePropertyResponse, CreateCommentParameters, CreateCommentResponse, ListCommentsParameters, ListCommentsResponse } from "./api-endpoints";
5
+ import { SupportedFetch } from "./fetch-types";
6
+ export interface ClientOptions {
7
+ auth?: string;
8
+ timeoutMs?: number;
9
+ baseUrl?: string;
10
+ logLevel?: LogLevel;
11
+ logger?: Logger;
12
+ notionVersion?: string;
13
+ fetch?: SupportedFetch;
14
+ /** Silently ignored in the browser */
15
+ agent?: Agent;
16
+ }
17
+ export interface RequestParameters {
18
+ path: string;
19
+ method: Method;
20
+ query?: QueryParams;
21
+ body?: Record<string, unknown>;
22
+ auth?: string;
23
+ }
24
+ export default class Client {
25
+ #private;
26
+ static readonly defaultNotionVersion = "2022-06-28";
27
+ constructor(options?: ClientOptions);
28
+ /**
29
+ * Sends a request.
30
+ *
31
+ * @param path
32
+ * @param method
33
+ * @param query
34
+ * @param body
35
+ * @returns
36
+ */
37
+ request<ResponseBody>({ path, method, query, body, auth, }: RequestParameters): Promise<ResponseBody>;
38
+ readonly blocks: {
39
+ /**
40
+ * Retrieve block
41
+ */
42
+ retrieve: (args: WithAuth<GetBlockParameters>) => Promise<GetBlockResponse>;
43
+ /**
44
+ * Update block
45
+ */
46
+ update: (args: WithAuth<UpdateBlockParameters>) => Promise<UpdateBlockResponse>;
47
+ /**
48
+ * Delete block
49
+ */
50
+ delete: (args: WithAuth<DeleteBlockParameters>) => Promise<DeleteBlockResponse>;
51
+ children: {
52
+ /**
53
+ * Append block children
54
+ */
55
+ append: (args: WithAuth<AppendBlockChildrenParameters>) => Promise<AppendBlockChildrenResponse>;
56
+ /**
57
+ * Retrieve block children
58
+ */
59
+ list: (args: WithAuth<ListBlockChildrenParameters>) => Promise<ListBlockChildrenResponse>;
60
+ };
61
+ };
62
+ readonly databases: {
63
+ /**
64
+ * List databases
65
+ *
66
+ * @deprecated Please use `search`
67
+ */
68
+ list: (args: WithAuth<ListDatabasesParameters>) => Promise<ListDatabasesResponse>;
69
+ /**
70
+ * Retrieve a database
71
+ */
72
+ retrieve: (args: WithAuth<GetDatabaseParameters>) => Promise<GetDatabaseResponse>;
73
+ /**
74
+ * Query a database
75
+ */
76
+ query: (args: WithAuth<QueryDatabaseParameters>) => Promise<QueryDatabaseResponse>;
77
+ /**
78
+ * Create a database
79
+ */
80
+ create: (args: WithAuth<CreateDatabaseParameters>) => Promise<CreateDatabaseResponse>;
81
+ /**
82
+ * Update a database
83
+ */
84
+ update: (args: WithAuth<UpdateDatabaseParameters>) => Promise<UpdateDatabaseResponse>;
85
+ };
86
+ readonly pages: {
87
+ /**
88
+ * Create a page
89
+ */
90
+ create: (args: WithAuth<CreatePageParameters>) => Promise<CreatePageResponse>;
91
+ /**
92
+ * Retrieve a page
93
+ */
94
+ retrieve: (args: WithAuth<GetPageParameters>) => Promise<GetPageResponse>;
95
+ /**
96
+ * Update page properties
97
+ */
98
+ update: (args: WithAuth<UpdatePageParameters>) => Promise<UpdatePageResponse>;
99
+ properties: {
100
+ /**
101
+ * Retrieve page property
102
+ */
103
+ retrieve: (args: WithAuth<GetPagePropertyParameters>) => Promise<GetPagePropertyResponse>;
104
+ };
105
+ };
106
+ readonly users: {
107
+ /**
108
+ * Retrieve a user
109
+ */
110
+ retrieve: (args: WithAuth<GetUserParameters>) => Promise<GetUserResponse>;
111
+ /**
112
+ * List all users
113
+ */
114
+ list: (args: WithAuth<ListUsersParameters>) => Promise<ListUsersResponse>;
115
+ /**
116
+ * Get details about bot
117
+ */
118
+ me: (args: WithAuth<GetSelfParameters>) => Promise<GetSelfResponse>;
119
+ };
120
+ readonly comments: {
121
+ /**
122
+ * Create a comment
123
+ */
124
+ create: (args: WithAuth<CreateCommentParameters>) => Promise<CreateCommentResponse>;
125
+ /**
126
+ * List comments
127
+ */
128
+ list: (args: WithAuth<ListCommentsParameters>) => Promise<ListCommentsResponse>;
129
+ };
130
+ /**
131
+ * Search
132
+ */
133
+ search: (args: WithAuth<SearchParameters>) => Promise<SearchResponse>;
134
+ /**
135
+ * Emits a log message to the console.
136
+ *
137
+ * @param level The level for this message
138
+ * @param args Arguments to send to the console
139
+ */
140
+ private log;
141
+ /**
142
+ * Transforms an API key or access token into a headers object suitable for an HTTP request.
143
+ *
144
+ * This method uses the instance's value as the default when the input is undefined. If neither are defined, it returns
145
+ * an empty object
146
+ *
147
+ * @param auth API key or access token
148
+ * @returns headers key-value object
149
+ */
150
+ private authAsHeaders;
151
+ }
152
+ type Method = "get" | "post" | "patch" | "delete";
153
+ type QueryParams = Record<string, string | number | string[]> | URLSearchParams;
154
+ type WithAuth<P> = P & {
155
+ auth?: string;
156
+ };
157
+ export {};
158
+ //# sourceMappingURL=Client.d.ts.map
server/node_modules/@notionhq/client/build/src/Client.d.ts.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"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"}
server/node_modules/@notionhq/client/build/src/Client.js ADDED
@@ -0,0 +1,403 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _Client_auth, _Client_logLevel, _Client_logger, _Client_prefixUrl, _Client_timeoutMs, _Client_notionVersion, _Client_fetch, _Client_agent, _Client_userAgent;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const logging_1 = require("./logging");
16
+ const errors_1 = require("./errors");
17
+ const utils_1 = require("./utils");
18
+ const api_endpoints_1 = require("./api-endpoints");
19
+ const node_fetch_1 = require("node-fetch");
20
+ const package_json_1 = require("../package.json");
21
+ class Client {
22
+ constructor(options) {
23
+ var _a, _b, _c, _d, _e, _f;
24
+ _Client_auth.set(this, void 0);
25
+ _Client_logLevel.set(this, void 0);
26
+ _Client_logger.set(this, void 0);
27
+ _Client_prefixUrl.set(this, void 0);
28
+ _Client_timeoutMs.set(this, void 0);
29
+ _Client_notionVersion.set(this, void 0);
30
+ _Client_fetch.set(this, void 0);
31
+ _Client_agent.set(this, void 0);
32
+ _Client_userAgent.set(this, void 0);
33
+ /*
34
+ * Notion API endpoints
35
+ */
36
+ this.blocks = {
37
+ /**
38
+ * Retrieve block
39
+ */
40
+ retrieve: (args) => {
41
+ return this.request({
42
+ path: api_endpoints_1.getBlock.path(args),
43
+ method: api_endpoints_1.getBlock.method,
44
+ query: (0, utils_1.pick)(args, api_endpoints_1.getBlock.queryParams),
45
+ body: (0, utils_1.pick)(args, api_endpoints_1.getBlock.bodyParams),
46
+ auth: args === null || args === void 0 ? void 0 : args.auth,
47
+ });
48
+ },
49
+ /**
50
+ * Update block
51
+ */
52
+ update: (args) => {
53
+ return this.request({
54
+ path: api_endpoints_1.updateBlock.path(args),
55
+ method: api_endpoints_1.updateBlock.method,
56
+ query: (0, utils_1.pick)(args, api_endpoints_1.updateBlock.queryParams),
57
+ body: (0, utils_1.pick)(args, api_endpoints_1.updateBlock.bodyParams),
58
+ auth: args === null || args === void 0 ? void 0 : args.auth,
59
+ });
60
+ },
61
+ /**
62
+ * Delete block
63
+ */
64
+ delete: (args) => {
65
+ return this.request({
66
+ path: api_endpoints_1.deleteBlock.path(args),
67
+ method: api_endpoints_1.deleteBlock.method,
68
+ query: (0, utils_1.pick)(args, api_endpoints_1.deleteBlock.queryParams),
69
+ body: (0, utils_1.pick)(args, api_endpoints_1.deleteBlock.bodyParams),
70
+ auth: args === null || args === void 0 ? void 0 : args.auth,
71
+ });
72
+ },
73
+ children: {
74
+ /**
75
+ * Append block children
76
+ */
77
+ append: (args) => {
78
+ return this.request({
79
+ path: api_endpoints_1.appendBlockChildren.path(args),
80
+ method: api_endpoints_1.appendBlockChildren.method,
81
+ query: (0, utils_1.pick)(args, api_endpoints_1.appendBlockChildren.queryParams),
82
+ body: (0, utils_1.pick)(args, api_endpoints_1.appendBlockChildren.bodyParams),
83
+ auth: args === null || args === void 0 ? void 0 : args.auth,
84
+ });
85
+ },
86
+ /**
87
+ * Retrieve block children
88
+ */
89
+ list: (args) => {
90
+ return this.request({
91
+ path: api_endpoints_1.listBlockChildren.path(args),
92
+ method: api_endpoints_1.listBlockChildren.method,
93
+ query: (0, utils_1.pick)(args, api_endpoints_1.listBlockChildren.queryParams),
94
+ body: (0, utils_1.pick)(args, api_endpoints_1.listBlockChildren.bodyParams),
95
+ auth: args === null || args === void 0 ? void 0 : args.auth,
96
+ });
97
+ },
98
+ },
99
+ };
100
+ this.databases = {
101
+ /**
102
+ * List databases
103
+ *
104
+ * @deprecated Please use `search`
105
+ */
106
+ list: (args) => {
107
+ return this.request({
108
+ path: api_endpoints_1.listDatabases.path(),
109
+ method: api_endpoints_1.listDatabases.method,
110
+ query: (0, utils_1.pick)(args, api_endpoints_1.listDatabases.queryParams),
111
+ body: (0, utils_1.pick)(args, api_endpoints_1.listDatabases.bodyParams),
112
+ auth: args === null || args === void 0 ? void 0 : args.auth,
113
+ });
114
+ },
115
+ /**
116
+ * Retrieve a database
117
+ */
118
+ retrieve: (args) => {
119
+ return this.request({
120
+ path: api_endpoints_1.getDatabase.path(args),
121
+ method: api_endpoints_1.getDatabase.method,
122
+ query: (0, utils_1.pick)(args, api_endpoints_1.getDatabase.queryParams),
123
+ body: (0, utils_1.pick)(args, api_endpoints_1.getDatabase.bodyParams),
124
+ auth: args === null || args === void 0 ? void 0 : args.auth,
125
+ });
126
+ },
127
+ /**
128
+ * Query a database
129
+ */
130
+ query: (args) => {
131
+ return this.request({
132
+ path: api_endpoints_1.queryDatabase.path(args),
133
+ method: api_endpoints_1.queryDatabase.method,
134
+ query: (0, utils_1.pick)(args, api_endpoints_1.queryDatabase.queryParams),
135
+ body: (0, utils_1.pick)(args, api_endpoints_1.queryDatabase.bodyParams),
136
+ auth: args === null || args === void 0 ? void 0 : args.auth,
137
+ });
138
+ },
139
+ /**
140
+ * Create a database
141
+ */
142
+ create: (args) => {
143
+ return this.request({
144
+ path: api_endpoints_1.createDatabase.path(),
145
+ method: api_endpoints_1.createDatabase.method,
146
+ query: (0, utils_1.pick)(args, api_endpoints_1.createDatabase.queryParams),
147
+ body: (0, utils_1.pick)(args, api_endpoints_1.createDatabase.bodyParams),
148
+ auth: args === null || args === void 0 ? void 0 : args.auth,
149
+ });
150
+ },
151
+ /**
152
+ * Update a database
153
+ */
154
+ update: (args) => {
155
+ return this.request({
156
+ path: api_endpoints_1.updateDatabase.path(args),
157
+ method: api_endpoints_1.updateDatabase.method,
158
+ query: (0, utils_1.pick)(args, api_endpoints_1.updateDatabase.queryParams),
159
+ body: (0, utils_1.pick)(args, api_endpoints_1.updateDatabase.bodyParams),
160
+ auth: args === null || args === void 0 ? void 0 : args.auth,
161
+ });
162
+ },
163
+ };
164
+ this.pages = {
165
+ /**
166
+ * Create a page
167
+ */
168
+ create: (args) => {
169
+ return this.request({
170
+ path: api_endpoints_1.createPage.path(),
171
+ method: api_endpoints_1.createPage.method,
172
+ query: (0, utils_1.pick)(args, api_endpoints_1.createPage.queryParams),
173
+ body: (0, utils_1.pick)(args, api_endpoints_1.createPage.bodyParams),
174
+ auth: args === null || args === void 0 ? void 0 : args.auth,
175
+ });
176
+ },
177
+ /**
178
+ * Retrieve a page
179
+ */
180
+ retrieve: (args) => {
181
+ return this.request({
182
+ path: api_endpoints_1.getPage.path(args),
183
+ method: api_endpoints_1.getPage.method,
184
+ query: (0, utils_1.pick)(args, api_endpoints_1.getPage.queryParams),
185
+ body: (0, utils_1.pick)(args, api_endpoints_1.getPage.bodyParams),
186
+ auth: args === null || args === void 0 ? void 0 : args.auth,
187
+ });
188
+ },
189
+ /**
190
+ * Update page properties
191
+ */
192
+ update: (args) => {
193
+ return this.request({
194
+ path: api_endpoints_1.updatePage.path(args),
195
+ method: api_endpoints_1.updatePage.method,
196
+ query: (0, utils_1.pick)(args, api_endpoints_1.updatePage.queryParams),
197
+ body: (0, utils_1.pick)(args, api_endpoints_1.updatePage.bodyParams),
198
+ auth: args === null || args === void 0 ? void 0 : args.auth,
199
+ });
200
+ },
201
+ properties: {
202
+ /**
203
+ * Retrieve page property
204
+ */
205
+ retrieve: (args) => {
206
+ return this.request({
207
+ path: api_endpoints_1.getPageProperty.path(args),
208
+ method: api_endpoints_1.getPageProperty.method,
209
+ query: (0, utils_1.pick)(args, api_endpoints_1.getPageProperty.queryParams),
210
+ body: (0, utils_1.pick)(args, api_endpoints_1.getPageProperty.bodyParams),
211
+ auth: args === null || args === void 0 ? void 0 : args.auth,
212
+ });
213
+ },
214
+ },
215
+ };
216
+ this.users = {
217
+ /**
218
+ * Retrieve a user
219
+ */
220
+ retrieve: (args) => {
221
+ return this.request({
222
+ path: api_endpoints_1.getUser.path(args),
223
+ method: api_endpoints_1.getUser.method,
224
+ query: (0, utils_1.pick)(args, api_endpoints_1.getUser.queryParams),
225
+ body: (0, utils_1.pick)(args, api_endpoints_1.getUser.bodyParams),
226
+ auth: args === null || args === void 0 ? void 0 : args.auth,
227
+ });
228
+ },
229
+ /**
230
+ * List all users
231
+ */
232
+ list: (args) => {
233
+ return this.request({
234
+ path: api_endpoints_1.listUsers.path(),
235
+ method: api_endpoints_1.listUsers.method,
236
+ query: (0, utils_1.pick)(args, api_endpoints_1.listUsers.queryParams),
237
+ body: (0, utils_1.pick)(args, api_endpoints_1.listUsers.bodyParams),
238
+ auth: args === null || args === void 0 ? void 0 : args.auth,
239
+ });
240
+ },
241
+ /**
242
+ * Get details about bot
243
+ */
244
+ me: (args) => {
245
+ return this.request({
246
+ path: api_endpoints_1.getSelf.path(),
247
+ method: api_endpoints_1.getSelf.method,
248
+ query: (0, utils_1.pick)(args, api_endpoints_1.getSelf.queryParams),
249
+ body: (0, utils_1.pick)(args, api_endpoints_1.getSelf.bodyParams),
250
+ auth: args === null || args === void 0 ? void 0 : args.auth,
251
+ });
252
+ },
253
+ };
254
+ this.comments = {
255
+ /**
256
+ * Create a comment
257
+ */
258
+ create: (args) => {
259
+ return this.request({
260
+ path: api_endpoints_1.createComment.path(),
261
+ method: api_endpoints_1.createComment.method,
262
+ query: (0, utils_1.pick)(args, api_endpoints_1.createComment.queryParams),
263
+ body: (0, utils_1.pick)(args, api_endpoints_1.createComment.bodyParams),
264
+ auth: args === null || args === void 0 ? void 0 : args.auth,
265
+ });
266
+ },
267
+ /**
268
+ * List comments
269
+ */
270
+ list: (args) => {
271
+ return this.request({
272
+ path: api_endpoints_1.listComments.path(),
273
+ method: api_endpoints_1.listComments.method,
274
+ query: (0, utils_1.pick)(args, api_endpoints_1.listComments.queryParams),
275
+ body: (0, utils_1.pick)(args, api_endpoints_1.listComments.bodyParams),
276
+ auth: args === null || args === void 0 ? void 0 : args.auth,
277
+ });
278
+ },
279
+ };
280
+ /**
281
+ * Search
282
+ */
283
+ this.search = (args) => {
284
+ return this.request({
285
+ path: api_endpoints_1.search.path(),
286
+ method: api_endpoints_1.search.method,
287
+ query: (0, utils_1.pick)(args, api_endpoints_1.search.queryParams),
288
+ body: (0, utils_1.pick)(args, api_endpoints_1.search.bodyParams),
289
+ auth: args === null || args === void 0 ? void 0 : args.auth,
290
+ });
291
+ };
292
+ __classPrivateFieldSet(this, _Client_auth, options === null || options === void 0 ? void 0 : options.auth, "f");
293
+ __classPrivateFieldSet(this, _Client_logLevel, (_a = options === null || options === void 0 ? void 0 : options.logLevel) !== null && _a !== void 0 ? _a : logging_1.LogLevel.WARN, "f");
294
+ __classPrivateFieldSet(this, _Client_logger, (_b = options === null || options === void 0 ? void 0 : options.logger) !== null && _b !== void 0 ? _b : (0, logging_1.makeConsoleLogger)(package_json_1.name), "f");
295
+ __classPrivateFieldSet(this, _Client_prefixUrl, ((_c = options === null || options === void 0 ? void 0 : options.baseUrl) !== null && _c !== void 0 ? _c : "https://api.notion.com") + "/v1/", "f");
296
+ __classPrivateFieldSet(this, _Client_timeoutMs, (_d = options === null || options === void 0 ? void 0 : options.timeoutMs) !== null && _d !== void 0 ? _d : 60000, "f");
297
+ __classPrivateFieldSet(this, _Client_notionVersion, (_e = options === null || options === void 0 ? void 0 : options.notionVersion) !== null && _e !== void 0 ? _e : Client.defaultNotionVersion, "f");
298
+ __classPrivateFieldSet(this, _Client_fetch, (_f = options === null || options === void 0 ? void 0 : options.fetch) !== null && _f !== void 0 ? _f : node_fetch_1.default, "f");
299
+ __classPrivateFieldSet(this, _Client_agent, options === null || options === void 0 ? void 0 : options.agent, "f");
300
+ __classPrivateFieldSet(this, _Client_userAgent, `notionhq-client/${package_json_1.version}`, "f");
301
+ }
302
+ /**
303
+ * Sends a request.
304
+ *
305
+ * @param path
306
+ * @param method
307
+ * @param query
308
+ * @param body
309
+ * @returns
310
+ */
311
+ async request({ path, method, query, body, auth, }) {
312
+ this.log(logging_1.LogLevel.INFO, "request start", { method, path });
313
+ // If the body is empty, don't send the body in the HTTP request
314
+ const bodyAsJsonString = !body || Object.entries(body).length === 0
315
+ ? undefined
316
+ : JSON.stringify(body);
317
+ const url = new URL(`${__classPrivateFieldGet(this, _Client_prefixUrl, "f")}${path}`);
318
+ if (query) {
319
+ for (const [key, value] of Object.entries(query)) {
320
+ if (value !== undefined) {
321
+ if (Array.isArray(value)) {
322
+ value.forEach(val => url.searchParams.append(key, String(val)));
323
+ }
324
+ else {
325
+ url.searchParams.append(key, String(value));
326
+ }
327
+ }
328
+ }
329
+ }
330
+ const headers = {
331
+ ...this.authAsHeaders(auth),
332
+ "Notion-Version": __classPrivateFieldGet(this, _Client_notionVersion, "f"),
333
+ "user-agent": __classPrivateFieldGet(this, _Client_userAgent, "f"),
334
+ };
335
+ if (bodyAsJsonString !== undefined) {
336
+ headers["content-type"] = "application/json";
337
+ }
338
+ try {
339
+ const response = await errors_1.RequestTimeoutError.rejectAfterTimeout(__classPrivateFieldGet(this, _Client_fetch, "f").call(this, url.toString(), {
340
+ method: method.toUpperCase(),
341
+ headers,
342
+ body: bodyAsJsonString,
343
+ agent: __classPrivateFieldGet(this, _Client_agent, "f"),
344
+ }), __classPrivateFieldGet(this, _Client_timeoutMs, "f"));
345
+ const responseText = await response.text();
346
+ if (!response.ok) {
347
+ throw (0, errors_1.buildRequestError)(response, responseText);
348
+ }
349
+ const responseJson = JSON.parse(responseText);
350
+ this.log(logging_1.LogLevel.INFO, `request success`, { method, path });
351
+ return responseJson;
352
+ }
353
+ catch (error) {
354
+ if (!(0, errors_1.isNotionClientError)(error)) {
355
+ throw error;
356
+ }
357
+ // Log the error if it's one of our known error types
358
+ this.log(logging_1.LogLevel.WARN, `request fail`, {
359
+ code: error.code,
360
+ message: error.message,
361
+ });
362
+ if ((0, errors_1.isHTTPResponseError)(error)) {
363
+ // The response body may contain sensitive information so it is logged separately at the DEBUG level
364
+ this.log(logging_1.LogLevel.DEBUG, `failed response body`, {
365
+ body: error.body,
366
+ });
367
+ }
368
+ throw error;
369
+ }
370
+ }
371
+ /**
372
+ * Emits a log message to the console.
373
+ *
374
+ * @param level The level for this message
375
+ * @param args Arguments to send to the console
376
+ */
377
+ log(level, message, extraInfo) {
378
+ if ((0, logging_1.logLevelSeverity)(level) >= (0, logging_1.logLevelSeverity)(__classPrivateFieldGet(this, _Client_logLevel, "f"))) {
379
+ __classPrivateFieldGet(this, _Client_logger, "f").call(this, level, message, extraInfo);
380
+ }
381
+ }
382
+ /**
383
+ * Transforms an API key or access token into a headers object suitable for an HTTP request.
384
+ *
385
+ * This method uses the instance's value as the default when the input is undefined. If neither are defined, it returns
386
+ * an empty object
387
+ *
388
+ * @param auth API key or access token
389
+ * @returns headers key-value object
390
+ */
391
+ authAsHeaders(auth) {
392
+ const headers = {};
393
+ const authHeaderValue = auth !== null && auth !== void 0 ? auth : __classPrivateFieldGet(this, _Client_auth, "f");
394
+ if (authHeaderValue !== undefined) {
395
+ headers["authorization"] = `Bearer ${authHeaderValue}`;
396
+ }
397
+ return headers;
398
+ }
399
+ }
400
+ exports.default = Client;
401
+ _Client_auth = new WeakMap(), _Client_logLevel = new WeakMap(), _Client_logger = new WeakMap(), _Client_prefixUrl = new WeakMap(), _Client_timeoutMs = new WeakMap(), _Client_notionVersion = new WeakMap(), _Client_fetch = new WeakMap(), _Client_agent = new WeakMap(), _Client_userAgent = new WeakMap();
402
+ Client.defaultNotionVersion = "2022-06-28";
403
+ //# sourceMappingURL=Client.js.map
server/node_modules/@notionhq/client/build/src/Client.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../src/Client.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Agent } from \"http\"\nimport {\n Logger,\n LogLevel,\n logLevelSeverity,\n makeConsoleLogger,\n} from \"./logging\"\nimport {\n buildRequestError,\n isHTTPResponseError,\n isNotionClientError,\n RequestTimeoutError,\n} from \"./errors\"\nimport { pick } from \"./utils\"\nimport {\n GetBlockParameters,\n GetBlockResponse,\n getBlock,\n UpdateBlockParameters,\n UpdateBlockResponse,\n updateBlock,\n DeleteBlockParameters,\n DeleteBlockResponse,\n deleteBlock,\n AppendBlockChildrenParameters,\n AppendBlockChildrenResponse,\n appendBlockChildren,\n ListBlockChildrenParameters,\n ListBlockChildrenResponse,\n listBlockChildren,\n ListDatabasesParameters,\n ListDatabasesResponse,\n listDatabases,\n GetDatabaseParameters,\n GetDatabaseResponse,\n getDatabase,\n QueryDatabaseParameters,\n QueryDatabaseResponse,\n queryDatabase,\n CreateDatabaseParameters,\n CreateDatabaseResponse,\n createDatabase,\n UpdateDatabaseParameters,\n UpdateDatabaseResponse,\n updateDatabase,\n CreatePageParameters,\n CreatePageResponse,\n createPage,\n GetPageParameters,\n GetPageResponse,\n getPage,\n UpdatePageParameters,\n UpdatePageResponse,\n updatePage,\n GetUserParameters,\n GetUserResponse,\n getUser,\n ListUsersParameters,\n ListUsersResponse,\n listUsers,\n SearchParameters,\n SearchResponse,\n search,\n GetSelfParameters,\n GetSelfResponse,\n getSelf,\n GetPagePropertyParameters,\n GetPagePropertyResponse,\n getPageProperty,\n CreateCommentParameters,\n CreateCommentResponse,\n createComment,\n ListCommentsParameters,\n ListCommentsResponse,\n listComments,\n} from \"./api-endpoints\"\nimport nodeFetch from \"node-fetch\"\nimport {\n version as PACKAGE_VERSION,\n name as PACKAGE_NAME,\n} from \"../package.json\"\nimport { SupportedFetch } from \"./fetch-types\"\n\nexport interface ClientOptions {\n auth?: string\n timeoutMs?: number\n baseUrl?: string\n logLevel?: LogLevel\n logger?: Logger\n notionVersion?: string\n fetch?: SupportedFetch\n /** Silently ignored in the browser */\n agent?: Agent\n}\n\nexport interface RequestParameters {\n path: string\n method: Method\n query?: QueryParams\n body?: Record<string, unknown>\n auth?: string\n}\n\nexport default class Client {\n #auth?: string\n #logLevel: LogLevel\n #logger: Logger\n #prefixUrl: string\n #timeoutMs: number\n #notionVersion: string\n #fetch: SupportedFetch\n #agent: Agent | undefined\n #userAgent: string\n\n static readonly defaultNotionVersion = \"2022-06-28\"\n\n public constructor(options?: ClientOptions) {\n this.#auth = options?.auth\n this.#logLevel = options?.logLevel ?? LogLevel.WARN\n this.#logger = options?.logger ?? makeConsoleLogger(PACKAGE_NAME)\n this.#prefixUrl = (options?.baseUrl ?? \"https://api.notion.com\") + \"/v1/\"\n this.#timeoutMs = options?.timeoutMs ?? 60_000\n this.#notionVersion = options?.notionVersion ?? Client.defaultNotionVersion\n this.#fetch = options?.fetch ?? nodeFetch\n this.#agent = options?.agent\n this.#userAgent = `notionhq-client/${PACKAGE_VERSION}`\n }\n\n /**\n * Sends a request.\n *\n * @param path\n * @param method\n * @param query\n * @param body\n * @returns\n */\n public async request<ResponseBody>({\n path,\n method,\n query,\n body,\n auth,\n }: RequestParameters): Promise<ResponseBody> {\n this.log(LogLevel.INFO, \"request start\", { method, path })\n\n // If the body is empty, don't send the body in the HTTP request\n const bodyAsJsonString =\n !body || Object.entries(body).length === 0\n ? undefined\n : JSON.stringify(body)\n\n const url = new URL(`${this.#prefixUrl}${path}`)\n if (query) {\n for (const [key, value] of Object.entries(query)) {\n if (value !== undefined) {\n if (Array.isArray(value)) {\n value.forEach(val => url.searchParams.append(key, String(val)))\n } else {\n url.searchParams.append(key, String(value))\n }\n }\n }\n }\n\n const headers: Record<string, string> = {\n ...this.authAsHeaders(auth),\n \"Notion-Version\": this.#notionVersion,\n \"user-agent\": this.#userAgent,\n }\n\n if (bodyAsJsonString !== undefined) {\n headers[\"content-type\"] = \"application/json\"\n }\n try {\n const response = await RequestTimeoutError.rejectAfterTimeout(\n this.#fetch(url.toString(), {\n method: method.toUpperCase(),\n headers,\n body: bodyAsJsonString,\n agent: this.#agent,\n }),\n this.#timeoutMs\n )\n\n const responseText = await response.text()\n if (!response.ok) {\n throw buildRequestError(response, responseText)\n }\n\n const responseJson: ResponseBody = JSON.parse(responseText)\n this.log(LogLevel.INFO, `request success`, { method, path })\n return responseJson\n } catch (error: unknown) {\n if (!isNotionClientError(error)) {\n throw error\n }\n\n // Log the error if it's one of our known error types\n this.log(LogLevel.WARN, `request fail`, {\n code: error.code,\n message: error.message,\n })\n\n if (isHTTPResponseError(error)) {\n // The response body may contain sensitive information so it is logged separately at the DEBUG level\n this.log(LogLevel.DEBUG, `failed response body`, {\n body: error.body,\n })\n }\n\n throw error\n }\n }\n\n /*\n * Notion API endpoints\n */\n\n public readonly blocks = {\n /**\n * Retrieve block\n */\n retrieve: (\n args: WithAuth<GetBlockParameters>\n ): Promise<GetBlockResponse> => {\n return this.request<GetBlockResponse>({\n path: getBlock.path(args),\n method: getBlock.method,\n query: pick(args, getBlock.queryParams),\n body: pick(args, getBlock.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update block\n */\n update: (\n args: WithAuth<UpdateBlockParameters>\n ): Promise<UpdateBlockResponse> => {\n return this.request<UpdateBlockResponse>({\n path: updateBlock.path(args),\n method: updateBlock.method,\n query: pick(args, updateBlock.queryParams),\n body: pick(args, updateBlock.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Delete block\n */\n delete: (\n args: WithAuth<DeleteBlockParameters>\n ): Promise<DeleteBlockResponse> => {\n return this.request<DeleteBlockResponse>({\n path: deleteBlock.path(args),\n method: deleteBlock.method,\n query: pick(args, deleteBlock.queryParams),\n body: pick(args, deleteBlock.bodyParams),\n auth: args?.auth,\n })\n },\n children: {\n /**\n * Append block children\n */\n append: (\n args: WithAuth<AppendBlockChildrenParameters>\n ): Promise<AppendBlockChildrenResponse> => {\n return this.request<AppendBlockChildrenResponse>({\n path: appendBlockChildren.path(args),\n method: appendBlockChildren.method,\n query: pick(args, appendBlockChildren.queryParams),\n body: pick(args, appendBlockChildren.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve block children\n */\n list: (\n args: WithAuth<ListBlockChildrenParameters>\n ): Promise<ListBlockChildrenResponse> => {\n return this.request<ListBlockChildrenResponse>({\n path: listBlockChildren.path(args),\n method: listBlockChildren.method,\n query: pick(args, listBlockChildren.queryParams),\n body: pick(args, listBlockChildren.bodyParams),\n auth: args?.auth,\n })\n },\n },\n }\n\n public readonly databases = {\n /**\n * List databases\n *\n * @deprecated Please use `search`\n */\n list: (\n args: WithAuth<ListDatabasesParameters>\n ): Promise<ListDatabasesResponse> => {\n return this.request<ListDatabasesResponse>({\n path: listDatabases.path(),\n method: listDatabases.method,\n query: pick(args, listDatabases.queryParams),\n body: pick(args, listDatabases.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a database\n */\n retrieve: (\n args: WithAuth<GetDatabaseParameters>\n ): Promise<GetDatabaseResponse> => {\n return this.request<GetDatabaseResponse>({\n path: getDatabase.path(args),\n method: getDatabase.method,\n query: pick(args, getDatabase.queryParams),\n body: pick(args, getDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Query a database\n */\n query: (\n args: WithAuth<QueryDatabaseParameters>\n ): Promise<QueryDatabaseResponse> => {\n return this.request<QueryDatabaseResponse>({\n path: queryDatabase.path(args),\n method: queryDatabase.method,\n query: pick(args, queryDatabase.queryParams),\n body: pick(args, queryDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Create a database\n */\n create: (\n args: WithAuth<CreateDatabaseParameters>\n ): Promise<CreateDatabaseResponse> => {\n return this.request<CreateDatabaseResponse>({\n path: createDatabase.path(),\n method: createDatabase.method,\n query: pick(args, createDatabase.queryParams),\n body: pick(args, createDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update a database\n */\n update: (\n args: WithAuth<UpdateDatabaseParameters>\n ): Promise<UpdateDatabaseResponse> => {\n return this.request<UpdateDatabaseResponse>({\n path: updateDatabase.path(args),\n method: updateDatabase.method,\n query: pick(args, updateDatabase.queryParams),\n body: pick(args, updateDatabase.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly pages = {\n /**\n * Create a page\n */\n create: (\n args: WithAuth<CreatePageParameters>\n ): Promise<CreatePageResponse> => {\n return this.request<CreatePageResponse>({\n path: createPage.path(),\n method: createPage.method,\n query: pick(args, createPage.queryParams),\n body: pick(args, createPage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Retrieve a page\n */\n retrieve: (args: WithAuth<GetPageParameters>): Promise<GetPageResponse> => {\n return this.request<GetPageResponse>({\n path: getPage.path(args),\n method: getPage.method,\n query: pick(args, getPage.queryParams),\n body: pick(args, getPage.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Update page properties\n */\n update: (\n args: WithAuth<UpdatePageParameters>\n ): Promise<UpdatePageResponse> => {\n return this.request<UpdatePageResponse>({\n path: updatePage.path(args),\n method: updatePage.method,\n query: pick(args, updatePage.queryParams),\n body: pick(args, updatePage.bodyParams),\n auth: args?.auth,\n })\n },\n properties: {\n /**\n * Retrieve page property\n */\n retrieve: (\n args: WithAuth<GetPagePropertyParameters>\n ): Promise<GetPagePropertyResponse> => {\n return this.request<GetPagePropertyResponse>({\n path: getPageProperty.path(args),\n method: getPageProperty.method,\n query: pick(args, getPageProperty.queryParams),\n body: pick(args, getPageProperty.bodyParams),\n auth: args?.auth,\n })\n },\n },\n }\n\n public readonly users = {\n /**\n * Retrieve a user\n */\n retrieve: (args: WithAuth<GetUserParameters>): Promise<GetUserResponse> => {\n return this.request<GetUserResponse>({\n path: getUser.path(args),\n method: getUser.method,\n query: pick(args, getUser.queryParams),\n body: pick(args, getUser.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List all users\n */\n list: (args: WithAuth<ListUsersParameters>): Promise<ListUsersResponse> => {\n return this.request<ListUsersResponse>({\n path: listUsers.path(),\n method: listUsers.method,\n query: pick(args, listUsers.queryParams),\n body: pick(args, listUsers.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * Get details about bot\n */\n me: (args: WithAuth<GetSelfParameters>): Promise<GetSelfResponse> => {\n return this.request<GetSelfResponse>({\n path: getSelf.path(),\n method: getSelf.method,\n query: pick(args, getSelf.queryParams),\n body: pick(args, getSelf.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n public readonly comments = {\n /**\n * Create a comment\n */\n create: (\n args: WithAuth<CreateCommentParameters>\n ): Promise<CreateCommentResponse> => {\n return this.request<CreateCommentResponse>({\n path: createComment.path(),\n method: createComment.method,\n query: pick(args, createComment.queryParams),\n body: pick(args, createComment.bodyParams),\n auth: args?.auth,\n })\n },\n\n /**\n * List comments\n */\n list: (\n args: WithAuth<ListCommentsParameters>\n ): Promise<ListCommentsResponse> => {\n return this.request<ListCommentsResponse>({\n path: listComments.path(),\n method: listComments.method,\n query: pick(args, listComments.queryParams),\n body: pick(args, listComments.bodyParams),\n auth: args?.auth,\n })\n },\n }\n\n /**\n * Search\n */\n public search = (\n args: WithAuth<SearchParameters>\n ): Promise<SearchResponse> => {\n return this.request<SearchResponse>({\n path: search.path(),\n method: search.method,\n query: pick(args, search.queryParams),\n body: pick(args, search.bodyParams),\n auth: args?.auth,\n })\n }\n\n /**\n * Emits a log message to the console.\n *\n * @param level The level for this message\n * @param args Arguments to send to the console\n */\n private log(\n level: LogLevel,\n message: string,\n extraInfo: Record<string, unknown>\n ) {\n if (logLevelSeverity(level) >= logLevelSeverity(this.#logLevel)) {\n this.#logger(level, message, extraInfo)\n }\n }\n\n /**\n * Transforms an API key or access token into a headers object suitable for an HTTP request.\n *\n * This method uses the instance's value as the default when the input is undefined. If neither are defined, it returns\n * an empty object\n *\n * @param auth API key or access token\n * @returns headers key-value object\n */\n private authAsHeaders(auth?: string): Record<string, string> {\n const headers: Record<string, string> = {}\n const authHeaderValue = auth ?? this.#auth\n if (authHeaderValue !== undefined) {\n headers[\"authorization\"] = `Bearer ${authHeaderValue}`\n }\n return headers\n }\n}\n\n/*\n * Type aliases to support the generic request interface.\n */\ntype Method = \"get\" | \"post\" | \"patch\" | \"delete\"\ntype QueryParams = Record<string, string | number | string[]> | URLSearchParams\n\ntype WithAuth<P> = P & { auth?: string }\n"]}
server/node_modules/@notionhq/client/build/src/api-endpoints.d.ts ADDED
The diff for this file is too large to render. See raw diff
 
server/node_modules/@notionhq/client/build/src/api-endpoints.d.ts.map ADDED
The diff for this file is too large to render. See raw diff
 
server/node_modules/@notionhq/client/build/src/api-endpoints.js ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "use strict";
2
+ // cspell:disable-file
3
+ // Note: This is a generated file.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.listComments = exports.createComment = exports.search = exports.createDatabase = exports.listDatabases = exports.queryDatabase = exports.updateDatabase = exports.getDatabase = exports.appendBlockChildren = exports.listBlockChildren = exports.deleteBlock = exports.updateBlock = exports.getBlock = exports.getPageProperty = exports.updatePage = exports.getPage = exports.createPage = exports.listUsers = exports.getUser = exports.getSelf = void 0;
6
+ exports.getSelf = {
7
+ method: "get",
8
+ pathParams: [],
9
+ queryParams: [],
10
+ bodyParams: [],
11
+ path: () => `users/me`,
12
+ };
13
+ exports.getUser = {
14
+ method: "get",
15
+ pathParams: ["user_id"],
16
+ queryParams: [],
17
+ bodyParams: [],
18
+ path: (p) => `users/${p.user_id}`,
19
+ };
20
+ exports.listUsers = {
21
+ method: "get",
22
+ pathParams: [],
23
+ queryParams: ["start_cursor", "page_size"],
24
+ bodyParams: [],
25
+ path: () => `users`,
26
+ };
27
+ exports.createPage = {
28
+ method: "post",
29
+ pathParams: [],
30
+ queryParams: [],
31
+ bodyParams: ["parent", "properties", "icon", "cover", "content", "children"],
32
+ path: () => `pages`,
33
+ };
34
+ exports.getPage = {
35
+ method: "get",
36
+ pathParams: ["page_id"],
37
+ queryParams: ["filter_properties"],
38
+ bodyParams: [],
39
+ path: (p) => `pages/${p.page_id}`,
40
+ };
41
+ exports.updatePage = {
42
+ method: "patch",
43
+ pathParams: ["page_id"],
44
+ queryParams: [],
45
+ bodyParams: ["properties", "icon", "cover", "archived"],
46
+ path: (p) => `pages/${p.page_id}`,
47
+ };
48
+ exports.getPageProperty = {
49
+ method: "get",
50
+ pathParams: ["page_id", "property_id"],
51
+ queryParams: ["start_cursor", "page_size"],
52
+ bodyParams: [],
53
+ path: (p) => `pages/${p.page_id}/properties/${p.property_id}`,
54
+ };
55
+ exports.getBlock = {
56
+ method: "get",
57
+ pathParams: ["block_id"],
58
+ queryParams: [],
59
+ bodyParams: [],
60
+ path: (p) => `blocks/${p.block_id}`,
61
+ };
62
+ exports.updateBlock = {
63
+ method: "patch",
64
+ pathParams: ["block_id"],
65
+ queryParams: [],
66
+ bodyParams: [
67
+ "embed",
68
+ "type",
69
+ "archived",
70
+ "bookmark",
71
+ "image",
72
+ "video",
73
+ "pdf",
74
+ "file",
75
+ "audio",
76
+ "code",
77
+ "equation",
78
+ "divider",
79
+ "breadcrumb",
80
+ "table_of_contents",
81
+ "link_to_page",
82
+ "table_row",
83
+ "heading_1",
84
+ "heading_2",
85
+ "heading_3",
86
+ "paragraph",
87
+ "bulleted_list_item",
88
+ "numbered_list_item",
89
+ "quote",
90
+ "to_do",
91
+ "toggle",
92
+ "template",
93
+ "callout",
94
+ "synced_block",
95
+ "table",
96
+ ],
97
+ path: (p) => `blocks/${p.block_id}`,
98
+ };
99
+ exports.deleteBlock = {
100
+ method: "delete",
101
+ pathParams: ["block_id"],
102
+ queryParams: [],
103
+ bodyParams: [],
104
+ path: (p) => `blocks/${p.block_id}`,
105
+ };
106
+ exports.listBlockChildren = {
107
+ method: "get",
108
+ pathParams: ["block_id"],
109
+ queryParams: ["start_cursor", "page_size"],
110
+ bodyParams: [],
111
+ path: (p) => `blocks/${p.block_id}/children`,
112
+ };
113
+ exports.appendBlockChildren = {
114
+ method: "patch",
115
+ pathParams: ["block_id"],
116
+ queryParams: [],
117
+ bodyParams: ["children"],
118
+ path: (p) => `blocks/${p.block_id}/children`,
119
+ };
120
+ exports.getDatabase = {
121
+ method: "get",
122
+ pathParams: ["database_id"],
123
+ queryParams: [],
124
+ bodyParams: [],
125
+ path: (p) => `databases/${p.database_id}`,
126
+ };
127
+ exports.updateDatabase = {
128
+ method: "patch",
129
+ pathParams: ["database_id"],
130
+ queryParams: [],
131
+ bodyParams: [
132
+ "title",
133
+ "description",
134
+ "icon",
135
+ "cover",
136
+ "properties",
137
+ "is_inline",
138
+ "archived",
139
+ ],
140
+ path: (p) => `databases/${p.database_id}`,
141
+ };
142
+ exports.queryDatabase = {
143
+ method: "post",
144
+ pathParams: ["database_id"],
145
+ queryParams: ["filter_properties"],
146
+ bodyParams: ["sorts", "filter", "start_cursor", "page_size", "archived"],
147
+ path: (p) => `databases/${p.database_id}/query`,
148
+ };
149
+ exports.listDatabases = {
150
+ method: "get",
151
+ pathParams: [],
152
+ queryParams: ["start_cursor", "page_size"],
153
+ bodyParams: [],
154
+ path: () => `databases`,
155
+ };
156
+ exports.createDatabase = {
157
+ method: "post",
158
+ pathParams: [],
159
+ queryParams: [],
160
+ bodyParams: [
161
+ "parent",
162
+ "properties",
163
+ "icon",
164
+ "cover",
165
+ "title",
166
+ "description",
167
+ "is_inline",
168
+ ],
169
+ path: () => `databases`,
170
+ };
171
+ exports.search = {
172
+ method: "post",
173
+ pathParams: [],
174
+ queryParams: [],
175
+ bodyParams: ["sort", "query", "start_cursor", "page_size", "filter"],
176
+ path: () => `search`,
177
+ };
178
+ exports.createComment = {
179
+ method: "post",
180
+ pathParams: [],
181
+ queryParams: [],
182
+ bodyParams: ["parent", "rich_text", "discussion_id"],
183
+ path: () => `comments`,
184
+ };
185
+ exports.listComments = {
186
+ method: "get",
187
+ pathParams: [],
188
+ queryParams: ["block_id", "start_cursor", "page_size"],
189
+ bodyParams: [],
190
+ path: () => `comments`,
191
+ };
192
+ //# sourceMappingURL=api-endpoints.js.map
server/node_modules/@notionhq/client/build/src/api-endpoints.js.map ADDED
The diff for this file is too large to render. See raw diff
 
server/node_modules/@notionhq/client/build/src/errors.d.ts ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { SupportedResponse } from "./fetch-types";
2
+ /**
3
+ * Error codes returned in responses from the API.
4
+ */
5
+ export declare enum APIErrorCode {
6
+ Unauthorized = "unauthorized",
7
+ RestrictedResource = "restricted_resource",
8
+ ObjectNotFound = "object_not_found",
9
+ RateLimited = "rate_limited",
10
+ InvalidJSON = "invalid_json",
11
+ InvalidRequestURL = "invalid_request_url",
12
+ InvalidRequest = "invalid_request",
13
+ ValidationError = "validation_error",
14
+ ConflictError = "conflict_error",
15
+ InternalServerError = "internal_server_error",
16
+ ServiceUnavailable = "service_unavailable"
17
+ }
18
+ /**
19
+ * Error codes generated for client errors.
20
+ */
21
+ export declare enum ClientErrorCode {
22
+ RequestTimeout = "notionhq_client_request_timeout",
23
+ ResponseError = "notionhq_client_response_error"
24
+ }
25
+ /**
26
+ * Error codes on errors thrown by the `Client`.
27
+ */
28
+ export type NotionErrorCode = APIErrorCode | ClientErrorCode;
29
+ /**
30
+ * Base error type.
31
+ */
32
+ declare abstract class NotionClientErrorBase<Code extends NotionErrorCode> extends Error {
33
+ abstract code: Code;
34
+ }
35
+ /**
36
+ * Error type that encompasses all the kinds of errors that the Notion client will throw.
37
+ */
38
+ export type NotionClientError = RequestTimeoutError | UnknownHTTPResponseError | APIResponseError;
39
+ /**
40
+ * @param error any value, usually a caught error.
41
+ * @returns `true` if error is a `NotionClientError`.
42
+ */
43
+ export declare function isNotionClientError(error: unknown): error is NotionClientError;
44
+ /**
45
+ * Error thrown by the client if a request times out.
46
+ */
47
+ export declare class RequestTimeoutError extends NotionClientErrorBase<ClientErrorCode.RequestTimeout> {
48
+ readonly code = ClientErrorCode.RequestTimeout;
49
+ readonly name = "RequestTimeoutError";
50
+ constructor(message?: string);
51
+ static isRequestTimeoutError(error: unknown): error is RequestTimeoutError;
52
+ static rejectAfterTimeout<T>(promise: Promise<T>, timeoutMS: number): Promise<T>;
53
+ }
54
+ type HTTPResponseErrorCode = ClientErrorCode.ResponseError | APIErrorCode;
55
+ declare class HTTPResponseError<Code extends HTTPResponseErrorCode> extends NotionClientErrorBase<Code> {
56
+ readonly name: string;
57
+ readonly code: Code;
58
+ readonly status: number;
59
+ readonly headers: SupportedResponse["headers"];
60
+ readonly body: string;
61
+ constructor(args: {
62
+ code: Code;
63
+ status: number;
64
+ message: string;
65
+ headers: SupportedResponse["headers"];
66
+ rawBodyText: string;
67
+ });
68
+ }
69
+ export declare function isHTTPResponseError(error: unknown): error is UnknownHTTPResponseError | APIResponseError;
70
+ /**
71
+ * Error thrown if an API call responds with an unknown error code, or does not respond with
72
+ * a property-formatted error.
73
+ */
74
+ export declare class UnknownHTTPResponseError extends HTTPResponseError<ClientErrorCode.ResponseError> {
75
+ readonly name = "UnknownHTTPResponseError";
76
+ constructor(args: {
77
+ status: number;
78
+ message: string | undefined;
79
+ headers: SupportedResponse["headers"];
80
+ rawBodyText: string;
81
+ });
82
+ static isUnknownHTTPResponseError(error: unknown): error is UnknownHTTPResponseError;
83
+ }
84
+ /**
85
+ * A response from the API indicating a problem.
86
+ * Use the `code` property to handle various kinds of errors. All its possible values are in `APIErrorCode`.
87
+ */
88
+ export declare class APIResponseError extends HTTPResponseError<APIErrorCode> {
89
+ readonly name = "APIResponseError";
90
+ static isAPIResponseError(error: unknown): error is APIResponseError;
91
+ }
92
+ export declare function buildRequestError(response: SupportedResponse, bodyText: string): APIResponseError | UnknownHTTPResponseError;
93
+ export {};
94
+ //# sourceMappingURL=errors.d.ts.map
server/node_modules/@notionhq/client/build/src/errors.d.ts.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
server/node_modules/@notionhq/client/build/src/errors.js ADDED
@@ -0,0 +1,203 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildRequestError = exports.APIResponseError = exports.UnknownHTTPResponseError = exports.isHTTPResponseError = exports.RequestTimeoutError = exports.isNotionClientError = exports.ClientErrorCode = exports.APIErrorCode = void 0;
4
+ const utils_1 = require("./utils");
5
+ /**
6
+ * Error codes returned in responses from the API.
7
+ */
8
+ var APIErrorCode;
9
+ (function (APIErrorCode) {
10
+ APIErrorCode["Unauthorized"] = "unauthorized";
11
+ APIErrorCode["RestrictedResource"] = "restricted_resource";
12
+ APIErrorCode["ObjectNotFound"] = "object_not_found";
13
+ APIErrorCode["RateLimited"] = "rate_limited";
14
+ APIErrorCode["InvalidJSON"] = "invalid_json";
15
+ APIErrorCode["InvalidRequestURL"] = "invalid_request_url";
16
+ APIErrorCode["InvalidRequest"] = "invalid_request";
17
+ APIErrorCode["ValidationError"] = "validation_error";
18
+ APIErrorCode["ConflictError"] = "conflict_error";
19
+ APIErrorCode["InternalServerError"] = "internal_server_error";
20
+ APIErrorCode["ServiceUnavailable"] = "service_unavailable";
21
+ })(APIErrorCode = exports.APIErrorCode || (exports.APIErrorCode = {}));
22
+ /**
23
+ * Error codes generated for client errors.
24
+ */
25
+ var ClientErrorCode;
26
+ (function (ClientErrorCode) {
27
+ ClientErrorCode["RequestTimeout"] = "notionhq_client_request_timeout";
28
+ ClientErrorCode["ResponseError"] = "notionhq_client_response_error";
29
+ })(ClientErrorCode = exports.ClientErrorCode || (exports.ClientErrorCode = {}));
30
+ /**
31
+ * Base error type.
32
+ */
33
+ class NotionClientErrorBase extends Error {
34
+ }
35
+ /**
36
+ * @param error any value, usually a caught error.
37
+ * @returns `true` if error is a `NotionClientError`.
38
+ */
39
+ function isNotionClientError(error) {
40
+ return (0, utils_1.isObject)(error) && error instanceof NotionClientErrorBase;
41
+ }
42
+ exports.isNotionClientError = isNotionClientError;
43
+ /**
44
+ * Narrows down the types of a NotionClientError.
45
+ * @param error any value, usually a caught error.
46
+ * @param codes an object mapping from possible error codes to `true`
47
+ * @returns `true` if error is a `NotionClientError` with a code in `codes`.
48
+ */
49
+ function isNotionClientErrorWithCode(error, codes) {
50
+ return isNotionClientError(error) && error.code in codes;
51
+ }
52
+ /**
53
+ * Error thrown by the client if a request times out.
54
+ */
55
+ class RequestTimeoutError extends NotionClientErrorBase {
56
+ constructor(message = "Request to Notion API has timed out") {
57
+ super(message);
58
+ this.code = ClientErrorCode.RequestTimeout;
59
+ this.name = "RequestTimeoutError";
60
+ }
61
+ static isRequestTimeoutError(error) {
62
+ return isNotionClientErrorWithCode(error, {
63
+ [ClientErrorCode.RequestTimeout]: true,
64
+ });
65
+ }
66
+ static rejectAfterTimeout(promise, timeoutMS) {
67
+ return new Promise((resolve, reject) => {
68
+ const timeoutId = setTimeout(() => {
69
+ reject(new RequestTimeoutError());
70
+ }, timeoutMS);
71
+ promise
72
+ .then(resolve)
73
+ .catch(reject)
74
+ .then(() => clearTimeout(timeoutId));
75
+ });
76
+ }
77
+ }
78
+ exports.RequestTimeoutError = RequestTimeoutError;
79
+ class HTTPResponseError extends NotionClientErrorBase {
80
+ constructor(args) {
81
+ super(args.message);
82
+ this.name = "HTTPResponseError";
83
+ const { code, status, headers, rawBodyText } = args;
84
+ this.code = code;
85
+ this.status = status;
86
+ this.headers = headers;
87
+ this.body = rawBodyText;
88
+ }
89
+ }
90
+ const httpResponseErrorCodes = {
91
+ [ClientErrorCode.ResponseError]: true,
92
+ [APIErrorCode.Unauthorized]: true,
93
+ [APIErrorCode.RestrictedResource]: true,
94
+ [APIErrorCode.ObjectNotFound]: true,
95
+ [APIErrorCode.RateLimited]: true,
96
+ [APIErrorCode.InvalidJSON]: true,
97
+ [APIErrorCode.InvalidRequestURL]: true,
98
+ [APIErrorCode.InvalidRequest]: true,
99
+ [APIErrorCode.ValidationError]: true,
100
+ [APIErrorCode.ConflictError]: true,
101
+ [APIErrorCode.InternalServerError]: true,
102
+ [APIErrorCode.ServiceUnavailable]: true,
103
+ };
104
+ function isHTTPResponseError(error) {
105
+ if (!isNotionClientErrorWithCode(error, httpResponseErrorCodes)) {
106
+ return false;
107
+ }
108
+ return true;
109
+ }
110
+ exports.isHTTPResponseError = isHTTPResponseError;
111
+ /**
112
+ * Error thrown if an API call responds with an unknown error code, or does not respond with
113
+ * a property-formatted error.
114
+ */
115
+ class UnknownHTTPResponseError extends HTTPResponseError {
116
+ constructor(args) {
117
+ var _a;
118
+ super({
119
+ ...args,
120
+ code: ClientErrorCode.ResponseError,
121
+ message: (_a = args.message) !== null && _a !== void 0 ? _a : `Request to Notion API failed with status: ${args.status}`,
122
+ });
123
+ this.name = "UnknownHTTPResponseError";
124
+ }
125
+ static isUnknownHTTPResponseError(error) {
126
+ return isNotionClientErrorWithCode(error, {
127
+ [ClientErrorCode.ResponseError]: true,
128
+ });
129
+ }
130
+ }
131
+ exports.UnknownHTTPResponseError = UnknownHTTPResponseError;
132
+ const apiErrorCodes = {
133
+ [APIErrorCode.Unauthorized]: true,
134
+ [APIErrorCode.RestrictedResource]: true,
135
+ [APIErrorCode.ObjectNotFound]: true,
136
+ [APIErrorCode.RateLimited]: true,
137
+ [APIErrorCode.InvalidJSON]: true,
138
+ [APIErrorCode.InvalidRequestURL]: true,
139
+ [APIErrorCode.InvalidRequest]: true,
140
+ [APIErrorCode.ValidationError]: true,
141
+ [APIErrorCode.ConflictError]: true,
142
+ [APIErrorCode.InternalServerError]: true,
143
+ [APIErrorCode.ServiceUnavailable]: true,
144
+ };
145
+ /**
146
+ * A response from the API indicating a problem.
147
+ * Use the `code` property to handle various kinds of errors. All its possible values are in `APIErrorCode`.
148
+ */
149
+ class APIResponseError extends HTTPResponseError {
150
+ constructor() {
151
+ super(...arguments);
152
+ this.name = "APIResponseError";
153
+ }
154
+ static isAPIResponseError(error) {
155
+ return isNotionClientErrorWithCode(error, apiErrorCodes);
156
+ }
157
+ }
158
+ exports.APIResponseError = APIResponseError;
159
+ function buildRequestError(response, bodyText) {
160
+ const apiErrorResponseBody = parseAPIErrorResponseBody(bodyText);
161
+ if (apiErrorResponseBody !== undefined) {
162
+ return new APIResponseError({
163
+ code: apiErrorResponseBody.code,
164
+ message: apiErrorResponseBody.message,
165
+ headers: response.headers,
166
+ status: response.status,
167
+ rawBodyText: bodyText,
168
+ });
169
+ }
170
+ return new UnknownHTTPResponseError({
171
+ message: undefined,
172
+ headers: response.headers,
173
+ status: response.status,
174
+ rawBodyText: bodyText,
175
+ });
176
+ }
177
+ exports.buildRequestError = buildRequestError;
178
+ function parseAPIErrorResponseBody(body) {
179
+ if (typeof body !== "string") {
180
+ return;
181
+ }
182
+ let parsed;
183
+ try {
184
+ parsed = JSON.parse(body);
185
+ }
186
+ catch (parseError) {
187
+ return;
188
+ }
189
+ if (!(0, utils_1.isObject)(parsed) ||
190
+ typeof parsed["message"] !== "string" ||
191
+ !isAPIErrorCode(parsed["code"])) {
192
+ return;
193
+ }
194
+ return {
195
+ ...parsed,
196
+ code: parsed["code"],
197
+ message: parsed["message"],
198
+ };
199
+ }
200
+ function isAPIErrorCode(code) {
201
+ return typeof code === "string" && code in apiErrorCodes;
202
+ }
203
+ //# sourceMappingURL=errors.js.map
server/node_modules/@notionhq/client/build/src/errors.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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","sourcesContent":["import { SupportedResponse } from \"./fetch-types\"\nimport { isObject } from \"./utils\"\nimport { Assert } from \"./type-utils\"\n\n/**\n * Error codes returned in responses from the API.\n */\nexport enum APIErrorCode {\n Unauthorized = \"unauthorized\",\n RestrictedResource = \"restricted_resource\",\n ObjectNotFound = \"object_not_found\",\n RateLimited = \"rate_limited\",\n InvalidJSON = \"invalid_json\",\n InvalidRequestURL = \"invalid_request_url\",\n InvalidRequest = \"invalid_request\",\n ValidationError = \"validation_error\",\n ConflictError = \"conflict_error\",\n InternalServerError = \"internal_server_error\",\n ServiceUnavailable = \"service_unavailable\",\n}\n\n/**\n * Error codes generated for client errors.\n */\nexport enum ClientErrorCode {\n RequestTimeout = \"notionhq_client_request_timeout\",\n ResponseError = \"notionhq_client_response_error\",\n}\n\n/**\n * Error codes on errors thrown by the `Client`.\n */\nexport type NotionErrorCode = APIErrorCode | ClientErrorCode\n\n/**\n * Base error type.\n */\nabstract class NotionClientErrorBase<\n Code extends NotionErrorCode\n> extends Error {\n abstract code: Code\n}\n\n/**\n * Error type that encompasses all the kinds of errors that the Notion client will throw.\n */\nexport type NotionClientError =\n | RequestTimeoutError\n | UnknownHTTPResponseError\n | APIResponseError\n\n// Assert that NotionClientError's `code` property is a narrow type.\n// This prevents us from accidentally regressing to `string`-typed name field.\ntype _assertCodeIsNarrow = Assert<NotionErrorCode, NotionClientError[\"code\"]>\n\n// Assert that the type of `name` in NotionErrorCode is a narrow type.\n// This prevents us from accidentally regressing to `string`-typed name field.\ntype _assertNameIsNarrow = Assert<\n \"RequestTimeoutError\" | \"UnknownHTTPResponseError\" | \"APIResponseError\",\n NotionClientError[\"name\"]\n>\n\n/**\n * @param error any value, usually a caught error.\n * @returns `true` if error is a `NotionClientError`.\n */\nexport function isNotionClientError(\n error: unknown\n): error is NotionClientError {\n return isObject(error) && error instanceof NotionClientErrorBase\n}\n\n/**\n * Narrows down the types of a NotionClientError.\n * @param error any value, usually a caught error.\n * @param codes an object mapping from possible error codes to `true`\n * @returns `true` if error is a `NotionClientError` with a code in `codes`.\n */\nfunction isNotionClientErrorWithCode<Code extends NotionErrorCode>(\n error: unknown,\n codes: { [C in Code]: true }\n): error is NotionClientError & { code: Code } {\n return isNotionClientError(error) && error.code in codes\n}\n\n/**\n * Error thrown by the client if a request times out.\n */\nexport class RequestTimeoutError extends NotionClientErrorBase<ClientErrorCode.RequestTimeout> {\n readonly code = ClientErrorCode.RequestTimeout\n readonly name = \"RequestTimeoutError\"\n\n constructor(message = \"Request to Notion API has timed out\") {\n super(message)\n }\n\n static isRequestTimeoutError(error: unknown): error is RequestTimeoutError {\n return isNotionClientErrorWithCode(error, {\n [ClientErrorCode.RequestTimeout]: true,\n })\n }\n\n static rejectAfterTimeout<T>(\n promise: Promise<T>,\n timeoutMS: number\n ): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n const timeoutId = setTimeout(() => {\n reject(new RequestTimeoutError())\n }, timeoutMS)\n\n promise\n .then(resolve)\n .catch(reject)\n .then(() => clearTimeout(timeoutId))\n })\n }\n}\n\ntype HTTPResponseErrorCode = ClientErrorCode.ResponseError | APIErrorCode\n\nclass HTTPResponseError<\n Code extends HTTPResponseErrorCode\n> extends NotionClientErrorBase<Code> {\n readonly name: string = \"HTTPResponseError\"\n readonly code: Code\n readonly status: number\n readonly headers: SupportedResponse[\"headers\"]\n readonly body: string\n\n constructor(args: {\n code: Code\n status: number\n message: string\n headers: SupportedResponse[\"headers\"]\n rawBodyText: string\n }) {\n super(args.message)\n const { code, status, headers, rawBodyText } = args\n this.code = code\n this.status = status\n this.headers = headers\n this.body = rawBodyText\n }\n}\n\nconst httpResponseErrorCodes: { [C in HTTPResponseErrorCode]: true } = {\n [ClientErrorCode.ResponseError]: true,\n [APIErrorCode.Unauthorized]: true,\n [APIErrorCode.RestrictedResource]: true,\n [APIErrorCode.ObjectNotFound]: true,\n [APIErrorCode.RateLimited]: true,\n [APIErrorCode.InvalidJSON]: true,\n [APIErrorCode.InvalidRequestURL]: true,\n [APIErrorCode.InvalidRequest]: true,\n [APIErrorCode.ValidationError]: true,\n [APIErrorCode.ConflictError]: true,\n [APIErrorCode.InternalServerError]: true,\n [APIErrorCode.ServiceUnavailable]: true,\n}\n\nexport function isHTTPResponseError(\n error: unknown\n): error is UnknownHTTPResponseError | APIResponseError {\n if (!isNotionClientErrorWithCode(error, httpResponseErrorCodes)) {\n return false\n }\n\n type _assert = Assert<\n UnknownHTTPResponseError | APIResponseError,\n typeof error\n >\n\n return true\n}\n\n/**\n * Error thrown if an API call responds with an unknown error code, or does not respond with\n * a property-formatted error.\n */\nexport class UnknownHTTPResponseError extends HTTPResponseError<ClientErrorCode.ResponseError> {\n readonly name = \"UnknownHTTPResponseError\"\n\n constructor(args: {\n status: number\n message: string | undefined\n headers: SupportedResponse[\"headers\"]\n rawBodyText: string\n }) {\n super({\n ...args,\n code: ClientErrorCode.ResponseError,\n message:\n args.message ??\n `Request to Notion API failed with status: ${args.status}`,\n })\n }\n\n static isUnknownHTTPResponseError(\n error: unknown\n ): error is UnknownHTTPResponseError {\n return isNotionClientErrorWithCode(error, {\n [ClientErrorCode.ResponseError]: true,\n })\n }\n}\n\nconst apiErrorCodes: { [C in APIErrorCode]: true } = {\n [APIErrorCode.Unauthorized]: true,\n [APIErrorCode.RestrictedResource]: true,\n [APIErrorCode.ObjectNotFound]: true,\n [APIErrorCode.RateLimited]: true,\n [APIErrorCode.InvalidJSON]: true,\n [APIErrorCode.InvalidRequestURL]: true,\n [APIErrorCode.InvalidRequest]: true,\n [APIErrorCode.ValidationError]: true,\n [APIErrorCode.ConflictError]: true,\n [APIErrorCode.InternalServerError]: true,\n [APIErrorCode.ServiceUnavailable]: true,\n}\n\n/**\n * A response from the API indicating a problem.\n * Use the `code` property to handle various kinds of errors. All its possible values are in `APIErrorCode`.\n */\nexport class APIResponseError extends HTTPResponseError<APIErrorCode> {\n readonly name = \"APIResponseError\"\n\n static isAPIResponseError(error: unknown): error is APIResponseError {\n return isNotionClientErrorWithCode(error, apiErrorCodes)\n }\n}\n\nexport function buildRequestError(\n response: SupportedResponse,\n bodyText: string\n): APIResponseError | UnknownHTTPResponseError {\n const apiErrorResponseBody = parseAPIErrorResponseBody(bodyText)\n if (apiErrorResponseBody !== undefined) {\n return new APIResponseError({\n code: apiErrorResponseBody.code,\n message: apiErrorResponseBody.message,\n headers: response.headers,\n status: response.status,\n rawBodyText: bodyText,\n })\n }\n return new UnknownHTTPResponseError({\n message: undefined,\n headers: response.headers,\n status: response.status,\n rawBodyText: bodyText,\n })\n}\n\nfunction parseAPIErrorResponseBody(\n body: string\n): { code: APIErrorCode; message: string } | undefined {\n if (typeof body !== \"string\") {\n return\n }\n\n let parsed: unknown\n try {\n parsed = JSON.parse(body)\n } catch (parseError) {\n return\n }\n\n if (\n !isObject(parsed) ||\n typeof parsed[\"message\"] !== \"string\" ||\n !isAPIErrorCode(parsed[\"code\"])\n ) {\n return\n }\n\n return {\n ...parsed,\n code: parsed[\"code\"],\n message: parsed[\"message\"],\n }\n}\n\nfunction isAPIErrorCode(code: unknown): code is APIErrorCode {\n return typeof code === \"string\" && code in apiErrorCodes\n}\n"]}
server/node_modules/@notionhq/client/build/src/fetch-types.d.ts ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /// <reference lib="dom" />
2
+ import type { RequestInit as NodeRequestInit, Response as NodeResponse } from "node-fetch";
3
+ type FetchFn = typeof fetch;
4
+ type FetchResponse = Awaited<ReturnType<FetchFn>>;
5
+ type RequestInit = NonNullable<Parameters<FetchFn>[1]>;
6
+ export type SupportedRequestInfo = string;
7
+ export type SupportedRequestInit = {
8
+ agent?: NodeRequestInit["agent"];
9
+ body?: NonNullable<RequestInit["body"]> & NonNullable<NodeRequestInit["body"]>;
10
+ headers?: NonNullable<RequestInit["headers"]> & NonNullable<NodeRequestInit["headers"]>;
11
+ method?: RequestInit["method"];
12
+ redirect?: RequestInit["redirect"];
13
+ };
14
+ export type SupportedResponse = FetchResponse | NodeResponse;
15
+ export type SupportedFetch = (url: SupportedRequestInfo, init?: SupportedRequestInit) => Promise<SupportedResponse>;
16
+ export {};
17
+ //# sourceMappingURL=fetch-types.d.ts.map
server/node_modules/@notionhq/client/build/src/fetch-types.d.ts.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"fetch-types.d.ts","sourceRoot":"","sources":["../../src/fetch-types.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EACV,WAAW,IAAI,eAAe,EAC9B,QAAQ,IAAI,YAAY,EACzB,MAAM,YAAY,CAAA;AAEnB,KAAK,OAAO,GAAG,OAAO,KAAK,CAAA;AAC3B,KAAK,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;AAEjD,KAAK,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEtD,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAA;AAGzC,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9E,OAAO,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,GAC3C,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAA;IACzC,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAA;CACnC,CAAA;AAGD,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,YAAY,CAAA;AAE5D,MAAM,MAAM,cAAc,GAAG,CAC3B,GAAG,EAAE,oBAAoB,EACzB,IAAI,CAAC,EAAE,oBAAoB,KACxB,OAAO,CAAC,iBAAiB,CAAC,CAAA"}
server/node_modules/@notionhq/client/build/src/fetch-types.js ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=fetch-types.js.map
server/node_modules/@notionhq/client/build/src/fetch-types.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"fetch-types.js","sourceRoot":"","sources":["../../src/fetch-types.ts"],"names":[],"mappings":"","sourcesContent":["/// <reference lib=\"dom\" />\nimport type { Assert } from \"./type-utils\"\nimport type {\n RequestInit as NodeRequestInit,\n Response as NodeResponse,\n} from \"node-fetch\"\n\ntype FetchFn = typeof fetch\ntype FetchResponse = Awaited<ReturnType<FetchFn>>\ntype RequestInfo = Parameters<FetchFn>[0]\ntype RequestInit = NonNullable<Parameters<FetchFn>[1]>\n\nexport type SupportedRequestInfo = string\ntype _assertSupportedInfoIsSubtype = Assert<RequestInfo, SupportedRequestInfo>\n\nexport type SupportedRequestInit = {\n agent?: NodeRequestInit[\"agent\"]\n body?: NonNullable<RequestInit[\"body\"]> & NonNullable<NodeRequestInit[\"body\"]>\n headers?: NonNullable<RequestInit[\"headers\"]> &\n NonNullable<NodeRequestInit[\"headers\"]>\n method?: RequestInit[\"method\"]\n redirect?: RequestInit[\"redirect\"]\n}\ntype _assertSupportedInitIsSubtype = Assert<RequestInit, SupportedRequestInit>\n\nexport type SupportedResponse = FetchResponse | NodeResponse\n\nexport type SupportedFetch = (\n url: SupportedRequestInfo,\n init?: SupportedRequestInit\n) => Promise<SupportedResponse>\n"]}
server/node_modules/@notionhq/client/build/src/helpers.d.ts ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { BlockObjectResponse, CommentObjectResponse, DatabaseObjectResponse, PageObjectResponse, PartialBlockObjectResponse, PartialCommentObjectResponse, PartialDatabaseObjectResponse, PartialPageObjectResponse, PartialUserObjectResponse, UserObjectResponse } from "./api-endpoints";
2
+ interface PaginatedArgs {
3
+ start_cursor?: string;
4
+ }
5
+ interface PaginatedList<T> {
6
+ object: "list";
7
+ results: T[];
8
+ next_cursor: string | null;
9
+ has_more: boolean;
10
+ }
11
+ /**
12
+ * Returns an async iterator over the results of any paginated Notion API.
13
+ *
14
+ * Example (given a notion Client called `notion`):
15
+ *
16
+ * ```
17
+ * for await (const block of iteratePaginatedAPI(notion.blocks.children.list, {
18
+ * block_id: parentBlockId,
19
+ * })) {
20
+ * // Do something with block.
21
+ * }
22
+ * ```
23
+ *
24
+ * @param listFn A bound function on the Notion client that represents a conforming paginated
25
+ * API. Example: `notion.blocks.children.list`.
26
+ * @param firstPageArgs Arguments that should be passed to the API on the first and subsequent
27
+ * calls to the API. Any necessary `next_cursor` will be automatically populated by
28
+ * this function. Example: `{ block_id: "<my block id>" }`
29
+ */
30
+ export declare function iteratePaginatedAPI<Args extends PaginatedArgs, Item>(listFn: (args: Args) => Promise<PaginatedList<Item>>, firstPageArgs: Args): AsyncIterableIterator<Item>;
31
+ /**
32
+ * Collect all of the results of paginating an API into an in-memory array.
33
+ *
34
+ * Example (given a notion Client called `notion`):
35
+ *
36
+ * ```
37
+ * const blocks = collectPaginatedAPI(notion.blocks.children.list, {
38
+ * block_id: parentBlockId,
39
+ * })
40
+ * // Do something with blocks.
41
+ * ```
42
+ *
43
+ * @param listFn A bound function on the Notion client that represents a conforming paginated
44
+ * API. Example: `notion.blocks.children.list`.
45
+ * @param firstPageArgs Arguments that should be passed to the API on the first and subsequent
46
+ * calls to the API. Any necessary `next_cursor` will be automatically populated by
47
+ * this function. Example: `{ block_id: "<my block id>" }`
48
+ */
49
+ export declare function collectPaginatedAPI<Args extends PaginatedArgs, Item>(listFn: (args: Args) => Promise<PaginatedList<Item>>, firstPageArgs: Args): Promise<Item[]>;
50
+ /**
51
+ * @returns `true` if `response` is a full `BlockObjectResponse`.
52
+ */
53
+ export declare function isFullBlock(response: BlockObjectResponse | PartialBlockObjectResponse): response is BlockObjectResponse;
54
+ /**
55
+ * @returns `true` if `response` is a full `PageObjectResponse`.
56
+ */
57
+ export declare function isFullPage(response: PageObjectResponse | PartialPageObjectResponse): response is PageObjectResponse;
58
+ /**
59
+ * @returns `true` if `response` is a full `DatabaseObjectResponse`.
60
+ */
61
+ export declare function isFullDatabase(response: DatabaseObjectResponse | PartialDatabaseObjectResponse): response is DatabaseObjectResponse;
62
+ /**
63
+ * @returns `true` if `response` is a full `UserObjectResponse`.
64
+ */
65
+ export declare function isFullUser(response: UserObjectResponse | PartialUserObjectResponse): response is UserObjectResponse;
66
+ /**
67
+ * @returns `true` if `response` is a full `CommentObjectResponse`.
68
+ */
69
+ export declare function isFullComment(response: CommentObjectResponse | PartialCommentObjectResponse): response is CommentObjectResponse;
70
+ export {};
71
+ //# sourceMappingURL=helpers.d.ts.map
server/node_modules/@notionhq/client/build/src/helpers.d.ts.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,4BAA4B,EAC5B,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,kBAAkB,EACnB,MAAM,iBAAiB,CAAA;AAExB,UAAU,aAAa;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,UAAU,aAAa,CAAC,CAAC;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAuB,mBAAmB,CAAC,IAAI,SAAS,aAAa,EAAE,IAAI,EACzE,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EACpD,aAAa,EAAE,IAAI,GAClB,qBAAqB,CAAC,IAAI,CAAC,CAU7B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,SAAS,aAAa,EAAE,IAAI,EACxE,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EACpD,aAAa,EAAE,IAAI,GAClB,OAAO,CAAC,IAAI,EAAE,CAAC,CAMjB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,mBAAmB,GAAG,0BAA0B,GACzD,QAAQ,IAAI,mBAAmB,CAEjC;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,kBAAkB,GAAG,yBAAyB,GACvD,QAAQ,IAAI,kBAAkB,CAEhC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,sBAAsB,GAAG,6BAA6B,GAC/D,QAAQ,IAAI,sBAAsB,CAEpC;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,kBAAkB,GAAG,yBAAyB,GACvD,QAAQ,IAAI,kBAAkB,CAEhC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,qBAAqB,GAAG,4BAA4B,GAC7D,QAAQ,IAAI,qBAAqB,CAEnC"}
server/node_modules/@notionhq/client/build/src/helpers.js ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isFullComment = exports.isFullUser = exports.isFullDatabase = exports.isFullPage = exports.isFullBlock = exports.collectPaginatedAPI = exports.iteratePaginatedAPI = void 0;
4
+ /**
5
+ * Returns an async iterator over the results of any paginated Notion API.
6
+ *
7
+ * Example (given a notion Client called `notion`):
8
+ *
9
+ * ```
10
+ * for await (const block of iteratePaginatedAPI(notion.blocks.children.list, {
11
+ * block_id: parentBlockId,
12
+ * })) {
13
+ * // Do something with block.
14
+ * }
15
+ * ```
16
+ *
17
+ * @param listFn A bound function on the Notion client that represents a conforming paginated
18
+ * API. Example: `notion.blocks.children.list`.
19
+ * @param firstPageArgs Arguments that should be passed to the API on the first and subsequent
20
+ * calls to the API. Any necessary `next_cursor` will be automatically populated by
21
+ * this function. Example: `{ block_id: "<my block id>" }`
22
+ */
23
+ async function* iteratePaginatedAPI(listFn, firstPageArgs) {
24
+ let nextCursor = firstPageArgs.start_cursor;
25
+ do {
26
+ const response = await listFn({
27
+ ...firstPageArgs,
28
+ start_cursor: nextCursor,
29
+ });
30
+ yield* response.results;
31
+ nextCursor = response.next_cursor;
32
+ } while (nextCursor);
33
+ }
34
+ exports.iteratePaginatedAPI = iteratePaginatedAPI;
35
+ /**
36
+ * Collect all of the results of paginating an API into an in-memory array.
37
+ *
38
+ * Example (given a notion Client called `notion`):
39
+ *
40
+ * ```
41
+ * const blocks = collectPaginatedAPI(notion.blocks.children.list, {
42
+ * block_id: parentBlockId,
43
+ * })
44
+ * // Do something with blocks.
45
+ * ```
46
+ *
47
+ * @param listFn A bound function on the Notion client that represents a conforming paginated
48
+ * API. Example: `notion.blocks.children.list`.
49
+ * @param firstPageArgs Arguments that should be passed to the API on the first and subsequent
50
+ * calls to the API. Any necessary `next_cursor` will be automatically populated by
51
+ * this function. Example: `{ block_id: "<my block id>" }`
52
+ */
53
+ async function collectPaginatedAPI(listFn, firstPageArgs) {
54
+ const results = [];
55
+ for await (const item of iteratePaginatedAPI(listFn, firstPageArgs)) {
56
+ results.push(item);
57
+ }
58
+ return results;
59
+ }
60
+ exports.collectPaginatedAPI = collectPaginatedAPI;
61
+ /**
62
+ * @returns `true` if `response` is a full `BlockObjectResponse`.
63
+ */
64
+ function isFullBlock(response) {
65
+ return "type" in response;
66
+ }
67
+ exports.isFullBlock = isFullBlock;
68
+ /**
69
+ * @returns `true` if `response` is a full `PageObjectResponse`.
70
+ */
71
+ function isFullPage(response) {
72
+ return "url" in response;
73
+ }
74
+ exports.isFullPage = isFullPage;
75
+ /**
76
+ * @returns `true` if `response` is a full `DatabaseObjectResponse`.
77
+ */
78
+ function isFullDatabase(response) {
79
+ return "title" in response;
80
+ }
81
+ exports.isFullDatabase = isFullDatabase;
82
+ /**
83
+ * @returns `true` if `response` is a full `UserObjectResponse`.
84
+ */
85
+ function isFullUser(response) {
86
+ return "type" in response;
87
+ }
88
+ exports.isFullUser = isFullUser;
89
+ /**
90
+ * @returns `true` if `response` is a full `CommentObjectResponse`.
91
+ */
92
+ function isFullComment(response) {
93
+ return "created_by" in response;
94
+ }
95
+ exports.isFullComment = isFullComment;
96
+ //# sourceMappingURL=helpers.js.map
server/node_modules/@notionhq/client/build/src/helpers.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;AAwBA;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,SAAS,CAAC,CAAC,mBAAmB,CACxC,MAAoD,EACpD,aAAmB;IAEnB,IAAI,UAAU,GAA8B,aAAa,CAAC,YAAY,CAAA;IACtE,GAAG;QACD,MAAM,QAAQ,GAAwB,MAAM,MAAM,CAAC;YACjD,GAAG,aAAa;YAChB,YAAY,EAAE,UAAU;SACzB,CAAC,CAAA;QACF,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAA;QACvB,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAA;KAClC,QAAQ,UAAU,EAAC;AACtB,CAAC;AAbD,kDAaC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAoD,EACpD,aAAmB;IAEnB,MAAM,OAAO,GAAW,EAAE,CAAA;IAC1B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE;QACnE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACnB;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AATD,kDASC;AAED;;GAEG;AACH,SAAgB,WAAW,CACzB,QAA0D;IAE1D,OAAO,MAAM,IAAI,QAAQ,CAAA;AAC3B,CAAC;AAJD,kCAIC;AAED;;GAEG;AACH,SAAgB,UAAU,CACxB,QAAwD;IAExD,OAAO,KAAK,IAAI,QAAQ,CAAA;AAC1B,CAAC;AAJD,gCAIC;AAED;;GAEG;AACH,SAAgB,cAAc,CAC5B,QAAgE;IAEhE,OAAO,OAAO,IAAI,QAAQ,CAAA;AAC5B,CAAC;AAJD,wCAIC;AAED;;GAEG;AACH,SAAgB,UAAU,CACxB,QAAwD;IAExD,OAAO,MAAM,IAAI,QAAQ,CAAA;AAC3B,CAAC;AAJD,gCAIC;AAED;;GAEG;AACH,SAAgB,aAAa,CAC3B,QAA8D;IAE9D,OAAO,YAAY,IAAI,QAAQ,CAAA;AACjC,CAAC;AAJD,sCAIC","sourcesContent":["import {\n BlockObjectResponse,\n CommentObjectResponse,\n DatabaseObjectResponse,\n PageObjectResponse,\n PartialBlockObjectResponse,\n PartialCommentObjectResponse,\n PartialDatabaseObjectResponse,\n PartialPageObjectResponse,\n PartialUserObjectResponse,\n UserObjectResponse,\n} from \"./api-endpoints\"\n\ninterface PaginatedArgs {\n start_cursor?: string\n}\n\ninterface PaginatedList<T> {\n object: \"list\"\n results: T[]\n next_cursor: string | null\n has_more: boolean\n}\n\n/**\n * Returns an async iterator over the results of any paginated Notion API.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * for await (const block of iteratePaginatedAPI(notion.blocks.children.list, {\n * block_id: parentBlockId,\n * })) {\n * // Do something with block.\n * }\n * ```\n *\n * @param listFn A bound function on the Notion client that represents a conforming paginated\n * API. Example: `notion.blocks.children.list`.\n * @param firstPageArgs Arguments that should be passed to the API on the first and subsequent\n * calls to the API. Any necessary `next_cursor` will be automatically populated by\n * this function. Example: `{ block_id: \"<my block id>\" }`\n */\nexport async function* iteratePaginatedAPI<Args extends PaginatedArgs, Item>(\n listFn: (args: Args) => Promise<PaginatedList<Item>>,\n firstPageArgs: Args\n): AsyncIterableIterator<Item> {\n let nextCursor: string | null | undefined = firstPageArgs.start_cursor\n do {\n const response: PaginatedList<Item> = await listFn({\n ...firstPageArgs,\n start_cursor: nextCursor,\n })\n yield* response.results\n nextCursor = response.next_cursor\n } while (nextCursor)\n}\n\n/**\n * Collect all of the results of paginating an API into an in-memory array.\n *\n * Example (given a notion Client called `notion`):\n *\n * ```\n * const blocks = collectPaginatedAPI(notion.blocks.children.list, {\n * block_id: parentBlockId,\n * })\n * // Do something with blocks.\n * ```\n *\n * @param listFn A bound function on the Notion client that represents a conforming paginated\n * API. Example: `notion.blocks.children.list`.\n * @param firstPageArgs Arguments that should be passed to the API on the first and subsequent\n * calls to the API. Any necessary `next_cursor` will be automatically populated by\n * this function. Example: `{ block_id: \"<my block id>\" }`\n */\nexport async function collectPaginatedAPI<Args extends PaginatedArgs, Item>(\n listFn: (args: Args) => Promise<PaginatedList<Item>>,\n firstPageArgs: Args\n): Promise<Item[]> {\n const results: Item[] = []\n for await (const item of iteratePaginatedAPI(listFn, firstPageArgs)) {\n results.push(item)\n }\n return results\n}\n\n/**\n * @returns `true` if `response` is a full `BlockObjectResponse`.\n */\nexport function isFullBlock(\n response: BlockObjectResponse | PartialBlockObjectResponse\n): response is BlockObjectResponse {\n return \"type\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `PageObjectResponse`.\n */\nexport function isFullPage(\n response: PageObjectResponse | PartialPageObjectResponse\n): response is PageObjectResponse {\n return \"url\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `DatabaseObjectResponse`.\n */\nexport function isFullDatabase(\n response: DatabaseObjectResponse | PartialDatabaseObjectResponse\n): response is DatabaseObjectResponse {\n return \"title\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `UserObjectResponse`.\n */\nexport function isFullUser(\n response: UserObjectResponse | PartialUserObjectResponse\n): response is UserObjectResponse {\n return \"type\" in response\n}\n\n/**\n * @returns `true` if `response` is a full `CommentObjectResponse`.\n */\nexport function isFullComment(\n response: CommentObjectResponse | PartialCommentObjectResponse\n): response is CommentObjectResponse {\n return \"created_by\" in response\n}\n"]}
server/node_modules/@notionhq/client/build/src/index.d.ts ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ export { default as Client } from "./Client";
2
+ export { LogLevel, Logger } from "./logging";
3
+ export { NotionErrorCode, APIErrorCode, ClientErrorCode, NotionClientError, APIResponseError, UnknownHTTPResponseError, RequestTimeoutError, isNotionClientError, } from "./errors";
4
+ export { collectPaginatedAPI, iteratePaginatedAPI, isFullBlock, isFullDatabase, isFullPage, isFullUser, isFullComment, } from "./helpers";
5
+ //# sourceMappingURL=index.d.ts.map
server/node_modules/@notionhq/client/build/src/index.d.ts.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAEL,eAAe,EACf,YAAY,EACZ,eAAe,EAEf,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EAEnB,mBAAmB,GACpB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,UAAU,EACV,UAAU,EACV,aAAa,GACd,MAAM,WAAW,CAAA"}
server/node_modules/@notionhq/client/build/src/index.js ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isFullComment = exports.isFullUser = exports.isFullPage = exports.isFullDatabase = exports.isFullBlock = exports.iteratePaginatedAPI = exports.collectPaginatedAPI = exports.isNotionClientError = exports.RequestTimeoutError = exports.UnknownHTTPResponseError = exports.APIResponseError = exports.ClientErrorCode = exports.APIErrorCode = exports.LogLevel = exports.Client = void 0;
4
+ var Client_1 = require("./Client");
5
+ Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return Client_1.default; } });
6
+ var logging_1 = require("./logging");
7
+ Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return logging_1.LogLevel; } });
8
+ var errors_1 = require("./errors");
9
+ Object.defineProperty(exports, "APIErrorCode", { enumerable: true, get: function () { return errors_1.APIErrorCode; } });
10
+ Object.defineProperty(exports, "ClientErrorCode", { enumerable: true, get: function () { return errors_1.ClientErrorCode; } });
11
+ Object.defineProperty(exports, "APIResponseError", { enumerable: true, get: function () { return errors_1.APIResponseError; } });
12
+ Object.defineProperty(exports, "UnknownHTTPResponseError", { enumerable: true, get: function () { return errors_1.UnknownHTTPResponseError; } });
13
+ Object.defineProperty(exports, "RequestTimeoutError", { enumerable: true, get: function () { return errors_1.RequestTimeoutError; } });
14
+ // Error helpers
15
+ Object.defineProperty(exports, "isNotionClientError", { enumerable: true, get: function () { return errors_1.isNotionClientError; } });
16
+ var helpers_1 = require("./helpers");
17
+ Object.defineProperty(exports, "collectPaginatedAPI", { enumerable: true, get: function () { return helpers_1.collectPaginatedAPI; } });
18
+ Object.defineProperty(exports, "iteratePaginatedAPI", { enumerable: true, get: function () { return helpers_1.iteratePaginatedAPI; } });
19
+ Object.defineProperty(exports, "isFullBlock", { enumerable: true, get: function () { return helpers_1.isFullBlock; } });
20
+ Object.defineProperty(exports, "isFullDatabase", { enumerable: true, get: function () { return helpers_1.isFullDatabase; } });
21
+ Object.defineProperty(exports, "isFullPage", { enumerable: true, get: function () { return helpers_1.isFullPage; } });
22
+ Object.defineProperty(exports, "isFullUser", { enumerable: true, get: function () { return helpers_1.isFullUser; } });
23
+ Object.defineProperty(exports, "isFullComment", { enumerable: true, get: function () { return helpers_1.isFullComment; } });
24
+ //# sourceMappingURL=index.js.map
server/node_modules/@notionhq/client/build/src/index.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAA4C;AAAnC,gGAAA,OAAO,OAAU;AAC1B,qCAA4C;AAAnC,mGAAA,QAAQ,OAAA;AACjB,mCAYiB;AATf,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AAGf,0GAAA,gBAAgB,OAAA;AAChB,kHAAA,wBAAwB,OAAA;AACxB,6GAAA,mBAAmB,OAAA;AACnB,gBAAgB;AAChB,6GAAA,mBAAmB,OAAA;AAErB,qCAQkB;AAPhB,8GAAA,mBAAmB,OAAA;AACnB,8GAAA,mBAAmB,OAAA;AACnB,sGAAA,WAAW,OAAA;AACX,yGAAA,cAAc,OAAA;AACd,qGAAA,UAAU,OAAA;AACV,qGAAA,UAAU,OAAA;AACV,wGAAA,aAAa,OAAA","sourcesContent":["export { default as Client } from \"./Client\"\nexport { LogLevel, Logger } from \"./logging\"\nexport {\n // Error codes\n NotionErrorCode,\n APIErrorCode,\n ClientErrorCode,\n // Error types\n NotionClientError,\n APIResponseError,\n UnknownHTTPResponseError,\n RequestTimeoutError,\n // Error helpers\n isNotionClientError,\n} from \"./errors\"\nexport {\n collectPaginatedAPI,\n iteratePaginatedAPI,\n isFullBlock,\n isFullDatabase,\n isFullPage,\n isFullUser,\n isFullComment,\n} from \"./helpers\"\n"]}
server/node_modules/@notionhq/client/build/src/logging.d.ts ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ export declare enum LogLevel {
2
+ DEBUG = "debug",
3
+ INFO = "info",
4
+ WARN = "warn",
5
+ ERROR = "error"
6
+ }
7
+ export interface Logger {
8
+ (level: LogLevel, message: string, extraInfo: Record<string, unknown>): void;
9
+ }
10
+ export declare function makeConsoleLogger(name: string): Logger;
11
+ /**
12
+ * Transforms a log level into a comparable (numerical) value ordered by severity.
13
+ */
14
+ export declare function logLevelSeverity(level: LogLevel): number;
15
+ //# sourceMappingURL=logging.d.ts.map
server/node_modules/@notionhq/client/build/src/logging.d.ts.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":"AAEA,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAC7E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAItD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAaxD"}