@invect/ui 0.0.7 → 0.0.8
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/dist/{Invect-BndIqK9R.js → Invect-CA2xJoX7.js} +29117 -28964
- package/dist/api/client.d.ts +5 -0
- package/dist/api/node-data.api.d.ts +1 -1
- package/dist/assets/provider-icons/index.d.ts +3 -4
- package/dist/demo.js +28 -28
- package/dist/index.css +1 -1
- package/dist/index.js +194 -194
- package/dist/stores/uiStore.d.ts +4 -0
- package/dist/svg-raw.d.ts +4 -0
- package/package.json +3 -3
- package/src/api/client.ts +11 -5
- package/src/api/use-flow-run-stream.ts +1 -5
- package/src/assets/provider-icons/cloudwatch.svg +14 -0
- package/src/assets/provider-icons/dropbox.svg +10 -0
- package/src/assets/provider-icons/facebook.svg +8 -0
- package/src/assets/provider-icons/google_analytics.svg +7 -0
- package/src/assets/provider-icons/index.ts +46 -43
- package/src/assets/provider-icons/jira.svg +18 -0
- package/src/assets/provider-icons/microsoft_teams.svg +27 -0
- package/src/assets/provider-icons/salesforce.svg +16 -0
- package/src/assets/provider-icons/shopify.svg +8 -0
- package/src/assets/provider-icons/trello.svg +16 -0
- package/src/assets/provider-icons/twitter.svg +7 -0
- package/src/components/chat/ChatMessageList.tsx +3 -27
- package/src/components/chat/ChatPanel.tsx +3 -3
- package/src/components/chat/InlineCredentialSetup.tsx +32 -19
- package/src/components/chat/use-chat.ts +1 -0
- package/src/components/credentials/CreateCredentialModal.tsx +89 -2
- package/src/components/credentials/EditCredentialModal.tsx +82 -2
- package/src/components/flow-editor/FlowHeader.tsx +1 -22
- package/src/components/flow-editor/FlowLayout.tsx +6 -27
- package/src/components/flow-editor/NodeSidebar.tsx +5 -12
- package/src/components/flow-editor/RunControls.tsx +12 -12
- package/src/components/flow-editor/node-config-panel/ConfigFieldWithTemplate.tsx +1 -2
- package/src/components/flow-editor/node-config-panel/panels/ConfigurationPanel.tsx +1 -12
- package/src/components/graph/LayoutSelector.tsx +2 -2
- package/src/components/shared/ProviderIcon.tsx +35 -1
- package/src/stores/uiStore.ts +23 -0
- package/src/svg-raw.d.ts +4 -0
package/dist/stores/uiStore.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ interface UIState {
|
|
|
9
9
|
validationPanelOpen: boolean;
|
|
10
10
|
logsPanelOpen: boolean;
|
|
11
11
|
nodeSidebarOpen: boolean;
|
|
12
|
+
nodeSidebarExpandedGroups: string[];
|
|
12
13
|
toolbarCollapsed: boolean;
|
|
13
14
|
}
|
|
14
15
|
interface UIActions {
|
|
@@ -24,6 +25,8 @@ interface UIActions {
|
|
|
24
25
|
setLogsPanelOpen: (open: boolean) => void;
|
|
25
26
|
toggleNodeSidebar: () => void;
|
|
26
27
|
setNodeSidebarOpen: (open: boolean) => void;
|
|
28
|
+
toggleNodeSidebarGroup: (groupId: string) => void;
|
|
29
|
+
setNodeSidebarExpandedGroups: (groups: string[]) => void;
|
|
27
30
|
toggleToolbarCollapsed: () => void;
|
|
28
31
|
reset: () => void;
|
|
29
32
|
}
|
|
@@ -36,6 +39,7 @@ export declare const useModalData: () => Record<string, unknown>;
|
|
|
36
39
|
export declare const useValidationPanelOpen: () => boolean;
|
|
37
40
|
export declare const useLogsPanelOpen: () => boolean;
|
|
38
41
|
export declare const useNodeSidebarOpen: () => boolean;
|
|
42
|
+
export declare const useNodeSidebarExpandedGroups: () => string[];
|
|
39
43
|
export declare const useModals: () => {
|
|
40
44
|
activeModal: ModalType;
|
|
41
45
|
modalData: Record<string, unknown>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@invect/ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8",
|
|
4
4
|
"description": "Complete React components and routes for Invect workflow management",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"components",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"remark-gfm": "^4.0.1",
|
|
96
96
|
"tailwind-merge": "^3.3.1",
|
|
97
97
|
"zustand": "^5.0.9",
|
|
98
|
-
"@invect/layouts": "0.0.
|
|
98
|
+
"@invect/layouts": "0.0.8"
|
|
99
99
|
},
|
|
100
100
|
"devDependencies": {
|
|
101
101
|
"@tailwindcss/postcss": "^4.1.0",
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
"vite": "^8.0.0",
|
|
114
114
|
"vite-plugin-dts": "^4.5.4",
|
|
115
115
|
"vitest": "^3.2.4",
|
|
116
|
-
"@invect/core": "0.0.
|
|
116
|
+
"@invect/core": "0.0.8"
|
|
117
117
|
},
|
|
118
118
|
"peerDependencies": {
|
|
119
119
|
"react": "^18.3.1 || ^19.0.0",
|
package/src/api/client.ts
CHANGED
|
@@ -68,7 +68,11 @@ class ApiClient {
|
|
|
68
68
|
return this.userId ? { 'X-User-ID': this.userId } : {};
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
/**
|
|
72
|
+
* Raw fetch with standard credentials/headers. Returns the raw Response
|
|
73
|
+
* for streaming endpoints (SSE, chat) that need access to response.body.
|
|
74
|
+
*/
|
|
75
|
+
async rawRequest(endpoint: string, options: RequestInit = {}): Promise<Response> {
|
|
72
76
|
const url = `${this.baseURL}${endpoint}`;
|
|
73
77
|
|
|
74
78
|
const { headers: optionsHeaders, ...restOptions } = options;
|
|
@@ -81,7 +85,11 @@ class ApiClient {
|
|
|
81
85
|
},
|
|
82
86
|
};
|
|
83
87
|
|
|
84
|
-
|
|
88
|
+
return fetch(url, config);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
private async request<T>(endpoint: string, options: RequestInit = {}): Promise<T> {
|
|
92
|
+
const response = await this.rawRequest(endpoint, options);
|
|
85
93
|
|
|
86
94
|
if (!response.ok) {
|
|
87
95
|
// Try to extract error message from response body
|
|
@@ -833,10 +841,8 @@ class ApiClient {
|
|
|
833
841
|
},
|
|
834
842
|
signal?: AbortSignal,
|
|
835
843
|
): Promise<Response> {
|
|
836
|
-
const
|
|
837
|
-
const response = await fetch(url, {
|
|
844
|
+
const response = await this.rawRequest('/chat', {
|
|
838
845
|
method: 'POST',
|
|
839
|
-
headers: { 'Content-Type': 'application/json' },
|
|
840
846
|
body: JSON.stringify({ messages, context }),
|
|
841
847
|
signal,
|
|
842
848
|
});
|
|
@@ -41,16 +41,12 @@ export function useFlowRunStream(flowId: string, flowRunId: string | null | unde
|
|
|
41
41
|
const controller = new AbortController();
|
|
42
42
|
abortRef.current = controller;
|
|
43
43
|
|
|
44
|
-
const baseURL = apiClient.getBaseURL();
|
|
45
|
-
const url = `${baseURL}/flow-runs/${flowRunId}/stream`;
|
|
46
|
-
|
|
47
44
|
let cancelled = false;
|
|
48
45
|
|
|
49
46
|
(async () => {
|
|
50
47
|
try {
|
|
51
|
-
const response = await
|
|
48
|
+
const response = await apiClient.rawRequest(`/flow-runs/${flowRunId}/stream`, {
|
|
52
49
|
signal: controller.signal,
|
|
53
|
-
credentials: 'include',
|
|
54
50
|
headers: {
|
|
55
51
|
Accept: 'text/event-stream',
|
|
56
52
|
},
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="256px" height="256px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
|
|
3
|
+
<title>AWS CloudWatch</title>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient x1="0%" y1="100%" x2="100%" y2="0%" id="linearGradient-1">
|
|
6
|
+
<stop stop-color="#B0084D" offset="0%"></stop>
|
|
7
|
+
<stop stop-color="#FF4F8B" offset="100%"></stop>
|
|
8
|
+
</linearGradient>
|
|
9
|
+
</defs>
|
|
10
|
+
<g>
|
|
11
|
+
<rect fill="url(#linearGradient-1)" x="0" y="0" width="256" height="256"></rect>
|
|
12
|
+
<path d="M176.189541,149.687586 C176.189541,137.17769 165.944188,127.000418 153.350607,127.000418 C140.757026,127.000418 130.51489,137.17769 130.51489,149.687586 C130.51489,162.197483 140.757026,172.374755 153.350607,172.374755 C165.944188,172.374755 176.189541,162.197483 176.189541,149.687586 M182.623044,149.687586 C182.623044,165.721982 169.492265,178.765506 153.350607,178.765506 C137.212166,178.765506 124.081387,165.721982 124.081387,149.687586 C124.081387,133.65319 137.212166,120.609666 153.350607,120.609666 C169.492265,120.609666 182.623044,133.65319 182.623044,149.687586 M209.630887,193.515361 L187.203697,173.448401 C185.392666,175.982334 183.298561,178.295786 180.97285,180.363194 L203.367872,200.426959 C205.278623,202.139681 208.250901,201.979912 209.978296,200.081859 C211.696042,198.183805 211.541637,195.234474 209.630887,193.515361 M153.350607,184.517183 C172.686499,184.517183 188.416412,168.891795 188.416412,149.687586 C188.416412,130.480182 172.686499,114.857989 153.350607,114.857989 C134.017932,114.857989 118.288018,130.480182 118.288018,149.687586 C118.288018,168.891795 134.017932,184.517183 153.350607,184.517183 M214.758389,204.360467 C212.564564,206.772976 209.531168,208 206.491338,208 C203.840735,208 201.183698,207.06695 199.063859,205.175288 L175.777797,184.315874 C169.302476,188.469863 161.617658,190.907935 153.350607,190.907935 C130.469855,190.907935 111.854516,172.416295 111.854516,149.687586 C111.854516,126.958878 130.469855,108.467238 153.350607,108.467238 C176.234575,108.467238 194.849915,126.958878 194.849915,149.687586 C194.849915,156.209348 193.276924,162.357252 190.549119,167.843712 L213.938117,188.770228 C218.48017,192.850723 218.84688,199.83901 214.758389,204.360467 M68.0970477,94.0560928 C68.0970477,95.7176883 68.1999837,97.3728928 68.3962058,98.9737763 C68.508792,99.8844582 68.2257178,100.79514 67.614535,101.482146 C67.1288058,102.028556 66.4758051,102.389633 65.7616864,102.511057 C57.851695,104.540121 44.8335024,110.681633 44.8335024,129.10617 C44.8335024,143.018837 52.5569222,150.697325 59.0386762,154.691545 C61.251801,156.078338 63.8702365,156.81647 66.6334259,156.845228 L105.424229,156.880377 L105.417796,163.271129 L66.5980416,163.23598 C62.6124867,163.19444 58.8295872,162.114403 55.6289197,160.110902 C49.2050675,156.151832 38.4,146.846897 38.4,129.10617 C38.4,107.71952 53.1198538,99.81416 61.7600477,97.0214016 C61.6957126,96.0372259 61.6635453,95.0466592 61.6635453,94.0560928 C61.6635453,76.5837776 73.5944758,58.4628013 89.4144586,51.9090854 C107.917212,44.2082294 127.520094,48.0267037 141.844288,62.1151158 C146.283404,66.4799994 149.934417,71.7811277 152.736207,77.9130541 C156.499806,74.8167347 161.138362,73.1072086 166.027824,73.1072086 C175.63626,73.1072086 186.450978,80.3511258 188.377812,96.193799 C197.375065,98.2548166 216.386065,105.457194 216.386065,129.352214 C216.386065,138.893607 213.375186,146.773404 207.433846,152.774319 L202.846759,148.291207 C207.562516,143.530097 209.952562,137.158517 209.952562,129.352214 C209.952562,108.451261 192.337632,103.252384 184.758966,101.990211 C183.896877,101.846419 183.134507,101.360722 182.642344,100.644958 C182.163048,99.9547565 181.979693,99.1079821 182.124447,98.2867702 C181.072569,85.3135443 173.313765,79.4979603 166.027824,79.4979603 C161.431086,79.4979603 157.120639,81.7219421 154.199829,85.6011283 C153.488927,86.5405686 152.334114,87.0198752 151.150349,86.8473248 C149.982668,86.6747744 149.001559,85.8759306 148.599465,84.7735258 C145.964946,77.5232182 142.16918,71.426441 137.318318,66.6589402 C124.904875,54.4494093 107.930079,51.1389997 91.8945738,57.8077491 C78.5482726,63.3357494 68.0970477,79.2551117 68.0970477,94.0560928" fill="#FFFFFF"></path>
|
|
13
|
+
</g>
|
|
14
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="256px" height="218px" viewBox="0 0 256 218" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
|
|
3
|
+
<g fill="#0061FF">
|
|
4
|
+
<polygon points="63.9945638 0 0 40.7712563 63.9945638 81.5425125 128 40.7712563"></polygon>
|
|
5
|
+
<polygon points="192.000442 0 128 40.7750015 192.000442 81.5500031 256.000885 40.7750015"></polygon>
|
|
6
|
+
<polygon points="0 122.321259 63.9945638 163.092516 128 122.321259 63.9945638 81.5500031"></polygon>
|
|
7
|
+
<polygon points="192 81.5500031 128 122.324723 192 163.099442 256 122.324723"></polygon>
|
|
8
|
+
<polygon points="64 176.771256 128.005436 217.542513 192 176.771256 128.005436 136"></polygon>
|
|
9
|
+
</g>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="256px" height="256px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid">
|
|
3
|
+
<title>Facebook</title>
|
|
4
|
+
<g>
|
|
5
|
+
<path d="M256,128 C256,57.3075 198.6925,0 128,0 C57.3075,0 0,57.3075 0,128 C0,191.8885 46.80775,244.8425 108,254.445 L108,165 L75.5,165 L75.5,128 L108,128 L108,99.8 C108,67.72 127.1095,50 156.3475,50 C170.35175,50 185,52.5 185,52.5 L185,84 L168.8595,84 C152.95875,84 148,93.86675 148,103.98925 L148,128 L183.5,128 L177.825,165 L148,165 L148,254.445 C209.19225,244.8425 256,191.8885 256,128" fill="#1877F2"></path>
|
|
6
|
+
<path d="M177.825,165 L183.5,128 L148,128 L148,103.98925 C148,93.86675 152.95875,84 168.8595,84 L185,84 L185,52.5 C185,52.5 170.35175,50 156.3475,50 C127.1095,50 108,67.72 108,99.8 L108,128 L75.5,128 L75.5,165 L108,165 L108,254.445 C114.51675,255.4675 121.196,256 128,256 C134.804,256 141.48325,255.4675 148,254.445 L148,165 L177.825,165" fill="#FFFFFF"></path>
|
|
7
|
+
</g>
|
|
8
|
+
</svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="256px" height="284px" viewBox="0 0 256 284" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
|
|
3
|
+
<g>
|
|
4
|
+
<path d="M256.003159,247.933017 C256.055907,258.030289 251.77298,267.664804 244.241349,274.390297 C236.709718,281.11579 226.653817,284.285366 216.626905,283.094249 C198.58347,280.424364 185.360959,264.722632 185.800619,246.488035 L185.800619,36.8452103 C185.364944,18.5907614 198.619678,2.88144681 216.687112,0.238996295 C226.704325,-0.933476157 236.743571,2.24455542 244.261279,8.9678962 C251.778988,15.691237 256.053811,25.3147619 256.003159,35.4002282 L256.003159,247.933017 Z" fill="#F9AB00"></path>
|
|
5
|
+
<path d="M35.1010243,213.193238 C54.4867848,213.193238 70.2020487,228.908502 70.2020487,248.294263 C70.2020487,267.680023 54.4867848,283.395287 35.1010243,283.395287 C15.7152639,283.395287 0,267.680023 0,248.294263 C0,228.908502 15.7152639,213.193238 35.1010243,213.193238 Z M127.459466,106.806429 C107.981896,107.874068 92.8698765,124.212107 93.3217628,143.713681 L93.3217628,237.998765 C93.3217628,263.58699 104.580582,279.120548 121.077461,282.431965 C131.434034,284.530959 142.185473,281.860819 150.356699,275.160414 C158.527925,268.460009 163.252393,258.439904 163.222912,247.872809 L163.222912,142.088076 C163.240039,132.641687 159.462041,123.584285 152.737293,116.950107 C146.012546,110.315928 136.904752,106.661084 127.459466,106.806429 L127.459466,106.806429 Z" fill="#E37400"></path>
|
|
6
|
+
</g>
|
|
7
|
+
</svg>
|
|
@@ -1,55 +1,58 @@
|
|
|
1
|
+
import anthropic from './anthropic.svg?raw';
|
|
2
|
+
import anthropicLight from './anthropic_light.svg?raw';
|
|
3
|
+
import { INVECT_ICON_DARK_SVG, INVECT_ICON_LIGHT_SVG } from '../invect-branding';
|
|
4
|
+
import cloudwatch from './cloudwatch.svg?raw';
|
|
5
|
+
import dropbox from './dropbox.svg?raw';
|
|
6
|
+
import facebook from './facebook.svg?raw';
|
|
7
|
+
import github from './github.svg?raw';
|
|
8
|
+
import githubLight from './github_light.svg?raw';
|
|
9
|
+
import gmail from './gmail.svg?raw';
|
|
10
|
+
import googleAnalytics from './google_analytics.svg?raw';
|
|
11
|
+
import googleCalendar from './google_calendar.svg?raw';
|
|
12
|
+
import googleDocs from './google_docs.svg?raw';
|
|
13
|
+
import googleDrive from './google_drive.svg?raw';
|
|
14
|
+
import googleSheets from './google_sheets.svg?raw';
|
|
15
|
+
import jira from './jira.svg?raw';
|
|
16
|
+
import linear from './linear.svg?raw';
|
|
17
|
+
import microsoftTeams from './microsoft_teams.svg?raw';
|
|
18
|
+
import openai from './openai.svg?raw';
|
|
19
|
+
import postgres from './postgres.svg?raw';
|
|
20
|
+
import salesforce from './salesforce.svg?raw';
|
|
21
|
+
import shopify from './shopify.svg?raw';
|
|
22
|
+
import slack from './slack.svg?raw';
|
|
23
|
+
import trello from './trello.svg?raw';
|
|
24
|
+
import twitter from './twitter.svg?raw';
|
|
25
|
+
|
|
1
26
|
/**
|
|
2
|
-
* Inline SVG strings for
|
|
27
|
+
* Inline SVG strings for built-in provider icons.
|
|
3
28
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
29
|
+
* SVGs are stored as files in this directory and imported with Vite's `?raw`
|
|
30
|
+
* loader so the runtime API remains a plain `Record<string, string>`.
|
|
6
31
|
*/
|
|
7
|
-
|
|
8
|
-
const anthropic = `<svg fill="#191919" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M17.3041 3.541h-3.6718l6.696 16.918H24Zm-10.6082 0L0 20.459h3.7442l1.3693-3.5527h7.0052l1.3693 3.5528h3.7442L10.5363 3.5409Zm-.3712 10.2232 2.2914-5.9456 2.2914 5.9456Z"/></svg>`;
|
|
9
|
-
|
|
10
|
-
const anthropicLight = `<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M17.3041 3.541h-3.6718l6.696 16.918H24Zm-10.6082 0L0 20.459h3.7442l1.3693-3.5527h7.0052l1.3693 3.5528h3.7442L10.5363 3.5409Zm-.3712 10.2232 2.2914-5.9456 2.2914 5.9456Z"/></svg>`;
|
|
11
|
-
|
|
12
|
-
const github = `<svg fill="#181717" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg>`;
|
|
13
|
-
|
|
14
|
-
const githubLight = `<svg fill="#ffffff" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg>`;
|
|
15
|
-
|
|
16
|
-
const gmail = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="#4caf50" d="M45,16.2l-5,2.75l-5,4.75L35,40h7c1.657,0,3-1.343,3-3V16.2z"/><path fill="#1e88e5" d="M3,16.2l3.614,1.71L13,23.7V40H6c-1.657,0-3-1.343-3-3V16.2z"/><polygon fill="#e53935" points="35,11.2 24,19.45 13,11.2 12,17 13,23.7 24,31.95 35,23.7 36,17"/><path fill="#c62828" d="M3,12.298V16.2l10,7.5V11.2L9.876,8.859C9.132,8.301,8.228,8,7.298,8h0C4.924,8,3,9.924,3,12.298z"/><path fill="#fbc02d" d="M45,12.298V16.2l-10,7.5V11.2l3.124-2.341C38.868,8.301,39.772,8,40.702,8h0 C43.076,8,45,9.924,45,12.298z"/></svg>`;
|
|
17
|
-
|
|
18
|
-
const google = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="#FFC107" d="M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12c0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24c0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z"/><path fill="#FF3D00" d="M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z"/><path fill="#4CAF50" d="M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z"/><path fill="#1976D2" d="M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571c0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z"/></svg>`;
|
|
19
|
-
|
|
20
|
-
const google_calendar = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><rect x="13" y="13" fill="#fff"/><polygon fill="#1e88e5" points="25.68,20.92 26.688,22.36 28.272,21.208 28.272,29.56 30,29.56 30,18.616 28.56,18.616"/><path fill="#1e88e5" d="M22.943,23.745c0.625-0.574,1.013-1.37,1.013-2.249c0-1.747-1.533-3.168-3.417-3.168 c-1.602,0-2.972,1.009-3.33,2.453l1.657,0.421c0.165-0.664,0.868-1.146,1.673-1.146c0.942,0,1.709,0.646,1.709,1.44 c0,0.794-0.767,1.44-1.709,1.44h-0.997v1.728h0.997c1.081,0,1.993,0.751,1.993,1.64c0,0.904-0.866,1.64-1.931,1.64 c-0.962,0-1.784-0.61-1.914-1.418L17,26.802c0.262,1.636,1.81,2.87,3.6,2.87c2.007,0,3.64-1.511,3.64-3.368 C24.24,25.281,23.736,24.363,22.943,23.745z"/><polygon fill="#fbc02d" points="34,42 14,42 13,38 14,34 34,34 35,38"/><polygon fill="#4caf50" points="38,35 42,34 42,14 38,13 34,14 34,34"/><path fill="#1e88e5" d="M34,14l1-4l-1-4H9C7.343,6,6,7.343,6,9v25l4,1l4-1V14H34z"/><polygon fill="#e53935" points="34,34 34,42 42,34"/><path fill="#1565c0" d="M39,6h-5v8h8V9C42,7.343,40.657,6,39,6z"/><path fill="#1565c0" d="M9,42h5v-8H6v5C6,40.657,7.343,42,9,42z"/></svg>`;
|
|
21
|
-
|
|
22
|
-
const google_docs = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill-rule="evenodd" clip-rule="evenodd" baseProfile="basic"><linearGradient id="pg10I3OeSC0NOv22QZ6aWa" x1="-209.942" x2="-179.36" y1="-3.055" y2="27.526" gradientTransform="translate(208.979 6.006)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#55adfd"/><stop offset="1" stop-color="#438ffd"/></linearGradient><path fill="url(#pg10I3OeSC0NOv22QZ6aWa)" d="M39.001,13.999v27c0,1.105-0.896,2-2,2h-26 c-1.105,0-2-0.895-2-2v-34c0-1.104,0.895-2,2-2h19l2,7L39.001,13.999z"/><path fill="#fff" fill-rule="evenodd" d="M15.999,18.001v2.999 h17.002v-2.999H15.999z" clip-rule="evenodd"/><path fill="#fff" fill-rule="evenodd" d="M16.001,24.001v2.999 h17.002v-2.999H16.001z" clip-rule="evenodd"/><path fill="#fff" fill-rule="evenodd" d="M15.999,30.001v2.999 h12.001v-2.999H15.999z" clip-rule="evenodd"/><linearGradient id="pg10I3OeSC0NOv22QZ6aWb" x1="-197.862" x2="-203.384" y1="-4.632" y2=".89" gradientTransform="translate(234.385 12.109)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#427fdb"/><stop offset="1" stop-color="#0c52bb"/></linearGradient><path fill="url(#pg10I3OeSC0NOv22QZ6aWb)" d="M30.001,13.999l0.001-9l8.999,8.999L30.001,13.999z"/></svg>`;
|
|
23
|
-
|
|
24
|
-
const google_drive = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="#1e88e5" d="M38.59,39c-0.535,0.93-0.298,1.68-1.195,2.197C36.498,41.715,35.465,42,34.39,42H13.61 c-1.074,0-2.106-0.285-3.004-0.802C9.708,40.681,9.945,39.93,9.41,39l7.67-9h13.84L38.59,39z"/><path fill="#fbc02d" d="M27.463,6.999c1.073-0.002,2.104-0.716,3.001-0.198c0.897,0.519,1.66,1.27,2.197,2.201l10.39,17.996 c0.537,0.93,0.807,1.967,0.808,3.002c0.001,1.037-1.267,2.073-1.806,3.001l-11.127-3.005l-6.924-11.993L27.463,6.999z"/><path fill="#e53935" d="M43.86,30c0,1.04-0.27,2.07-0.81,3l-3.67,6.35c-0.53,0.78-1.21,1.4-1.99,1.85L30.92,30H43.86z"/><path fill="#4caf50" d="M5.947,33.001c-0.538-0.928-1.806-1.964-1.806-3c0.001-1.036,0.27-2.073,0.808-3.004l10.39-17.996 c0.537-0.93,1.3-1.682,2.196-2.2c0.897-0.519,1.929,0.195,3.002,0.197l3.459,11.009l-6.922,11.989L5.947,33.001z"/><path fill="#1565c0" d="M17.08,30l-6.47,11.2c-0.78-0.45-1.46-1.07-1.99-1.85L4.95,33c-0.54-0.93-0.81-1.96-0.81-3H17.08z"/><path fill="#2e7d32" d="M30.46,6.8L24,18L17.53,6.8c0.78-0.45,1.66-0.73,2.6-0.79L27.46,6C28.54,6,29.57,6.28,30.46,6.8z"/></svg>`;
|
|
25
|
-
|
|
26
|
-
const google_sheets = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><path fill="#43a047" d="M37,45H11c-1.657,0-3-1.343-3-3V6c0-1.657,1.343-3,3-3h19l10,10v29C40,43.657,38.657,45,37,45z"/><path fill="#c8e6c9" d="M40 13L30 13 30 3z"/><path fill="#2e7d32" d="M30 13L40 23 40 13z"/><path fill="#e8f5e9" d="M31,23H17h-2v2v2v2v2v2v2v2h18v-2v-2v-2v-2v-2v-2v-2H31z M17,25h4v2h-4V25z M17,29h4v2h-4V29z M17,33h4v2h-4V33z M31,35h-8v-2h8V35z M31,31h-8v-2h8V31z M31,27h-8v-2h8V27z"/></svg>`;
|
|
27
|
-
|
|
28
|
-
const slack = `<svg enable-background="new 0 0 2447.6 2452.5" viewBox="0 0 2447.6 2452.5" xmlns="http://www.w3.org/2000/svg"><g clip-rule="evenodd" fill-rule="evenodd"><path d="m897.4 0c-135.3.1-244.8 109.9-244.7 245.2-.1 135.3 109.5 245.1 244.8 245.2h244.8v-245.1c.1-135.3-109.5-245.1-244.9-245.3.1 0 .1 0 0 0m0 654h-652.6c-135.3.1-244.9 109.9-244.8 245.2-.2 135.3 109.4 245.1 244.7 245.3h652.7c135.3-.1 244.9-109.9 244.8-245.2.1-135.4-109.5-245.2-244.8-245.3z" fill="#36c5f0"/><path d="m2447.6 899.2c.1-135.3-109.5-245.1-244.8-245.2-135.3.1-244.9 109.9-244.8 245.2v245.3h244.8c135.3-.1 244.9-109.9 244.8-245.3zm-652.7 0v-654c.1-135.2-109.4-245-244.7-245.2-135.3.1-244.9 109.9-244.8 245.2v654c-.2 135.3 109.4 245.1 244.7 245.3 135.3-.1 244.9-109.9 244.8-245.3z" fill="#2eb67d"/><path d="m1550.1 2452.5c135.3-.1 244.9-109.9 244.8-245.2.1-135.3-109.5-245.1-244.8-245.2h-244.8v245.2c-.1 135.2 109.5 245 244.8 245.2zm0-654.1h652.7c135.3-.1 244.9-109.9 244.8-245.2.2-135.3-109.4-245.1-244.7-245.3h-652.7c-135.3.1-244.9 109.9-244.8 245.2-.1 135.4 109.4 245.2 244.7 245.3z" fill="#ecb22e"/><path d="m0 1553.2c-.1 135.3 109.5 245.1 244.8 245.2 135.3-.1 244.9-109.9 244.8-245.2v-245.2h-244.8c-135.3.1-244.9 109.9-244.8 245.2zm652.7 0v654c-.2 135.3 109.4 245.1 244.7 245.3 135.3-.1 244.9-109.9 244.8-245.2v-653.9c.2-135.3-109.4-245.1-244.7-245.3-135.4 0-244.9 109.8-244.8 245.1 0 0 0 .1 0 0" fill="#e01e5a"/></g></svg>`;
|
|
29
|
-
|
|
30
|
-
const openai = `<svg fill="#412991" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"/></svg>`;
|
|
31
|
-
|
|
32
|
-
const linear = `<svg fill="#5E6AD2" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M2.886 4.18A11.982 11.982 0 0 1 11.99 0C18.624 0 24 5.376 24 12.009c0 3.64-1.62 6.903-4.18 9.105L2.887 4.18ZM1.817 5.626l16.556 16.556c-.524.33-1.075.62-1.65.866L.951 7.277c.247-.575.537-1.126.866-1.65ZM.322 9.163l14.515 14.515c-.71.172-1.443.282-2.195.322L0 11.358a12 12 0 0 1 .322-2.195Zm-.17 4.862 9.823 9.824a12.02 12.02 0 0 1-9.824-9.824Z"/></svg>`;
|
|
33
|
-
|
|
34
|
-
const postgres = `<svg fill="#4169E1" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M23.5594 14.7228a.5269.5269 0 0 0-.0563-.1191c-.139-.2632-.4768-.3418-1.0074-.2321-1.6533.3411-2.2935.1312-2.5256-.0191 1.342-2.0482 2.445-4.522 3.0411-6.8297.2714-1.0507.7982-3.5237.1222-4.7316a1.5641 1.5641 0 0 0-.1509-.235C21.6931.9086 19.8007.0248 17.5099.0005c-1.4947-.0158-2.7705.3461-3.1161.4794a9.449 9.449 0 0 0-.5159-.0816 8.044 8.044 0 0 0-1.3114-.1278c-1.1822-.0184-2.2038.2642-3.0498.8406-.8573-.3211-4.7888-1.645-7.2219.0788C.9359 2.1526.3086 3.8733.4302 6.3043c.0409.818.5069 3.334 1.2423 5.7436.4598 1.5065.9387 2.7019 1.4334 3.582.553.9942 1.1259 1.5933 1.7143 1.7895.4474.1491 1.1327.1441 1.8581-.7279.8012-.9635 1.5903-1.8258 1.9446-2.2069.4351.2355.9064.3625 1.39.3772a.0569.0569 0 0 0 .0004.0041 11.0312 11.0312 0 0 0-.2472.3054c-.3389.4302-.4094.5197-1.5002.7443-.3102.064-1.1344.2339-1.1464.8115-.0025.1224.0329.2309.0919.3268.2269.4231.9216.6097 1.015.6331 1.3345.3335 2.5044.092 3.3714-.6787-.017 2.231.0775 4.4174.3454 5.0874.2212.5529.7618 1.9045 2.4692 1.9043.2505 0 .5263-.0291.8296-.0941 1.7819-.3821 2.5557-1.1696 2.855-2.9059.1503-.8707.4016-2.8753.5388-4.1012.0169-.0703.0357-.1207.057-.1362.0007-.0005.0697-.0471.4272.0307a.3673.3673 0 0 0 .0443.0068l.2539.0223.0149.001c.8468.0384 1.9114-.1426 2.5312-.4308.6438-.2988 1.8057-1.0323 1.5951-1.6698zM2.371 11.8765c-.7435-2.4358-1.1779-4.8851-1.2123-5.5719-.1086-2.1714.4171-3.6829 1.5623-4.4927 1.8367-1.2986 4.8398-.5408 6.108-.13-.0032.0032-.0066.0061-.0098.0094-2.0238 2.044-1.9758 5.536-1.9708 5.7495-.0002.0823.0066.1989.0162.3593.0348.5873.0996 1.6804-.0735 2.9184-.1609 1.1504.1937 2.2764.9728 3.0892.0806.0841.1648.1631.2518.2374-.3468.3714-1.1004 1.1926-1.9025 2.1576-.5677.6825-.9597.5517-1.0886.5087-.3919-.1307-.813-.5871-1.2381-1.3223-.4796-.839-.9635-2.0317-1.4155-3.5126zm6.0072 5.0871c-.1711-.0428-.3271-.1132-.4322-.1772.0889-.0394.2374-.0902.4833-.1409 1.2833-.2641 1.4815-.4506 1.9143-1.0002.0992-.126.2116-.2687.3673-.4426a.3549.3549 0 0 0 .0737-.1298c.1708-.1513.2724-.1099.4369-.0417.156.0646.3078.26.3695.4752.0291.1016.0619.2945-.0452.4444-.9043 1.2658-2.2216 1.2494-3.1676 1.0128zm2.094-3.988l-.0525.141c-.133.3566-.2567.6881-.3334 1.003-.6674-.0021-1.3168-.2872-1.8105-.8024-.6279-.6551-.9131-1.5664-.7825-2.5004.1828-1.3079.1153-2.4468.079-3.0586-.005-.0857-.0095-.1607-.0122-.2199.2957-.2621 1.6659-.9962 2.6429-.7724.4459.1022.7176.4057.8305.928.5846 2.7038.0774 3.8307-.3302 4.7363-.084.1866-.1633.3629-.2311.5454zm7.3637 4.5725c-.0169.1768-.0358.376-.0618.5959l-.146.4383a.3547.3547 0 0 0-.0182.1077c-.0059.4747-.054.6489-.115.8693-.0634.2292-.1353.4891-.1794 1.0575-.11 1.4143-.8782 2.2267-2.4172 2.5565-1.5155.3251-1.7843-.4968-2.0212-1.2217a6.5824 6.5824 0 0 0-.0769-.2266c-.2154-.5858-.1911-1.4119-.1574-2.5551.0165-.5612-.0249-1.9013-.3302-2.6462.0044-.2932.0106-.5909.019-.8918a.3529.3529 0 0 0-.0153-.1126 1.4927 1.4927 0 0 0-.0439-.208c-.1226-.4283-.4213-.7866-.7797-.9351-.1424-.059-.4038-.1672-.7178-.0869.067-.276.1831-.5875.309-.9249l.0529-.142c.0595-.16.134-.3257.213-.5012.4265-.9476 1.0106-2.2453.3766-5.1772-.2374-1.0981-1.0304-1.6343-2.2324-1.5098-.7207.0746-1.3799.3654-1.7088.5321a5.6716 5.6716 0 0 0-.1958.1041c.0918-1.1064.4386-3.1741 1.7357-4.4823a4.0306 4.0306 0 0 1 .3033-.276.3532.3532 0 0 0 .1447-.0644c.7524-.5706 1.6945-.8506 2.802-.8325.4091.0067.8017.0339 1.1742.081 1.939.3544 3.2439 1.4468 4.0359 2.3827.8143.9623 1.2552 1.9315 1.4312 2.4543-1.3232-.1346-2.2234.1268-2.6797.779-.9926 1.4189.543 4.1729 1.2811 5.4964.1353.2426.2522.4522.2889.5413.2403.5825.5515.9713.7787 1.2552.0696.087.1372.1714.1885.245-.4008.1155-1.1208.3825-1.0552 1.717-.0123.1563-.0423.4469-.0834.8148-.0461.2077-.0702.4603-.0994.7662zm.8905-1.6211c-.0405-.8316.2691-.9185.5967-1.0105a2.8566 2.8566 0 0 0 .135-.0406 1.202 1.202 0 0 0 .1342.103c.5703.3765 1.5823.4213 3.0068.1344-.2016.1769-.5189.3994-.9533.6011-.4098.1903-1.0957.333-1.7473.3636-.7197.0336-1.0859-.0807-1.1721-.151zm.5695-9.2712c-.0059.3508-.0542.6692-.1054 1.0017-.055.3576-.112.7274-.1264 1.1762-.0142.4368.0404.8909.0932 1.3301.1066.887.216 1.8003-.2075 2.7014a3.5272 3.5272 0 0 1-.1876-.3856c-.0527-.1276-.1669-.3326-.3251-.6162-.6156-1.1041-2.0574-3.6896-1.3193-4.7446.3795-.5427 1.3408-.5661 2.1781-.463zm.2284 7.0137a12.3762 12.3762 0 0 0-.0853-.1074l-.0355-.0444c.7262-1.1995.5842-2.3862.4578-3.4385-.0519-.4318-.1009-.8396-.0885-1.2226.0129-.4061.0666-.7543.1185-1.0911.0639-.415.1288-.8443.1109-1.3505.0134-.0531.0188-.1158.0118-.1902-.0457-.4855-.5999-1.938-1.7294-3.253-.6076-.7073-1.4896-1.4972-2.6889-2.0395.5251-.1066 1.2328-.2035 2.0244-.1859 2.0515.0456 3.6746.8135 4.8242 2.2824a.908.908 0 0 1 .0667.1002c.7231 1.3556-.2762 6.2751-2.9867 10.5405zm-8.8166-6.1162c-.025.1794-.3089.4225-.6211.4225a.5821.5821 0 0 1-.0809-.0056c-.1873-.026-.3765-.144-.5059-.3156-.0458-.0605-.1203-.178-.1055-.2844.0055-.0401.0261-.0985.0925-.1488.1182-.0894.3518-.1226.6096-.0867.3163.0441.6426.1938.6113.4186zm7.9305-.4114c.0111.0792-.049.201-.1531.3102-.0683.0717-.212.1961-.4079.2232a.5456.5456 0 0 1-.075.0052c-.2935 0-.5414-.2344-.5607-.3717-.024-.1765.2641-.3106.5611-.352.297-.0414.6111.0088.6356.1851z"/></svg>`;
|
|
35
|
-
|
|
36
|
-
const microsoft = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 23"><path fill="#f35325" d="M1 1h10v10H1z"/><path fill="#81bc06" d="M12 1h10v10H12z"/><path fill="#05a6f0" d="M1 12h10v10H1z"/><path fill="#ffba08" d="M12 12h10v10H12z"/></svg>`;
|
|
37
|
-
|
|
38
|
-
/** Map of provider ID → SVG markup string. */
|
|
39
32
|
export const PROVIDER_SVG_ICONS: Record<string, string> = {
|
|
40
33
|
anthropic,
|
|
41
34
|
anthropic_light: anthropicLight,
|
|
35
|
+
core: INVECT_ICON_LIGHT_SVG,
|
|
36
|
+
core_light: INVECT_ICON_DARK_SVG,
|
|
37
|
+
cloudwatch,
|
|
38
|
+
dropbox,
|
|
39
|
+
facebook,
|
|
42
40
|
github,
|
|
43
41
|
github_light: githubLight,
|
|
44
42
|
gmail,
|
|
45
|
-
|
|
46
|
-
google_calendar,
|
|
47
|
-
google_docs,
|
|
48
|
-
google_drive,
|
|
49
|
-
google_sheets,
|
|
50
|
-
|
|
51
|
-
slack,
|
|
52
|
-
openai,
|
|
43
|
+
google_analytics: googleAnalytics,
|
|
44
|
+
google_calendar: googleCalendar,
|
|
45
|
+
google_docs: googleDocs,
|
|
46
|
+
google_drive: googleDrive,
|
|
47
|
+
google_sheets: googleSheets,
|
|
48
|
+
jira,
|
|
53
49
|
linear,
|
|
50
|
+
microsoft_teams: microsoftTeams,
|
|
51
|
+
openai,
|
|
54
52
|
postgres,
|
|
53
|
+
salesforce,
|
|
54
|
+
shopify,
|
|
55
|
+
slack,
|
|
56
|
+
trello,
|
|
57
|
+
twitter,
|
|
55
58
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="256px" height="256px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
|
|
3
|
+
<defs>
|
|
4
|
+
<linearGradient x1="98.0308675%" y1="0.160599572%" x2="58.8877062%" y2="40.7655246%" id="linearGradient-1">
|
|
5
|
+
<stop stop-color="#0052CC" offset="18%"></stop>
|
|
6
|
+
<stop stop-color="#2684FF" offset="100%"></stop>
|
|
7
|
+
</linearGradient>
|
|
8
|
+
<linearGradient x1="100.665247%" y1="0.45503212%" x2="55.4018095%" y2="44.7269807%" id="linearGradient-2">
|
|
9
|
+
<stop stop-color="#0052CC" offset="18%"></stop>
|
|
10
|
+
<stop stop-color="#2684FF" offset="100%"></stop>
|
|
11
|
+
</linearGradient>
|
|
12
|
+
</defs>
|
|
13
|
+
<g>
|
|
14
|
+
<path d="M244.657778,0 L121.706667,0 C121.706667,14.7201046 127.554205,28.837312 137.962891,39.2459977 C148.371577,49.6546835 162.488784,55.5022222 177.208889,55.5022222 L199.857778,55.5022222 L199.857778,77.3688889 C199.877391,107.994155 224.699178,132.815943 255.324444,132.835556 L255.324444,10.6666667 C255.324444,4.77562934 250.548815,3.60722001e-16 244.657778,0 Z" fill="#2684FF"></path>
|
|
15
|
+
<path d="M183.822222,61.2622222 L60.8711111,61.2622222 C60.8907238,91.8874888 85.7125112,116.709276 116.337778,116.728889 L138.986667,116.728889 L138.986667,138.666667 C139.025905,169.291923 163.863607,194.097803 194.488889,194.097778 L194.488889,71.9288889 C194.488889,66.0378516 189.71326,61.2622222 183.822222,61.2622222 Z" fill="url(#linearGradient-1)"></path>
|
|
16
|
+
<path d="M122.951111,122.488889 L0,122.488889 C3.75391362e-15,153.14192 24.8491913,177.991111 55.5022222,177.991111 L78.2222222,177.991111 L78.2222222,199.857778 C78.241767,230.45532 103.020285,255.265647 133.617778,255.324444 L133.617778,133.155556 C133.617778,127.264518 128.842148,122.488889 122.951111,122.488889 Z" fill="url(#linearGradient-2)"></path>
|
|
17
|
+
</g>
|
|
18
|
+
</svg>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="256px" height="239px" viewBox="0 0 256 239" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
|
|
3
|
+
<title>Teams</title>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient x1="17.372046%" y1="-6.51032331%" x2="82.6280767%" y2="106.510437%" id="Teams-linearGradient-1">
|
|
6
|
+
<stop stop-color="#5A62C3" offset="0%"></stop>
|
|
7
|
+
<stop stop-color="#4D55BD" offset="50%"></stop>
|
|
8
|
+
<stop stop-color="#3940AB" offset="100%"></stop>
|
|
9
|
+
</linearGradient>
|
|
10
|
+
</defs>
|
|
11
|
+
<g>
|
|
12
|
+
<path d="M178.562984,89.3023389 L244.688409,89.3023389 C250.935667,89.3023389 256,94.3666717 256,100.61393 C256,100.61393 256,100.61393 256,100.61393 L256,160.8454 C256,183.805692 237.387095,202.418597 214.426804,202.418597 L214.426804,202.418597 L214.230281,202.418597 C191.269989,202.421813 172.654443,183.81155 172.651112,160.851258 C172.651112,160.849305 172.651112,160.847353 172.651112,160.845285 L172.651112,95.2142112 C172.651112,91.9491339 175.298022,89.3023389 178.562984,89.3023389 L178.562984,89.3023389 Z" fill="#5059C9"></path>
|
|
13
|
+
<circle fill="#5059C9" cx="223.255847" cy="50.6046204" r="26.7907017"></circle>
|
|
14
|
+
<circle fill="#7B83EB" cx="139.906959" cy="38.6977185" r="38.6977185"></circle>
|
|
15
|
+
<path d="M191.505908,89.3023389 L82.3545595,89.3023389 C76.1817292,89.4551005 71.2986428,94.5778961 71.4418711,100.750956 L71.4418711,169.448288 C70.5798595,206.492276 99.8873366,237.23307 136.930291,238.139647 C173.973246,237.23307 203.280608,206.492276 202.418711,169.448288 L202.418711,100.750956 C202.56171,94.5778961 197.678739,89.4551005 191.505908,89.3023389 Z" fill="#7B83EB"></path>
|
|
16
|
+
<path d="M142.883742,89.3023389 L142.883742,185.57026 C142.854109,189.98484 140.178944,193.950782 136.096765,195.631619 C134.797028,196.181446 133.400121,196.465146 131.988857,196.465146 L76.6809034,196.465146 C75.9069881,194.500494 75.1925694,192.535843 74.5971439,190.511695 C72.5131546,183.680267 71.4497964,176.578577 71.4417563,169.436343 L71.4417563,100.733038 C71.2986428,94.5698561 76.1736891,89.4551005 82.3366416,89.3023389 L142.883742,89.3023389 Z" fill="#000000" opacity="0.1"></path>
|
|
17
|
+
<path d="M136.930291,89.3023389 L136.930291,191.523711 C136.930291,192.934975 136.646591,194.331882 136.096765,195.631619 C134.415928,199.713798 130.449985,202.389078 126.035406,202.418597 L79.4790817,202.418597 C78.4669502,200.453945 77.5144302,198.489294 76.6809034,196.465146 C75.8473766,194.440998 75.1925694,192.535843 74.5971439,190.511695 C72.5131546,183.680382 71.4497964,176.578577 71.4417563,169.436343 L71.4417563,100.733038 C71.2986428,94.5698561 76.1736891,89.4551005 82.3366416,89.3023389 L136.930291,89.3023389 Z" fill="#000000" opacity="0.2"></path>
|
|
18
|
+
<path d="M136.930291,89.3023389 L136.930291,179.616809 C136.884922,185.615055 132.033652,190.466326 126.035406,190.511695 L74.5972587,190.511695 C72.5132695,183.680382 71.4499112,176.578577 71.4418711,169.436343 L71.4418711,100.733038 C71.2987577,94.5698561 76.173804,89.4551005 82.3367565,89.3023389 L136.930291,89.3023389 Z" fill="#000000" opacity="0.2"></path>
|
|
19
|
+
<path d="M130.976725,89.3023389 L130.976725,179.616809 C130.931356,185.615055 126.080086,190.466326 120.08184,190.511695 L74.5972587,190.511695 C72.5132695,183.680382 71.4499112,176.578577 71.4418711,169.436343 L71.4418711,100.733038 C71.2987577,94.5698561 76.173804,89.4551005 82.3367565,89.3023389 L130.976725,89.3023389 Z" fill="#000000" opacity="0.2"></path>
|
|
20
|
+
<path d="M142.883742,58.5228377 L142.883742,77.2763289 C141.871611,77.3358255 140.919091,77.395437 139.906959,77.395437 C138.894828,77.395437 137.942308,77.3359404 136.930176,77.2763289 C134.920615,77.1429784 132.927594,76.8241317 130.976725,76.3238089 C118.920852,73.4687758 108.960799,65.0138256 104.186024,53.5815182 C103.364442,51.6616615 102.726634,49.6681806 102.280869,47.6280672 L131.988742,47.6280672 C137.996406,47.6508092 142.860885,52.5151736 142.883742,58.5228377 Z" fill="#000000" opacity="0.1"></path>
|
|
21
|
+
<path d="M136.930291,64.4762887 L136.930291,77.2763289 C134.92073,77.1429784 132.927709,76.8241317 130.97684,76.3238089 C118.920967,73.4687758 108.960914,65.0138256 104.186139,53.5815182 L126.035406,53.5815182 C132.042955,53.6042602 136.907435,58.4687395 136.930291,64.4762887 Z" fill="#000000" opacity="0.2"></path>
|
|
22
|
+
<path d="M136.930291,64.4762887 L136.930291,77.2763289 C134.92073,77.1429784 132.927709,76.8241317 130.97684,76.3238089 C118.920967,73.4687758 108.960914,65.0138256 104.186139,53.5815182 L126.035406,53.5815182 C132.042955,53.6042602 136.907435,58.4687395 136.930291,64.4762887 Z" fill="#000000" opacity="0.2"></path>
|
|
23
|
+
<path d="M130.976725,64.4762887 L130.976725,76.3236941 C118.920852,73.468661 108.960799,65.0137108 104.186024,53.5814034 L120.08184,53.5814034 C126.089504,53.6042602 130.953869,58.4687395 130.976725,64.4762887 Z" fill="#000000" opacity="0.2"></path>
|
|
24
|
+
<path d="M10.9126884,53.5814034 L120.063922,53.5814034 C126.090883,53.5814034 130.976611,58.4672463 130.976611,64.4940918 L130.976611,173.645326 C130.976611,179.672286 126.090768,184.558014 120.063922,184.558014 L10.9126884,184.558014 C4.88572809,184.558014 0,179.672171 0,173.645326 L0,64.4940918 C0,58.4672463 4.88584295,53.5814034 10.9126884,53.5814034 Z" fill="url(#Teams-linearGradient-1)"></path>
|
|
25
|
+
<polygon fill="#FFFFFF" points="94.2080524 95.1248514 72.3884185 95.1248514 72.3884185 154.540713 58.4871168 154.540713 58.4871168 95.1248514 36.768788 95.1248514 36.768788 83.5989345 94.2080524 83.5989345"></polygon>
|
|
26
|
+
</g>
|
|
27
|
+
</svg>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg width="256px" height="180px" viewBox="0 0 256 180" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
|
|
3
|
+
<g>
|
|
4
|
+
<path d="M106.553203,159.610976 C114.801129,168.204994 126.284107,173.534815 138.983873,173.534815 C155.865892,173.534815 170.594851,164.121105 178.438396,150.146262 C185.254593,153.191874 192.799405,154.885905 200.737669,154.885905 C231.186506,154.885905 255.871995,129.985475 255.871995,99.2706935 C255.871995,68.5522694 231.186506,43.651839 200.737669,43.651839 C197.021731,43.651839 193.389583,44.0234329 189.877657,44.7338328 C182.970383,32.4129469 169.807947,24.0885163 154.700107,24.0885163 C148.375726,24.0885163 142.393793,25.5493901 137.067615,28.1469039 C130.065621,11.6765534 113.751923,0.127999726 94.7387049,0.127999726 C74.9385822,0.127999726 58.0638501,12.6565411 51.5864595,30.2271008 C48.7557888,29.6259931 45.8231119,29.3126885 42.8139304,29.3126885 C19.23958,29.3126885 0.127998772,48.6209959 0.127998772,72.4430755 C0.127998772,88.4070383 8.71473094,102.34545 21.4727861,109.802829 C18.8461277,115.846693 17.3852539,122.517167 17.3852539,129.53009 C17.3852539,156.926028 39.6262381,179.134225 67.0586069,179.134225 C83.1646497,179.134225 97.4782987,171.476477 106.553203,159.610976" fill="#00A1E0" transform="translate(127.999997, 89.631112) scale(1, -1) translate(-127.999997, -89.631112) "></path>
|
|
5
|
+
<path d="M37.1700744,75.3309413 C37.009779,74.9119875 37.2283636,74.8245536 37.2793667,74.7516921 C37.7602528,74.4019567 38.2484251,74.1505844 38.7402405,73.8700675 C41.3486835,72.4856983 43.8114035,72.0813168 46.3870588,72.0813168 C51.6330895,72.0813168 54.8900002,74.8719136 54.8900002,79.3638274 L54.8900002,79.4512613 C54.8900002,83.6043689 51.2141357,85.1126027 47.7641419,86.2018827 L47.3160434,86.3476058 C44.7148866,87.1927996 42.4707512,87.921415 42.4707512,89.6336611 L42.4707512,89.724738 C42.4707512,91.1892549 43.7822589,92.2676057 45.8150958,92.2676057 C48.0738034,92.2676057 50.755108,91.5171318 52.4819264,90.5626457 C52.4819264,90.5626457 52.9883141,90.2347688 53.174111,90.7265842 C53.2761172,90.9888857 54.1504556,93.3423133 54.2415326,93.5973287 C54.3398956,93.8742026 54.1650279,94.0782149 53.9865172,94.1875072 C52.0156126,95.3860795 49.2905911,96.2057718 46.4708496,96.2057718 L45.9462465,96.2021287 C41.1446712,96.2021287 37.7930405,93.3022395 37.7930405,89.1454888 L37.7930405,89.058055 C37.7930405,84.6754335 41.4907635,83.2546335 44.9553296,82.2637166 L45.5127204,82.092492 C48.0373727,81.3165166 50.2122895,80.6498336 50.2122895,78.872012 L50.2122895,78.7845782 C50.2122895,77.1597659 48.7987757,75.9502644 46.5182096,75.9502644 C45.6329419,75.9502644 42.8095574,75.9684798 39.760302,77.8956674 C39.3923513,78.110609 39.1774097,78.2672613 38.8932497,78.4384859 C38.7438836,78.5332059 38.3686467,78.6971444 38.2047082,78.2016859 L37.1700744,75.3309413 L37.1700744,75.3309413 Z" fill="#FFFFFF" transform="translate(46.001138, 84.143544) scale(1, -1) translate(-46.001138, -84.143544) "></path>
|
|
6
|
+
<path d="M113.969779,75.3309413 C113.809484,74.9119875 114.028068,74.8245536 114.079072,74.7516921 C114.559958,74.4019567 115.04813,74.1505844 115.539945,73.8700675 C118.148388,72.4856983 120.611108,72.0813168 123.186764,72.0813168 C128.432794,72.0813168 131.689705,74.8719136 131.689705,79.3638274 L131.689705,79.4512613 C131.689705,83.6043689 128.013841,85.1126027 124.563847,86.2018827 L124.115748,86.3476058 C121.514591,87.1927996 119.270456,87.921415 119.270456,89.6336611 L119.270456,89.724738 C119.270456,91.1892549 120.581964,92.2676057 122.614801,92.2676057 C124.873508,92.2676057 127.554813,91.5171318 129.281631,90.5626457 C129.281631,90.5626457 129.788019,90.2347688 129.973816,90.7265842 C130.075822,90.9888857 130.95016,93.3423133 131.041237,93.5973287 C131.1396,93.8742026 130.964733,94.0782149 130.786222,94.1875072 C128.815317,95.3860795 126.090296,96.2057718 123.270554,96.2057718 L122.745951,96.2021287 C117.944376,96.2021287 114.592745,93.3022395 114.592745,89.1454888 L114.592745,89.058055 C114.592745,84.6754335 118.290468,83.2546335 121.755034,82.2637166 L122.312425,82.092492 C124.837077,81.3165166 127.015637,80.6498336 127.015637,78.872012 L127.015637,78.7845782 C127.015637,77.1597659 125.598481,75.9502644 123.317914,75.9502644 C122.432647,75.9502644 119.609262,75.9684798 116.560007,77.8956674 C116.192056,78.110609 115.973471,78.2599751 115.696598,78.4384859 C115.601878,78.5004182 115.157422,78.6716428 115.004413,78.2016859 L113.969779,75.3309413 L113.969779,75.3309413 Z" fill="#FFFFFF" transform="translate(122.800843, 84.143544) scale(1, -1) translate(-122.800843, -84.143544) "></path>
|
|
7
|
+
<path d="M166.398769,84.1136744 C166.398769,81.5744499 165.925169,79.5744007 164.992541,78.1608868 C164.070843,76.7619453 162.675544,76.08069 160.730141,76.08069 C158.781095,76.08069 157.393083,76.7583022 156.485956,78.1608868 C155.567901,79.5707576 155.101587,81.5744499 155.101587,84.1136744 C155.101587,86.6492559 155.567901,88.6456621 156.485956,90.0446036 C157.393083,91.4289728 158.781095,92.102942 160.730141,92.102942 C162.675544,92.102942 164.070843,91.4289728 164.996184,90.0446036 C165.925169,88.6456621 166.398769,86.6492559 166.398769,84.1136744 M170.777747,88.8205297 C170.347864,90.2741174 169.677538,91.5564805 168.784984,92.623902 C167.89243,93.6949666 166.763076,94.5547327 165.422424,95.181342 C164.085415,95.8043081 162.504319,96.1212558 160.730141,96.1212558 C158.95232,96.1212558 157.371224,95.8043081 156.034215,95.181342 C154.693563,94.5547327 153.564209,93.6949666 152.668012,92.623902 C151.779101,91.5528374 151.108775,90.2704743 150.675249,88.8205297 C150.249009,87.3742282 150.034067,85.7931329 150.034067,84.1136744 C150.034067,82.434216 150.249009,80.8494776 150.675249,79.4068191 C151.108775,77.9568745 151.775458,76.6745115 152.671655,75.6034469 C153.564209,74.5323823 154.697206,73.6762592 156.034215,73.0678654 C157.374867,72.4594715 158.95232,72.14981 160.730141,72.14981 C162.504319,72.14981 164.081772,72.4594715 165.422424,73.0678654 C166.759433,73.6762592 167.89243,74.5323823 168.784984,75.6034469 C169.677538,76.6708684 170.347864,77.9532315 170.777747,79.4068191 C171.20763,80.8531206 171.422572,82.4378591 171.422572,84.1136744 C171.422572,85.7894898 171.20763,87.3742282 170.777747,88.8205297" fill="#FFFFFF" transform="translate(160.728320, 84.135533) scale(1, -1) translate(-160.728320, -84.135533) "></path>
|
|
8
|
+
<path d="M206.737482,76.7251427 C206.591759,77.1513827 206.180091,76.9910873 206.180091,76.9910873 C205.542553,76.7470012 204.864941,76.5211304 204.143612,76.408195 C203.411353,76.2952596 202.606233,76.2369704 201.742824,76.2369704 C199.622553,76.2369704 197.939452,76.8672227 196.733593,78.113155 C195.524092,79.3590873 194.846479,81.3737088 194.853766,84.0987303 C194.861052,86.5796656 195.458516,88.444921 196.533224,89.8657209 C197.600645,91.2792348 199.225458,92.0042071 201.393088,92.0042071 C203.200055,92.0042071 204.577138,91.7965517 206.019796,91.3411671 C206.019796,91.3411671 206.365888,91.1918009 206.529827,91.6435424 C206.91235,92.7073209 207.19651,93.468724 207.604535,94.6381516 C207.721113,94.9696716 207.436953,95.1117516 207.334947,95.1518255 C206.766627,95.3740532 205.425975,95.7347178 204.413199,95.887727 C203.465999,96.0334501 202.358504,96.1099547 201.127144,96.1099547 C199.28739,96.1099547 197.648005,95.7966501 196.245421,95.1700409 C194.846479,94.5470747 193.658836,93.6873086 192.718922,92.616244 C191.779009,91.5451794 191.064966,90.2628163 190.587723,88.8128717 C190.114123,87.3665702 189.873679,85.7781887 189.873679,84.0987303 C189.873679,80.4665826 190.853667,77.5302627 192.788141,75.3808473 C194.726258,73.2241458 197.637076,72.1275797 201.433162,72.1275797 C203.677298,72.1275797 205.979722,72.5829643 207.633679,73.2350751 C207.633679,73.2350751 207.950627,73.3880843 207.81219,73.756035 L206.737482,76.7251427 L206.737482,76.7251427 Z" fill="#FFFFFF" transform="translate(198.860433, 84.118767) scale(1, -1) translate(-198.860433, -84.118767) "></path>
|
|
9
|
+
<path d="M214.399204,86.5520198 C214.606859,87.9618906 214.996668,89.1349613 215.597776,90.0493736 C216.504902,91.4373859 217.889271,92.198789 219.834675,92.198789 C221.780078,92.198789 223.066084,91.4337428 223.987782,90.0493736 C224.599819,89.1349613 224.865764,87.9108875 224.971413,86.5520198 L214.399204,86.5520198 L214.399204,86.5520198 Z M229.142736,89.6522783 C228.771142,91.0548629 227.849444,92.4720198 227.244693,93.1204874 C226.290207,94.1478351 225.357579,94.8655213 224.432238,95.2662597 C223.222736,95.7835766 221.772791,96.1260258 220.18441,96.1260258 C218.333727,96.1260258 216.654268,95.8163643 215.291758,95.1751828 C213.925604,94.5340013 212.778035,93.6596628 211.878195,92.5703828 C210.978355,91.4847459 210.300742,90.1914536 209.870859,88.7232937 C209.437333,87.2624198 209.218749,85.6703952 209.218749,83.9909368 C209.218749,82.2823338 209.444619,80.6903092 209.892718,79.25858 C210.344459,77.8159215 211.065789,76.5444877 212.042133,75.4916385 C213.014835,74.4315031 214.268053,73.6008816 215.769001,73.0216324 C217.259019,72.4460262 219.069628,72.1472939 221.149825,72.150937 C225.430441,72.1655093 227.685505,73.1199955 228.61449,73.6336693 C228.778428,73.7247462 228.935081,73.8850416 228.738354,74.3440693 L227.769296,77.0581615 C227.623573,77.4625431 227.211905,77.3131769 227.211905,77.3131769 C226.15177,76.9197246 224.643536,76.2129677 221.127967,76.2202539 C218.829185,76.2238969 217.124225,76.9015092 216.056804,77.9616446 C214.960238,79.0472815 214.424705,80.6429492 214.329985,82.8943707 L229.153665,82.8797984 C229.153665,82.8797984 229.543474,82.8870845 229.583548,83.2659645 C229.598121,83.4262599 230.093579,86.3115768 229.142736,89.6522783 L229.142736,89.6522783 Z" fill="#FFFFFF" transform="translate(219.472103, 84.138465) scale(1, -1) translate(-219.472103, -84.138465) "></path>
|
|
10
|
+
<path d="M95.6829901,86.5520198 C95.8942885,87.9618906 96.2804547,89.1349613 96.8815624,90.0493736 C97.7886885,91.4373859 99.1730577,92.198789 101.118461,92.198789 C103.063864,92.198789 104.34987,91.4337428 105.275211,90.0493736 C105.883605,89.1349613 106.14955,87.9108875 106.255199,86.5520198 L95.6829901,86.5520198 L95.6829901,86.5520198 Z M110.422879,89.6522783 C110.051285,91.0548629 109.13323,92.4720198 108.528479,93.1204874 C107.573993,94.1478351 106.641365,94.8655213 105.716024,95.2662597 C104.506522,95.7835766 103.056578,96.1260258 101.468196,96.1260258 C99.6211562,96.1260258 97.9380547,95.8163643 96.5755439,95.1751828 C95.2093901,94.5340013 94.0618209,93.6596628 93.1619809,92.5703828 C92.2621409,91.4847459 91.5845286,90.1914536 91.1546455,88.7232937 C90.7247625,87.2624198 90.5025348,85.6703952 90.5025348,83.9909368 C90.5025348,82.2823338 90.7284055,80.6903092 91.176504,79.25858 C91.6282455,77.8159215 92.3495747,76.5444877 93.3259193,75.4916385 C94.2986209,74.4315031 95.5518393,73.6008816 97.052787,73.0216324 C98.5428054,72.4460262 100.353415,72.1472939 102.433612,72.150937 C106.714227,72.1655093 108.969291,73.1199955 109.898276,73.6336693 C110.062214,73.7247462 110.218867,73.8850416 110.022141,74.3440693 L109.056725,77.0581615 C108.907359,77.4625431 108.495691,77.3131769 108.495691,77.3131769 C107.435556,76.9197246 105.930965,76.2129677 102.40811,76.2202539 C100.112972,76.2238969 98.4080116,76.9015092 97.3405901,77.9616446 C96.2440239,79.0472815 95.7084916,80.6429492 95.6137716,82.8943707 L110.437451,82.8797984 C110.437451,82.8797984 110.827261,82.8870845 110.867334,83.2659645 C110.881907,83.4262599 111.377365,86.3115768 110.422879,89.6522783 L110.422879,89.6522783 Z" fill="#FFFFFF" transform="translate(100.755643, 84.138465) scale(1, -1) translate(-100.755643, -84.138465) "></path>
|
|
11
|
+
<path d="M63.6417638,76.8187739 C63.0625146,77.2814447 62.9823669,77.3980231 62.7856408,77.6967554 C62.4941946,78.15214 62.3448285,78.8006077 62.3448285,79.6239431 C62.3448285,80.9281646 62.7747115,81.8644354 63.6672654,82.4946877 C63.6563361,82.4910446 64.9423423,83.6058261 67.9660961,83.5657523 C70.0900099,83.5366076 71.9880529,83.223303 71.9880529,83.223303 L71.9880529,76.4836108 L71.991696,76.4836108 C71.991696,76.4836108 70.1082253,76.0792293 67.9879545,75.9517216 C64.9714869,75.7695678 63.6308346,76.822417 63.6417638,76.8187739 M69.5399053,87.2343307 C68.9387976,87.2780476 68.1591792,87.3035491 67.2265515,87.3035491 C65.9551176,87.3035491 64.7274007,87.1432537 63.5761885,86.8335922 C62.41769,86.5239307 61.37577,86.0394014 60.4795731,85.3982199 C59.5797331,84.7533953 58.8547608,83.9300599 58.3301578,82.9537153 C57.8055547,81.9773707 57.5396101,80.8261584 57.5396101,79.5365092 C57.5396101,78.2250016 57.7654809,77.0847185 58.2172224,76.1520908 C58.6689639,75.2158201 59.3210747,74.4362016 60.1516962,73.8350939 C60.9750316,73.2339863 61.99145,72.793174 63.1718069,72.5272294 C64.3339484,72.2612847 65.6527423,72.1264909 67.0954007,72.1264909 C68.6145638,72.1264909 70.1300837,72.2503555 71.5982437,72.5017278 C73.0518314,72.749457 74.836939,73.1101217 75.3323975,73.223057 C75.8242129,73.3396355 76.3706744,73.4890016 76.3706744,73.4890016 C76.7386252,73.5800786 76.7094806,73.9735309 76.7094806,73.9735309 L76.7021944,87.5294199 C76.7021944,90.5021706 75.9080036,92.7062321 74.3451237,94.0723859 C72.7895298,95.4348967 70.4980345,96.1234382 67.536213,96.1234382 C66.4250746,96.1234382 64.6363238,95.970429 63.5652592,95.7554874 C63.5652592,95.7554874 60.3265639,95.1288782 58.9931978,94.0869582 C58.9931978,94.0869582 58.7017516,93.9048044 58.862047,93.4967798 L59.9112531,90.6770383 C60.0424039,90.3127306 60.3957824,90.4365952 60.3957824,90.4365952 C60.3957824,90.4365952 60.5087177,90.4803121 60.6398685,90.5568168 C63.4923977,92.1087675 67.0990438,92.0614075 67.0990438,92.0614075 C68.7019976,92.0614075 69.9333576,91.7408167 70.7639791,91.1032783 C71.5727422,90.4839552 71.9844099,89.5476845 71.9844099,87.5731368 L71.9844099,86.9465276 C70.709333,87.1286814 69.5399053,87.2343307 69.5399053,87.2343307" fill="#FFFFFF" transform="translate(67.124818, 84.124965) scale(1, -1) translate(-67.124818, -84.124965) "></path>
|
|
12
|
+
<path d="M189.099133,94.6589745 C189.212069,94.9941376 188.975269,95.1544329 188.876906,95.1908637 C188.625533,95.2892268 187.365029,95.5551714 186.392327,95.6171037 C184.530715,95.7300391 183.496081,95.4167345 182.57074,95.0014237 C181.652684,94.586113 180.632623,93.9157868 180.064303,93.1543837 L180.064303,94.9577068 C180.064303,95.2090791 179.885792,95.4094483 179.638063,95.4094483 L175.838334,95.4094483 C175.590604,95.4094483 175.412094,95.2090791 175.412094,94.9577068 L175.412094,72.8478733 C175.412094,72.6001441 175.616106,72.3961318 175.863835,72.3961318 L179.758284,72.3961318 C180.006014,72.3961318 180.206383,72.6001441 180.206383,72.8478733 L180.206383,83.8936824 C180.206383,85.3764146 180.370321,86.8555038 180.698198,87.7844884 C181.018789,88.7025438 181.455958,89.4384453 181.995134,89.9666915 C182.537952,90.4912946 183.153632,90.8592453 183.827601,91.0669007 C184.516143,91.2781992 185.277546,91.3474176 185.816721,91.3474176 C186.592697,91.3474176 187.445177,91.1470484 187.445177,91.1470484 C187.729337,91.1142607 187.889632,91.2891284 187.984352,91.5477868 C188.239367,92.2253991 188.960697,94.254593 189.099133,94.6589745" fill="#FFFFFF" transform="translate(182.270544, 84.018248) scale(1, -1) translate(-182.270544, -84.018248) "></path>
|
|
13
|
+
<path d="M152.543767,105.761574 C152.070167,105.907297 151.640284,106.00566 151.07925,106.111309 C150.51093,106.213316 149.833318,106.264319 149.064629,106.264319 C146.383324,106.264319 144.270339,105.506559 142.787607,104.012897 C141.312161,102.526522 140.310315,100.264171 139.80757,97.2877773 L139.625416,96.2859312 L136.259213,96.2859312 C136.259213,96.2859312 135.851189,96.3005035 135.763755,95.8560481 L135.21365,92.770362 C135.173577,92.4789159 135.301084,92.2931189 135.694537,92.2931189 L138.969663,92.2931189 L135.647177,73.7425715 C135.388518,72.24891 135.089786,71.0211931 134.758266,70.0885655 C134.434032,69.1705101 134.117084,68.4819686 133.723632,67.9792239 C133.344752,67.4983378 132.98773,67.1413163 132.368407,66.9336609 C131.858377,66.7624363 131.268198,66.6822886 130.623374,66.6822886 C130.266352,66.6822886 129.789109,66.7405778 129.43573,66.8134393 C129.085995,66.8826578 128.900198,66.9591624 128.634254,67.0720978 C128.634254,67.0720978 128.251731,67.2178209 128.098721,66.8352978 C127.9785,66.5183501 127.104161,64.1175625 126.998512,63.8224732 C126.896506,63.527384 127.042229,63.2978702 127.228026,63.2286517 C127.665195,63.0756425 127.989429,62.9736363 128.583251,62.8315563 C129.406586,62.6384733 130.102414,62.627544 130.754524,62.627544 C132.117035,62.627544 133.362967,62.8206271 134.393958,63.1922209 C135.428592,63.5674579 136.332075,64.2195686 137.133552,65.1011932 C137.996961,66.0556794 138.53978,67.0538824 139.057096,68.4200362 C139.57077,69.7679747 140.011583,71.44379 140.361318,73.3964792 L143.702019,92.2931189 L148.583742,92.2931189 C148.583742,92.2931189 148.99541,92.2785466 149.079201,92.7266451 L149.632949,95.8086881 C149.669379,96.1037773 149.545515,96.2859312 149.148419,96.2859312 L144.408776,96.2859312 C144.434278,96.3915804 144.649219,98.0601096 145.192038,99.6302757 C145.425195,100.296959 145.862364,100.839777 146.230315,101.211371 C146.594623,101.575679 147.013576,101.834337 147.472604,101.983703 C147.942561,102.136713 148.478093,102.209574 149.064629,102.209574 C149.509084,102.209574 149.949896,102.158571 150.281416,102.089353 C150.740444,101.99099 150.918955,101.939986 151.039176,101.903556 C151.523706,101.757833 151.589281,101.899913 151.684001,102.13307 L152.816998,105.244257 C152.933576,105.57942 152.645773,105.7215 152.543767,105.761574" fill="#FFFFFF" transform="translate(139.904621, 84.445931) scale(1, -1) translate(-139.904621, -84.445931) "></path>
|
|
14
|
+
<path d="M86.3217408,63.553237 C86.3217408,63.3055078 86.14323,63.1051385 85.8955008,63.1051385 L81.9646209,63.1051385 C81.7168916,63.1051385 81.542024,63.3055078 81.542024,63.553237 L81.542024,95.1897165 C81.542024,95.4374457 81.7168916,95.6378149 81.9646209,95.6378149 L85.8955008,95.6378149 C86.14323,95.6378149 86.3217408,95.4374457 86.3217408,95.1897165 L86.3217408,63.553237 L86.3217408,63.553237 Z" fill="#FFFFFF" transform="translate(83.931882, 79.371477) scale(1, -1) translate(-83.931882, -79.371477) "></path>
|
|
15
|
+
</g>
|
|
16
|
+
</svg>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg width="256px" height="292px" viewBox="0 0 256 292" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
|
|
3
|
+
<g>
|
|
4
|
+
<path d="M223.773626,57.3402078 C223.572932,55.8793405 222.29409,55.0718963 221.236945,54.9832175 C220.182133,54.8945386 197.853734,53.2399781 197.853734,53.2399781 C197.853734,53.2399781 182.346604,37.8448639 180.64537,36.1412966 C178.941803,34.4377293 175.616346,34.9558004 174.325836,35.336186 C174.134476,35.3921937 170.937371,36.3793293 165.646977,38.0152206 C160.466266,23.1101737 151.325344,9.41162582 135.241802,9.41162582 C134.798408,9.41162582 134.341011,9.43029505 133.883615,9.45596525 C129.309654,3.40713457 123.643542,0.779440373 118.74987,0.779440373 C81.285392,0.779440373 63.3862673,47.6135387 57.7738299,71.414474 C43.2164974,75.9254268 32.8737437,79.1318671 31.5528956,79.5472575 C23.4271131,82.0956074 23.1704111,82.3523094 22.1039313,90.0090275 C21.2988208,95.8058236 0.0369009009,260.235071 0.0369009009,260.235071 L165.714653,291.277334 L255.485648,271.856667 C255.485648,271.856667 223.971987,58.8010751 223.773626,57.3402078 L223.773626,57.3402078 Z M156.48972,40.8482763 C152.328815,42.1364532 147.598499,43.5996542 142.471461,45.1865388 C142.476129,44.1994032 142.480796,43.2262696 142.480796,42.1644571 C142.480796,32.8998514 141.194953,25.4414939 139.132003,19.5280151 C147.418807,20.5688247 152.937899,29.9967861 156.48972,40.8482763 L156.48972,40.8482763 Z M128.852258,21.3646006 C131.155574,27.1380602 132.65378,35.4225312 132.65378,46.6030666 C132.65378,47.1748118 132.649112,47.6975503 132.644445,48.2272897 C123.52686,51.0510108 113.620499,54.1174319 103.690802,57.1931876 C109.265901,35.6768995 119.716003,25.2851391 128.852258,21.3646006 L128.852258,21.3646006 Z M117.720729,10.8281537 C119.337951,10.8281537 120.966841,11.3765623 122.525722,12.4500431 C110.519073,18.099819 97.6489725,32.3304399 92.2138928,60.7473424 C84.2701352,63.2070135 76.506069,65.6106769 69.3277499,67.834649 C75.6939575,46.1596724 90.8113669,10.8281537 117.720729,10.8281537 L117.720729,10.8281537 Z" fill="#95BF46"></path>
|
|
5
|
+
<path d="M221.236945,54.9832175 C220.182133,54.8945386 197.853734,53.2399781 197.853734,53.2399781 C197.853734,53.2399781 182.346604,37.8448639 180.64537,36.1412966 C180.008283,35.5065427 179.149498,35.1821649 178.251042,35.0421456 L165.723988,291.275001 L255.485648,271.856667 C255.485648,271.856667 223.971987,58.8010751 223.773626,57.3402078 C223.572932,55.8793405 222.29409,55.0718963 221.236945,54.9832175" fill="#5E8E3E"></path>
|
|
6
|
+
<path d="M135.241802,104.585029 L124.173282,137.510551 C124.173282,137.510551 114.474617,132.334507 102.586984,132.334507 C85.1592573,132.334507 84.2818035,143.272342 84.2818035,146.028387 C84.2818035,161.066452 123.48252,166.828244 123.48252,202.052414 C123.48252,229.764553 105.90544,247.610004 82.2048516,247.610004 C53.7646126,247.610004 39.2212821,229.90924 39.2212821,229.90924 L46.8359944,204.750118 C46.8359944,204.750118 61.7853808,217.585214 74.4011133,217.585214 C82.6435785,217.585214 85.9970391,211.095323 85.9970391,206.353338 C85.9970391,186.736644 53.8369559,185.861524 53.8369559,153.629098 C53.8369559,126.500372 73.3089633,100.246767 112.614694,100.246767 C127.760108,100.246767 135.241802,104.585029 135.241802,104.585029" fill="#FFFFFF"></path>
|
|
7
|
+
</g>
|
|
8
|
+
</svg>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg width="256px" height="256px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
|
|
3
|
+
<defs>
|
|
4
|
+
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
|
|
5
|
+
<stop stop-color="#0091E6" offset="0%"></stop>
|
|
6
|
+
<stop stop-color="#0079BF" offset="100%"></stop>
|
|
7
|
+
</linearGradient>
|
|
8
|
+
</defs>
|
|
9
|
+
<g>
|
|
10
|
+
<g>
|
|
11
|
+
<rect fill="url(#linearGradient-1)" x="0" y="0" width="256" height="256" rx="25"></rect>
|
|
12
|
+
<rect fill="#FFFFFF" x="144.64" y="33.28" width="78.08" height="112" rx="12"></rect>
|
|
13
|
+
<rect fill="#FFFFFF" x="33.28" y="33.28" width="78.08" height="176" rx="12"></rect>
|
|
14
|
+
</g>
|
|
15
|
+
</g>
|
|
16
|
+
</svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="251px" height="256px" viewBox="0 0 251 256" version="1.1" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid">
|
|
3
|
+
<title>X</title>
|
|
4
|
+
<g>
|
|
5
|
+
<path d="M149.078767,108.398529 L242.331303,0 L220.233437,0 L139.262272,94.1209195 L74.5908396,0 L0,0 L97.7958952,142.3275 L0,256 L22.0991185,256 L107.606755,156.605109 L175.904525,256 L250.495364,256 L149.07334,108.398529 L149.078767,108.398529 Z M118.810995,143.581438 L108.902233,129.408828 L30.0617399,16.6358981 L64.0046968,16.6358981 L127.629893,107.647252 L137.538655,121.819862 L220.243874,240.120681 L186.300917,240.120681 L118.810995,143.586865 L118.810995,143.581438 Z" fill="#000000"></path>
|
|
6
|
+
</g>
|
|
7
|
+
</svg>
|
|
@@ -119,11 +119,7 @@ export function ChatMessageList({
|
|
|
119
119
|
|
|
120
120
|
{!isLoadingHistory && messages.length === 0 && !isStreaming && (
|
|
121
121
|
<div className="flex flex-col items-center justify-center flex-1 text-center min-h-70">
|
|
122
|
-
{!hasConfiguredCredential ?
|
|
123
|
-
<InlineCredentialSetup />
|
|
124
|
-
) : (
|
|
125
|
-
<ChatSuggestionPrompts onSelect={onSendMessage} />
|
|
126
|
-
)}
|
|
122
|
+
{!hasConfiguredCredential ? <InlineCredentialSetup /> : <ChatSuggestionPrompts />}
|
|
127
123
|
</div>
|
|
128
124
|
)}
|
|
129
125
|
|
|
@@ -244,14 +240,7 @@ function SuggestionChips({
|
|
|
244
240
|
// ChatSuggestionPrompts
|
|
245
241
|
// =====================================
|
|
246
242
|
|
|
247
|
-
|
|
248
|
-
{ label: 'Add a node', text: 'Add a JQ transform node after my input that filters active items' },
|
|
249
|
-
{ label: 'Debug flow', text: 'Analyze my current flow and suggest improvements' },
|
|
250
|
-
{ label: 'Connect nodes', text: 'Connect the remaining unlinked nodes in my flow' },
|
|
251
|
-
{ label: 'Explain flow', text: 'Walk me through what this flow does step by step' },
|
|
252
|
-
];
|
|
253
|
-
|
|
254
|
-
function ChatSuggestionPrompts({ onSelect }: { onSelect: (text: string) => void }) {
|
|
243
|
+
function ChatSuggestionPrompts() {
|
|
255
244
|
return (
|
|
256
245
|
<div className="flex flex-col items-center gap-4 px-2">
|
|
257
246
|
<div className="flex items-center justify-center rounded-full size-10 bg-primary/10">
|
|
@@ -261,19 +250,6 @@ function ChatSuggestionPrompts({ onSelect }: { onSelect: (text: string) => void
|
|
|
261
250
|
<p className="text-sm font-medium text-foreground">What can I help with?</p>
|
|
262
251
|
<p className="mt-0.5 text-xs text-muted-foreground">Build, edit, or debug your flows.</p>
|
|
263
252
|
</div>
|
|
264
|
-
<div className="flex flex-col w-full gap-1.5">
|
|
265
|
-
{SUGGESTION_PROMPTS.map((s) => (
|
|
266
|
-
<button
|
|
267
|
-
key={s.label}
|
|
268
|
-
type="button"
|
|
269
|
-
onClick={() => onSelect(s.text)}
|
|
270
|
-
className="flex items-center gap-2 px-3 py-2 text-xs text-left transition-colors border rounded-lg text-foreground/80 border-border/50 bg-muted/20 hover:bg-accent/50 hover:border-border"
|
|
271
|
-
>
|
|
272
|
-
<ChevronRight className="size-3 text-muted-foreground/40 shrink-0" />
|
|
273
|
-
<span>{s.label}</span>
|
|
274
|
-
</button>
|
|
275
|
-
))}
|
|
276
|
-
</div>
|
|
277
253
|
</div>
|
|
278
254
|
);
|
|
279
255
|
}
|
|
@@ -361,7 +337,7 @@ function UserMessageBubble({
|
|
|
361
337
|
value={editValue}
|
|
362
338
|
onChange={(e) => setEditValue(e.target.value)}
|
|
363
339
|
onKeyDown={handleEditKeyDown}
|
|
364
|
-
className="text-xs min-h-
|
|
340
|
+
className="text-xs min-h-10 max-h-30 resize-none"
|
|
365
341
|
rows={2}
|
|
366
342
|
/>
|
|
367
343
|
<div className="flex justify-end gap-1 mt-1">
|
|
@@ -222,7 +222,7 @@ export function ChatToggleButton({ className }: { className?: string }) {
|
|
|
222
222
|
variant="ghost"
|
|
223
223
|
size="sm"
|
|
224
224
|
onClick={togglePanel}
|
|
225
|
-
title={collapsed ? undefined : isOpen ? 'Close
|
|
225
|
+
title={collapsed ? undefined : isOpen ? 'Close Assistant' : 'Open Assistant'}
|
|
226
226
|
className={cn(
|
|
227
227
|
'gap-1.5 hover:bg-accent',
|
|
228
228
|
isOpen
|
|
@@ -231,12 +231,12 @@ export function ChatToggleButton({ className }: { className?: string }) {
|
|
|
231
231
|
className,
|
|
232
232
|
)}
|
|
233
233
|
>
|
|
234
|
-
<MessageSquare className="size-4" />
|
|
234
|
+
<MessageSquare className="size-4.5" />
|
|
235
235
|
{!collapsed && <span className="text-xs font-medium">Chat</span>}
|
|
236
236
|
</Button>
|
|
237
237
|
</TooltipTrigger>
|
|
238
238
|
{collapsed && (
|
|
239
|
-
<TooltipContent side="top">{isOpen ? 'Close
|
|
239
|
+
<TooltipContent side="top">{isOpen ? 'Close Assistant' : 'Open Assistant'}</TooltipContent>
|
|
240
240
|
)}
|
|
241
241
|
</Tooltip>
|
|
242
242
|
);
|