cowork-os 0.3.21 → 0.3.23
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 +293 -6
- package/connectors/README.md +20 -0
- package/connectors/asana-mcp/README.md +24 -0
- package/connectors/asana-mcp/dist/index.js +427 -0
- package/connectors/asana-mcp/package.json +15 -0
- package/connectors/asana-mcp/src/index.ts +553 -0
- package/connectors/asana-mcp/tsconfig.json +13 -0
- package/connectors/hubspot-mcp/README.md +35 -0
- package/connectors/hubspot-mcp/dist/index.js +454 -0
- package/connectors/hubspot-mcp/package.json +15 -0
- package/connectors/hubspot-mcp/src/index.ts +562 -0
- package/connectors/hubspot-mcp/tsconfig.json +13 -0
- package/connectors/jira-mcp/README.md +49 -0
- package/connectors/jira-mcp/dist/index.js +588 -0
- package/connectors/jira-mcp/package.json +15 -0
- package/connectors/jira-mcp/src/index.ts +711 -0
- package/connectors/jira-mcp/tsconfig.json +13 -0
- package/connectors/linear-mcp/README.md +22 -0
- package/connectors/linear-mcp/dist/index.js +402 -0
- package/connectors/linear-mcp/package.json +15 -0
- package/connectors/linear-mcp/src/index.ts +522 -0
- package/connectors/linear-mcp/tsconfig.json +13 -0
- package/connectors/okta-mcp/README.md +24 -0
- package/connectors/okta-mcp/dist/index.js +411 -0
- package/connectors/okta-mcp/package.json +15 -0
- package/connectors/okta-mcp/src/index.ts +520 -0
- package/connectors/okta-mcp/tsconfig.json +13 -0
- package/connectors/salesforce-mcp/README.md +47 -0
- package/connectors/salesforce-mcp/dist/index.js +584 -0
- package/connectors/salesforce-mcp/package.json +15 -0
- package/connectors/salesforce-mcp/src/index.ts +722 -0
- package/connectors/salesforce-mcp/tsconfig.json +13 -0
- package/connectors/servicenow-mcp/README.md +26 -0
- package/connectors/servicenow-mcp/dist/index.js +400 -0
- package/connectors/servicenow-mcp/package.json +15 -0
- package/connectors/servicenow-mcp/src/index.ts +500 -0
- package/connectors/servicenow-mcp/tsconfig.json +13 -0
- package/connectors/templates/mcp-connector/README.md +31 -0
- package/connectors/templates/mcp-connector/package.json +15 -0
- package/connectors/templates/mcp-connector/src/index.ts +330 -0
- package/connectors/templates/mcp-connector/tsconfig.json +13 -0
- package/connectors/zendesk-mcp/README.md +40 -0
- package/connectors/zendesk-mcp/dist/index.js +431 -0
- package/connectors/zendesk-mcp/package.json +15 -0
- package/connectors/zendesk-mcp/src/index.ts +543 -0
- package/connectors/zendesk-mcp/tsconfig.json +13 -0
- package/dist/electron/electron/agent/daemon.js +25 -0
- package/dist/electron/electron/agent/executor.js +181 -26
- package/dist/electron/electron/agent/llm/anthropic-compatible-provider.js +177 -0
- package/dist/electron/electron/agent/llm/github-copilot-provider.js +97 -0
- package/dist/electron/electron/agent/llm/groq-provider.js +33 -0
- package/dist/electron/electron/agent/llm/index.js +11 -1
- package/dist/electron/electron/agent/llm/kimi-provider.js +33 -0
- package/dist/electron/electron/agent/llm/openai-compatible-provider.js +116 -0
- package/dist/electron/electron/agent/llm/openai-compatible.js +111 -0
- package/dist/electron/electron/agent/llm/openai-oauth.js +2 -1
- package/dist/electron/electron/agent/llm/openrouter-provider.js +1 -1
- package/dist/electron/electron/agent/llm/provider-factory.js +318 -4
- package/dist/electron/electron/agent/llm/types.js +66 -1
- package/dist/electron/electron/agent/llm/xai-provider.js +33 -0
- package/dist/electron/electron/agent/tools/box-tools.js +231 -0
- package/dist/electron/electron/agent/tools/builtin-settings.js +28 -0
- package/dist/electron/electron/agent/tools/dropbox-tools.js +237 -0
- package/dist/electron/electron/agent/tools/google-drive-tools.js +227 -0
- package/dist/electron/electron/agent/tools/notion-tools.js +312 -0
- package/dist/electron/electron/agent/tools/onedrive-tools.js +217 -0
- package/dist/electron/electron/agent/tools/registry.js +541 -0
- package/dist/electron/electron/agent/tools/sharepoint-tools.js +243 -0
- package/dist/electron/electron/agent/tools/shell-tools.js +12 -3
- package/dist/electron/electron/agent/tools/x-tools.js +1 -1
- package/dist/electron/electron/gateway/index.js +1 -0
- package/dist/electron/electron/gateway/router.js +123 -143
- package/dist/electron/electron/ipc/canvas-handlers.js +5 -0
- package/dist/electron/electron/ipc/handlers.js +627 -158
- package/dist/electron/electron/main.js +63 -0
- package/dist/electron/electron/mcp/oauth/connector-oauth.js +333 -0
- package/dist/electron/electron/mcp/registry/MCPRegistryManager.js +503 -154
- package/dist/electron/electron/memory/MemoryService.js +1 -1
- package/dist/electron/electron/preload.js +74 -1
- package/dist/electron/electron/settings/box-manager.js +54 -0
- package/dist/electron/electron/settings/dropbox-manager.js +54 -0
- package/dist/electron/electron/settings/google-drive-manager.js +54 -0
- package/dist/electron/electron/settings/notion-manager.js +56 -0
- package/dist/electron/electron/settings/onedrive-manager.js +54 -0
- package/dist/electron/electron/settings/sharepoint-manager.js +54 -0
- package/dist/electron/electron/utils/box-api.js +153 -0
- package/dist/electron/electron/utils/dropbox-api.js +144 -0
- package/dist/electron/electron/utils/env-migration.js +19 -0
- package/dist/electron/electron/utils/google-drive-api.js +152 -0
- package/dist/electron/electron/utils/notion-api.js +103 -0
- package/dist/electron/electron/utils/onedrive-api.js +113 -0
- package/dist/electron/electron/utils/sharepoint-api.js +109 -0
- package/dist/electron/electron/utils/validation.js +82 -3
- package/dist/electron/electron/utils/x-cli.js +1 -1
- package/dist/electron/shared/channelMessages.js +284 -3
- package/dist/electron/shared/llm-provider-catalog.js +198 -0
- package/dist/electron/shared/types.js +88 -1
- package/package.json +12 -2
- package/src/electron/agent/executor.ts +205 -28
- package/src/electron/agent/llm/anthropic-compatible-provider.ts +214 -0
- package/src/electron/agent/llm/github-copilot-provider.ts +117 -0
- package/src/electron/agent/llm/groq-provider.ts +39 -0
- package/src/electron/agent/llm/index.ts +5 -0
- package/src/electron/agent/llm/kimi-provider.ts +39 -0
- package/src/electron/agent/llm/openai-compatible-provider.ts +153 -0
- package/src/electron/agent/llm/openai-compatible.ts +133 -0
- package/src/electron/agent/llm/openai-oauth.ts +2 -1
- package/src/electron/agent/llm/openrouter-provider.ts +2 -1
- package/src/electron/agent/llm/provider-factory.ts +414 -6
- package/src/electron/agent/llm/types.ts +90 -1
- package/src/electron/agent/llm/xai-provider.ts +39 -0
- package/src/electron/agent/tools/box-tools.ts +239 -0
- package/src/electron/agent/tools/builtin-settings.ts +34 -0
- package/src/electron/agent/tools/dropbox-tools.ts +237 -0
- package/src/electron/agent/tools/google-drive-tools.ts +228 -0
- package/src/electron/agent/tools/notion-tools.ts +330 -0
- package/src/electron/agent/tools/onedrive-tools.ts +217 -0
- package/src/electron/agent/tools/registry.ts +565 -0
- package/src/electron/agent/tools/sharepoint-tools.ts +247 -0
- package/src/electron/agent/tools/shell-tools.ts +11 -3
- package/src/electron/agent/tools/x-tools.ts +1 -1
- package/src/electron/database/SecureSettingsRepository.ts +7 -1
- package/src/electron/gateway/index.ts +1 -0
- package/src/electron/gateway/router.ts +134 -149
- package/src/electron/ipc/canvas-handlers.ts +10 -0
- package/src/electron/ipc/handlers.ts +673 -153
- package/src/electron/main.ts +35 -0
- package/src/electron/mcp/oauth/connector-oauth.ts +448 -0
- package/src/electron/mcp/registry/MCPRegistryManager.ts +343 -12
- package/src/electron/memory/MemoryService.ts +5 -1
- package/src/electron/preload.ts +167 -4
- package/src/electron/settings/box-manager.ts +58 -0
- package/src/electron/settings/dropbox-manager.ts +58 -0
- package/src/electron/settings/google-drive-manager.ts +58 -0
- package/src/electron/settings/notion-manager.ts +60 -0
- package/src/electron/settings/onedrive-manager.ts +58 -0
- package/src/electron/settings/sharepoint-manager.ts +58 -0
- package/src/electron/utils/box-api.ts +184 -0
- package/src/electron/utils/dropbox-api.ts +171 -0
- package/src/electron/utils/env-migration.ts +22 -0
- package/src/electron/utils/google-drive-api.ts +183 -0
- package/src/electron/utils/notion-api.ts +126 -0
- package/src/electron/utils/onedrive-api.ts +137 -0
- package/src/electron/utils/sharepoint-api.ts +132 -0
- package/src/electron/utils/validation.ts +102 -1
- package/src/electron/utils/x-cli.ts +1 -1
- package/src/renderer/App.tsx +20 -2
- package/src/renderer/components/BoxSettings.tsx +203 -0
- package/src/renderer/components/BrowserView.tsx +101 -0
- package/src/renderer/components/BuiltinToolsSettings.tsx +105 -0
- package/src/renderer/components/CanvasPreview.tsx +68 -1
- package/src/renderer/components/ConnectorEnvModal.tsx +116 -0
- package/src/renderer/components/ConnectorSetupModal.tsx +566 -0
- package/src/renderer/components/ConnectorsSettings.tsx +397 -0
- package/src/renderer/components/DropboxSettings.tsx +202 -0
- package/src/renderer/components/GoogleDriveSettings.tsx +201 -0
- package/src/renderer/components/MCPSettings.tsx +56 -0
- package/src/renderer/components/MainContent.tsx +270 -34
- package/src/renderer/components/NotionSettings.tsx +231 -0
- package/src/renderer/components/Onboarding/Onboarding.tsx +13 -1
- package/src/renderer/components/OnboardingModal.tsx +70 -1
- package/src/renderer/components/OneDriveSettings.tsx +212 -0
- package/src/renderer/components/Settings.tsx +611 -8
- package/src/renderer/components/SharePointSettings.tsx +224 -0
- package/src/renderer/components/Sidebar.tsx +25 -9
- package/src/renderer/hooks/useOnboardingFlow.ts +21 -0
- package/src/renderer/styles/index.css +438 -25
- package/src/shared/channelMessages.ts +367 -4
- package/src/shared/llm-provider-catalog.ts +217 -0
- package/src/shared/types.ts +226 -1
|
@@ -536,12 +536,12 @@
|
|
|
536
536
|
background: rgba(255, 255, 255, 0.6) !important;
|
|
537
537
|
}
|
|
538
538
|
|
|
539
|
-
.theme-light .cli-
|
|
539
|
+
.theme-light .cli-action-btn {
|
|
540
540
|
background: rgba(255, 255, 255, 0.8) !important;
|
|
541
541
|
border-color: rgba(0, 0, 0, 0.1) !important;
|
|
542
542
|
}
|
|
543
543
|
|
|
544
|
-
.theme-light .cli-
|
|
544
|
+
.theme-light .cli-action-btn:hover {
|
|
545
545
|
background: rgba(255, 255, 255, 1) !important;
|
|
546
546
|
border-color: var(--color-accent) !important;
|
|
547
547
|
}
|
|
@@ -2047,6 +2047,11 @@ a,
|
|
|
2047
2047
|
border-radius: var(--radius-lg);
|
|
2048
2048
|
}
|
|
2049
2049
|
|
|
2050
|
+
.input-container.drag-over {
|
|
2051
|
+
outline: 1px dashed var(--color-border);
|
|
2052
|
+
background: var(--color-bg-hover);
|
|
2053
|
+
}
|
|
2054
|
+
|
|
2050
2055
|
.input-row {
|
|
2051
2056
|
display: flex;
|
|
2052
2057
|
align-items: center;
|
|
@@ -2102,6 +2107,30 @@ a,
|
|
|
2102
2107
|
gap: 12px;
|
|
2103
2108
|
}
|
|
2104
2109
|
|
|
2110
|
+
.attachment-btn {
|
|
2111
|
+
width: 36px;
|
|
2112
|
+
height: 36px;
|
|
2113
|
+
border-radius: var(--radius-sm);
|
|
2114
|
+
background: var(--color-bg-secondary);
|
|
2115
|
+
border: 1px solid var(--color-border);
|
|
2116
|
+
color: var(--color-text);
|
|
2117
|
+
cursor: pointer;
|
|
2118
|
+
display: flex;
|
|
2119
|
+
align-items: center;
|
|
2120
|
+
justify-content: center;
|
|
2121
|
+
transition: all 0.2s ease;
|
|
2122
|
+
}
|
|
2123
|
+
|
|
2124
|
+
.attachment-btn:hover {
|
|
2125
|
+
background: var(--color-bg-hover);
|
|
2126
|
+
color: var(--color-text);
|
|
2127
|
+
}
|
|
2128
|
+
|
|
2129
|
+
.attachment-btn:disabled {
|
|
2130
|
+
opacity: 0.6;
|
|
2131
|
+
cursor: not-allowed;
|
|
2132
|
+
}
|
|
2133
|
+
|
|
2105
2134
|
.input-add-btn {
|
|
2106
2135
|
width: 28px;
|
|
2107
2136
|
height: 28px;
|
|
@@ -2121,6 +2150,81 @@ a,
|
|
|
2121
2150
|
color: var(--color-text);
|
|
2122
2151
|
}
|
|
2123
2152
|
|
|
2153
|
+
.attachment-panel {
|
|
2154
|
+
width: 100%;
|
|
2155
|
+
max-width: 800px;
|
|
2156
|
+
margin: 0 auto 10px;
|
|
2157
|
+
display: flex;
|
|
2158
|
+
flex-direction: column;
|
|
2159
|
+
gap: 8px;
|
|
2160
|
+
}
|
|
2161
|
+
|
|
2162
|
+
.attachment-error {
|
|
2163
|
+
padding: 6px 10px;
|
|
2164
|
+
border-radius: var(--radius-sm);
|
|
2165
|
+
background: rgba(239, 68, 68, 0.12);
|
|
2166
|
+
border: 1px solid rgba(239, 68, 68, 0.25);
|
|
2167
|
+
color: var(--color-text);
|
|
2168
|
+
font-size: 12px;
|
|
2169
|
+
}
|
|
2170
|
+
|
|
2171
|
+
.attachment-list {
|
|
2172
|
+
display: flex;
|
|
2173
|
+
flex-wrap: wrap;
|
|
2174
|
+
gap: 8px;
|
|
2175
|
+
}
|
|
2176
|
+
|
|
2177
|
+
.attachment-chip {
|
|
2178
|
+
display: flex;
|
|
2179
|
+
align-items: center;
|
|
2180
|
+
gap: 6px;
|
|
2181
|
+
padding: 6px 8px;
|
|
2182
|
+
background: var(--color-bg-tertiary);
|
|
2183
|
+
border: 1px solid var(--color-border-subtle);
|
|
2184
|
+
border-radius: var(--radius-sm);
|
|
2185
|
+
color: var(--color-text-secondary);
|
|
2186
|
+
font-size: 12px;
|
|
2187
|
+
max-width: 260px;
|
|
2188
|
+
}
|
|
2189
|
+
|
|
2190
|
+
.attachment-icon {
|
|
2191
|
+
display: inline-flex;
|
|
2192
|
+
align-items: center;
|
|
2193
|
+
justify-content: center;
|
|
2194
|
+
}
|
|
2195
|
+
|
|
2196
|
+
.attachment-name {
|
|
2197
|
+
overflow: hidden;
|
|
2198
|
+
text-overflow: ellipsis;
|
|
2199
|
+
white-space: nowrap;
|
|
2200
|
+
max-width: 160px;
|
|
2201
|
+
}
|
|
2202
|
+
|
|
2203
|
+
.attachment-size {
|
|
2204
|
+
color: var(--color-text-muted);
|
|
2205
|
+
font-size: 11px;
|
|
2206
|
+
}
|
|
2207
|
+
|
|
2208
|
+
.attachment-remove {
|
|
2209
|
+
background: transparent;
|
|
2210
|
+
border: none;
|
|
2211
|
+
color: var(--color-text-muted);
|
|
2212
|
+
cursor: pointer;
|
|
2213
|
+
display: inline-flex;
|
|
2214
|
+
align-items: center;
|
|
2215
|
+
justify-content: center;
|
|
2216
|
+
padding: 0;
|
|
2217
|
+
}
|
|
2218
|
+
|
|
2219
|
+
.attachment-remove:hover {
|
|
2220
|
+
color: var(--color-text);
|
|
2221
|
+
}
|
|
2222
|
+
|
|
2223
|
+
.attachment-remove:disabled {
|
|
2224
|
+
opacity: 0.5;
|
|
2225
|
+
cursor: not-allowed;
|
|
2226
|
+
}
|
|
2227
|
+
|
|
2124
2228
|
.model-selector {
|
|
2125
2229
|
display: flex;
|
|
2126
2230
|
align-items: center;
|
|
@@ -4055,6 +4159,11 @@ button {
|
|
|
4055
4159
|
border-radius: var(--radius-lg);
|
|
4056
4160
|
}
|
|
4057
4161
|
|
|
4162
|
+
.welcome-input-container.drag-over {
|
|
4163
|
+
outline: 1px dashed var(--color-border);
|
|
4164
|
+
background: var(--color-bg-hover);
|
|
4165
|
+
}
|
|
4166
|
+
|
|
4058
4167
|
.welcome-input {
|
|
4059
4168
|
width: 100%;
|
|
4060
4169
|
padding: 14px 16px;
|
|
@@ -6499,20 +6608,41 @@ button {
|
|
|
6499
6608
|
letter-spacing: 1px;
|
|
6500
6609
|
}
|
|
6501
6610
|
|
|
6502
|
-
/* CLI
|
|
6503
|
-
.cli-
|
|
6611
|
+
/* CLI Action Buttons */
|
|
6612
|
+
.cli-header-actions {
|
|
6613
|
+
display: flex;
|
|
6614
|
+
flex-direction: column;
|
|
6615
|
+
gap: 8px;
|
|
6616
|
+
}
|
|
6617
|
+
|
|
6618
|
+
.cli-action-btn {
|
|
6619
|
+
width: 100%;
|
|
6504
6620
|
display: flex;
|
|
6505
6621
|
align-items: center;
|
|
6506
|
-
gap:
|
|
6507
|
-
background:
|
|
6622
|
+
gap: 8px;
|
|
6623
|
+
background: transparent !important;
|
|
6508
6624
|
border: 1px solid var(--color-border-subtle) !important;
|
|
6625
|
+
border-radius: var(--radius-md);
|
|
6509
6626
|
font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace !important;
|
|
6510
|
-
padding:
|
|
6627
|
+
padding: 8px 12px !important;
|
|
6628
|
+
color: var(--color-text-muted) !important;
|
|
6629
|
+
font-size: 11px !important;
|
|
6630
|
+
letter-spacing: 0.2px;
|
|
6631
|
+
transition: all 0.15s ease;
|
|
6511
6632
|
}
|
|
6512
6633
|
|
|
6513
|
-
.cli-
|
|
6634
|
+
.cli-action-btn:hover {
|
|
6514
6635
|
border-color: var(--color-accent) !important;
|
|
6515
|
-
|
|
6636
|
+
color: var(--color-text) !important;
|
|
6637
|
+
background: rgba(0, 0, 0, 0.12) !important;
|
|
6638
|
+
}
|
|
6639
|
+
|
|
6640
|
+
.cli-new-task-btn {
|
|
6641
|
+
justify-content: flex-start;
|
|
6642
|
+
}
|
|
6643
|
+
|
|
6644
|
+
.cli-mission-control-btn {
|
|
6645
|
+
justify-content: flex-start;
|
|
6516
6646
|
}
|
|
6517
6647
|
|
|
6518
6648
|
.cli-btn-bracket {
|
|
@@ -6524,6 +6654,12 @@ button {
|
|
|
6524
6654
|
font-weight: 600;
|
|
6525
6655
|
}
|
|
6526
6656
|
|
|
6657
|
+
.cli-btn-accent {
|
|
6658
|
+
color: var(--color-accent);
|
|
6659
|
+
font-weight: 700;
|
|
6660
|
+
letter-spacing: 0.6px;
|
|
6661
|
+
}
|
|
6662
|
+
|
|
6527
6663
|
.cli-btn-text {
|
|
6528
6664
|
color: var(--color-text);
|
|
6529
6665
|
}
|
|
@@ -6849,6 +6985,12 @@ button {
|
|
|
6849
6985
|
min-height: 48px !important;
|
|
6850
6986
|
}
|
|
6851
6987
|
|
|
6988
|
+
.cli-footer-actions {
|
|
6989
|
+
display: flex;
|
|
6990
|
+
align-items: center;
|
|
6991
|
+
gap: 8px;
|
|
6992
|
+
}
|
|
6993
|
+
|
|
6852
6994
|
.cli-footer-info {
|
|
6853
6995
|
display: flex;
|
|
6854
6996
|
align-items: center;
|
|
@@ -7614,6 +7756,80 @@ button {
|
|
|
7614
7756
|
background: rgba(239, 68, 68, 0.08);
|
|
7615
7757
|
}
|
|
7616
7758
|
|
|
7759
|
+
.notion-status-badge {
|
|
7760
|
+
display: inline-flex;
|
|
7761
|
+
align-items: center;
|
|
7762
|
+
padding: 4px 10px;
|
|
7763
|
+
border-radius: 999px;
|
|
7764
|
+
font-size: 11px;
|
|
7765
|
+
font-weight: 600;
|
|
7766
|
+
border: 1px solid var(--color-border);
|
|
7767
|
+
background: var(--color-bg-glass);
|
|
7768
|
+
color: var(--color-text-secondary);
|
|
7769
|
+
}
|
|
7770
|
+
|
|
7771
|
+
.notion-status-badge.connected {
|
|
7772
|
+
color: var(--color-success, #22c55e);
|
|
7773
|
+
border-color: rgba(34, 197, 94, 0.35);
|
|
7774
|
+
background: rgba(34, 197, 94, 0.08);
|
|
7775
|
+
}
|
|
7776
|
+
|
|
7777
|
+
.notion-status-badge.configured {
|
|
7778
|
+
color: var(--color-text-secondary);
|
|
7779
|
+
border-color: var(--color-border);
|
|
7780
|
+
}
|
|
7781
|
+
|
|
7782
|
+
.notion-status-badge.missing {
|
|
7783
|
+
color: var(--color-error, #ef4444);
|
|
7784
|
+
border-color: rgba(239, 68, 68, 0.35);
|
|
7785
|
+
background: rgba(239, 68, 68, 0.08);
|
|
7786
|
+
}
|
|
7787
|
+
|
|
7788
|
+
.box-status-badge,
|
|
7789
|
+
.onedrive-status-badge,
|
|
7790
|
+
.google-drive-status-badge,
|
|
7791
|
+
.dropbox-status-badge,
|
|
7792
|
+
.sharepoint-status-badge {
|
|
7793
|
+
display: inline-flex;
|
|
7794
|
+
align-items: center;
|
|
7795
|
+
padding: 4px 10px;
|
|
7796
|
+
border-radius: 999px;
|
|
7797
|
+
font-size: 11px;
|
|
7798
|
+
font-weight: 600;
|
|
7799
|
+
border: 1px solid var(--color-border);
|
|
7800
|
+
background: var(--color-bg-glass);
|
|
7801
|
+
color: var(--color-text-secondary);
|
|
7802
|
+
}
|
|
7803
|
+
|
|
7804
|
+
.box-status-badge.connected,
|
|
7805
|
+
.onedrive-status-badge.connected,
|
|
7806
|
+
.google-drive-status-badge.connected,
|
|
7807
|
+
.dropbox-status-badge.connected,
|
|
7808
|
+
.sharepoint-status-badge.connected {
|
|
7809
|
+
color: var(--color-success, #22c55e);
|
|
7810
|
+
border-color: rgba(34, 197, 94, 0.35);
|
|
7811
|
+
background: rgba(34, 197, 94, 0.08);
|
|
7812
|
+
}
|
|
7813
|
+
|
|
7814
|
+
.box-status-badge.configured,
|
|
7815
|
+
.onedrive-status-badge.configured,
|
|
7816
|
+
.google-drive-status-badge.configured,
|
|
7817
|
+
.dropbox-status-badge.configured,
|
|
7818
|
+
.sharepoint-status-badge.configured {
|
|
7819
|
+
color: var(--color-text-secondary);
|
|
7820
|
+
border-color: var(--color-border);
|
|
7821
|
+
}
|
|
7822
|
+
|
|
7823
|
+
.box-status-badge.missing,
|
|
7824
|
+
.onedrive-status-badge.missing,
|
|
7825
|
+
.google-drive-status-badge.missing,
|
|
7826
|
+
.dropbox-status-badge.missing,
|
|
7827
|
+
.sharepoint-status-badge.missing {
|
|
7828
|
+
color: var(--color-error, #ef4444);
|
|
7829
|
+
border-color: rgba(239, 68, 68, 0.35);
|
|
7830
|
+
background: rgba(239, 68, 68, 0.08);
|
|
7831
|
+
}
|
|
7832
|
+
|
|
7617
7833
|
.settings-toggle {
|
|
7618
7834
|
position: relative;
|
|
7619
7835
|
display: inline-block;
|
|
@@ -9388,6 +9604,26 @@ button {
|
|
|
9388
9604
|
overflow-y: auto;
|
|
9389
9605
|
}
|
|
9390
9606
|
|
|
9607
|
+
.connector-setup-modal .settings-field label {
|
|
9608
|
+
display: block;
|
|
9609
|
+
font-size: 12px;
|
|
9610
|
+
color: var(--color-text-secondary);
|
|
9611
|
+
margin-bottom: 6px;
|
|
9612
|
+
}
|
|
9613
|
+
|
|
9614
|
+
.connector-mode-toggle {
|
|
9615
|
+
display: flex;
|
|
9616
|
+
gap: 8px;
|
|
9617
|
+
flex-wrap: wrap;
|
|
9618
|
+
}
|
|
9619
|
+
|
|
9620
|
+
.connector-setup-actions {
|
|
9621
|
+
margin-top: 12px;
|
|
9622
|
+
display: flex;
|
|
9623
|
+
gap: 8px;
|
|
9624
|
+
flex-wrap: wrap;
|
|
9625
|
+
}
|
|
9626
|
+
|
|
9391
9627
|
.mcp-modal-wide {
|
|
9392
9628
|
max-width: 500px;
|
|
9393
9629
|
}
|
|
@@ -9767,6 +10003,53 @@ button {
|
|
|
9767
10003
|
color: var(--color-text);
|
|
9768
10004
|
}
|
|
9769
10005
|
|
|
10006
|
+
.builtin-tool-advanced {
|
|
10007
|
+
border-top: 1px solid var(--color-border);
|
|
10008
|
+
padding: 12px 16px 4px;
|
|
10009
|
+
display: flex;
|
|
10010
|
+
flex-direction: column;
|
|
10011
|
+
gap: 10px;
|
|
10012
|
+
}
|
|
10013
|
+
|
|
10014
|
+
.builtin-tool-advanced-row {
|
|
10015
|
+
display: flex;
|
|
10016
|
+
align-items: center;
|
|
10017
|
+
justify-content: space-between;
|
|
10018
|
+
gap: 12px;
|
|
10019
|
+
}
|
|
10020
|
+
|
|
10021
|
+
.builtin-tool-advanced-text {
|
|
10022
|
+
display: flex;
|
|
10023
|
+
flex-direction: column;
|
|
10024
|
+
gap: 2px;
|
|
10025
|
+
}
|
|
10026
|
+
|
|
10027
|
+
.builtin-tool-advanced-label {
|
|
10028
|
+
font-size: 12px;
|
|
10029
|
+
font-weight: 600;
|
|
10030
|
+
color: var(--color-text);
|
|
10031
|
+
}
|
|
10032
|
+
|
|
10033
|
+
.builtin-tool-advanced-hint {
|
|
10034
|
+
font-size: 11px;
|
|
10035
|
+
color: var(--color-text-secondary);
|
|
10036
|
+
}
|
|
10037
|
+
|
|
10038
|
+
.builtin-tool-timeout-input {
|
|
10039
|
+
width: 110px;
|
|
10040
|
+
padding: 4px 6px;
|
|
10041
|
+
font-size: 12px;
|
|
10042
|
+
background: var(--color-bg-secondary);
|
|
10043
|
+
border: 1px solid var(--color-border);
|
|
10044
|
+
border-radius: var(--radius-sm);
|
|
10045
|
+
color: var(--color-text);
|
|
10046
|
+
}
|
|
10047
|
+
|
|
10048
|
+
.builtin-tool-timeout-input:disabled {
|
|
10049
|
+
opacity: 0.5;
|
|
10050
|
+
cursor: not-allowed;
|
|
10051
|
+
}
|
|
10052
|
+
|
|
9770
10053
|
.builtin-tool-list {
|
|
9771
10054
|
padding: 0 16px 16px;
|
|
9772
10055
|
display: flex;
|
|
@@ -11309,6 +11592,46 @@ button {
|
|
|
11309
11592
|
gap: 8px;
|
|
11310
11593
|
}
|
|
11311
11594
|
|
|
11595
|
+
.canvas-browser-input-row {
|
|
11596
|
+
display: flex;
|
|
11597
|
+
align-items: center;
|
|
11598
|
+
gap: 8px;
|
|
11599
|
+
padding: 8px 12px;
|
|
11600
|
+
background: rgba(0, 0, 0, 0.2);
|
|
11601
|
+
border-bottom: 1px solid var(--color-border-subtle);
|
|
11602
|
+
}
|
|
11603
|
+
|
|
11604
|
+
.canvas-browser-input {
|
|
11605
|
+
flex: 1;
|
|
11606
|
+
min-width: 160px;
|
|
11607
|
+
padding: 6px 8px;
|
|
11608
|
+
border: 1px solid var(--color-border-subtle);
|
|
11609
|
+
border-radius: 6px;
|
|
11610
|
+
background: var(--color-bg);
|
|
11611
|
+
color: var(--color-text);
|
|
11612
|
+
font-size: 12px;
|
|
11613
|
+
}
|
|
11614
|
+
|
|
11615
|
+
.canvas-browser-btn {
|
|
11616
|
+
padding: 6px 10px;
|
|
11617
|
+
border-radius: 6px;
|
|
11618
|
+
border: 1px solid var(--color-border-subtle);
|
|
11619
|
+
background: var(--color-bg-hover);
|
|
11620
|
+
color: var(--color-text);
|
|
11621
|
+
font-size: 12px;
|
|
11622
|
+
cursor: pointer;
|
|
11623
|
+
transition: all 0.15s ease;
|
|
11624
|
+
}
|
|
11625
|
+
|
|
11626
|
+
.canvas-browser-btn:hover {
|
|
11627
|
+
border-color: var(--color-border);
|
|
11628
|
+
}
|
|
11629
|
+
|
|
11630
|
+
.canvas-browser-btn.ghost {
|
|
11631
|
+
background: transparent;
|
|
11632
|
+
color: var(--color-text-muted);
|
|
11633
|
+
}
|
|
11634
|
+
|
|
11312
11635
|
.canvas-preview-container.minimized .canvas-preview-header {
|
|
11313
11636
|
border-bottom: none;
|
|
11314
11637
|
}
|
|
@@ -11555,6 +11878,81 @@ button {
|
|
|
11555
11878
|
background: rgba(255, 255, 255, 0.9);
|
|
11556
11879
|
}
|
|
11557
11880
|
|
|
11881
|
+
.browser-view {
|
|
11882
|
+
height: calc(100vh - 40px);
|
|
11883
|
+
display: flex;
|
|
11884
|
+
flex-direction: column;
|
|
11885
|
+
background: var(--color-bg);
|
|
11886
|
+
color: var(--color-text);
|
|
11887
|
+
}
|
|
11888
|
+
|
|
11889
|
+
.browser-toolbar {
|
|
11890
|
+
display: flex;
|
|
11891
|
+
align-items: center;
|
|
11892
|
+
gap: 8px;
|
|
11893
|
+
padding: 10px 16px;
|
|
11894
|
+
border-bottom: 1px solid var(--color-border-subtle);
|
|
11895
|
+
background: rgba(0, 0, 0, 0.2);
|
|
11896
|
+
}
|
|
11897
|
+
|
|
11898
|
+
.browser-toolbar-btn {
|
|
11899
|
+
display: inline-flex;
|
|
11900
|
+
align-items: center;
|
|
11901
|
+
gap: 6px;
|
|
11902
|
+
padding: 6px 10px;
|
|
11903
|
+
border-radius: 6px;
|
|
11904
|
+
border: 1px solid var(--color-border-subtle);
|
|
11905
|
+
background: transparent;
|
|
11906
|
+
color: var(--color-text);
|
|
11907
|
+
font-size: 12px;
|
|
11908
|
+
cursor: pointer;
|
|
11909
|
+
transition: all 0.15s ease;
|
|
11910
|
+
}
|
|
11911
|
+
|
|
11912
|
+
.browser-toolbar-btn.primary {
|
|
11913
|
+
background: var(--color-accent);
|
|
11914
|
+
border-color: transparent;
|
|
11915
|
+
color: #0b0b0b;
|
|
11916
|
+
}
|
|
11917
|
+
|
|
11918
|
+
.browser-toolbar-btn:hover {
|
|
11919
|
+
border-color: var(--color-border);
|
|
11920
|
+
}
|
|
11921
|
+
|
|
11922
|
+
.browser-url {
|
|
11923
|
+
display: flex;
|
|
11924
|
+
align-items: center;
|
|
11925
|
+
gap: 8px;
|
|
11926
|
+
flex: 1;
|
|
11927
|
+
}
|
|
11928
|
+
|
|
11929
|
+
.browser-url input {
|
|
11930
|
+
flex: 1;
|
|
11931
|
+
min-width: 200px;
|
|
11932
|
+
padding: 6px 10px;
|
|
11933
|
+
border-radius: 6px;
|
|
11934
|
+
border: 1px solid var(--color-border-subtle);
|
|
11935
|
+
background: var(--color-bg);
|
|
11936
|
+
color: var(--color-text);
|
|
11937
|
+
font-size: 12px;
|
|
11938
|
+
}
|
|
11939
|
+
|
|
11940
|
+
.browser-surface {
|
|
11941
|
+
flex: 1;
|
|
11942
|
+
background: #111;
|
|
11943
|
+
}
|
|
11944
|
+
|
|
11945
|
+
.browser-webview {
|
|
11946
|
+
width: 100%;
|
|
11947
|
+
height: 100%;
|
|
11948
|
+
border: 0;
|
|
11949
|
+
}
|
|
11950
|
+
|
|
11951
|
+
.browser-empty {
|
|
11952
|
+
padding: 20px;
|
|
11953
|
+
color: var(--color-text-muted);
|
|
11954
|
+
}
|
|
11955
|
+
|
|
11558
11956
|
/* Canvas preview quick wins - additional styles */
|
|
11559
11957
|
.canvas-preview-container:focus {
|
|
11560
11958
|
outline: 2px solid var(--color-accent);
|
|
@@ -13834,25 +14232,29 @@ button {
|
|
|
13834
14232
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
13835
14233
|
}
|
|
13836
14234
|
|
|
13837
|
-
/* ==================== MORE CHANNELS PANEL ==================== */
|
|
13838
|
-
.more-channels-panel
|
|
14235
|
+
/* ==================== MORE CHANNELS / INTEGRATIONS PANEL ==================== */
|
|
14236
|
+
.more-channels-panel,
|
|
14237
|
+
.integrations-panel {
|
|
13839
14238
|
display: flex;
|
|
13840
14239
|
flex-direction: column;
|
|
13841
14240
|
gap: 20px;
|
|
13842
14241
|
}
|
|
13843
14242
|
|
|
13844
|
-
.more-channels-header h2
|
|
14243
|
+
.more-channels-header h2,
|
|
14244
|
+
.integrations-header h2 {
|
|
13845
14245
|
margin: 0 0 4px 0;
|
|
13846
14246
|
font-size: 18px;
|
|
13847
14247
|
font-weight: 600;
|
|
13848
14248
|
color: var(--color-text);
|
|
13849
14249
|
}
|
|
13850
14250
|
|
|
13851
|
-
.more-channels-header .settings-description
|
|
14251
|
+
.more-channels-header .settings-description,
|
|
14252
|
+
.integrations-header .settings-description {
|
|
13852
14253
|
margin: 0;
|
|
13853
14254
|
}
|
|
13854
14255
|
|
|
13855
|
-
.more-channels-tabs
|
|
14256
|
+
.more-channels-tabs,
|
|
14257
|
+
.integrations-tabs {
|
|
13856
14258
|
display: flex;
|
|
13857
14259
|
flex-wrap: wrap;
|
|
13858
14260
|
gap: 8px;
|
|
@@ -13862,7 +14264,8 @@ button {
|
|
|
13862
14264
|
border: 1px solid var(--color-border);
|
|
13863
14265
|
}
|
|
13864
14266
|
|
|
13865
|
-
.more-channels-tab
|
|
14267
|
+
.more-channels-tab,
|
|
14268
|
+
.integrations-tab {
|
|
13866
14269
|
display: inline-flex;
|
|
13867
14270
|
align-items: center;
|
|
13868
14271
|
gap: 6px;
|
|
@@ -13878,33 +14281,39 @@ button {
|
|
|
13878
14281
|
white-space: nowrap;
|
|
13879
14282
|
}
|
|
13880
14283
|
|
|
13881
|
-
.more-channels-tab:hover
|
|
14284
|
+
.more-channels-tab:hover,
|
|
14285
|
+
.integrations-tab:hover {
|
|
13882
14286
|
background: var(--color-bg-glass-hover);
|
|
13883
14287
|
color: var(--color-text);
|
|
13884
14288
|
}
|
|
13885
14289
|
|
|
13886
|
-
.more-channels-tab.active
|
|
14290
|
+
.more-channels-tab.active,
|
|
14291
|
+
.integrations-tab.active {
|
|
13887
14292
|
background: var(--color-accent-subtle);
|
|
13888
14293
|
color: var(--color-text);
|
|
13889
14294
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
13890
14295
|
}
|
|
13891
14296
|
|
|
13892
|
-
.more-channels-tab svg
|
|
14297
|
+
.more-channels-tab svg,
|
|
14298
|
+
.integrations-tab svg {
|
|
13893
14299
|
opacity: 0.6;
|
|
13894
14300
|
flex-shrink: 0;
|
|
13895
14301
|
}
|
|
13896
14302
|
|
|
13897
|
-
.more-channels-tab.active svg
|
|
14303
|
+
.more-channels-tab.active svg,
|
|
14304
|
+
.integrations-tab.active svg {
|
|
13898
14305
|
opacity: 1;
|
|
13899
14306
|
color: var(--color-accent);
|
|
13900
14307
|
}
|
|
13901
14308
|
|
|
13902
|
-
.more-channels-tab span
|
|
14309
|
+
.more-channels-tab span,
|
|
14310
|
+
.integrations-tab span {
|
|
13903
14311
|
overflow: hidden;
|
|
13904
14312
|
text-overflow: ellipsis;
|
|
13905
14313
|
}
|
|
13906
14314
|
|
|
13907
|
-
.more-channels-content
|
|
14315
|
+
.more-channels-content,
|
|
14316
|
+
.integrations-content {
|
|
13908
14317
|
border: 1px solid var(--color-border);
|
|
13909
14318
|
border-radius: var(--radius-lg);
|
|
13910
14319
|
background: var(--color-bg-tertiary);
|
|
@@ -13912,21 +14321,25 @@ button {
|
|
|
13912
14321
|
}
|
|
13913
14322
|
|
|
13914
14323
|
/* Light theme overrides */
|
|
13915
|
-
.theme-light .more-channels-tabs
|
|
14324
|
+
.theme-light .more-channels-tabs,
|
|
14325
|
+
.theme-light .integrations-tabs {
|
|
13916
14326
|
background: rgba(0, 0, 0, 0.03);
|
|
13917
14327
|
border-color: rgba(0, 0, 0, 0.12);
|
|
13918
14328
|
}
|
|
13919
14329
|
|
|
13920
|
-
.theme-light .more-channels-tab:hover
|
|
14330
|
+
.theme-light .more-channels-tab:hover,
|
|
14331
|
+
.theme-light .integrations-tab:hover {
|
|
13921
14332
|
background: rgba(0, 0, 0, 0.06);
|
|
13922
14333
|
}
|
|
13923
14334
|
|
|
13924
|
-
.theme-light .more-channels-tab.active
|
|
14335
|
+
.theme-light .more-channels-tab.active,
|
|
14336
|
+
.theme-light .integrations-tab.active {
|
|
13925
14337
|
background: white;
|
|
13926
14338
|
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
|
|
13927
14339
|
}
|
|
13928
14340
|
|
|
13929
|
-
.theme-light .more-channels-content
|
|
14341
|
+
.theme-light .more-channels-content,
|
|
14342
|
+
.theme-light .integrations-content {
|
|
13930
14343
|
background: rgba(255, 255, 255, 0.6);
|
|
13931
14344
|
border-color: rgba(0, 0, 0, 0.12);
|
|
13932
14345
|
}
|