matt HOFFNER commited on
Commit
f48e2a0
β€’
1 Parent(s): 36355a5

markdown and syntax highlighting

Browse files
package-lock.json CHANGED
@@ -25,12 +25,15 @@
25
  "react": "18.2.0",
26
  "react-dom": "18.2.0",
27
  "react-dropzone": "^14.2.3",
 
 
28
  "react95": "^4.0.0",
29
  "typescript": "5.0.4",
30
  "uuid": "^9.0.0"
31
  },
32
  "devDependencies": {
33
  "@types/fs-extra": "^11.0.1",
 
34
  "@types/uuid": "^9.0.1"
35
  }
36
  },
@@ -1424,6 +1427,14 @@
1424
  "react": "^16.5.1 || ^17.0.0 || ^18.0.0"
1425
  }
1426
  },
 
 
 
 
 
 
 
 
1427
  "node_modules/@types/estree": {
1428
  "version": "1.0.1",
1429
  "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
@@ -1439,6 +1450,14 @@
1439
  "@types/node": "*"
1440
  }
1441
  },
 
 
 
 
 
 
 
 
1442
  "node_modules/@types/json5": {
1443
  "version": "0.0.29",
1444
  "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
@@ -1458,6 +1477,19 @@
1458
  "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
1459
  "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA=="
1460
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
1461
  "node_modules/@types/node": {
1462
  "version": "20.1.4",
1463
  "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.4.tgz",
@@ -1486,6 +1518,15 @@
1486
  "@types/react": "*"
1487
  }
1488
  },
 
 
 
 
 
 
 
 
 
1489
  "node_modules/@types/retry": {
1490
  "version": "0.12.0",
1491
  "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
@@ -1496,6 +1537,11 @@
1496
  "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
1497
  "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ=="
1498
  },
 
 
 
 
 
1499
  "node_modules/@types/uuid": {
1500
  "version": "9.0.1",
1501
  "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.1.tgz",
@@ -1931,6 +1977,15 @@
1931
  "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==",
1932
  "peer": true
1933
  },
 
 
 
 
 
 
 
 
 
1934
  "node_modules/balanced-match": {
1935
  "version": "1.0.2",
1936
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -2219,6 +2274,33 @@
2219
  "url": "https://github.com/chalk/chalk?sponsor=1"
2220
  }
2221
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2222
  "node_modules/chokidar": {
2223
  "version": "3.5.3",
2224
  "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
@@ -2346,6 +2428,15 @@
2346
  "resolved": "https://registry.npmjs.org/comlink/-/comlink-4.4.1.tgz",
2347
  "integrity": "sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q=="
2348
  },
 
 
 
 
 
 
 
 
 
2349
  "node_modules/commondir": {
2350
  "version": "1.0.1",
2351
  "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
@@ -2435,6 +2526,18 @@
2435
  }
2436
  }
2437
  },
 
 
 
 
 
 
 
 
 
 
 
 
2438
  "node_modules/decompress-response": {
2439
  "version": "6.0.0",
2440
  "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
@@ -2562,6 +2665,14 @@
2562
  "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
2563
  "optional": true
2564
  },
 
 
 
 
 
 
 
 
2565
  "node_modules/detect-libc": {
2566
  "version": "2.0.1",
2567
  "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
@@ -2578,6 +2689,14 @@
2578
  "node": ">=6.0"
2579
  }
2580
  },
 
 
 
 
 
 
 
 
2581
  "node_modules/dir-glob": {
2582
  "version": "3.0.1",
2583
  "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -3275,6 +3394,11 @@
3275
  "resolved": "https://registry.npmjs.org/expr-eval/-/expr-eval-2.0.2.tgz",
3276
  "integrity": "sha512-4EMSHGOPSwAfBiibw3ndnP0AvjDWLsMvGOvWEZ2F96IGk0bIVdjQisOHxReSkE13mHcfbuCiXw+G4y0zv6N8Eg=="
3277
  },
 
 
 
 
 
3278
  "node_modules/fast-deep-equal": {
3279
  "version": "3.1.3",
3280
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -3324,6 +3448,18 @@
3324
  "reusify": "^1.0.4"
3325
  }
3326
  },
 
 
 
 
 
 
 
 
 
 
 
 
3327
  "node_modules/file-entry-cache": {
3328
  "version": "6.0.1",
3329
  "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -3492,6 +3628,14 @@
3492
  "node": ">= 6"
3493
  }
3494
  },
 
 
 
 
 
 
 
 
3495
  "node_modules/fraction.js": {
3496
  "version": "4.2.0",
3497
  "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
@@ -3863,6 +4007,78 @@
3863
  "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
3864
  "optional": true
3865
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3866
  "node_modules/hnswlib-node": {
3867
  "version": "1.4.2",
3868
  "resolved": "https://registry.npmjs.org/hnswlib-node/-/hnswlib-node-1.4.2.tgz",
@@ -3981,6 +4197,11 @@
3981
  "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
3982
  "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
3983
  },
 
 
 
 
 
3984
  "node_modules/internal-slot": {
3985
  "version": "1.0.5",
3986
  "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
@@ -3994,6 +4215,28 @@
3994
  "node": ">= 0.4"
3995
  }
3996
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3997
  "node_modules/is-any-array": {
3998
  "version": "2.0.1",
3999
  "resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.1.tgz",
@@ -4071,6 +4314,28 @@
4071
  "url": "https://github.com/sponsors/ljharb"
4072
  }
4073
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4074
  "node_modules/is-callable": {
4075
  "version": "1.2.7",
4076
  "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
@@ -4107,6 +4372,15 @@
4107
  "url": "https://github.com/sponsors/ljharb"
4108
  }
4109
  },
 
 
 
 
 
 
 
 
 
4110
  "node_modules/is-docker": {
4111
  "version": "3.0.0",
4112
  "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
@@ -4149,6 +4423,15 @@
4149
  "node": ">=0.10.0"
4150
  }
4151
  },
 
 
 
 
 
 
 
 
 
4152
  "node_modules/is-inside-container": {
4153
  "version": "1.0.0",
4154
  "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
@@ -4215,6 +4498,17 @@
4215
  "node": ">=8"
4216
  }
4217
  },
 
 
 
 
 
 
 
 
 
 
 
4218
  "node_modules/is-regex": {
4219
  "version": "1.1.4",
4220
  "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
@@ -4498,6 +4792,14 @@
4498
  "node": ">=4.0"
4499
  }
4500
  },
 
 
 
 
 
 
 
 
4501
  "node_modules/langchain": {
4502
  "version": "0.0.90",
4503
  "resolved": "https://registry.npmjs.org/langchain/-/langchain-0.0.90.tgz",
@@ -4789,6 +5091,19 @@
4789
  "loose-envify": "cli.js"
4790
  }
4791
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
4792
  "node_modules/lru-cache": {
4793
  "version": "6.0.0",
4794
  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -4830,6 +5145,74 @@
4830
  "semver": "bin/semver.js"
4831
  }
4832
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4833
  "node_modules/merge-stream": {
4834
  "version": "2.0.0",
4835
  "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -4843,39 +5226,460 @@
4843
  "node": ">= 8"
4844
  }
4845
  },
4846
- "node_modules/micromatch": {
4847
- "version": "4.0.5",
4848
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
4849
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
 
 
 
 
 
 
 
 
 
 
4850
  "dependencies": {
4851
- "braces": "^3.0.2",
4852
- "picomatch": "^2.3.1"
4853
- },
4854
- "engines": {
4855
- "node": ">=8.6"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4856
  }
4857
  },
4858
- "node_modules/mime-db": {
4859
- "version": "1.52.0",
4860
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
4861
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
4862
- "engines": {
4863
- "node": ">= 0.6"
 
 
 
 
 
 
 
 
 
 
 
 
 
4864
  }
4865
  },
4866
- "node_modules/mime-types": {
4867
- "version": "2.1.35",
4868
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
4869
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
 
 
 
 
 
 
 
 
 
 
4870
  "dependencies": {
4871
- "mime-db": "1.52.0"
4872
- },
4873
- "engines": {
4874
- "node": ">= 0.6"
4875
  }
4876
  },
4877
- "node_modules/mimic-fn": {
4878
- "version": "4.0.0",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4879
  "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
4880
  "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
4881
  "engines": {
@@ -5006,6 +5810,14 @@
5006
  "num-sort": "^2.0.0"
5007
  }
5008
  },
 
 
 
 
 
 
 
 
5009
  "node_modules/ms": {
5010
  "version": "2.1.2",
5011
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -5536,6 +6348,32 @@
5536
  "node": ">=6"
5537
  }
5538
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5539
  "node_modules/path-exists": {
5540
  "version": "4.0.0",
5541
  "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -5735,6 +6573,14 @@
5735
  "node": ">= 0.8.0"
5736
  }
5737
  },
 
 
 
 
 
 
 
 
5738
  "node_modules/prop-types": {
5739
  "version": "15.8.1",
5740
  "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
@@ -5745,6 +6591,15 @@
5745
  "react-is": "^16.13.1"
5746
  }
5747
  },
 
 
 
 
 
 
 
 
 
5748
  "node_modules/protobufjs": {
5749
  "version": "6.11.3",
5750
  "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz",
@@ -5872,6 +6727,56 @@
5872
  "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
5873
  "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
5874
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5875
  "node_modules/react95": {
5876
  "version": "4.0.0",
5877
  "resolved": "https://registry.npmjs.org/react95/-/react95-4.0.0.tgz",
@@ -5918,6 +6823,28 @@
5918
  "node": ">=8.10.0"
5919
  }
5920
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5921
  "node_modules/regenerator-runtime": {
5922
  "version": "0.13.11",
5923
  "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
@@ -5939,6 +6866,35 @@
5939
  "url": "https://github.com/sponsors/ljharb"
5940
  }
5941
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5942
  "node_modules/resolve": {
5943
  "version": "1.22.2",
5944
  "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
@@ -6197,6 +7153,17 @@
6197
  "queue-microtask": "^1.2.2"
6198
  }
6199
  },
 
 
 
 
 
 
 
 
 
 
 
6200
  "node_modules/safe-buffer": {
6201
  "version": "5.2.1",
6202
  "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@@ -6413,6 +7380,15 @@
6413
  "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
6414
  "deprecated": "Please use @jridgewell/sourcemap-codec instead"
6415
  },
 
 
 
 
 
 
 
 
 
6416
  "node_modules/stop-iteration-iterator": {
6417
  "version": "1.0.0",
6418
  "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
@@ -6561,6 +7537,14 @@
6561
  "url": "https://github.com/sponsors/sindresorhus"
6562
  }
6563
  },
 
 
 
 
 
 
 
 
6564
  "node_modules/styled-components": {
6565
  "version": "5.3.11",
6566
  "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz",
@@ -6771,6 +7755,24 @@
6771
  "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
6772
  "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
6773
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6774
  "node_modules/tsconfig-paths": {
6775
  "version": "3.14.2",
6776
  "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz",
@@ -6878,6 +7880,96 @@
6878
  "url": "https://github.com/sponsors/ljharb"
6879
  }
6880
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6881
  "node_modules/universalify": {
6882
  "version": "2.0.0",
6883
  "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
@@ -6952,6 +8044,51 @@
6952
  "uuid": "dist/bin/uuid"
6953
  }
6954
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6955
  "node_modules/webidl-conversions": {
6956
  "version": "3.0.1",
6957
  "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
@@ -7050,6 +8187,14 @@
7050
  "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
7051
  "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
7052
  },
 
 
 
 
 
 
 
 
7053
  "node_modules/yallist": {
7054
  "version": "4.0.0",
7055
  "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
 
25
  "react": "18.2.0",
26
  "react-dom": "18.2.0",
27
  "react-dropzone": "^14.2.3",
28
+ "react-markdown": "^8.0.7",
29
+ "react-syntax-highlighter": "^15.5.0",
30
  "react95": "^4.0.0",
31
  "typescript": "5.0.4",
32
  "uuid": "^9.0.0"
33
  },
34
  "devDependencies": {
35
  "@types/fs-extra": "^11.0.1",
36
+ "@types/react-syntax-highlighter": "^15.5.7",
37
  "@types/uuid": "^9.0.1"
38
  }
39
  },
 
1427
  "react": "^16.5.1 || ^17.0.0 || ^18.0.0"
1428
  }
1429
  },
1430
+ "node_modules/@types/debug": {
1431
+ "version": "4.1.8",
1432
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz",
1433
+ "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==",
1434
+ "dependencies": {
1435
+ "@types/ms": "*"
1436
+ }
1437
+ },
1438
  "node_modules/@types/estree": {
1439
  "version": "1.0.1",
1440
  "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
 
1450
  "@types/node": "*"
1451
  }
1452
  },
1453
+ "node_modules/@types/hast": {
1454
+ "version": "2.3.4",
1455
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz",
1456
+ "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==",
1457
+ "dependencies": {
1458
+ "@types/unist": "*"
1459
+ }
1460
+ },
1461
  "node_modules/@types/json5": {
1462
  "version": "0.0.29",
1463
  "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
 
1477
  "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz",
1478
  "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA=="
1479
  },
1480
+ "node_modules/@types/mdast": {
1481
+ "version": "3.0.11",
1482
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz",
1483
+ "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==",
1484
+ "dependencies": {
1485
+ "@types/unist": "*"
1486
+ }
1487
+ },
1488
+ "node_modules/@types/ms": {
1489
+ "version": "0.7.31",
1490
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz",
1491
+ "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA=="
1492
+ },
1493
  "node_modules/@types/node": {
1494
  "version": "20.1.4",
1495
  "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.4.tgz",
 
1518
  "@types/react": "*"
1519
  }
1520
  },
1521
+ "node_modules/@types/react-syntax-highlighter": {
1522
+ "version": "15.5.7",
1523
+ "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-15.5.7.tgz",
1524
+ "integrity": "sha512-bo5fEO5toQeyCp0zVHBeggclqf5SQ/Z5blfFmjwO5dkMVGPgmiwZsJh9nu/Bo5L7IHTuGWrja6LxJVE2uB5ZrQ==",
1525
+ "dev": true,
1526
+ "dependencies": {
1527
+ "@types/react": "*"
1528
+ }
1529
+ },
1530
  "node_modules/@types/retry": {
1531
  "version": "0.12.0",
1532
  "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
 
1537
  "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
1538
  "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ=="
1539
  },
1540
+ "node_modules/@types/unist": {
1541
+ "version": "2.0.6",
1542
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
1543
+ "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ=="
1544
+ },
1545
  "node_modules/@types/uuid": {
1546
  "version": "9.0.1",
1547
  "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.1.tgz",
 
1977
  "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==",
1978
  "peer": true
1979
  },
1980
+ "node_modules/bail": {
1981
+ "version": "2.0.2",
1982
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
1983
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
1984
+ "funding": {
1985
+ "type": "github",
1986
+ "url": "https://github.com/sponsors/wooorm"
1987
+ }
1988
+ },
1989
  "node_modules/balanced-match": {
1990
  "version": "1.0.2",
1991
  "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
 
2274
  "url": "https://github.com/chalk/chalk?sponsor=1"
2275
  }
2276
  },
2277
+ "node_modules/character-entities": {
2278
+ "version": "2.0.2",
2279
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
2280
+ "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
2281
+ "funding": {
2282
+ "type": "github",
2283
+ "url": "https://github.com/sponsors/wooorm"
2284
+ }
2285
+ },
2286
+ "node_modules/character-entities-legacy": {
2287
+ "version": "1.1.4",
2288
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
2289
+ "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==",
2290
+ "funding": {
2291
+ "type": "github",
2292
+ "url": "https://github.com/sponsors/wooorm"
2293
+ }
2294
+ },
2295
+ "node_modules/character-reference-invalid": {
2296
+ "version": "1.1.4",
2297
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
2298
+ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==",
2299
+ "funding": {
2300
+ "type": "github",
2301
+ "url": "https://github.com/sponsors/wooorm"
2302
+ }
2303
+ },
2304
  "node_modules/chokidar": {
2305
  "version": "3.5.3",
2306
  "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
 
2428
  "resolved": "https://registry.npmjs.org/comlink/-/comlink-4.4.1.tgz",
2429
  "integrity": "sha512-+1dlx0aY5Jo1vHy/tSsIGpSkN4tS9rZSW8FIhG0JH/crs9wwweswIo/POr451r7bZww3hFbPAKnTpimzL/mm4Q=="
2430
  },
2431
+ "node_modules/comma-separated-tokens": {
2432
+ "version": "2.0.3",
2433
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
2434
+ "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
2435
+ "funding": {
2436
+ "type": "github",
2437
+ "url": "https://github.com/sponsors/wooorm"
2438
+ }
2439
+ },
2440
  "node_modules/commondir": {
2441
  "version": "1.0.1",
2442
  "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
 
2526
  }
2527
  }
2528
  },
2529
+ "node_modules/decode-named-character-reference": {
2530
+ "version": "1.0.2",
2531
+ "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz",
2532
+ "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==",
2533
+ "dependencies": {
2534
+ "character-entities": "^2.0.0"
2535
+ },
2536
+ "funding": {
2537
+ "type": "github",
2538
+ "url": "https://github.com/sponsors/wooorm"
2539
+ }
2540
+ },
2541
  "node_modules/decompress-response": {
2542
  "version": "6.0.0",
2543
  "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
 
2665
  "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
2666
  "optional": true
2667
  },
2668
+ "node_modules/dequal": {
2669
+ "version": "2.0.3",
2670
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
2671
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
2672
+ "engines": {
2673
+ "node": ">=6"
2674
+ }
2675
+ },
2676
  "node_modules/detect-libc": {
2677
  "version": "2.0.1",
2678
  "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
 
2689
  "node": ">=6.0"
2690
  }
2691
  },
2692
+ "node_modules/diff": {
2693
+ "version": "5.1.0",
2694
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
2695
+ "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
2696
+ "engines": {
2697
+ "node": ">=0.3.1"
2698
+ }
2699
+ },
2700
  "node_modules/dir-glob": {
2701
  "version": "3.0.1",
2702
  "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
 
3394
  "resolved": "https://registry.npmjs.org/expr-eval/-/expr-eval-2.0.2.tgz",
3395
  "integrity": "sha512-4EMSHGOPSwAfBiibw3ndnP0AvjDWLsMvGOvWEZ2F96IGk0bIVdjQisOHxReSkE13mHcfbuCiXw+G4y0zv6N8Eg=="
3396
  },
3397
+ "node_modules/extend": {
3398
+ "version": "3.0.2",
3399
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
3400
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
3401
+ },
3402
  "node_modules/fast-deep-equal": {
3403
  "version": "3.1.3",
3404
  "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
 
3448
  "reusify": "^1.0.4"
3449
  }
3450
  },
3451
+ "node_modules/fault": {
3452
+ "version": "1.0.4",
3453
+ "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz",
3454
+ "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==",
3455
+ "dependencies": {
3456
+ "format": "^0.2.0"
3457
+ },
3458
+ "funding": {
3459
+ "type": "github",
3460
+ "url": "https://github.com/sponsors/wooorm"
3461
+ }
3462
+ },
3463
  "node_modules/file-entry-cache": {
3464
  "version": "6.0.1",
3465
  "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
 
3628
  "node": ">= 6"
3629
  }
3630
  },
3631
+ "node_modules/format": {
3632
+ "version": "0.2.2",
3633
+ "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz",
3634
+ "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==",
3635
+ "engines": {
3636
+ "node": ">=0.4.x"
3637
+ }
3638
+ },
3639
  "node_modules/fraction.js": {
3640
  "version": "4.2.0",
3641
  "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
 
4007
  "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
4008
  "optional": true
4009
  },
4010
+ "node_modules/hast-util-parse-selector": {
4011
+ "version": "2.2.5",
4012
+ "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz",
4013
+ "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==",
4014
+ "funding": {
4015
+ "type": "opencollective",
4016
+ "url": "https://opencollective.com/unified"
4017
+ }
4018
+ },
4019
+ "node_modules/hast-util-whitespace": {
4020
+ "version": "2.0.1",
4021
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz",
4022
+ "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==",
4023
+ "funding": {
4024
+ "type": "opencollective",
4025
+ "url": "https://opencollective.com/unified"
4026
+ }
4027
+ },
4028
+ "node_modules/hastscript": {
4029
+ "version": "6.0.0",
4030
+ "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz",
4031
+ "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==",
4032
+ "dependencies": {
4033
+ "@types/hast": "^2.0.0",
4034
+ "comma-separated-tokens": "^1.0.0",
4035
+ "hast-util-parse-selector": "^2.0.0",
4036
+ "property-information": "^5.0.0",
4037
+ "space-separated-tokens": "^1.0.0"
4038
+ },
4039
+ "funding": {
4040
+ "type": "opencollective",
4041
+ "url": "https://opencollective.com/unified"
4042
+ }
4043
+ },
4044
+ "node_modules/hastscript/node_modules/comma-separated-tokens": {
4045
+ "version": "1.0.8",
4046
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz",
4047
+ "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==",
4048
+ "funding": {
4049
+ "type": "github",
4050
+ "url": "https://github.com/sponsors/wooorm"
4051
+ }
4052
+ },
4053
+ "node_modules/hastscript/node_modules/property-information": {
4054
+ "version": "5.6.0",
4055
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz",
4056
+ "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==",
4057
+ "dependencies": {
4058
+ "xtend": "^4.0.0"
4059
+ },
4060
+ "funding": {
4061
+ "type": "github",
4062
+ "url": "https://github.com/sponsors/wooorm"
4063
+ }
4064
+ },
4065
+ "node_modules/hastscript/node_modules/space-separated-tokens": {
4066
+ "version": "1.1.5",
4067
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz",
4068
+ "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==",
4069
+ "funding": {
4070
+ "type": "github",
4071
+ "url": "https://github.com/sponsors/wooorm"
4072
+ }
4073
+ },
4074
+ "node_modules/highlight.js": {
4075
+ "version": "10.7.3",
4076
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
4077
+ "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
4078
+ "engines": {
4079
+ "node": "*"
4080
+ }
4081
+ },
4082
  "node_modules/hnswlib-node": {
4083
  "version": "1.4.2",
4084
  "resolved": "https://registry.npmjs.org/hnswlib-node/-/hnswlib-node-1.4.2.tgz",
 
4197
  "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
4198
  "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
4199
  },
4200
+ "node_modules/inline-style-parser": {
4201
+ "version": "0.1.1",
4202
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
4203
+ "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
4204
+ },
4205
  "node_modules/internal-slot": {
4206
  "version": "1.0.5",
4207
  "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
 
4215
  "node": ">= 0.4"
4216
  }
4217
  },
4218
+ "node_modules/is-alphabetical": {
4219
+ "version": "1.0.4",
4220
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
4221
+ "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==",
4222
+ "funding": {
4223
+ "type": "github",
4224
+ "url": "https://github.com/sponsors/wooorm"
4225
+ }
4226
+ },
4227
+ "node_modules/is-alphanumerical": {
4228
+ "version": "1.0.4",
4229
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
4230
+ "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
4231
+ "dependencies": {
4232
+ "is-alphabetical": "^1.0.0",
4233
+ "is-decimal": "^1.0.0"
4234
+ },
4235
+ "funding": {
4236
+ "type": "github",
4237
+ "url": "https://github.com/sponsors/wooorm"
4238
+ }
4239
+ },
4240
  "node_modules/is-any-array": {
4241
  "version": "2.0.1",
4242
  "resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.1.tgz",
 
4314
  "url": "https://github.com/sponsors/ljharb"
4315
  }
4316
  },
4317
+ "node_modules/is-buffer": {
4318
+ "version": "2.0.5",
4319
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
4320
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
4321
+ "funding": [
4322
+ {
4323
+ "type": "github",
4324
+ "url": "https://github.com/sponsors/feross"
4325
+ },
4326
+ {
4327
+ "type": "patreon",
4328
+ "url": "https://www.patreon.com/feross"
4329
+ },
4330
+ {
4331
+ "type": "consulting",
4332
+ "url": "https://feross.org/support"
4333
+ }
4334
+ ],
4335
+ "engines": {
4336
+ "node": ">=4"
4337
+ }
4338
+ },
4339
  "node_modules/is-callable": {
4340
  "version": "1.2.7",
4341
  "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
 
4372
  "url": "https://github.com/sponsors/ljharb"
4373
  }
4374
  },
4375
+ "node_modules/is-decimal": {
4376
+ "version": "1.0.4",
4377
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
4378
+ "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==",
4379
+ "funding": {
4380
+ "type": "github",
4381
+ "url": "https://github.com/sponsors/wooorm"
4382
+ }
4383
+ },
4384
  "node_modules/is-docker": {
4385
  "version": "3.0.0",
4386
  "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
 
4423
  "node": ">=0.10.0"
4424
  }
4425
  },
4426
+ "node_modules/is-hexadecimal": {
4427
+ "version": "1.0.4",
4428
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
4429
+ "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==",
4430
+ "funding": {
4431
+ "type": "github",
4432
+ "url": "https://github.com/sponsors/wooorm"
4433
+ }
4434
+ },
4435
  "node_modules/is-inside-container": {
4436
  "version": "1.0.0",
4437
  "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
 
4498
  "node": ">=8"
4499
  }
4500
  },
4501
+ "node_modules/is-plain-obj": {
4502
+ "version": "4.1.0",
4503
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
4504
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
4505
+ "engines": {
4506
+ "node": ">=12"
4507
+ },
4508
+ "funding": {
4509
+ "url": "https://github.com/sponsors/sindresorhus"
4510
+ }
4511
+ },
4512
  "node_modules/is-regex": {
4513
  "version": "1.1.4",
4514
  "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
 
4792
  "node": ">=4.0"
4793
  }
4794
  },
4795
+ "node_modules/kleur": {
4796
+ "version": "4.1.5",
4797
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
4798
+ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
4799
+ "engines": {
4800
+ "node": ">=6"
4801
+ }
4802
+ },
4803
  "node_modules/langchain": {
4804
  "version": "0.0.90",
4805
  "resolved": "https://registry.npmjs.org/langchain/-/langchain-0.0.90.tgz",
 
5091
  "loose-envify": "cli.js"
5092
  }
5093
  },
5094
+ "node_modules/lowlight": {
5095
+ "version": "1.20.0",
5096
+ "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz",
5097
+ "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==",
5098
+ "dependencies": {
5099
+ "fault": "^1.0.0",
5100
+ "highlight.js": "~10.7.0"
5101
+ },
5102
+ "funding": {
5103
+ "type": "github",
5104
+ "url": "https://github.com/sponsors/wooorm"
5105
+ }
5106
+ },
5107
  "node_modules/lru-cache": {
5108
  "version": "6.0.0",
5109
  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
 
5145
  "semver": "bin/semver.js"
5146
  }
5147
  },
5148
+ "node_modules/mdast-util-definitions": {
5149
+ "version": "5.1.2",
5150
+ "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz",
5151
+ "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==",
5152
+ "dependencies": {
5153
+ "@types/mdast": "^3.0.0",
5154
+ "@types/unist": "^2.0.0",
5155
+ "unist-util-visit": "^4.0.0"
5156
+ },
5157
+ "funding": {
5158
+ "type": "opencollective",
5159
+ "url": "https://opencollective.com/unified"
5160
+ }
5161
+ },
5162
+ "node_modules/mdast-util-from-markdown": {
5163
+ "version": "1.3.1",
5164
+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz",
5165
+ "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==",
5166
+ "dependencies": {
5167
+ "@types/mdast": "^3.0.0",
5168
+ "@types/unist": "^2.0.0",
5169
+ "decode-named-character-reference": "^1.0.0",
5170
+ "mdast-util-to-string": "^3.1.0",
5171
+ "micromark": "^3.0.0",
5172
+ "micromark-util-decode-numeric-character-reference": "^1.0.0",
5173
+ "micromark-util-decode-string": "^1.0.0",
5174
+ "micromark-util-normalize-identifier": "^1.0.0",
5175
+ "micromark-util-symbol": "^1.0.0",
5176
+ "micromark-util-types": "^1.0.0",
5177
+ "unist-util-stringify-position": "^3.0.0",
5178
+ "uvu": "^0.5.0"
5179
+ },
5180
+ "funding": {
5181
+ "type": "opencollective",
5182
+ "url": "https://opencollective.com/unified"
5183
+ }
5184
+ },
5185
+ "node_modules/mdast-util-to-hast": {
5186
+ "version": "12.3.0",
5187
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz",
5188
+ "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==",
5189
+ "dependencies": {
5190
+ "@types/hast": "^2.0.0",
5191
+ "@types/mdast": "^3.0.0",
5192
+ "mdast-util-definitions": "^5.0.0",
5193
+ "micromark-util-sanitize-uri": "^1.1.0",
5194
+ "trim-lines": "^3.0.0",
5195
+ "unist-util-generated": "^2.0.0",
5196
+ "unist-util-position": "^4.0.0",
5197
+ "unist-util-visit": "^4.0.0"
5198
+ },
5199
+ "funding": {
5200
+ "type": "opencollective",
5201
+ "url": "https://opencollective.com/unified"
5202
+ }
5203
+ },
5204
+ "node_modules/mdast-util-to-string": {
5205
+ "version": "3.2.0",
5206
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz",
5207
+ "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==",
5208
+ "dependencies": {
5209
+ "@types/mdast": "^3.0.0"
5210
+ },
5211
+ "funding": {
5212
+ "type": "opencollective",
5213
+ "url": "https://opencollective.com/unified"
5214
+ }
5215
+ },
5216
  "node_modules/merge-stream": {
5217
  "version": "2.0.0",
5218
  "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
 
5226
  "node": ">= 8"
5227
  }
5228
  },
5229
+ "node_modules/micromark": {
5230
+ "version": "3.2.0",
5231
+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz",
5232
+ "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==",
5233
+ "funding": [
5234
+ {
5235
+ "type": "GitHub Sponsors",
5236
+ "url": "https://github.com/sponsors/unifiedjs"
5237
+ },
5238
+ {
5239
+ "type": "OpenCollective",
5240
+ "url": "https://opencollective.com/unified"
5241
+ }
5242
+ ],
5243
  "dependencies": {
5244
+ "@types/debug": "^4.0.0",
5245
+ "debug": "^4.0.0",
5246
+ "decode-named-character-reference": "^1.0.0",
5247
+ "micromark-core-commonmark": "^1.0.1",
5248
+ "micromark-factory-space": "^1.0.0",
5249
+ "micromark-util-character": "^1.0.0",
5250
+ "micromark-util-chunked": "^1.0.0",
5251
+ "micromark-util-combine-extensions": "^1.0.0",
5252
+ "micromark-util-decode-numeric-character-reference": "^1.0.0",
5253
+ "micromark-util-encode": "^1.0.0",
5254
+ "micromark-util-normalize-identifier": "^1.0.0",
5255
+ "micromark-util-resolve-all": "^1.0.0",
5256
+ "micromark-util-sanitize-uri": "^1.0.0",
5257
+ "micromark-util-subtokenize": "^1.0.0",
5258
+ "micromark-util-symbol": "^1.0.0",
5259
+ "micromark-util-types": "^1.0.1",
5260
+ "uvu": "^0.5.0"
5261
+ }
5262
+ },
5263
+ "node_modules/micromark-core-commonmark": {
5264
+ "version": "1.1.0",
5265
+ "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz",
5266
+ "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==",
5267
+ "funding": [
5268
+ {
5269
+ "type": "GitHub Sponsors",
5270
+ "url": "https://github.com/sponsors/unifiedjs"
5271
+ },
5272
+ {
5273
+ "type": "OpenCollective",
5274
+ "url": "https://opencollective.com/unified"
5275
+ }
5276
+ ],
5277
+ "dependencies": {
5278
+ "decode-named-character-reference": "^1.0.0",
5279
+ "micromark-factory-destination": "^1.0.0",
5280
+ "micromark-factory-label": "^1.0.0",
5281
+ "micromark-factory-space": "^1.0.0",
5282
+ "micromark-factory-title": "^1.0.0",
5283
+ "micromark-factory-whitespace": "^1.0.0",
5284
+ "micromark-util-character": "^1.0.0",
5285
+ "micromark-util-chunked": "^1.0.0",
5286
+ "micromark-util-classify-character": "^1.0.0",
5287
+ "micromark-util-html-tag-name": "^1.0.0",
5288
+ "micromark-util-normalize-identifier": "^1.0.0",
5289
+ "micromark-util-resolve-all": "^1.0.0",
5290
+ "micromark-util-subtokenize": "^1.0.0",
5291
+ "micromark-util-symbol": "^1.0.0",
5292
+ "micromark-util-types": "^1.0.1",
5293
+ "uvu": "^0.5.0"
5294
+ }
5295
+ },
5296
+ "node_modules/micromark-factory-destination": {
5297
+ "version": "1.1.0",
5298
+ "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz",
5299
+ "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==",
5300
+ "funding": [
5301
+ {
5302
+ "type": "GitHub Sponsors",
5303
+ "url": "https://github.com/sponsors/unifiedjs"
5304
+ },
5305
+ {
5306
+ "type": "OpenCollective",
5307
+ "url": "https://opencollective.com/unified"
5308
+ }
5309
+ ],
5310
+ "dependencies": {
5311
+ "micromark-util-character": "^1.0.0",
5312
+ "micromark-util-symbol": "^1.0.0",
5313
+ "micromark-util-types": "^1.0.0"
5314
  }
5315
  },
5316
+ "node_modules/micromark-factory-label": {
5317
+ "version": "1.1.0",
5318
+ "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz",
5319
+ "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==",
5320
+ "funding": [
5321
+ {
5322
+ "type": "GitHub Sponsors",
5323
+ "url": "https://github.com/sponsors/unifiedjs"
5324
+ },
5325
+ {
5326
+ "type": "OpenCollective",
5327
+ "url": "https://opencollective.com/unified"
5328
+ }
5329
+ ],
5330
+ "dependencies": {
5331
+ "micromark-util-character": "^1.0.0",
5332
+ "micromark-util-symbol": "^1.0.0",
5333
+ "micromark-util-types": "^1.0.0",
5334
+ "uvu": "^0.5.0"
5335
  }
5336
  },
5337
+ "node_modules/micromark-factory-space": {
5338
+ "version": "1.1.0",
5339
+ "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz",
5340
+ "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==",
5341
+ "funding": [
5342
+ {
5343
+ "type": "GitHub Sponsors",
5344
+ "url": "https://github.com/sponsors/unifiedjs"
5345
+ },
5346
+ {
5347
+ "type": "OpenCollective",
5348
+ "url": "https://opencollective.com/unified"
5349
+ }
5350
+ ],
5351
  "dependencies": {
5352
+ "micromark-util-character": "^1.0.0",
5353
+ "micromark-util-types": "^1.0.0"
 
 
5354
  }
5355
  },
5356
+ "node_modules/micromark-factory-title": {
5357
+ "version": "1.1.0",
5358
+ "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz",
5359
+ "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==",
5360
+ "funding": [
5361
+ {
5362
+ "type": "GitHub Sponsors",
5363
+ "url": "https://github.com/sponsors/unifiedjs"
5364
+ },
5365
+ {
5366
+ "type": "OpenCollective",
5367
+ "url": "https://opencollective.com/unified"
5368
+ }
5369
+ ],
5370
+ "dependencies": {
5371
+ "micromark-factory-space": "^1.0.0",
5372
+ "micromark-util-character": "^1.0.0",
5373
+ "micromark-util-symbol": "^1.0.0",
5374
+ "micromark-util-types": "^1.0.0"
5375
+ }
5376
+ },
5377
+ "node_modules/micromark-factory-whitespace": {
5378
+ "version": "1.1.0",
5379
+ "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz",
5380
+ "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==",
5381
+ "funding": [
5382
+ {
5383
+ "type": "GitHub Sponsors",
5384
+ "url": "https://github.com/sponsors/unifiedjs"
5385
+ },
5386
+ {
5387
+ "type": "OpenCollective",
5388
+ "url": "https://opencollective.com/unified"
5389
+ }
5390
+ ],
5391
+ "dependencies": {
5392
+ "micromark-factory-space": "^1.0.0",
5393
+ "micromark-util-character": "^1.0.0",
5394
+ "micromark-util-symbol": "^1.0.0",
5395
+ "micromark-util-types": "^1.0.0"
5396
+ }
5397
+ },
5398
+ "node_modules/micromark-util-character": {
5399
+ "version": "1.2.0",
5400
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz",
5401
+ "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==",
5402
+ "funding": [
5403
+ {
5404
+ "type": "GitHub Sponsors",
5405
+ "url": "https://github.com/sponsors/unifiedjs"
5406
+ },
5407
+ {
5408
+ "type": "OpenCollective",
5409
+ "url": "https://opencollective.com/unified"
5410
+ }
5411
+ ],
5412
+ "dependencies": {
5413
+ "micromark-util-symbol": "^1.0.0",
5414
+ "micromark-util-types": "^1.0.0"
5415
+ }
5416
+ },
5417
+ "node_modules/micromark-util-chunked": {
5418
+ "version": "1.1.0",
5419
+ "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz",
5420
+ "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==",
5421
+ "funding": [
5422
+ {
5423
+ "type": "GitHub Sponsors",
5424
+ "url": "https://github.com/sponsors/unifiedjs"
5425
+ },
5426
+ {
5427
+ "type": "OpenCollective",
5428
+ "url": "https://opencollective.com/unified"
5429
+ }
5430
+ ],
5431
+ "dependencies": {
5432
+ "micromark-util-symbol": "^1.0.0"
5433
+ }
5434
+ },
5435
+ "node_modules/micromark-util-classify-character": {
5436
+ "version": "1.1.0",
5437
+ "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz",
5438
+ "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==",
5439
+ "funding": [
5440
+ {
5441
+ "type": "GitHub Sponsors",
5442
+ "url": "https://github.com/sponsors/unifiedjs"
5443
+ },
5444
+ {
5445
+ "type": "OpenCollective",
5446
+ "url": "https://opencollective.com/unified"
5447
+ }
5448
+ ],
5449
+ "dependencies": {
5450
+ "micromark-util-character": "^1.0.0",
5451
+ "micromark-util-symbol": "^1.0.0",
5452
+ "micromark-util-types": "^1.0.0"
5453
+ }
5454
+ },
5455
+ "node_modules/micromark-util-combine-extensions": {
5456
+ "version": "1.1.0",
5457
+ "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz",
5458
+ "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==",
5459
+ "funding": [
5460
+ {
5461
+ "type": "GitHub Sponsors",
5462
+ "url": "https://github.com/sponsors/unifiedjs"
5463
+ },
5464
+ {
5465
+ "type": "OpenCollective",
5466
+ "url": "https://opencollective.com/unified"
5467
+ }
5468
+ ],
5469
+ "dependencies": {
5470
+ "micromark-util-chunked": "^1.0.0",
5471
+ "micromark-util-types": "^1.0.0"
5472
+ }
5473
+ },
5474
+ "node_modules/micromark-util-decode-numeric-character-reference": {
5475
+ "version": "1.1.0",
5476
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz",
5477
+ "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==",
5478
+ "funding": [
5479
+ {
5480
+ "type": "GitHub Sponsors",
5481
+ "url": "https://github.com/sponsors/unifiedjs"
5482
+ },
5483
+ {
5484
+ "type": "OpenCollective",
5485
+ "url": "https://opencollective.com/unified"
5486
+ }
5487
+ ],
5488
+ "dependencies": {
5489
+ "micromark-util-symbol": "^1.0.0"
5490
+ }
5491
+ },
5492
+ "node_modules/micromark-util-decode-string": {
5493
+ "version": "1.1.0",
5494
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz",
5495
+ "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==",
5496
+ "funding": [
5497
+ {
5498
+ "type": "GitHub Sponsors",
5499
+ "url": "https://github.com/sponsors/unifiedjs"
5500
+ },
5501
+ {
5502
+ "type": "OpenCollective",
5503
+ "url": "https://opencollective.com/unified"
5504
+ }
5505
+ ],
5506
+ "dependencies": {
5507
+ "decode-named-character-reference": "^1.0.0",
5508
+ "micromark-util-character": "^1.0.0",
5509
+ "micromark-util-decode-numeric-character-reference": "^1.0.0",
5510
+ "micromark-util-symbol": "^1.0.0"
5511
+ }
5512
+ },
5513
+ "node_modules/micromark-util-encode": {
5514
+ "version": "1.1.0",
5515
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz",
5516
+ "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==",
5517
+ "funding": [
5518
+ {
5519
+ "type": "GitHub Sponsors",
5520
+ "url": "https://github.com/sponsors/unifiedjs"
5521
+ },
5522
+ {
5523
+ "type": "OpenCollective",
5524
+ "url": "https://opencollective.com/unified"
5525
+ }
5526
+ ]
5527
+ },
5528
+ "node_modules/micromark-util-html-tag-name": {
5529
+ "version": "1.2.0",
5530
+ "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz",
5531
+ "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==",
5532
+ "funding": [
5533
+ {
5534
+ "type": "GitHub Sponsors",
5535
+ "url": "https://github.com/sponsors/unifiedjs"
5536
+ },
5537
+ {
5538
+ "type": "OpenCollective",
5539
+ "url": "https://opencollective.com/unified"
5540
+ }
5541
+ ]
5542
+ },
5543
+ "node_modules/micromark-util-normalize-identifier": {
5544
+ "version": "1.1.0",
5545
+ "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz",
5546
+ "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==",
5547
+ "funding": [
5548
+ {
5549
+ "type": "GitHub Sponsors",
5550
+ "url": "https://github.com/sponsors/unifiedjs"
5551
+ },
5552
+ {
5553
+ "type": "OpenCollective",
5554
+ "url": "https://opencollective.com/unified"
5555
+ }
5556
+ ],
5557
+ "dependencies": {
5558
+ "micromark-util-symbol": "^1.0.0"
5559
+ }
5560
+ },
5561
+ "node_modules/micromark-util-resolve-all": {
5562
+ "version": "1.1.0",
5563
+ "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz",
5564
+ "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==",
5565
+ "funding": [
5566
+ {
5567
+ "type": "GitHub Sponsors",
5568
+ "url": "https://github.com/sponsors/unifiedjs"
5569
+ },
5570
+ {
5571
+ "type": "OpenCollective",
5572
+ "url": "https://opencollective.com/unified"
5573
+ }
5574
+ ],
5575
+ "dependencies": {
5576
+ "micromark-util-types": "^1.0.0"
5577
+ }
5578
+ },
5579
+ "node_modules/micromark-util-sanitize-uri": {
5580
+ "version": "1.2.0",
5581
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz",
5582
+ "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==",
5583
+ "funding": [
5584
+ {
5585
+ "type": "GitHub Sponsors",
5586
+ "url": "https://github.com/sponsors/unifiedjs"
5587
+ },
5588
+ {
5589
+ "type": "OpenCollective",
5590
+ "url": "https://opencollective.com/unified"
5591
+ }
5592
+ ],
5593
+ "dependencies": {
5594
+ "micromark-util-character": "^1.0.0",
5595
+ "micromark-util-encode": "^1.0.0",
5596
+ "micromark-util-symbol": "^1.0.0"
5597
+ }
5598
+ },
5599
+ "node_modules/micromark-util-subtokenize": {
5600
+ "version": "1.1.0",
5601
+ "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz",
5602
+ "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==",
5603
+ "funding": [
5604
+ {
5605
+ "type": "GitHub Sponsors",
5606
+ "url": "https://github.com/sponsors/unifiedjs"
5607
+ },
5608
+ {
5609
+ "type": "OpenCollective",
5610
+ "url": "https://opencollective.com/unified"
5611
+ }
5612
+ ],
5613
+ "dependencies": {
5614
+ "micromark-util-chunked": "^1.0.0",
5615
+ "micromark-util-symbol": "^1.0.0",
5616
+ "micromark-util-types": "^1.0.0",
5617
+ "uvu": "^0.5.0"
5618
+ }
5619
+ },
5620
+ "node_modules/micromark-util-symbol": {
5621
+ "version": "1.1.0",
5622
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz",
5623
+ "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==",
5624
+ "funding": [
5625
+ {
5626
+ "type": "GitHub Sponsors",
5627
+ "url": "https://github.com/sponsors/unifiedjs"
5628
+ },
5629
+ {
5630
+ "type": "OpenCollective",
5631
+ "url": "https://opencollective.com/unified"
5632
+ }
5633
+ ]
5634
+ },
5635
+ "node_modules/micromark-util-types": {
5636
+ "version": "1.1.0",
5637
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz",
5638
+ "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==",
5639
+ "funding": [
5640
+ {
5641
+ "type": "GitHub Sponsors",
5642
+ "url": "https://github.com/sponsors/unifiedjs"
5643
+ },
5644
+ {
5645
+ "type": "OpenCollective",
5646
+ "url": "https://opencollective.com/unified"
5647
+ }
5648
+ ]
5649
+ },
5650
+ "node_modules/micromatch": {
5651
+ "version": "4.0.5",
5652
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
5653
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
5654
+ "dependencies": {
5655
+ "braces": "^3.0.2",
5656
+ "picomatch": "^2.3.1"
5657
+ },
5658
+ "engines": {
5659
+ "node": ">=8.6"
5660
+ }
5661
+ },
5662
+ "node_modules/mime-db": {
5663
+ "version": "1.52.0",
5664
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
5665
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
5666
+ "engines": {
5667
+ "node": ">= 0.6"
5668
+ }
5669
+ },
5670
+ "node_modules/mime-types": {
5671
+ "version": "2.1.35",
5672
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
5673
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
5674
+ "dependencies": {
5675
+ "mime-db": "1.52.0"
5676
+ },
5677
+ "engines": {
5678
+ "node": ">= 0.6"
5679
+ }
5680
+ },
5681
+ "node_modules/mimic-fn": {
5682
+ "version": "4.0.0",
5683
  "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
5684
  "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
5685
  "engines": {
 
5810
  "num-sort": "^2.0.0"
5811
  }
5812
  },
5813
+ "node_modules/mri": {
5814
+ "version": "1.2.0",
5815
+ "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
5816
+ "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
5817
+ "engines": {
5818
+ "node": ">=4"
5819
+ }
5820
+ },
5821
  "node_modules/ms": {
5822
  "version": "2.1.2",
5823
  "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
 
6348
  "node": ">=6"
6349
  }
6350
  },
6351
+ "node_modules/parse-entities": {
6352
+ "version": "2.0.0",
6353
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
6354
+ "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
6355
+ "dependencies": {
6356
+ "character-entities": "^1.0.0",
6357
+ "character-entities-legacy": "^1.0.0",
6358
+ "character-reference-invalid": "^1.0.0",
6359
+ "is-alphanumerical": "^1.0.0",
6360
+ "is-decimal": "^1.0.0",
6361
+ "is-hexadecimal": "^1.0.0"
6362
+ },
6363
+ "funding": {
6364
+ "type": "github",
6365
+ "url": "https://github.com/sponsors/wooorm"
6366
+ }
6367
+ },
6368
+ "node_modules/parse-entities/node_modules/character-entities": {
6369
+ "version": "1.2.4",
6370
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
6371
+ "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==",
6372
+ "funding": {
6373
+ "type": "github",
6374
+ "url": "https://github.com/sponsors/wooorm"
6375
+ }
6376
+ },
6377
  "node_modules/path-exists": {
6378
  "version": "4.0.0",
6379
  "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
 
6573
  "node": ">= 0.8.0"
6574
  }
6575
  },
6576
+ "node_modules/prismjs": {
6577
+ "version": "1.29.0",
6578
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
6579
+ "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
6580
+ "engines": {
6581
+ "node": ">=6"
6582
+ }
6583
+ },
6584
  "node_modules/prop-types": {
6585
  "version": "15.8.1",
6586
  "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
 
6591
  "react-is": "^16.13.1"
6592
  }
6593
  },
6594
+ "node_modules/property-information": {
6595
+ "version": "6.2.0",
6596
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz",
6597
+ "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==",
6598
+ "funding": {
6599
+ "type": "github",
6600
+ "url": "https://github.com/sponsors/wooorm"
6601
+ }
6602
+ },
6603
  "node_modules/protobufjs": {
6604
  "version": "6.11.3",
6605
  "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz",
 
6727
  "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
6728
  "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
6729
  },
6730
+ "node_modules/react-markdown": {
6731
+ "version": "8.0.7",
6732
+ "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.7.tgz",
6733
+ "integrity": "sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==",
6734
+ "dependencies": {
6735
+ "@types/hast": "^2.0.0",
6736
+ "@types/prop-types": "^15.0.0",
6737
+ "@types/unist": "^2.0.0",
6738
+ "comma-separated-tokens": "^2.0.0",
6739
+ "hast-util-whitespace": "^2.0.0",
6740
+ "prop-types": "^15.0.0",
6741
+ "property-information": "^6.0.0",
6742
+ "react-is": "^18.0.0",
6743
+ "remark-parse": "^10.0.0",
6744
+ "remark-rehype": "^10.0.0",
6745
+ "space-separated-tokens": "^2.0.0",
6746
+ "style-to-object": "^0.4.0",
6747
+ "unified": "^10.0.0",
6748
+ "unist-util-visit": "^4.0.0",
6749
+ "vfile": "^5.0.0"
6750
+ },
6751
+ "funding": {
6752
+ "type": "opencollective",
6753
+ "url": "https://opencollective.com/unified"
6754
+ },
6755
+ "peerDependencies": {
6756
+ "@types/react": ">=16",
6757
+ "react": ">=16"
6758
+ }
6759
+ },
6760
+ "node_modules/react-markdown/node_modules/react-is": {
6761
+ "version": "18.2.0",
6762
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
6763
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
6764
+ },
6765
+ "node_modules/react-syntax-highlighter": {
6766
+ "version": "15.5.0",
6767
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz",
6768
+ "integrity": "sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==",
6769
+ "dependencies": {
6770
+ "@babel/runtime": "^7.3.1",
6771
+ "highlight.js": "^10.4.1",
6772
+ "lowlight": "^1.17.0",
6773
+ "prismjs": "^1.27.0",
6774
+ "refractor": "^3.6.0"
6775
+ },
6776
+ "peerDependencies": {
6777
+ "react": ">= 0.14.0"
6778
+ }
6779
+ },
6780
  "node_modules/react95": {
6781
  "version": "4.0.0",
6782
  "resolved": "https://registry.npmjs.org/react95/-/react95-4.0.0.tgz",
 
6823
  "node": ">=8.10.0"
6824
  }
6825
  },
6826
+ "node_modules/refractor": {
6827
+ "version": "3.6.0",
6828
+ "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz",
6829
+ "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==",
6830
+ "dependencies": {
6831
+ "hastscript": "^6.0.0",
6832
+ "parse-entities": "^2.0.0",
6833
+ "prismjs": "~1.27.0"
6834
+ },
6835
+ "funding": {
6836
+ "type": "github",
6837
+ "url": "https://github.com/sponsors/wooorm"
6838
+ }
6839
+ },
6840
+ "node_modules/refractor/node_modules/prismjs": {
6841
+ "version": "1.27.0",
6842
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz",
6843
+ "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==",
6844
+ "engines": {
6845
+ "node": ">=6"
6846
+ }
6847
+ },
6848
  "node_modules/regenerator-runtime": {
6849
  "version": "0.13.11",
6850
  "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
 
6866
  "url": "https://github.com/sponsors/ljharb"
6867
  }
6868
  },
6869
+ "node_modules/remark-parse": {
6870
+ "version": "10.0.2",
6871
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz",
6872
+ "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==",
6873
+ "dependencies": {
6874
+ "@types/mdast": "^3.0.0",
6875
+ "mdast-util-from-markdown": "^1.0.0",
6876
+ "unified": "^10.0.0"
6877
+ },
6878
+ "funding": {
6879
+ "type": "opencollective",
6880
+ "url": "https://opencollective.com/unified"
6881
+ }
6882
+ },
6883
+ "node_modules/remark-rehype": {
6884
+ "version": "10.1.0",
6885
+ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz",
6886
+ "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==",
6887
+ "dependencies": {
6888
+ "@types/hast": "^2.0.0",
6889
+ "@types/mdast": "^3.0.0",
6890
+ "mdast-util-to-hast": "^12.1.0",
6891
+ "unified": "^10.0.0"
6892
+ },
6893
+ "funding": {
6894
+ "type": "opencollective",
6895
+ "url": "https://opencollective.com/unified"
6896
+ }
6897
+ },
6898
  "node_modules/resolve": {
6899
  "version": "1.22.2",
6900
  "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
 
7153
  "queue-microtask": "^1.2.2"
7154
  }
7155
  },
7156
+ "node_modules/sade": {
7157
+ "version": "1.8.1",
7158
+ "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
7159
+ "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
7160
+ "dependencies": {
7161
+ "mri": "^1.1.0"
7162
+ },
7163
+ "engines": {
7164
+ "node": ">=6"
7165
+ }
7166
+ },
7167
  "node_modules/safe-buffer": {
7168
  "version": "5.2.1",
7169
  "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
 
7380
  "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
7381
  "deprecated": "Please use @jridgewell/sourcemap-codec instead"
7382
  },
7383
+ "node_modules/space-separated-tokens": {
7384
+ "version": "2.0.2",
7385
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
7386
+ "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
7387
+ "funding": {
7388
+ "type": "github",
7389
+ "url": "https://github.com/sponsors/wooorm"
7390
+ }
7391
+ },
7392
  "node_modules/stop-iteration-iterator": {
7393
  "version": "1.0.0",
7394
  "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
 
7537
  "url": "https://github.com/sponsors/sindresorhus"
7538
  }
7539
  },
7540
+ "node_modules/style-to-object": {
7541
+ "version": "0.4.1",
7542
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz",
7543
+ "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==",
7544
+ "dependencies": {
7545
+ "inline-style-parser": "0.1.1"
7546
+ }
7547
+ },
7548
  "node_modules/styled-components": {
7549
  "version": "5.3.11",
7550
  "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz",
 
7755
  "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
7756
  "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
7757
  },
7758
+ "node_modules/trim-lines": {
7759
+ "version": "3.0.1",
7760
+ "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
7761
+ "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
7762
+ "funding": {
7763
+ "type": "github",
7764
+ "url": "https://github.com/sponsors/wooorm"
7765
+ }
7766
+ },
7767
+ "node_modules/trough": {
7768
+ "version": "2.1.0",
7769
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
7770
+ "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==",
7771
+ "funding": {
7772
+ "type": "github",
7773
+ "url": "https://github.com/sponsors/wooorm"
7774
+ }
7775
+ },
7776
  "node_modules/tsconfig-paths": {
7777
  "version": "3.14.2",
7778
  "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz",
 
7880
  "url": "https://github.com/sponsors/ljharb"
7881
  }
7882
  },
7883
+ "node_modules/unified": {
7884
+ "version": "10.1.2",
7885
+ "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
7886
+ "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
7887
+ "dependencies": {
7888
+ "@types/unist": "^2.0.0",
7889
+ "bail": "^2.0.0",
7890
+ "extend": "^3.0.0",
7891
+ "is-buffer": "^2.0.0",
7892
+ "is-plain-obj": "^4.0.0",
7893
+ "trough": "^2.0.0",
7894
+ "vfile": "^5.0.0"
7895
+ },
7896
+ "funding": {
7897
+ "type": "opencollective",
7898
+ "url": "https://opencollective.com/unified"
7899
+ }
7900
+ },
7901
+ "node_modules/unist-util-generated": {
7902
+ "version": "2.0.1",
7903
+ "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz",
7904
+ "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==",
7905
+ "funding": {
7906
+ "type": "opencollective",
7907
+ "url": "https://opencollective.com/unified"
7908
+ }
7909
+ },
7910
+ "node_modules/unist-util-is": {
7911
+ "version": "5.2.1",
7912
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz",
7913
+ "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==",
7914
+ "dependencies": {
7915
+ "@types/unist": "^2.0.0"
7916
+ },
7917
+ "funding": {
7918
+ "type": "opencollective",
7919
+ "url": "https://opencollective.com/unified"
7920
+ }
7921
+ },
7922
+ "node_modules/unist-util-position": {
7923
+ "version": "4.0.4",
7924
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz",
7925
+ "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==",
7926
+ "dependencies": {
7927
+ "@types/unist": "^2.0.0"
7928
+ },
7929
+ "funding": {
7930
+ "type": "opencollective",
7931
+ "url": "https://opencollective.com/unified"
7932
+ }
7933
+ },
7934
+ "node_modules/unist-util-stringify-position": {
7935
+ "version": "3.0.3",
7936
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz",
7937
+ "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==",
7938
+ "dependencies": {
7939
+ "@types/unist": "^2.0.0"
7940
+ },
7941
+ "funding": {
7942
+ "type": "opencollective",
7943
+ "url": "https://opencollective.com/unified"
7944
+ }
7945
+ },
7946
+ "node_modules/unist-util-visit": {
7947
+ "version": "4.1.2",
7948
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
7949
+ "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==",
7950
+ "dependencies": {
7951
+ "@types/unist": "^2.0.0",
7952
+ "unist-util-is": "^5.0.0",
7953
+ "unist-util-visit-parents": "^5.1.1"
7954
+ },
7955
+ "funding": {
7956
+ "type": "opencollective",
7957
+ "url": "https://opencollective.com/unified"
7958
+ }
7959
+ },
7960
+ "node_modules/unist-util-visit-parents": {
7961
+ "version": "5.1.3",
7962
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz",
7963
+ "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==",
7964
+ "dependencies": {
7965
+ "@types/unist": "^2.0.0",
7966
+ "unist-util-is": "^5.0.0"
7967
+ },
7968
+ "funding": {
7969
+ "type": "opencollective",
7970
+ "url": "https://opencollective.com/unified"
7971
+ }
7972
+ },
7973
  "node_modules/universalify": {
7974
  "version": "2.0.0",
7975
  "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
 
8044
  "uuid": "dist/bin/uuid"
8045
  }
8046
  },
8047
+ "node_modules/uvu": {
8048
+ "version": "0.5.6",
8049
+ "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz",
8050
+ "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==",
8051
+ "dependencies": {
8052
+ "dequal": "^2.0.0",
8053
+ "diff": "^5.0.0",
8054
+ "kleur": "^4.0.3",
8055
+ "sade": "^1.7.3"
8056
+ },
8057
+ "bin": {
8058
+ "uvu": "bin.js"
8059
+ },
8060
+ "engines": {
8061
+ "node": ">=8"
8062
+ }
8063
+ },
8064
+ "node_modules/vfile": {
8065
+ "version": "5.3.7",
8066
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz",
8067
+ "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==",
8068
+ "dependencies": {
8069
+ "@types/unist": "^2.0.0",
8070
+ "is-buffer": "^2.0.0",
8071
+ "unist-util-stringify-position": "^3.0.0",
8072
+ "vfile-message": "^3.0.0"
8073
+ },
8074
+ "funding": {
8075
+ "type": "opencollective",
8076
+ "url": "https://opencollective.com/unified"
8077
+ }
8078
+ },
8079
+ "node_modules/vfile-message": {
8080
+ "version": "3.1.4",
8081
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz",
8082
+ "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==",
8083
+ "dependencies": {
8084
+ "@types/unist": "^2.0.0",
8085
+ "unist-util-stringify-position": "^3.0.0"
8086
+ },
8087
+ "funding": {
8088
+ "type": "opencollective",
8089
+ "url": "https://opencollective.com/unified"
8090
+ }
8091
+ },
8092
  "node_modules/webidl-conversions": {
8093
  "version": "3.0.1",
8094
  "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
 
8187
  "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
8188
  "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
8189
  },
8190
+ "node_modules/xtend": {
8191
+ "version": "4.0.2",
8192
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
8193
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
8194
+ "engines": {
8195
+ "node": ">=0.4"
8196
+ }
8197
+ },
8198
  "node_modules/yallist": {
8199
  "version": "4.0.0",
8200
  "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
package.json CHANGED
@@ -25,12 +25,15 @@
25
  "react": "18.2.0",
26
  "react-dom": "18.2.0",
27
  "react-dropzone": "^14.2.3",
 
 
28
  "react95": "^4.0.0",
29
  "typescript": "5.0.4",
30
  "uuid": "^9.0.0"
31
  },
32
  "devDependencies": {
33
  "@types/fs-extra": "^11.0.1",
 
34
  "@types/uuid": "^9.0.1"
35
  }
36
  }
 
25
  "react": "18.2.0",
26
  "react-dom": "18.2.0",
27
  "react-dropzone": "^14.2.3",
28
+ "react-markdown": "^8.0.7",
29
+ "react-syntax-highlighter": "^15.5.0",
30
  "react95": "^4.0.0",
31
  "typescript": "5.0.4",
32
  "uuid": "^9.0.0"
33
  },
34
  "devDependencies": {
35
  "@types/fs-extra": "^11.0.1",
36
+ "@types/react-syntax-highlighter": "^15.5.7",
37
  "@types/uuid": "^9.0.1"
38
  }
39
  }
src/components/CodeBlock.tsx ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { IconCheck, IconClipboard, IconDownload } from '@tabler/icons-react';
2
+ import { FC, memo, useState } from 'react';
3
+ import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
4
+ import { oneDark } from 'react-syntax-highlighter/dist/cjs/styles/prism';
5
+
6
+ import {
7
+ generateRandomString,
8
+ programmingLanguages,
9
+ } from '@/utils/codeblock';
10
+
11
+ interface Props {
12
+ language: string;
13
+ value: string;
14
+ }
15
+
16
+ export const CodeBlock: FC<Props> = memo(({ language, value }) => {
17
+ const [isCopied, setIsCopied] = useState<Boolean>(false);
18
+
19
+ const copyToClipboard = () => {
20
+ if (!navigator.clipboard || !navigator.clipboard.writeText) {
21
+ return;
22
+ }
23
+
24
+ navigator.clipboard.writeText(value).then(() => {
25
+ setIsCopied(true);
26
+
27
+ setTimeout(() => {
28
+ setIsCopied(false);
29
+ }, 2000);
30
+ });
31
+ };
32
+ const downloadAsFile = () => {
33
+ const fileExtension = programmingLanguages[language] || '.file';
34
+ const suggestedFileName = `file-${generateRandomString(
35
+ 3,
36
+ true,
37
+ )}${fileExtension}`;
38
+ const fileName = window.prompt(
39
+ 'Enter file name' || '',
40
+ suggestedFileName,
41
+ );
42
+
43
+ if (!fileName) {
44
+ // user pressed cancel on prompt
45
+ return;
46
+ }
47
+
48
+ const blob = new Blob([value], { type: 'text/plain' });
49
+ const url = URL.createObjectURL(blob);
50
+ const link = document.createElement('a');
51
+ link.download = fileName;
52
+ link.href = url;
53
+ link.style.display = 'none';
54
+ document.body.appendChild(link);
55
+ link.click();
56
+ document.body.removeChild(link);
57
+ URL.revokeObjectURL(url);
58
+ };
59
+ return (
60
+ <div className="codeblock relative font-sans text-[16px]">
61
+ <SyntaxHighlighter
62
+ language={language}
63
+ style={oneDark}
64
+ customStyle={{ margin: 0 }}
65
+ >
66
+ {value}
67
+ </SyntaxHighlighter>
68
+ </div>
69
+ );
70
+ });
71
+ CodeBlock.displayName = 'CodeBlock';
src/components/Markdown.ts ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ import { FC, memo } from 'react';
2
+ import ReactMarkdown, { Options } from 'react-markdown';
3
+
4
+ export const MemoizedReactMarkdown: FC<Options> = memo(
5
+ ReactMarkdown,
6
+ (prevProps, nextProps) => (
7
+ prevProps.children === nextProps.children
8
+ )
9
+ );
src/components/MessageList.jsx CHANGED
@@ -1,5 +1,8 @@
1
  import useLLM from "@react-llm/headless";
2
  import { useEffect, useRef } from "react";
 
 
 
3
 
4
  function MessageList({
5
  screenName = "endlessbox5",
@@ -20,33 +23,80 @@ function MessageList({
20
  }, [conversation, messages.length]);
21
 
22
  return (
23
- <div style={{ height: "65vh" }} className="w-full">
24
  <div className="p-2 leading-6 w-full min-h-full">
25
  {conversation?.messages.map((m) => (
26
  <div key={m.id} style={{ display: "flex" }}>
27
  <div
28
  style={{
29
- padding: "12px",
 
 
 
30
  margin: "5px",
31
  borderRadius: "15px",
32
  backgroundColor: m.role === userRoleName ? "green": "#333333"
33
  }}
34
  >
35
- <span
36
- style={{
37
- fontWeight: "bold",
38
- color: m.role === userRoleName ? "white" : "#999999",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  }}
40
  >
41
- {m.role === userRoleName ? `` : `${assistantScreenName}: `}
42
- </span>
43
- {m.text}
44
  </div>
45
  </div>
46
  ))}
47
  <div ref={scrollRef}></div>
48
  </div>
49
- </div>
50
  );
51
  }
52
 
 
1
  import useLLM from "@react-llm/headless";
2
  import { useEffect, useRef } from "react";
3
+ import { MemoizedReactMarkdown } from './Markdown'
4
+ import { CodeBlock } from './CodeBlock'
5
+ import { ScrollView } from "react95";
6
 
7
  function MessageList({
8
  screenName = "endlessbox5",
 
23
  }, [conversation, messages.length]);
24
 
25
  return (
26
+ <ScrollView style={{ height: "65vh" }} className="w-full">
27
  <div className="p-2 leading-6 w-full min-h-full">
28
  {conversation?.messages.map((m) => (
29
  <div key={m.id} style={{ display: "flex" }}>
30
  <div
31
  style={{
32
+ paddingTop: "5px",
33
+ paddingBottom: "5px",
34
+ paddingRight: "15px",
35
+ paddingLeft: "15px",
36
  margin: "5px",
37
  borderRadius: "15px",
38
  backgroundColor: m.role === userRoleName ? "green": "#333333"
39
  }}
40
  >
41
+ <MemoizedReactMarkdown
42
+ className="prose dark:prose-invert flex-1"
43
+ components={{
44
+ code({ node, inline, className, children, ...props }) {
45
+ if (children.length) {
46
+ if (children[0] == '▍') {
47
+ return <span className="animate-pulse cursor-default mt-1">▍</span>
48
+ }
49
+
50
+ children[0] = (children[0]).replace("`▍`", "▍")
51
+ }
52
+
53
+ const match = /language-(\w+)/.exec(className || '');
54
+
55
+ return !inline ? (
56
+ <CodeBlock
57
+ key={Math.random()}
58
+ language={(match && match[1]) || ''}
59
+ value={String(children).replace(/\n$/, '')}
60
+ {...props}
61
+ />
62
+ ) : (
63
+ <code className={className} {...props}>
64
+ {children}
65
+ </code>
66
+ );
67
+ },
68
+ table({ children }) {
69
+ return (
70
+ <table className="border-collapse border border-black px-3 py-1 dark:border-white">
71
+ {children}
72
+ </table>
73
+ );
74
+ },
75
+ th({ children }) {
76
+ return (
77
+ <th className="break-words border border-black bg-gray-500 px-3 py-1 text-white dark:border-white">
78
+ {children}
79
+ </th>
80
+ );
81
+ },
82
+ td({ children }) {
83
+ return (
84
+ <td className="break-words border border-black px-3 py-1 dark:border-white">
85
+ {children}
86
+ </td>
87
+ );
88
+ },
89
  }}
90
  >
91
+ {m.text}
92
+ </MemoizedReactMarkdown>
93
+
94
  </div>
95
  </div>
96
  ))}
97
  <div ref={scrollRef}></div>
98
  </div>
99
+ </ScrollView>
100
  );
101
  }
102
 
src/utils/codeblock.ts ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ interface languageMap {
2
+ [key: string]: string | undefined;
3
+ }
4
+
5
+ export const programmingLanguages: languageMap = {
6
+ javascript: '.js',
7
+ python: '.py',
8
+ java: '.java',
9
+ c: '.c',
10
+ cpp: '.cpp',
11
+ 'c++': '.cpp',
12
+ 'c#': '.cs',
13
+ ruby: '.rb',
14
+ php: '.php',
15
+ swift: '.swift',
16
+ 'objective-c': '.m',
17
+ kotlin: '.kt',
18
+ typescript: '.ts',
19
+ go: '.go',
20
+ perl: '.pl',
21
+ rust: '.rs',
22
+ scala: '.scala',
23
+ haskell: '.hs',
24
+ lua: '.lua',
25
+ shell: '.sh',
26
+ sql: '.sql',
27
+ html: '.html',
28
+ css: '.css',
29
+ // add more file extensions here, make sure the key is same as language prop in CodeBlock.tsx component
30
+ };
31
+
32
+ export const generateRandomString = (length: number, lowercase = false) => {
33
+ const chars = 'ABCDEFGHJKLMNPQRSTUVWXY3456789'; // excluding similar looking characters like Z, 2, I, 1, O, 0
34
+ let result = '';
35
+ for (let i = 0; i < length; i++) {
36
+ result += chars.charAt(Math.floor(Math.random() * chars.length));
37
+ }
38
+ return lowercase ? result.toLowerCase() : result;
39
+ };
40
+