Spaces:
Sleeping
Sleeping
Commit ·
043bb6c
1
Parent(s): 253e3ae
Final UI Fixes: Verified table syntax, fixed typing indicator streaming, and added table horizontal scroll
Browse files- frontend/dist/assets/index-BeubaXht.css +1 -0
- frontend/dist/assets/index-nfniwr7O.js +0 -0
- frontend/dist/assets/logo.png +0 -0
- frontend/dist/index.html +14 -0
- frontend/package-lock.json +463 -1
- frontend/src/App.jsx +15 -6
- frontend/src/index.css +13 -0
- llm.py +7 -3
frontend/dist/assets/index-BeubaXht.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary: #B81104;--primary-hover: #9a0e03;--secondary: #FFFFFF;--bg-color: #f8f9fa;--text-main: #212529;--text-muted: #6c757d;--border-color: #dee2e6;--bubble-user: #B81104;--bubble-bot: #FFFFFF;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-main);height:100vh;display:flex;flex-direction:column}#root{height:100%;display:flex;flex-direction:column}.app-container{max-width:900px;margin:0 auto;width:100%;height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:var(--shadow)}header{padding:1rem 2rem;background-color:var(--secondary);border-bottom:2px solid var(--primary);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.header-logo{height:40px;display:flex;align-items:center;gap:12px}.header-logo img{height:100%;object-fit:contain}.header-title{font-weight:700;color:var(--primary);font-size:1.25rem}.chat-window{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;background:#fdfdfd}.message{display:flex;flex-direction:column;max-width:80%;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message-bubble{padding:1rem 1.25rem;border-radius:12px;line-height:1.6;font-size:1rem;position:relative}.user .message-bubble{background-color:var(--bubble-user);color:#fff;border-bottom-right-radius:2px}.assistant .message-bubble{background-color:var(--bubble-bot);color:var(--text-main);border:1px solid var(--border-color);border-bottom-left-radius:2px;box-shadow:0 2px 5px #0000000d}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:4px;color:var(--text-muted)}.message-content p{margin-bottom:.75rem}.message-content p:last-child{margin-bottom:0}.input-area{padding:1.5rem 2rem;background:#fff;border-top:1px solid var(--border-color);display:flex;gap:1rem}.input-container{flex:1;position:relative}input{width:100%;padding:1rem 1.25rem;border:1px solid var(--border-color);border-radius:30px;font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit}input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #b811041a}button.send-btn{background-color:var(--primary);color:#fff;border:none;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,transform .1s}button.send-btn:hover{background-color:var(--primary-hover)}button.send-btn:active{transform:scale(.95)}button.send-btn:disabled{background-color:var(--border-color);cursor:not-allowed}.assistant .message-bubble ul,.assistant .message-bubble ol{margin-left:1.5rem;margin-bottom:.75rem}.assistant .message-bubble li{margin-bottom:.25rem}code{background:#f1f3f5;padding:.2rem .4rem;border-radius:4px;font-family:monospace}pre{background:#f1f3f5;padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0}.assistant .message-bubble table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem;background:#fff;border-radius:8px;overflow:hidden;border:1px solid var(--border-color);display:block;overflow-x:auto}.typing-indicator.mini{margin-top:8px;justify-content:flex-start}.typing-indicator.mini span{width:5px;height:5px}.assistant .message-bubble th{background-color:#f8f9fa;color:var(--primary);font-weight:600;text-align:left;padding:.75rem;border-bottom:2px solid var(--border-color)}.assistant .message-bubble td{padding:.75rem;border-bottom:1px solid var(--border-color);line-height:1.4}.assistant .message-bubble tr:last-child td{border-bottom:none}.assistant .message-bubble tr:hover{background-color:#fff9f9}.typing-indicator{display:flex;align-items:center;gap:4px;padding:4px 0}.typing-indicator span{width:8px;height:8px;border-radius:50%;background-color:var(--text-muted);animation:typingBounce 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}
|
frontend/dist/assets/index-nfniwr7O.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
frontend/dist/assets/logo.png
ADDED
|
frontend/dist/index.html
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8" />
|
| 5 |
+
<link rel="icon" type="image/png" href="/assets/logo.png" />
|
| 6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
| 7 |
+
<title>UBA AI Support</title>
|
| 8 |
+
<script type="module" crossorigin src="/assets/index-nfniwr7O.js"></script>
|
| 9 |
+
<link rel="stylesheet" crossorigin href="/assets/index-BeubaXht.css">
|
| 10 |
+
</head>
|
| 11 |
+
<body>
|
| 12 |
+
<div id="root"></div>
|
| 13 |
+
</body>
|
| 14 |
+
</html>
|
frontend/package-lock.json
CHANGED
|
@@ -11,7 +11,9 @@
|
|
| 11 |
"lucide-react": "^0.395.0",
|
| 12 |
"react": "^18.3.1",
|
| 13 |
"react-dom": "^18.3.1",
|
| 14 |
-
"react-markdown": "^9.0.1"
|
|
|
|
|
|
|
| 15 |
},
|
| 16 |
"devDependencies": {
|
| 17 |
"@vitejs/plugin-react": "^4.3.1",
|
|
@@ -1442,6 +1444,18 @@
|
|
| 1442 |
"dev": true,
|
| 1443 |
"license": "ISC"
|
| 1444 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1445 |
"node_modules/esbuild": {
|
| 1446 |
"version": "0.21.5",
|
| 1447 |
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
|
|
@@ -1491,6 +1505,18 @@
|
|
| 1491 |
"node": ">=6"
|
| 1492 |
}
|
| 1493 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1494 |
"node_modules/estree-util-is-identifier-name": {
|
| 1495 |
"version": "3.0.0",
|
| 1496 |
"resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
|
|
@@ -1532,6 +1558,64 @@
|
|
| 1532 |
"node": ">=6.9.0"
|
| 1533 |
}
|
| 1534 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1535 |
"node_modules/hast-util-to-jsx-runtime": {
|
| 1536 |
"version": "2.3.6",
|
| 1537 |
"resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz",
|
|
@@ -1559,6 +1643,25 @@
|
|
| 1559 |
"url": "https://opencollective.com/unified"
|
| 1560 |
}
|
| 1561 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1562 |
"node_modules/hast-util-whitespace": {
|
| 1563 |
"version": "3.0.0",
|
| 1564 |
"resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
|
|
@@ -1572,6 +1675,23 @@
|
|
| 1572 |
"url": "https://opencollective.com/unified"
|
| 1573 |
}
|
| 1574 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1575 |
"node_modules/html-url-attributes": {
|
| 1576 |
"version": "3.0.1",
|
| 1577 |
"resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz",
|
|
@@ -1582,6 +1702,16 @@
|
|
| 1582 |
"url": "https://opencollective.com/unified"
|
| 1583 |
}
|
| 1584 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1585 |
"node_modules/inline-style-parser": {
|
| 1586 |
"version": "0.2.7",
|
| 1587 |
"resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz",
|
|
@@ -1717,6 +1847,32 @@
|
|
| 1717 |
"react": "^16.5.1 || ^17.0.0 || ^18.0.0"
|
| 1718 |
}
|
| 1719 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1720 |
"node_modules/mdast-util-from-markdown": {
|
| 1721 |
"version": "2.0.2",
|
| 1722 |
"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz",
|
|
@@ -1741,6 +1897,107 @@
|
|
| 1741 |
"url": "https://opencollective.com/unified"
|
| 1742 |
}
|
| 1743 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1744 |
"node_modules/mdast-util-mdx-expression": {
|
| 1745 |
"version": "2.0.1",
|
| 1746 |
"resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
|
|
@@ -1939,6 +2196,127 @@
|
|
| 1939 |
"micromark-util-types": "^2.0.0"
|
| 1940 |
}
|
| 1941 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1942 |
"node_modules/micromark-factory-destination": {
|
| 1943 |
"version": "2.0.1",
|
| 1944 |
"resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
|
|
@@ -2369,6 +2747,18 @@
|
|
| 2369 |
"integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
|
| 2370 |
"license": "MIT"
|
| 2371 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2372 |
"node_modules/picocolors": {
|
| 2373 |
"version": "1.1.1",
|
| 2374 |
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
|
|
@@ -2477,6 +2867,39 @@
|
|
| 2477 |
"node": ">=0.10.0"
|
| 2478 |
}
|
| 2479 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2480 |
"node_modules/remark-parse": {
|
| 2481 |
"version": "11.0.0",
|
| 2482 |
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
|
|
@@ -2510,6 +2933,21 @@
|
|
| 2510 |
"url": "https://opencollective.com/unified"
|
| 2511 |
}
|
| 2512 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2513 |
"node_modules/rollup": {
|
| 2514 |
"version": "4.55.1",
|
| 2515 |
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz",
|
|
@@ -2778,6 +3216,20 @@
|
|
| 2778 |
"url": "https://opencollective.com/unified"
|
| 2779 |
}
|
| 2780 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2781 |
"node_modules/vfile-message": {
|
| 2782 |
"version": "4.0.3",
|
| 2783 |
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
|
|
@@ -2852,6 +3304,16 @@
|
|
| 2852 |
}
|
| 2853 |
}
|
| 2854 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2855 |
"node_modules/yallist": {
|
| 2856 |
"version": "3.1.1",
|
| 2857 |
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
|
|
|
| 11 |
"lucide-react": "^0.395.0",
|
| 12 |
"react": "^18.3.1",
|
| 13 |
"react-dom": "^18.3.1",
|
| 14 |
+
"react-markdown": "^9.0.1",
|
| 15 |
+
"rehype-raw": "^7.0.0",
|
| 16 |
+
"remark-gfm": "^4.0.0"
|
| 17 |
},
|
| 18 |
"devDependencies": {
|
| 19 |
"@vitejs/plugin-react": "^4.3.1",
|
|
|
|
| 1444 |
"dev": true,
|
| 1445 |
"license": "ISC"
|
| 1446 |
},
|
| 1447 |
+
"node_modules/entities": {
|
| 1448 |
+
"version": "6.0.1",
|
| 1449 |
+
"resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
|
| 1450 |
+
"integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
|
| 1451 |
+
"license": "BSD-2-Clause",
|
| 1452 |
+
"engines": {
|
| 1453 |
+
"node": ">=0.12"
|
| 1454 |
+
},
|
| 1455 |
+
"funding": {
|
| 1456 |
+
"url": "https://github.com/fb55/entities?sponsor=1"
|
| 1457 |
+
}
|
| 1458 |
+
},
|
| 1459 |
"node_modules/esbuild": {
|
| 1460 |
"version": "0.21.5",
|
| 1461 |
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
|
|
|
|
| 1505 |
"node": ">=6"
|
| 1506 |
}
|
| 1507 |
},
|
| 1508 |
+
"node_modules/escape-string-regexp": {
|
| 1509 |
+
"version": "5.0.0",
|
| 1510 |
+
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
|
| 1511 |
+
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
|
| 1512 |
+
"license": "MIT",
|
| 1513 |
+
"engines": {
|
| 1514 |
+
"node": ">=12"
|
| 1515 |
+
},
|
| 1516 |
+
"funding": {
|
| 1517 |
+
"url": "https://github.com/sponsors/sindresorhus"
|
| 1518 |
+
}
|
| 1519 |
+
},
|
| 1520 |
"node_modules/estree-util-is-identifier-name": {
|
| 1521 |
"version": "3.0.0",
|
| 1522 |
"resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz",
|
|
|
|
| 1558 |
"node": ">=6.9.0"
|
| 1559 |
}
|
| 1560 |
},
|
| 1561 |
+
"node_modules/hast-util-from-parse5": {
|
| 1562 |
+
"version": "8.0.3",
|
| 1563 |
+
"resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz",
|
| 1564 |
+
"integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==",
|
| 1565 |
+
"license": "MIT",
|
| 1566 |
+
"dependencies": {
|
| 1567 |
+
"@types/hast": "^3.0.0",
|
| 1568 |
+
"@types/unist": "^3.0.0",
|
| 1569 |
+
"devlop": "^1.0.0",
|
| 1570 |
+
"hastscript": "^9.0.0",
|
| 1571 |
+
"property-information": "^7.0.0",
|
| 1572 |
+
"vfile": "^6.0.0",
|
| 1573 |
+
"vfile-location": "^5.0.0",
|
| 1574 |
+
"web-namespaces": "^2.0.0"
|
| 1575 |
+
},
|
| 1576 |
+
"funding": {
|
| 1577 |
+
"type": "opencollective",
|
| 1578 |
+
"url": "https://opencollective.com/unified"
|
| 1579 |
+
}
|
| 1580 |
+
},
|
| 1581 |
+
"node_modules/hast-util-parse-selector": {
|
| 1582 |
+
"version": "4.0.0",
|
| 1583 |
+
"resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz",
|
| 1584 |
+
"integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==",
|
| 1585 |
+
"license": "MIT",
|
| 1586 |
+
"dependencies": {
|
| 1587 |
+
"@types/hast": "^3.0.0"
|
| 1588 |
+
},
|
| 1589 |
+
"funding": {
|
| 1590 |
+
"type": "opencollective",
|
| 1591 |
+
"url": "https://opencollective.com/unified"
|
| 1592 |
+
}
|
| 1593 |
+
},
|
| 1594 |
+
"node_modules/hast-util-raw": {
|
| 1595 |
+
"version": "9.1.0",
|
| 1596 |
+
"resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz",
|
| 1597 |
+
"integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==",
|
| 1598 |
+
"license": "MIT",
|
| 1599 |
+
"dependencies": {
|
| 1600 |
+
"@types/hast": "^3.0.0",
|
| 1601 |
+
"@types/unist": "^3.0.0",
|
| 1602 |
+
"@ungap/structured-clone": "^1.0.0",
|
| 1603 |
+
"hast-util-from-parse5": "^8.0.0",
|
| 1604 |
+
"hast-util-to-parse5": "^8.0.0",
|
| 1605 |
+
"html-void-elements": "^3.0.0",
|
| 1606 |
+
"mdast-util-to-hast": "^13.0.0",
|
| 1607 |
+
"parse5": "^7.0.0",
|
| 1608 |
+
"unist-util-position": "^5.0.0",
|
| 1609 |
+
"unist-util-visit": "^5.0.0",
|
| 1610 |
+
"vfile": "^6.0.0",
|
| 1611 |
+
"web-namespaces": "^2.0.0",
|
| 1612 |
+
"zwitch": "^2.0.0"
|
| 1613 |
+
},
|
| 1614 |
+
"funding": {
|
| 1615 |
+
"type": "opencollective",
|
| 1616 |
+
"url": "https://opencollective.com/unified"
|
| 1617 |
+
}
|
| 1618 |
+
},
|
| 1619 |
"node_modules/hast-util-to-jsx-runtime": {
|
| 1620 |
"version": "2.3.6",
|
| 1621 |
"resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz",
|
|
|
|
| 1643 |
"url": "https://opencollective.com/unified"
|
| 1644 |
}
|
| 1645 |
},
|
| 1646 |
+
"node_modules/hast-util-to-parse5": {
|
| 1647 |
+
"version": "8.0.1",
|
| 1648 |
+
"resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz",
|
| 1649 |
+
"integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==",
|
| 1650 |
+
"license": "MIT",
|
| 1651 |
+
"dependencies": {
|
| 1652 |
+
"@types/hast": "^3.0.0",
|
| 1653 |
+
"comma-separated-tokens": "^2.0.0",
|
| 1654 |
+
"devlop": "^1.0.0",
|
| 1655 |
+
"property-information": "^7.0.0",
|
| 1656 |
+
"space-separated-tokens": "^2.0.0",
|
| 1657 |
+
"web-namespaces": "^2.0.0",
|
| 1658 |
+
"zwitch": "^2.0.0"
|
| 1659 |
+
},
|
| 1660 |
+
"funding": {
|
| 1661 |
+
"type": "opencollective",
|
| 1662 |
+
"url": "https://opencollective.com/unified"
|
| 1663 |
+
}
|
| 1664 |
+
},
|
| 1665 |
"node_modules/hast-util-whitespace": {
|
| 1666 |
"version": "3.0.0",
|
| 1667 |
"resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
|
|
|
|
| 1675 |
"url": "https://opencollective.com/unified"
|
| 1676 |
}
|
| 1677 |
},
|
| 1678 |
+
"node_modules/hastscript": {
|
| 1679 |
+
"version": "9.0.1",
|
| 1680 |
+
"resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz",
|
| 1681 |
+
"integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==",
|
| 1682 |
+
"license": "MIT",
|
| 1683 |
+
"dependencies": {
|
| 1684 |
+
"@types/hast": "^3.0.0",
|
| 1685 |
+
"comma-separated-tokens": "^2.0.0",
|
| 1686 |
+
"hast-util-parse-selector": "^4.0.0",
|
| 1687 |
+
"property-information": "^7.0.0",
|
| 1688 |
+
"space-separated-tokens": "^2.0.0"
|
| 1689 |
+
},
|
| 1690 |
+
"funding": {
|
| 1691 |
+
"type": "opencollective",
|
| 1692 |
+
"url": "https://opencollective.com/unified"
|
| 1693 |
+
}
|
| 1694 |
+
},
|
| 1695 |
"node_modules/html-url-attributes": {
|
| 1696 |
"version": "3.0.1",
|
| 1697 |
"resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz",
|
|
|
|
| 1702 |
"url": "https://opencollective.com/unified"
|
| 1703 |
}
|
| 1704 |
},
|
| 1705 |
+
"node_modules/html-void-elements": {
|
| 1706 |
+
"version": "3.0.0",
|
| 1707 |
+
"resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz",
|
| 1708 |
+
"integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==",
|
| 1709 |
+
"license": "MIT",
|
| 1710 |
+
"funding": {
|
| 1711 |
+
"type": "github",
|
| 1712 |
+
"url": "https://github.com/sponsors/wooorm"
|
| 1713 |
+
}
|
| 1714 |
+
},
|
| 1715 |
"node_modules/inline-style-parser": {
|
| 1716 |
"version": "0.2.7",
|
| 1717 |
"resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz",
|
|
|
|
| 1847 |
"react": "^16.5.1 || ^17.0.0 || ^18.0.0"
|
| 1848 |
}
|
| 1849 |
},
|
| 1850 |
+
"node_modules/markdown-table": {
|
| 1851 |
+
"version": "3.0.4",
|
| 1852 |
+
"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz",
|
| 1853 |
+
"integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==",
|
| 1854 |
+
"license": "MIT",
|
| 1855 |
+
"funding": {
|
| 1856 |
+
"type": "github",
|
| 1857 |
+
"url": "https://github.com/sponsors/wooorm"
|
| 1858 |
+
}
|
| 1859 |
+
},
|
| 1860 |
+
"node_modules/mdast-util-find-and-replace": {
|
| 1861 |
+
"version": "3.0.2",
|
| 1862 |
+
"resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz",
|
| 1863 |
+
"integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==",
|
| 1864 |
+
"license": "MIT",
|
| 1865 |
+
"dependencies": {
|
| 1866 |
+
"@types/mdast": "^4.0.0",
|
| 1867 |
+
"escape-string-regexp": "^5.0.0",
|
| 1868 |
+
"unist-util-is": "^6.0.0",
|
| 1869 |
+
"unist-util-visit-parents": "^6.0.0"
|
| 1870 |
+
},
|
| 1871 |
+
"funding": {
|
| 1872 |
+
"type": "opencollective",
|
| 1873 |
+
"url": "https://opencollective.com/unified"
|
| 1874 |
+
}
|
| 1875 |
+
},
|
| 1876 |
"node_modules/mdast-util-from-markdown": {
|
| 1877 |
"version": "2.0.2",
|
| 1878 |
"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz",
|
|
|
|
| 1897 |
"url": "https://opencollective.com/unified"
|
| 1898 |
}
|
| 1899 |
},
|
| 1900 |
+
"node_modules/mdast-util-gfm": {
|
| 1901 |
+
"version": "3.1.0",
|
| 1902 |
+
"resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz",
|
| 1903 |
+
"integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==",
|
| 1904 |
+
"license": "MIT",
|
| 1905 |
+
"dependencies": {
|
| 1906 |
+
"mdast-util-from-markdown": "^2.0.0",
|
| 1907 |
+
"mdast-util-gfm-autolink-literal": "^2.0.0",
|
| 1908 |
+
"mdast-util-gfm-footnote": "^2.0.0",
|
| 1909 |
+
"mdast-util-gfm-strikethrough": "^2.0.0",
|
| 1910 |
+
"mdast-util-gfm-table": "^2.0.0",
|
| 1911 |
+
"mdast-util-gfm-task-list-item": "^2.0.0",
|
| 1912 |
+
"mdast-util-to-markdown": "^2.0.0"
|
| 1913 |
+
},
|
| 1914 |
+
"funding": {
|
| 1915 |
+
"type": "opencollective",
|
| 1916 |
+
"url": "https://opencollective.com/unified"
|
| 1917 |
+
}
|
| 1918 |
+
},
|
| 1919 |
+
"node_modules/mdast-util-gfm-autolink-literal": {
|
| 1920 |
+
"version": "2.0.1",
|
| 1921 |
+
"resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz",
|
| 1922 |
+
"integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==",
|
| 1923 |
+
"license": "MIT",
|
| 1924 |
+
"dependencies": {
|
| 1925 |
+
"@types/mdast": "^4.0.0",
|
| 1926 |
+
"ccount": "^2.0.0",
|
| 1927 |
+
"devlop": "^1.0.0",
|
| 1928 |
+
"mdast-util-find-and-replace": "^3.0.0",
|
| 1929 |
+
"micromark-util-character": "^2.0.0"
|
| 1930 |
+
},
|
| 1931 |
+
"funding": {
|
| 1932 |
+
"type": "opencollective",
|
| 1933 |
+
"url": "https://opencollective.com/unified"
|
| 1934 |
+
}
|
| 1935 |
+
},
|
| 1936 |
+
"node_modules/mdast-util-gfm-footnote": {
|
| 1937 |
+
"version": "2.1.0",
|
| 1938 |
+
"resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz",
|
| 1939 |
+
"integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==",
|
| 1940 |
+
"license": "MIT",
|
| 1941 |
+
"dependencies": {
|
| 1942 |
+
"@types/mdast": "^4.0.0",
|
| 1943 |
+
"devlop": "^1.1.0",
|
| 1944 |
+
"mdast-util-from-markdown": "^2.0.0",
|
| 1945 |
+
"mdast-util-to-markdown": "^2.0.0",
|
| 1946 |
+
"micromark-util-normalize-identifier": "^2.0.0"
|
| 1947 |
+
},
|
| 1948 |
+
"funding": {
|
| 1949 |
+
"type": "opencollective",
|
| 1950 |
+
"url": "https://opencollective.com/unified"
|
| 1951 |
+
}
|
| 1952 |
+
},
|
| 1953 |
+
"node_modules/mdast-util-gfm-strikethrough": {
|
| 1954 |
+
"version": "2.0.0",
|
| 1955 |
+
"resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz",
|
| 1956 |
+
"integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==",
|
| 1957 |
+
"license": "MIT",
|
| 1958 |
+
"dependencies": {
|
| 1959 |
+
"@types/mdast": "^4.0.0",
|
| 1960 |
+
"mdast-util-from-markdown": "^2.0.0",
|
| 1961 |
+
"mdast-util-to-markdown": "^2.0.0"
|
| 1962 |
+
},
|
| 1963 |
+
"funding": {
|
| 1964 |
+
"type": "opencollective",
|
| 1965 |
+
"url": "https://opencollective.com/unified"
|
| 1966 |
+
}
|
| 1967 |
+
},
|
| 1968 |
+
"node_modules/mdast-util-gfm-table": {
|
| 1969 |
+
"version": "2.0.0",
|
| 1970 |
+
"resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz",
|
| 1971 |
+
"integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==",
|
| 1972 |
+
"license": "MIT",
|
| 1973 |
+
"dependencies": {
|
| 1974 |
+
"@types/mdast": "^4.0.0",
|
| 1975 |
+
"devlop": "^1.0.0",
|
| 1976 |
+
"markdown-table": "^3.0.0",
|
| 1977 |
+
"mdast-util-from-markdown": "^2.0.0",
|
| 1978 |
+
"mdast-util-to-markdown": "^2.0.0"
|
| 1979 |
+
},
|
| 1980 |
+
"funding": {
|
| 1981 |
+
"type": "opencollective",
|
| 1982 |
+
"url": "https://opencollective.com/unified"
|
| 1983 |
+
}
|
| 1984 |
+
},
|
| 1985 |
+
"node_modules/mdast-util-gfm-task-list-item": {
|
| 1986 |
+
"version": "2.0.0",
|
| 1987 |
+
"resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz",
|
| 1988 |
+
"integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==",
|
| 1989 |
+
"license": "MIT",
|
| 1990 |
+
"dependencies": {
|
| 1991 |
+
"@types/mdast": "^4.0.0",
|
| 1992 |
+
"devlop": "^1.0.0",
|
| 1993 |
+
"mdast-util-from-markdown": "^2.0.0",
|
| 1994 |
+
"mdast-util-to-markdown": "^2.0.0"
|
| 1995 |
+
},
|
| 1996 |
+
"funding": {
|
| 1997 |
+
"type": "opencollective",
|
| 1998 |
+
"url": "https://opencollective.com/unified"
|
| 1999 |
+
}
|
| 2000 |
+
},
|
| 2001 |
"node_modules/mdast-util-mdx-expression": {
|
| 2002 |
"version": "2.0.1",
|
| 2003 |
"resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz",
|
|
|
|
| 2196 |
"micromark-util-types": "^2.0.0"
|
| 2197 |
}
|
| 2198 |
},
|
| 2199 |
+
"node_modules/micromark-extension-gfm": {
|
| 2200 |
+
"version": "3.0.0",
|
| 2201 |
+
"resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz",
|
| 2202 |
+
"integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==",
|
| 2203 |
+
"license": "MIT",
|
| 2204 |
+
"dependencies": {
|
| 2205 |
+
"micromark-extension-gfm-autolink-literal": "^2.0.0",
|
| 2206 |
+
"micromark-extension-gfm-footnote": "^2.0.0",
|
| 2207 |
+
"micromark-extension-gfm-strikethrough": "^2.0.0",
|
| 2208 |
+
"micromark-extension-gfm-table": "^2.0.0",
|
| 2209 |
+
"micromark-extension-gfm-tagfilter": "^2.0.0",
|
| 2210 |
+
"micromark-extension-gfm-task-list-item": "^2.0.0",
|
| 2211 |
+
"micromark-util-combine-extensions": "^2.0.0",
|
| 2212 |
+
"micromark-util-types": "^2.0.0"
|
| 2213 |
+
},
|
| 2214 |
+
"funding": {
|
| 2215 |
+
"type": "opencollective",
|
| 2216 |
+
"url": "https://opencollective.com/unified"
|
| 2217 |
+
}
|
| 2218 |
+
},
|
| 2219 |
+
"node_modules/micromark-extension-gfm-autolink-literal": {
|
| 2220 |
+
"version": "2.1.0",
|
| 2221 |
+
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz",
|
| 2222 |
+
"integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==",
|
| 2223 |
+
"license": "MIT",
|
| 2224 |
+
"dependencies": {
|
| 2225 |
+
"micromark-util-character": "^2.0.0",
|
| 2226 |
+
"micromark-util-sanitize-uri": "^2.0.0",
|
| 2227 |
+
"micromark-util-symbol": "^2.0.0",
|
| 2228 |
+
"micromark-util-types": "^2.0.0"
|
| 2229 |
+
},
|
| 2230 |
+
"funding": {
|
| 2231 |
+
"type": "opencollective",
|
| 2232 |
+
"url": "https://opencollective.com/unified"
|
| 2233 |
+
}
|
| 2234 |
+
},
|
| 2235 |
+
"node_modules/micromark-extension-gfm-footnote": {
|
| 2236 |
+
"version": "2.1.0",
|
| 2237 |
+
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz",
|
| 2238 |
+
"integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==",
|
| 2239 |
+
"license": "MIT",
|
| 2240 |
+
"dependencies": {
|
| 2241 |
+
"devlop": "^1.0.0",
|
| 2242 |
+
"micromark-core-commonmark": "^2.0.0",
|
| 2243 |
+
"micromark-factory-space": "^2.0.0",
|
| 2244 |
+
"micromark-util-character": "^2.0.0",
|
| 2245 |
+
"micromark-util-normalize-identifier": "^2.0.0",
|
| 2246 |
+
"micromark-util-sanitize-uri": "^2.0.0",
|
| 2247 |
+
"micromark-util-symbol": "^2.0.0",
|
| 2248 |
+
"micromark-util-types": "^2.0.0"
|
| 2249 |
+
},
|
| 2250 |
+
"funding": {
|
| 2251 |
+
"type": "opencollective",
|
| 2252 |
+
"url": "https://opencollective.com/unified"
|
| 2253 |
+
}
|
| 2254 |
+
},
|
| 2255 |
+
"node_modules/micromark-extension-gfm-strikethrough": {
|
| 2256 |
+
"version": "2.1.0",
|
| 2257 |
+
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz",
|
| 2258 |
+
"integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==",
|
| 2259 |
+
"license": "MIT",
|
| 2260 |
+
"dependencies": {
|
| 2261 |
+
"devlop": "^1.0.0",
|
| 2262 |
+
"micromark-util-chunked": "^2.0.0",
|
| 2263 |
+
"micromark-util-classify-character": "^2.0.0",
|
| 2264 |
+
"micromark-util-resolve-all": "^2.0.0",
|
| 2265 |
+
"micromark-util-symbol": "^2.0.0",
|
| 2266 |
+
"micromark-util-types": "^2.0.0"
|
| 2267 |
+
},
|
| 2268 |
+
"funding": {
|
| 2269 |
+
"type": "opencollective",
|
| 2270 |
+
"url": "https://opencollective.com/unified"
|
| 2271 |
+
}
|
| 2272 |
+
},
|
| 2273 |
+
"node_modules/micromark-extension-gfm-table": {
|
| 2274 |
+
"version": "2.1.1",
|
| 2275 |
+
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz",
|
| 2276 |
+
"integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==",
|
| 2277 |
+
"license": "MIT",
|
| 2278 |
+
"dependencies": {
|
| 2279 |
+
"devlop": "^1.0.0",
|
| 2280 |
+
"micromark-factory-space": "^2.0.0",
|
| 2281 |
+
"micromark-util-character": "^2.0.0",
|
| 2282 |
+
"micromark-util-symbol": "^2.0.0",
|
| 2283 |
+
"micromark-util-types": "^2.0.0"
|
| 2284 |
+
},
|
| 2285 |
+
"funding": {
|
| 2286 |
+
"type": "opencollective",
|
| 2287 |
+
"url": "https://opencollective.com/unified"
|
| 2288 |
+
}
|
| 2289 |
+
},
|
| 2290 |
+
"node_modules/micromark-extension-gfm-tagfilter": {
|
| 2291 |
+
"version": "2.0.0",
|
| 2292 |
+
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz",
|
| 2293 |
+
"integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==",
|
| 2294 |
+
"license": "MIT",
|
| 2295 |
+
"dependencies": {
|
| 2296 |
+
"micromark-util-types": "^2.0.0"
|
| 2297 |
+
},
|
| 2298 |
+
"funding": {
|
| 2299 |
+
"type": "opencollective",
|
| 2300 |
+
"url": "https://opencollective.com/unified"
|
| 2301 |
+
}
|
| 2302 |
+
},
|
| 2303 |
+
"node_modules/micromark-extension-gfm-task-list-item": {
|
| 2304 |
+
"version": "2.1.0",
|
| 2305 |
+
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz",
|
| 2306 |
+
"integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==",
|
| 2307 |
+
"license": "MIT",
|
| 2308 |
+
"dependencies": {
|
| 2309 |
+
"devlop": "^1.0.0",
|
| 2310 |
+
"micromark-factory-space": "^2.0.0",
|
| 2311 |
+
"micromark-util-character": "^2.0.0",
|
| 2312 |
+
"micromark-util-symbol": "^2.0.0",
|
| 2313 |
+
"micromark-util-types": "^2.0.0"
|
| 2314 |
+
},
|
| 2315 |
+
"funding": {
|
| 2316 |
+
"type": "opencollective",
|
| 2317 |
+
"url": "https://opencollective.com/unified"
|
| 2318 |
+
}
|
| 2319 |
+
},
|
| 2320 |
"node_modules/micromark-factory-destination": {
|
| 2321 |
"version": "2.0.1",
|
| 2322 |
"resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
|
|
|
|
| 2747 |
"integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
|
| 2748 |
"license": "MIT"
|
| 2749 |
},
|
| 2750 |
+
"node_modules/parse5": {
|
| 2751 |
+
"version": "7.3.0",
|
| 2752 |
+
"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz",
|
| 2753 |
+
"integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
|
| 2754 |
+
"license": "MIT",
|
| 2755 |
+
"dependencies": {
|
| 2756 |
+
"entities": "^6.0.0"
|
| 2757 |
+
},
|
| 2758 |
+
"funding": {
|
| 2759 |
+
"url": "https://github.com/inikulin/parse5?sponsor=1"
|
| 2760 |
+
}
|
| 2761 |
+
},
|
| 2762 |
"node_modules/picocolors": {
|
| 2763 |
"version": "1.1.1",
|
| 2764 |
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
|
|
|
|
| 2867 |
"node": ">=0.10.0"
|
| 2868 |
}
|
| 2869 |
},
|
| 2870 |
+
"node_modules/rehype-raw": {
|
| 2871 |
+
"version": "7.0.0",
|
| 2872 |
+
"resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz",
|
| 2873 |
+
"integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==",
|
| 2874 |
+
"license": "MIT",
|
| 2875 |
+
"dependencies": {
|
| 2876 |
+
"@types/hast": "^3.0.0",
|
| 2877 |
+
"hast-util-raw": "^9.0.0",
|
| 2878 |
+
"vfile": "^6.0.0"
|
| 2879 |
+
},
|
| 2880 |
+
"funding": {
|
| 2881 |
+
"type": "opencollective",
|
| 2882 |
+
"url": "https://opencollective.com/unified"
|
| 2883 |
+
}
|
| 2884 |
+
},
|
| 2885 |
+
"node_modules/remark-gfm": {
|
| 2886 |
+
"version": "4.0.1",
|
| 2887 |
+
"resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz",
|
| 2888 |
+
"integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==",
|
| 2889 |
+
"license": "MIT",
|
| 2890 |
+
"dependencies": {
|
| 2891 |
+
"@types/mdast": "^4.0.0",
|
| 2892 |
+
"mdast-util-gfm": "^3.0.0",
|
| 2893 |
+
"micromark-extension-gfm": "^3.0.0",
|
| 2894 |
+
"remark-parse": "^11.0.0",
|
| 2895 |
+
"remark-stringify": "^11.0.0",
|
| 2896 |
+
"unified": "^11.0.0"
|
| 2897 |
+
},
|
| 2898 |
+
"funding": {
|
| 2899 |
+
"type": "opencollective",
|
| 2900 |
+
"url": "https://opencollective.com/unified"
|
| 2901 |
+
}
|
| 2902 |
+
},
|
| 2903 |
"node_modules/remark-parse": {
|
| 2904 |
"version": "11.0.0",
|
| 2905 |
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
|
|
|
|
| 2933 |
"url": "https://opencollective.com/unified"
|
| 2934 |
}
|
| 2935 |
},
|
| 2936 |
+
"node_modules/remark-stringify": {
|
| 2937 |
+
"version": "11.0.0",
|
| 2938 |
+
"resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
|
| 2939 |
+
"integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==",
|
| 2940 |
+
"license": "MIT",
|
| 2941 |
+
"dependencies": {
|
| 2942 |
+
"@types/mdast": "^4.0.0",
|
| 2943 |
+
"mdast-util-to-markdown": "^2.0.0",
|
| 2944 |
+
"unified": "^11.0.0"
|
| 2945 |
+
},
|
| 2946 |
+
"funding": {
|
| 2947 |
+
"type": "opencollective",
|
| 2948 |
+
"url": "https://opencollective.com/unified"
|
| 2949 |
+
}
|
| 2950 |
+
},
|
| 2951 |
"node_modules/rollup": {
|
| 2952 |
"version": "4.55.1",
|
| 2953 |
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz",
|
|
|
|
| 3216 |
"url": "https://opencollective.com/unified"
|
| 3217 |
}
|
| 3218 |
},
|
| 3219 |
+
"node_modules/vfile-location": {
|
| 3220 |
+
"version": "5.0.3",
|
| 3221 |
+
"resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz",
|
| 3222 |
+
"integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==",
|
| 3223 |
+
"license": "MIT",
|
| 3224 |
+
"dependencies": {
|
| 3225 |
+
"@types/unist": "^3.0.0",
|
| 3226 |
+
"vfile": "^6.0.0"
|
| 3227 |
+
},
|
| 3228 |
+
"funding": {
|
| 3229 |
+
"type": "opencollective",
|
| 3230 |
+
"url": "https://opencollective.com/unified"
|
| 3231 |
+
}
|
| 3232 |
+
},
|
| 3233 |
"node_modules/vfile-message": {
|
| 3234 |
"version": "4.0.3",
|
| 3235 |
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
|
|
|
|
| 3304 |
}
|
| 3305 |
}
|
| 3306 |
},
|
| 3307 |
+
"node_modules/web-namespaces": {
|
| 3308 |
+
"version": "2.0.1",
|
| 3309 |
+
"resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz",
|
| 3310 |
+
"integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==",
|
| 3311 |
+
"license": "MIT",
|
| 3312 |
+
"funding": {
|
| 3313 |
+
"type": "github",
|
| 3314 |
+
"url": "https://github.com/sponsors/wooorm"
|
| 3315 |
+
}
|
| 3316 |
+
},
|
| 3317 |
"node_modules/yallist": {
|
| 3318 |
"version": "3.1.1",
|
| 3319 |
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
|
frontend/src/App.jsx
CHANGED
|
@@ -126,12 +126,21 @@ const App = () => {
|
|
| 126 |
<span></span>
|
| 127 |
</div>
|
| 128 |
) : (
|
| 129 |
-
<
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 135 |
)}
|
| 136 |
</div>
|
| 137 |
</div>
|
|
|
|
| 126 |
<span></span>
|
| 127 |
</div>
|
| 128 |
) : (
|
| 129 |
+
<>
|
| 130 |
+
<ReactMarkdown
|
| 131 |
+
remarkPlugins={[remarkGfm]}
|
| 132 |
+
rehypePlugins={[rehypeRaw]}
|
| 133 |
+
>
|
| 134 |
+
{msg.content}
|
| 135 |
+
</ReactMarkdown>
|
| 136 |
+
{msg.role === 'assistant' && isLoading && index === messages.length - 1 && (
|
| 137 |
+
<div className="typing-indicator mini">
|
| 138 |
+
<span></span>
|
| 139 |
+
<span></span>
|
| 140 |
+
<span></span>
|
| 141 |
+
</div>
|
| 142 |
+
)}
|
| 143 |
+
</>
|
| 144 |
)}
|
| 145 |
</div>
|
| 146 |
</div>
|
frontend/src/index.css
CHANGED
|
@@ -243,6 +243,19 @@ pre {
|
|
| 243 |
border-radius: 8px;
|
| 244 |
overflow: hidden;
|
| 245 |
border: 1px solid var(--border-color);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 246 |
}
|
| 247 |
|
| 248 |
.assistant .message-bubble th {
|
|
|
|
| 243 |
border-radius: 8px;
|
| 244 |
overflow: hidden;
|
| 245 |
border: 1px solid var(--border-color);
|
| 246 |
+
display: block;
|
| 247 |
+
overflow-x: auto;
|
| 248 |
+
}
|
| 249 |
+
|
| 250 |
+
/* Mini indicator for streaming */
|
| 251 |
+
.typing-indicator.mini {
|
| 252 |
+
margin-top: 8px;
|
| 253 |
+
justify-content: flex-start;
|
| 254 |
+
}
|
| 255 |
+
|
| 256 |
+
.typing-indicator.mini span {
|
| 257 |
+
width: 5px;
|
| 258 |
+
height: 5px;
|
| 259 |
}
|
| 260 |
|
| 261 |
.assistant .message-bubble th {
|
llm.py
CHANGED
|
@@ -29,10 +29,14 @@ Rules:
|
|
| 29 |
- If information is missing from the context, use web search results if provided.
|
| 30 |
- If you still don't know, suggest visiting a UBA branch or calling the official help line.
|
| 31 |
- Use proper formatting (paragraphs, bullet points) for readability.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
- Maintain a helpful and polite tone.
|
| 33 |
-
- When comparing products or listing details, use standard Markdown tables.
|
| 34 |
-
- Use subheadings and bullet points for structured information.
|
| 35 |
-
- Avoid cluttered text; ensure there is adequate whitespace.
|
| 36 |
"""
|
| 37 |
|
| 38 |
async def get_streaming_response(messages: List[Dict[str, str]]) -> AsyncGenerator[str, None]:
|
|
|
|
| 29 |
- If information is missing from the context, use web search results if provided.
|
| 30 |
- If you still don't know, suggest visiting a UBA branch or calling the official help line.
|
| 31 |
- Use proper formatting (paragraphs, bullet points) for readability.
|
| 32 |
+
- When comparing products or listing details, you MUST use standard Github Flavored Markdown (GFM) tables.
|
| 33 |
+
- Example table format:
|
| 34 |
+
| Feature | Description |
|
| 35 |
+
| :--- | :--- |
|
| 36 |
+
| Item Name | Item Detail |
|
| 37 |
+
- Use subheadings (###) and bullet points for structured information.
|
| 38 |
+
- Always ensure there is a blank line before and after a table for correct rendering.
|
| 39 |
- Maintain a helpful and polite tone.
|
|
|
|
|
|
|
|
|
|
| 40 |
"""
|
| 41 |
|
| 42 |
async def get_streaming_response(messages: List[Dict[str, str]]) -> AsyncGenerator[str, None]:
|