aov-agent 1.0.11 → 1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -233,7 +233,8 @@ import { Assistant } from "aov-agent/agent-ui";
233
233
 
234
234
  This is a monorepo containing multiple packages:
235
235
 
236
- - **`packages/app/`** - Next.js 15 application (Frontend + Backend API Routes + Firestore)
236
+ - **`packages/assets/`** - Vite + React frontend application
237
+ - **`packages/functions/`** - NestJS backend API (Firebase Functions compatible)
237
238
  - **`packages/ui/`** - AI Assistant UI components (published as `aov-agent/agent-ui`)
238
239
 
239
240
  Each package can be developed, built, and tested independently.
@@ -244,11 +245,12 @@ Each package can be developed, built, and tested independently.
244
245
  # Install all dependencies
245
246
  npm install
246
247
 
247
- # Run Next.js development server
248
+ # Start both frontend and backend
248
249
  npm run dev
249
250
 
250
- # App: http://localhost:3000
251
- # API: http://localhost:3000/api
251
+ # Frontend (Vite): http://localhost:8000
252
+ # Backend (NestJS): http://localhost:8080
253
+ # API proxy: http://localhost:8000/api → localhost:8080/api
252
254
  ```
253
255
 
254
256
  ### Project Structure
@@ -256,16 +258,23 @@ npm run dev
256
258
  ```
257
259
  /aov-ai-agent/
258
260
  ├── packages/
259
- │ ├── app/ # Next.js 15 App (Frontend + Backend API)
260
- │ │ ├── app/ # App Router
261
- │ │ │ ├── api/ # API Routes (Firestore backend)
262
- │ │ │ ├── layout.tsx
263
- │ │ │ ├── page.tsx
264
- │ │ │ └── globals.css
265
- │ │ ├── components/ui/ # shadcn/ui components
266
- │ │ ├── lib/ # Utilities & Firestore client
267
- │ │ ├── repositories/ # Firestore repositories
268
- │ │ ├── services/ # Business logic
261
+ │ ├── assets/ # Vite + React Frontend
262
+ │ │ ├── src/
263
+ │ │ │ ├── components/ # UI components (shadcn/ui)
264
+ │ │ │ ├── contexts/ # React contexts
265
+ │ │ │ ├── hooks/ # Custom React hooks
266
+ │ │ │ ├── routes/ # TanStack Router pages
267
+ │ │ ├── services/ # API services
268
+ │ │ │ └── utils/ # Utility functions
269
+ │ │ ├── vite.config.ts
270
+ │ │ └── package.json
271
+ │ ├── functions/ # NestJS Backend API
272
+ │ │ ├── src/
273
+ │ │ │ ├── modules/ # NestJS modules (auth, etc.)
274
+ │ │ │ ├── repositories/ # MongoDB repositories
275
+ │ │ │ ├── services/ # Business logic
276
+ │ │ │ └── main.ts # App entry point
277
+ │ │ ├── .env # Environment variables
269
278
  │ │ └── package.json
270
279
  │ └── ui/ # AI Assistant UI Components (publishable)
271
280
  │ └── src/
@@ -274,33 +283,54 @@ npm run dev
274
283
 
275
284
  ### Stack
276
285
 
277
- - **Frontend**: Next.js 15 + React 19 + TypeScript
286
+ - **Frontend**: Vite + React 18 + TypeScript + TanStack Router
278
287
  - **Styling**: Tailwind CSS + shadcn/ui
279
- - **Backend**: Next.js API Routes
280
- - **Database**: Google Cloud Firestore
281
- - **Validation**: Zod
288
+ - **Backend**: NestJS (Firebase Functions compatible)
289
+ - **Database**: MongoDB
290
+ - **Authentication**: Google OAuth 2.0
282
291
  - **Icons**: Lucide React
283
292
 
284
- ### Setup Firebase
293
+ ### Setup Environment
285
294
 
286
- Create `packages/app/.env.local`:
295
+ 1. Copy environment files:
287
296
 
288
297
  ```bash
289
- GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/serviceAccount.json
290
- FIREBASE_PROJECT_ID=your-project-id
291
- NODE_ENV=development
298
+ cp packages/functions/.env.example packages/functions/.env
299
+ ```
300
+
301
+ 2. Configure `packages/functions/.env`:
302
+
303
+ ```bash
304
+ # MongoDB
305
+ MONGODB_URI=your-mongodb-uri
306
+
307
+ # Google OAuth
308
+ GOOGLE_CLIENT_ID=your-client-id
309
+ GOOGLE_CLIENT_SECRET=your-client-secret
310
+ GOOGLE_REDIRECT_URI=http://localhost:8080/api/auth/callback
311
+
312
+ # Frontend URL
313
+ FRONTEND_URL=http://localhost:8000
292
314
  ```
293
315
 
294
- Download your Firebase service account key from [Firebase Console](https://console.firebase.google.com/) → Project Settings → Service Accounts.
316
+ 3. Add redirect URI to Google Cloud Console:
317
+ - Go to [Google Cloud Console](https://console.cloud.google.com/apis/credentials)
318
+ - Select your OAuth 2.0 Client
319
+ - Add `http://localhost:8080/api/auth/callback` to Authorized redirect URIs
295
320
 
296
321
  ### API Endpoints
297
322
 
298
- - `GET /api/health` - Health check
299
- - `GET /api/todos` - Get all todos
300
- - `POST /api/todos` - Create todo
301
- - `GET /api/todos/:id` - Get single todo
302
- - `PATCH /api/todos/:id` - Update todo
303
- - `DELETE /api/todos/:id` - Delete todo
323
+ **Auth:**
324
+ - `GET /api/auth/google` - Initiate Google OAuth login
325
+ - `GET /api/auth/callback` - OAuth callback handler
326
+ - `GET /api/auth/session` - Get current user session
327
+ - `POST /api/auth/logout` - Logout user
328
+
329
+ **Conversations:**
330
+ - `GET /api/conversations` - Get all conversations
331
+ - `GET /api/conversations/:id` - Get conversation detail
332
+ - `POST /api/conversations` - Create conversation
333
+ - `DELETE /api/conversations/:id` - Delete conversation
304
334
 
305
335
  ## 📄 License
306
336
 
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import PropTypes from "prop-types";
3
3
  import "./AgentButton.scss";
4
- import iconImg from "../../../resources/floating-icon.svg";
4
+ import iconImg from "../../../resources/assistant-avatar.svg";
5
5
 
6
6
  /**
7
7
  * AgentButton - Floating button to trigger AI assistant
@@ -22,7 +22,7 @@ var AssistantCore = function AssistantCore() {
22
22
  onClose: function onClose() {
23
23
  return setOpenAgent(false);
24
24
  },
25
- accessibilityLabel: "Mavi"
25
+ accessibilityLabel: "Pemond"
26
26
  }, /*#__PURE__*/React.createElement(SuggestionsProvider, null, /*#__PURE__*/React.createElement(ThreadProvider, null, /*#__PURE__*/React.createElement(AssistantWidget, {
27
27
  onClose: function onClose() {
28
28
  return setOpenAgent(false);
@@ -168,7 +168,7 @@ var AssistantWidget = function AssistantWidget(_ref2) {
168
168
  blockAlign: "center",
169
169
  gap: "100"
170
170
  }, /*#__PURE__*/React.createElement(Badge, {
171
- tone: "info"
171
+ tone: "info-strong"
172
172
  }, "BETA"), /*#__PURE__*/React.createElement(Button, {
173
173
  icon: ComposeIcon,
174
174
  variant: "monochromePlain",
@@ -191,7 +191,7 @@ var AssistantWidget = function AssistantWidget(_ref2) {
191
191
  blockAlign: "center"
192
192
  }, /*#__PURE__*/React.createElement(Text, {
193
193
  variant: "headingMd"
194
- }, "Hi! I'm Mavi"), /*#__PURE__*/React.createElement(Badge, {
194
+ }, "Hi! I'm Pemond"), /*#__PURE__*/React.createElement(Badge, {
195
195
  tone: "info-strong"
196
196
  }, "BETA")), /*#__PURE__*/React.createElement(Text, {
197
197
  tone: "subdued"
@@ -199,7 +199,7 @@ var AssistantWidget = function AssistantWidget(_ref2) {
199
199
  },
200
200
  assistantAvatar: {
201
201
  src: Avatar,
202
- alt: "Mavi"
202
+ alt: "Pemond"
203
203
  },
204
204
  assistantMessage: {
205
205
  allowEdit: false,
@@ -1,67 +1,70 @@
1
- <svg width="1478" height="1478" viewBox="0 0 1478 1478" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <g clip-path="url(#clip0_24313_994)">
1
+ <svg width="1124" height="1124" viewBox="0 0 1124 1124" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_24346_1925)">
3
3
  <rect width="1477.89" height="1477.89" rx="100" fill="#070D27"/>
4
- <g filter="url(#filter0_f_24313_994)">
5
- <path d="M752.834 439.972C717.674 357.299 671.203 435.694 637.48 403.3C577.34 258.071 700.674 312.802 738.824 336.17L739.591 336.64C777.148 359.643 790.001 367.516 825.878 425.988C861.997 484.856 856.898 457.199 893.333 535.311C929.768 613.423 893.099 716.245 882.022 779.983C873.498 829.029 787.994 522.646 752.834 439.972Z" fill="#2575F0"/>
4
+ <g filter="url(#filter0_f_24346_1925)">
5
+ <path d="M752.835 439.972C717.675 357.299 671.204 435.694 637.481 403.3C577.341 258.071 700.675 312.802 738.825 336.17L739.592 336.64C777.149 359.643 790.002 367.516 825.879 425.988C861.998 484.856 856.899 457.199 893.334 535.311C929.769 613.423 893.1 716.245 882.023 779.983C873.499 829.029 787.995 522.646 752.835 439.972Z" fill="#2575F0"/>
6
6
  </g>
7
- <g filter="url(#filter1_f_24313_994)">
7
+ <g filter="url(#filter1_f_24346_1925)">
8
8
  <path d="M-53.44 656.625C-147.21 656.345 -40.9834 787.469 -76.1433 762.877C-218.482 740.914 -203.13 980.763 -24.0295 1042.56C155.071 1104.35 256.356 991.24 359.991 923.161C463.626 855.081 517.679 729.719 649.946 726.779C782.213 723.838 948.79 948.5 1062.62 1018.4C1176.45 1088.29 1109.75 933.836 1022.17 836.011C934.58 738.187 887.179 517.527 704.087 399.655C520.995 281.783 381.399 660.323 337.481 733.726C293.562 807.129 63.7729 656.976 -53.44 656.625Z" fill="#00CDAE"/>
9
9
  </g>
10
- <g filter="url(#filter2_f_24313_994)">
10
+ <g filter="url(#filter2_f_24346_1925)">
11
11
  <path d="M231.179 833.515C132.781 875.43 -94.0758 733.232 -150.468 723.448C-261.963 756.025 -145.347 1072.28 -37.8533 1092.23C69.6401 1112.18 240.52 967.014 324.899 897.982C409.277 828.949 487.162 689.014 443.415 698.306C399.668 707.597 354.176 781.122 231.179 833.515Z" fill="#FFAD01"/>
12
12
  </g>
13
- <g filter="url(#filter3_f_24313_994)">
13
+ <g filter="url(#filter3_f_24346_1925)">
14
14
  <path d="M1124.05 576.844C995.68 594.458 889.744 452.879 852.822 379.888C840.307 397.272 809.577 442.3 811.7 487.618C818.274 627.961 927.883 714.794 1006.01 794.252C1084.13 873.709 1181.56 941.93 1439.98 933.824C1646.71 927.339 1873.19 835.056 1960.58 789.726L1979.85 490.364C1983.34 474.677 1969.13 432.881 1884.41 391.197C1778.52 339.091 1623.75 353.364 1489.56 405.972C1355.37 458.579 1284.52 554.827 1124.05 576.844Z" fill="#2575F0"/>
15
15
  </g>
16
- <g filter="url(#filter4_f_24313_994)">
16
+ <g filter="url(#filter4_f_24346_1925)">
17
17
  <path d="M1009.48 651.632C852.542 533.498 730.564 560.855 695.574 603.628C690.484 616.633 689.599 648.46 726.786 671.731C773.269 700.821 841.395 696.248 950.336 819.271C1059.28 942.294 1137.82 1120.24 1441.75 1208.39C1684.9 1278.91 1906 1059.6 1986.16 941.132L2013.72 513.049C1939.45 494.769 1767.2 476.111 1672.32 547.717C1553.73 637.225 1502.48 776.237 1364.76 808.203C1227.03 840.169 1166.42 769.765 1009.48 651.632Z" fill="#00CDAE"/>
18
18
  </g>
19
- <g filter="url(#filter5_d_24313_994)">
20
- <path d="M755.555 228.539C756.248 226.917 758.548 226.921 759.236 228.545L794.828 312.625C795.03 313.102 795.408 313.481 795.884 313.685L879.843 349.561C881.464 350.254 881.46 352.555 879.836 353.242L795.757 388.834C795.28 389.036 794.9 389.414 794.697 389.89L758.82 473.849C758.127 475.471 755.827 475.467 755.14 473.843L719.548 389.763C719.346 389.286 718.967 388.907 718.492 388.703L634.533 352.827C632.911 352.134 632.915 349.833 634.539 349.146L718.619 313.554C719.095 313.352 719.475 312.974 719.678 312.498L755.555 228.539Z" fill="white"/>
21
- <path d="M934.009 478.501C1019.38 478.646 1088.47 547.972 1088.33 633.346L1088.25 681.642L1143.43 681.734C1167.82 681.776 1187.55 707.529 1187.5 739.256L1187.25 882.872C1187.2 914.599 1167.38 940.284 1142.99 940.243L1087.81 940.15L1087.73 986.679C1087.59 1072.05 1018.26 1141.14 932.887 1141L579.554 1140.4C494.18 1140.26 425.088 1070.93 425.232 985.557L425.309 940.151L371.507 940.242C347.114 940.283 327.297 914.598 327.243 882.871L327 739.255C326.946 707.528 346.677 681.776 371.069 681.734L425.747 681.641L425.831 632.224C425.976 546.85 495.302 477.758 580.676 477.902L934.009 478.501ZM953.758 954.698C952.377 954.698 951.258 955.818 951.258 957.198C951.258 958.579 952.377 959.698 953.758 959.698H1073.36V954.698H953.758Z" fill="white"/>
19
+ <g filter="url(#filter5_d_24346_1925)">
20
+ <path d="M795.399 513.524L835.38 513.592C853.045 513.622 867.328 535.724 867.282 562.957L867.073 686.235C867.027 713.469 852.669 735.522 835.005 735.492L795.024 735.424L795.399 513.524Z" fill="white"/>
21
+ <path d="M316.029 513.524L276.048 513.592C258.383 513.622 244.095 532.272 244.134 555.248L244.31 659.253C244.349 682.229 258.7 700.831 276.365 700.801L316.346 700.733L316.029 513.524Z" fill="white"/>
22
+ <path d="M523.095 180.056C523.49 178.337 525.755 177.933 526.719 179.41L562.037 233.502C562.32 233.935 562.76 234.241 563.264 234.357L626.225 248.823C627.944 249.218 628.347 251.482 626.87 252.447L572.779 287.765C572.346 288.048 572.039 288.487 571.923 288.992L557.458 351.952C557.063 353.671 554.798 354.074 553.834 352.598L518.516 298.506C518.233 298.073 517.793 297.766 517.289 297.65L454.328 283.185C452.609 282.79 452.206 280.525 453.683 279.561L507.774 244.243C508.207 243.96 508.514 243.52 508.63 243.016L523.095 180.056Z" fill="white"/>
23
+ <path d="M683.72 366.412C745.546 366.517 795.582 416.722 795.477 478.549L795.044 734.428C794.939 796.254 744.734 846.29 682.907 846.185L427.028 845.752C365.201 845.647 315.166 795.441 315.271 733.615L315.704 477.736C315.809 415.909 366.014 365.874 427.841 365.979L683.72 366.412Z" fill="white"/>
22
24
  </g>
23
- <circle cx="891.274" cy="743.653" r="68.8856" fill="#2F7C89"/>
24
- <circle cx="633.196" cy="743.653" r="68.8856" fill="#2F7C89"/>
25
- <path d="M898.723 867.646C900.942 867.646 902.742 869.464 902.669 871.681C900.043 951.044 834.882 1014.58 754.881 1014.58C674.879 1014.58 609.72 951.044 607.094 871.682C607.021 869.464 608.821 867.646 611.04 867.646H898.723Z" fill="#2F7C89"/>
25
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M413.661 558.433C413.661 541.902 427.062 528.501 443.593 528.501H518.422C534.953 528.501 548.353 541.902 548.353 558.433C548.353 574.964 534.953 588.364 518.422 588.364H443.593C427.062 588.364 413.661 574.964 413.661 558.433Z" fill="#2F7C89"/>
26
+ <circle cx="638.15" cy="558.433" r="49.8861" fill="#2F7C89"/>
27
+ <path d="M717.966 708.091C731.913 708.091 743.632 717.63 746.954 730.54H825.222C829.354 730.54 832.705 733.89 832.705 738.022C832.705 742.155 829.354 745.506 825.222 745.506H746.954C743.631 758.415 731.913 767.954 717.966 767.954C701.435 767.954 688.034 754.553 688.034 738.022C688.034 721.492 701.435 708.091 717.966 708.091Z" fill="#2F7C89"/>
28
+ <path d="M655.74 674.667C657.934 675.002 659.442 677.066 659.013 679.243C647.988 735.176 594.724 772.996 537.819 764.318C480.913 755.64 441.343 703.662 447.491 646.985C447.73 644.779 449.786 643.259 451.979 643.593L655.74 674.667Z" fill="#2F7C89"/>
26
29
  </g>
27
30
  <defs>
28
- <filter id="filter0_f_24313_994" x="415.594" y="100.79" width="699.128" height="890.111" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
31
+ <filter id="filter0_f_24346_1925" x="415.594" y="100.79" width="699.129" height="890.111" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
29
32
  <feFlood flood-opacity="0" result="BackgroundImageFix"/>
30
33
  <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
31
- <feGaussianBlur stdDeviation="102.817" result="effect1_foregroundBlur_24313_994"/>
34
+ <feGaussianBlur stdDeviation="102.817" result="effect1_foregroundBlur_24346_1925"/>
32
35
  </filter>
33
- <filter id="filter1_f_24313_994" x="-665.477" y="-116.441" width="2281.94" height="1670.37" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
36
+ <filter id="filter1_f_24346_1925" x="-665.477" y="-116.441" width="2281.94" height="1670.37" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
34
37
  <feFlood flood-opacity="0" result="BackgroundImageFix"/>
35
38
  <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
36
- <feGaussianBlur stdDeviation="246.761" result="effect1_foregroundBlur_24313_994"/>
39
+ <feGaussianBlur stdDeviation="246.761" result="effect1_foregroundBlur_24346_1925"/>
37
40
  </filter>
38
- <filter id="filter2_f_24313_994" x="-689.227" y="204.343" width="1638.74" height="1383.27" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
41
+ <filter id="filter2_f_24346_1925" x="-689.227" y="204.343" width="1638.74" height="1383.27" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
39
42
  <feFlood flood-opacity="0" result="BackgroundImageFix"/>
40
43
  <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
41
- <feGaussianBlur stdDeviation="246.761" result="effect1_foregroundBlur_24313_994"/>
44
+ <feGaussianBlur stdDeviation="246.761" result="effect1_foregroundBlur_24346_1925"/>
42
45
  </filter>
43
- <filter id="filter3_f_24313_994" x="318.074" y="-134.951" width="2155.77" height="1562.95" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
46
+ <filter id="filter3_f_24346_1925" x="318.074" y="-134.951" width="2155.77" height="1562.95" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
44
47
  <feFlood flood-opacity="0" result="BackgroundImageFix"/>
45
48
  <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
46
- <feGaussianBlur stdDeviation="246.761" result="effect1_foregroundBlur_24313_994"/>
49
+ <feGaussianBlur stdDeviation="246.761" result="effect1_foregroundBlur_24346_1925"/>
47
50
  </filter>
48
- <filter id="filter4_f_24313_994" x="199.509" y="2.87796" width="2307.73" height="1712.71" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
51
+ <filter id="filter4_f_24346_1925" x="199.508" y="2.87795" width="2307.73" height="1712.71" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
49
52
  <feFlood flood-opacity="0" result="BackgroundImageFix"/>
50
53
  <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
51
- <feGaussianBlur stdDeviation="246.761" result="effect1_foregroundBlur_24313_994"/>
54
+ <feGaussianBlur stdDeviation="246.761" result="effect1_foregroundBlur_24346_1925"/>
52
55
  </filter>
53
- <filter id="filter5_d_24313_994" x="323" y="227.325" width="868.496" height="921.675" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
56
+ <filter id="filter5_d_24346_1925" x="240.134" y="178.502" width="631.148" height="675.683" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
54
57
  <feFlood flood-opacity="0" result="BackgroundImageFix"/>
55
58
  <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
56
59
  <feOffset dy="4"/>
57
60
  <feGaussianBlur stdDeviation="2"/>
58
61
  <feComposite in2="hardAlpha" operator="out"/>
59
62
  <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
60
- <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_24313_994"/>
61
- <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_24313_994" result="shape"/>
63
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_24346_1925"/>
64
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_24346_1925" result="shape"/>
62
65
  </filter>
63
- <clipPath id="clip0_24313_994">
64
- <rect width="1477.89" height="1477.89" rx="738.943" fill="white"/>
66
+ <clipPath id="clip0_24346_1925">
67
+ <rect width="1124" height="1124" rx="562" fill="white"/>
65
68
  </clipPath>
66
69
  </defs>
67
70
  </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aov-agent",
3
- "version": "1.0.11",
3
+ "version": "1.0.14",
4
4
  "description": "AOV AI Agent - Monorepo for AI Assistant Components",
5
5
  "type": "module",
6
6
  "exports": {
@@ -11,11 +11,12 @@
11
11
  "packages/*"
12
12
  ],
13
13
  "scripts": {
14
- "dev": "npm run dev --workspace=@aov/admin",
15
- "build": "npm run build:ui && npm run build --workspace=@aov/admin",
14
+ "dev": "concurrently -n functions,assets -c blue,green \"npm run dev:functions\" \"npm run dev:assets:wait\"",
15
+ "dev:assets:wait": "wait-on tcp:8080 && npm run dev:assets",
16
+ "dev:functions": "npm run build --workspace=@aov/functions && firebase emulators:start",
17
+ "dev:assets": "npm run dev --workspace=@aov/assets",
16
18
  "build:ui": "npm run build --workspace=@aov/agent-ui",
17
19
  "build:watch": "npm run build:watch --workspace=@aov/agent-ui",
18
- "start": "npm run start --workspace=@aov/admin",
19
20
  "clean": "rimraf dist && npm run clean --workspaces --if-present",
20
21
  "lint": "npm run lint --workspaces --if-present",
21
22
  "test": "npm run test --workspaces --if-present",
@@ -52,7 +53,8 @@
52
53
  "babel-plugin-module-resolver": "^5.0.2",
53
54
  "concurrently": "^9.2.1",
54
55
  "cpx": "^1.5.0",
55
- "rimraf": "^5.0.10"
56
+ "rimraf": "^5.0.10",
57
+ "wait-on": "^9.0.3"
56
58
  },
57
59
  "files": [
58
60
  "dist"
@@ -61,10 +63,10 @@
61
63
  "access": "public"
62
64
  },
63
65
  "peerDependencies": {
64
- "react": "^18.2.0",
65
- "react-dom": "^18.2.0",
66
66
  "@shopify/polaris": "^13.9.5",
67
- "@shopify/polaris-icons": "^9.3.1"
67
+ "@shopify/polaris-icons": "^9.3.1",
68
+ "react": "^18.2.0",
69
+ "react-dom": "^18.2.0"
68
70
  },
69
71
  "dependencies": {
70
72
  "@assistant-ui/react": "^0.10.43",
@@ -1,67 +0,0 @@
1
- <svg width="1478" height="1478" viewBox="0 0 1478 1478" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <g clip-path="url(#clip0_15759_2932)">
3
- <rect width="1477.89" height="1477.89" rx="100" fill="#070D27"/>
4
- <g filter="url(#filter0_f_15759_2932)">
5
- <path d="M752.835 439.972C717.675 357.299 671.204 435.694 637.481 403.3C577.341 258.071 700.675 312.802 738.825 336.17L739.592 336.64C777.149 359.643 790.002 367.516 825.879 425.988C861.998 484.856 856.899 457.199 893.334 535.311C929.769 613.423 893.1 716.245 882.023 779.983C873.499 829.029 787.995 522.646 752.835 439.972Z" fill="#2575F0"/>
6
- </g>
7
- <g filter="url(#filter1_f_15759_2932)">
8
- <path d="M-53.44 656.625C-147.21 656.345 -40.9834 787.469 -76.1433 762.877C-218.482 740.914 -203.13 980.763 -24.0295 1042.56C155.071 1104.35 256.356 991.24 359.991 923.161C463.626 855.081 517.679 729.719 649.946 726.779C782.213 723.838 948.79 948.5 1062.62 1018.4C1176.45 1088.29 1109.75 933.836 1022.17 836.011C934.58 738.187 887.179 517.527 704.087 399.655C520.995 281.783 381.399 660.323 337.481 733.726C293.562 807.129 63.7729 656.976 -53.44 656.625Z" fill="#00CDAE"/>
9
- </g>
10
- <g filter="url(#filter2_f_15759_2932)">
11
- <path d="M231.179 833.515C132.781 875.43 -94.0758 733.232 -150.468 723.448C-261.963 756.025 -145.347 1072.28 -37.8533 1092.23C69.6401 1112.18 240.52 967.014 324.899 897.982C409.277 828.949 487.162 689.014 443.415 698.306C399.668 707.597 354.176 781.122 231.179 833.515Z" fill="#FFAD01"/>
12
- </g>
13
- <g filter="url(#filter3_f_15759_2932)">
14
- <path d="M1124.05 576.844C995.68 594.458 889.744 452.879 852.822 379.888C840.307 397.272 809.577 442.3 811.7 487.618C818.274 627.961 927.883 714.794 1006.01 794.252C1084.13 873.709 1181.56 941.93 1439.98 933.824C1646.71 927.339 1873.19 835.056 1960.58 789.726L1979.85 490.364C1983.34 474.677 1969.13 432.881 1884.41 391.197C1778.52 339.091 1623.75 353.364 1489.56 405.972C1355.37 458.579 1284.52 554.827 1124.05 576.844Z" fill="#2575F0"/>
15
- </g>
16
- <g filter="url(#filter4_f_15759_2932)">
17
- <path d="M1009.48 651.632C852.542 533.498 730.564 560.855 695.574 603.628C690.484 616.633 689.599 648.46 726.786 671.731C773.269 700.821 841.395 696.248 950.336 819.271C1059.28 942.294 1137.82 1120.24 1441.75 1208.39C1684.9 1278.91 1906 1059.6 1986.16 941.132L2013.72 513.049C1939.45 494.769 1767.2 476.111 1672.32 547.717C1553.73 637.225 1502.48 776.237 1364.76 808.203C1227.03 840.169 1166.42 769.765 1009.48 651.632Z" fill="#00CDAE"/>
18
- </g>
19
- <g filter="url(#filter5_d_15759_2932)">
20
- <path d="M737.556 228.242C738.249 226.621 740.549 226.624 741.237 228.249L776.829 312.328C777.031 312.805 777.409 313.184 777.885 313.388L861.843 349.264C863.465 349.957 863.461 352.258 861.837 352.945L777.758 388.537C777.281 388.739 776.901 389.117 776.698 389.593L740.821 473.552C740.128 475.174 737.828 475.17 737.141 473.546L701.549 389.466C701.347 388.99 700.968 388.61 700.493 388.406L616.534 352.53C614.912 351.837 614.916 349.536 616.54 348.849L700.62 313.257C701.096 313.055 701.476 312.677 701.679 312.201L737.556 228.242Z" fill="white"/>
21
- <path d="M916.009 478.204C1001.38 478.349 1070.47 547.676 1070.33 633.049L1070.25 681.345L1125.43 681.438C1149.82 681.479 1169.55 707.232 1169.5 738.959L1169.25 882.575C1169.2 914.302 1149.38 939.987 1124.99 939.946L1069.81 939.854L1069.73 986.382C1069.59 1071.76 1000.26 1140.85 914.887 1140.7L561.554 1140.11C476.18 1139.96 407.088 1070.63 407.232 985.26L407.309 939.854L353.507 939.945C329.114 939.986 309.297 914.301 309.243 882.574L309 738.958C308.946 707.232 328.677 681.479 353.069 681.438L407.747 681.344L407.831 631.927C407.976 546.553 477.302 477.461 562.676 477.605L916.009 478.204ZM935.758 954.401C934.377 954.401 933.258 955.521 933.258 956.901C933.258 958.282 934.377 959.401 935.758 959.401H1055.36V954.401H935.758Z" fill="white"/>
22
- </g>
23
- <circle cx="873.273" cy="743.356" r="68.8856" fill="#2F7C89"/>
24
- <circle cx="615.194" cy="743.356" r="68.8856" fill="#2F7C89"/>
25
- <path d="M880.724 867.35C882.943 867.35 884.743 869.167 884.67 871.385C882.044 950.747 816.883 1014.28 736.882 1014.28C656.88 1014.28 591.72 950.747 589.095 871.385C589.022 869.167 590.822 867.35 593.041 867.35H880.724Z" fill="#2F7C89"/>
26
- </g>
27
- <defs>
28
- <filter id="filter0_f_15759_2932" x="415.594" y="100.79" width="699.129" height="890.111" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
29
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
30
- <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
31
- <feGaussianBlur stdDeviation="102.817" result="effect1_foregroundBlur_15759_2932"/>
32
- </filter>
33
- <filter id="filter1_f_15759_2932" x="-665.477" y="-116.441" width="2281.94" height="1670.37" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
34
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
35
- <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
36
- <feGaussianBlur stdDeviation="246.761" result="effect1_foregroundBlur_15759_2932"/>
37
- </filter>
38
- <filter id="filter2_f_15759_2932" x="-689.227" y="204.343" width="1638.74" height="1383.28" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
39
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
40
- <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
41
- <feGaussianBlur stdDeviation="246.761" result="effect1_foregroundBlur_15759_2932"/>
42
- </filter>
43
- <filter id="filter3_f_15759_2932" x="318.074" y="-134.951" width="2155.77" height="1562.95" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
44
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
45
- <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
46
- <feGaussianBlur stdDeviation="246.761" result="effect1_foregroundBlur_15759_2932"/>
47
- </filter>
48
- <filter id="filter4_f_15759_2932" x="199.508" y="2.87796" width="2307.73" height="1712.71" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
49
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
50
- <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
51
- <feGaussianBlur stdDeviation="246.761" result="effect1_foregroundBlur_15759_2932"/>
52
- </filter>
53
- <filter id="filter5_d_15759_2932" x="305" y="227.028" width="868.496" height="921.675" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
54
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
55
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
56
- <feOffset dy="4"/>
57
- <feGaussianBlur stdDeviation="2"/>
58
- <feComposite in2="hardAlpha" operator="out"/>
59
- <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
60
- <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_15759_2932"/>
61
- <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_15759_2932" result="shape"/>
62
- </filter>
63
- <clipPath id="clip0_15759_2932">
64
- <rect width="1477.89" height="1477.89" fill="white"/>
65
- </clipPath>
66
- </defs>
67
- </svg>