@tangle-network/sandbox-ui 0.99.1 → 0.100.0
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/{WorkflowGraph-DB5F6ZSF.js → WorkflowGraph-AQLN34R3.js} +3 -1
- package/dist/assets.js +1 -1
- package/dist/chat.js +1 -1
- package/dist/{chunk-GTJ5PSK5.js → chunk-3LIXVEEE.js} +1 -0
- package/dist/{chunk-Y4OTBMZS.js → chunk-3W343PY5.js} +201 -93
- package/dist/chunk-BGVEHENC.js +10 -0
- package/dist/{chunk-G7CFCZQ7.js → chunk-IWTLWBPZ.js} +3 -3
- package/dist/{chunk-XKKV3B24.js → chunk-OI7HEWLZ.js} +91 -63
- package/dist/{chunk-JIZCCGD2.js → chunk-WCUIUBG5.js} +1 -1
- package/dist/connectors.js +1 -1
- package/dist/dashboard.d.ts +23 -4
- package/dist/dashboard.js +2 -1
- package/dist/globals.css +346 -143
- package/dist/index.js +5 -4
- package/dist/integrations.d.ts +44 -1
- package/dist/integrations.js +5 -2
- package/dist/{mention-editor-3Q6MYOIU.js → mention-editor-Q3TKSZDL.js} +1 -1
- package/dist/pages.js +7 -7
- package/dist/styles.css +346 -143
- package/dist/tokens.css +259 -140
- package/dist/workbench.js +3 -2
- package/dist/workflows.js +1 -1
- package/dist/workspace.js +2 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -88,7 +88,7 @@ import {
|
|
|
88
88
|
modelProvider,
|
|
89
89
|
snapHarnessToModel,
|
|
90
90
|
validateComposerFiles
|
|
91
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-IWTLWBPZ.js";
|
|
92
92
|
import {
|
|
93
93
|
TOOL_CATEGORY_ICONS,
|
|
94
94
|
cn,
|
|
@@ -134,7 +134,7 @@ import {
|
|
|
134
134
|
dispatchSessionCreated,
|
|
135
135
|
shellShouldRevalidate,
|
|
136
136
|
useOptimisticSessionItems
|
|
137
|
-
} from "./chunk-
|
|
137
|
+
} from "./chunk-OI7HEWLZ.js";
|
|
138
138
|
import {
|
|
139
139
|
BRAND_PRISM_THEME,
|
|
140
140
|
CodeSurface,
|
|
@@ -149,7 +149,7 @@ import {
|
|
|
149
149
|
buildUnifiedPatch,
|
|
150
150
|
computeDiffStats,
|
|
151
151
|
resolveLanguage
|
|
152
|
-
} from "./chunk-
|
|
152
|
+
} from "./chunk-WCUIUBG5.js";
|
|
153
153
|
import {
|
|
154
154
|
FileArtifactPane,
|
|
155
155
|
FilePreview,
|
|
@@ -220,7 +220,7 @@ import {
|
|
|
220
220
|
chatCapableHarnesses,
|
|
221
221
|
parseInsufficientBalance,
|
|
222
222
|
useSidebar
|
|
223
|
-
} from "./chunk-
|
|
223
|
+
} from "./chunk-3W343PY5.js";
|
|
224
224
|
import {
|
|
225
225
|
BillingDashboard,
|
|
226
226
|
InfoPanel,
|
|
@@ -325,6 +325,7 @@ import {
|
|
|
325
325
|
canonicalModelId,
|
|
326
326
|
modelBrandFor
|
|
327
327
|
} from "./chunk-RQZRXKMR.js";
|
|
328
|
+
import "./chunk-BGVEHENC.js";
|
|
328
329
|
import "./chunk-EI44GEQ5.js";
|
|
329
330
|
import {
|
|
330
331
|
OpenUIArtifactRenderer
|
package/dist/integrations.d.ts
CHANGED
|
@@ -151,4 +151,47 @@ interface ConnectInput {
|
|
|
151
151
|
}
|
|
152
152
|
declare function useIntegrations({ apiBaseUrl, fetchImpl, autoLoad, }: UseIntegrationsOptions): UseIntegrationsResult;
|
|
153
153
|
|
|
154
|
-
|
|
154
|
+
/**
|
|
155
|
+
* Provider branding: resolve a connector/provider slug to a logo and render it
|
|
156
|
+
* with graceful fallbacks. Shared by the integrations catalog tiles and the
|
|
157
|
+
* assistant's proposal card (its integration-requirement rows), so both surfaces
|
|
158
|
+
* show the same brand mark for a given provider from one source of truth.
|
|
159
|
+
*
|
|
160
|
+
* Dependency-light on purpose — only React — so it can be pulled into the
|
|
161
|
+
* always-loaded assistant entry without dragging the integrations panel's tree
|
|
162
|
+
* along with it.
|
|
163
|
+
*/
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Ordered candidate logo URLs for a provider slug, most specific first. The
|
|
167
|
+
* renderer walks the chain on each `onError` until one loads, then falls back to
|
|
168
|
+
* the monogram tile.
|
|
169
|
+
*
|
|
170
|
+
* Order: explicit `iconUrl` → full-color vector mark for brands Simple Icons
|
|
171
|
+
* delisted (svgl.app) → a pinned override → the ActivePieces CDN by id (covers
|
|
172
|
+
* most of the hub catalog) → derived simpleicons slugs → monogram.
|
|
173
|
+
*/
|
|
174
|
+
declare function providerLogoCandidates(opts: {
|
|
175
|
+
id: string;
|
|
176
|
+
iconUrl?: string | null;
|
|
177
|
+
}): string[];
|
|
178
|
+
interface ProviderIconProps {
|
|
179
|
+
/** Provider/connector slug, e.g. "github". */
|
|
180
|
+
id: string;
|
|
181
|
+
/** Explicit icon URL, tried before the derived simpleicons slugs. */
|
|
182
|
+
iconUrl?: string | null;
|
|
183
|
+
/** Name for the monogram fallback initial; defaults to the id. */
|
|
184
|
+
displayName?: string;
|
|
185
|
+
/** Square edge length in px. Default 24. */
|
|
186
|
+
size?: number;
|
|
187
|
+
className?: string;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* A provider's brand mark: the resolved logo, walking a candidate chain on load
|
|
191
|
+
* error, and a deterministic monogram tile when no logo resolves. Rounding is
|
|
192
|
+
* left to the caller's `className` so the same component fits a large catalog
|
|
193
|
+
* tile and a small inline requirement row.
|
|
194
|
+
*/
|
|
195
|
+
declare function ProviderIcon({ id, iconUrl, displayName, size, className, }: ProviderIconProps): React.JSX.Element;
|
|
196
|
+
|
|
197
|
+
export { type ConnectInput, type IntegrationConnection, type IntegrationConnector, type IntegrationHealth, type IntegrationProvider, type IntegrationSort, IntegrationsPanel, type IntegrationsPanelProps, ProviderIcon, type ProviderIconProps, type UseIntegrationsOptions, type UseIntegrationsResult, providerLogoCandidates, useIntegrations };
|
package/dist/integrations.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ProviderIcon,
|
|
3
|
-
normalizeProviderId
|
|
4
|
-
|
|
3
|
+
normalizeProviderId,
|
|
4
|
+
providerLogoCandidates
|
|
5
|
+
} from "./chunk-3LIXVEEE.js";
|
|
5
6
|
import "./chunk-CZ7CSFO4.js";
|
|
6
7
|
|
|
7
8
|
// src/integrations/integrations-panel.tsx
|
|
@@ -682,5 +683,7 @@ function useIntegrations({
|
|
|
682
683
|
}
|
|
683
684
|
export {
|
|
684
685
|
IntegrationsPanel,
|
|
686
|
+
ProviderIcon,
|
|
687
|
+
providerLogoCandidates,
|
|
685
688
|
useIntegrations
|
|
686
689
|
};
|
|
@@ -72,7 +72,7 @@ var MentionList = React.forwardRef(
|
|
|
72
72
|
),
|
|
73
73
|
children: [
|
|
74
74
|
loading && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 px-2.5 py-2 text-muted-foreground text-sm", children: [
|
|
75
|
-
/* @__PURE__ */ jsx(Loader2, { className: "size-3.5 animate-spin" }),
|
|
75
|
+
/* @__PURE__ */ jsx(Loader2, { className: "size-3.5 animate-spin", "data-motion": "essential" }),
|
|
76
76
|
"Searching\u2026"
|
|
77
77
|
] }),
|
|
78
78
|
!loading && error && /* @__PURE__ */ jsx("div", { className: "px-2.5 py-2 text-[var(--status-error,#ff4d6d)] text-sm", children: "Couldn\u2019t load matches" }),
|
package/dist/pages.js
CHANGED
|
@@ -637,7 +637,7 @@ function AddSshKeyDialog({
|
|
|
637
637
|
disabled: isSaving,
|
|
638
638
|
className: "inline-flex items-center gap-2 rounded-md bg-primary px-4 py-2 text-sm font-bold text-primary-foreground hover:bg-primary/90 transition-colors disabled:opacity-50 active:scale-[0.97]",
|
|
639
639
|
children: [
|
|
640
|
-
isSaving && /* @__PURE__ */ jsx3(Loader2, { className: "h-4 w-4 animate-spin" }),
|
|
640
|
+
isSaving && /* @__PURE__ */ jsx3(Loader2, { className: "h-4 w-4 animate-spin", "data-motion": "essential" }),
|
|
641
641
|
isSaving ? "Saving..." : "Add key"
|
|
642
642
|
]
|
|
643
643
|
}
|
|
@@ -1677,7 +1677,7 @@ function ProvisioningWizard({
|
|
|
1677
1677
|
disabled: isDeploying || !selectedEnv,
|
|
1678
1678
|
className: "w-full",
|
|
1679
1679
|
children: isDeploying ? /* @__PURE__ */ jsxs4("span", { className: "flex items-center justify-center gap-2", children: [
|
|
1680
|
-
/* @__PURE__ */ jsx4(Loader22, { className: "h-4 w-4 animate-spin" }),
|
|
1680
|
+
/* @__PURE__ */ jsx4(Loader22, { className: "h-4 w-4 animate-spin", "data-motion": "essential" }),
|
|
1681
1681
|
"Spinning up environment..."
|
|
1682
1682
|
] }) : "Deploy Workspace"
|
|
1683
1683
|
}
|
|
@@ -1958,7 +1958,7 @@ function ProfilesPage({
|
|
|
1958
1958
|
/* @__PURE__ */ jsx6("span", { children: error }),
|
|
1959
1959
|
/* @__PURE__ */ jsx6(Button2, { variant: "ghost", size: "sm", onClick: loadProfiles, children: "Retry" })
|
|
1960
1960
|
] }),
|
|
1961
|
-
loading && /* @__PURE__ */ jsx6("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsx6(Loader23, { className: "h-8 w-8 animate-spin text-muted-foreground" }) }),
|
|
1961
|
+
loading && /* @__PURE__ */ jsx6("div", { className: "flex items-center justify-center py-12", children: /* @__PURE__ */ jsx6(Loader23, { className: "h-8 w-8 animate-spin text-muted-foreground", "data-motion": "essential" }) }),
|
|
1962
1962
|
!loading && /* @__PURE__ */ jsxs6("div", { className: "space-y-8", children: [
|
|
1963
1963
|
/* @__PURE__ */ jsxs6("section", { children: [
|
|
1964
1964
|
/* @__PURE__ */ jsx6("div", { className: "mb-3 flex items-center justify-between", children: /* @__PURE__ */ jsxs6("h2", { className: "font-medium text-lg", children: [
|
|
@@ -2317,7 +2317,7 @@ function ProfileFormDialog({
|
|
|
2317
2317
|
/* @__PURE__ */ jsxs6(DialogFooter2, { children: [
|
|
2318
2318
|
/* @__PURE__ */ jsx6(Button2, { type: "button", variant: "outline", onClick: onClose, children: "Cancel" }),
|
|
2319
2319
|
/* @__PURE__ */ jsxs6(Button2, { type: "submit", disabled: saving || !formData.name, children: [
|
|
2320
|
-
saving && /* @__PURE__ */ jsx6(Loader23, { className: "mr-2 h-4 w-4 animate-spin" }),
|
|
2320
|
+
saving && /* @__PURE__ */ jsx6(Loader23, { className: "mr-2 h-4 w-4 animate-spin", "data-motion": "essential" }),
|
|
2321
2321
|
isEditing ? "Save Changes" : "Create Profile"
|
|
2322
2322
|
] })
|
|
2323
2323
|
] })
|
|
@@ -2372,7 +2372,7 @@ function DeleteProfileDialog({
|
|
|
2372
2372
|
onClick: handleDelete,
|
|
2373
2373
|
disabled: deleting,
|
|
2374
2374
|
children: [
|
|
2375
|
-
deleting && /* @__PURE__ */ jsx6(Loader23, { className: "mr-2 h-4 w-4 animate-spin" }),
|
|
2375
|
+
deleting && /* @__PURE__ */ jsx6(Loader23, { className: "mr-2 h-4 w-4 animate-spin", "data-motion": "essential" }),
|
|
2376
2376
|
"Delete Profile"
|
|
2377
2377
|
]
|
|
2378
2378
|
}
|
|
@@ -3135,7 +3135,7 @@ function SecretsPage({ apiClient, className, teamSecretsHint }) {
|
|
|
3135
3135
|
secrets.length !== 1 ? "s" : ""
|
|
3136
3136
|
] })
|
|
3137
3137
|
] }),
|
|
3138
|
-
loading ? /* @__PURE__ */ jsx7("div", { className: "flex items-center justify-center py-16", children: /* @__PURE__ */ jsx7("div", { className: "h-6 w-6 animate-spin rounded-full border-2 border-muted-foreground border-t-transparent" }) }) : secrets.length === 0 ? /* @__PURE__ */ jsxs7("div", { className: "flex flex-col items-center justify-center py-16 text-center", children: [
|
|
3138
|
+
loading ? /* @__PURE__ */ jsx7("div", { className: "flex items-center justify-center py-16", children: /* @__PURE__ */ jsx7("div", { className: "h-6 w-6 animate-spin rounded-full border-2 border-muted-foreground border-t-transparent", "data-motion": "essential" }) }) : secrets.length === 0 ? /* @__PURE__ */ jsxs7("div", { className: "flex flex-col items-center justify-center py-16 text-center", children: [
|
|
3139
3139
|
/* @__PURE__ */ jsx7(Lock, { className: "h-10 w-10 text-muted-foreground mb-4" }),
|
|
3140
3140
|
/* @__PURE__ */ jsx7("h3", { className: "text-lg font-semibold text-foreground", children: "No secrets yet" }),
|
|
3141
3141
|
/* @__PURE__ */ jsx7("p", { className: "mt-1 text-sm text-muted-foreground max-w-sm", children: "Create a secret to inject into your sandboxes." }),
|
|
@@ -4046,7 +4046,7 @@ function StartupScriptsPage({ apiClient, className }) {
|
|
|
4046
4046
|
scripts.length !== 1 ? "s" : ""
|
|
4047
4047
|
] })
|
|
4048
4048
|
] }),
|
|
4049
|
-
loading ? /* @__PURE__ */ jsx9("div", { className: "flex items-center justify-center py-16", children: /* @__PURE__ */ jsx9("div", { className: "h-6 w-6 animate-spin rounded-full border-2 border-primary border-t-transparent" }) }) : scripts.length === 0 ? /* @__PURE__ */ jsxs9("div", { className: "flex flex-col items-center justify-center py-16 text-center", children: [
|
|
4049
|
+
loading ? /* @__PURE__ */ jsx9("div", { className: "flex items-center justify-center py-16", children: /* @__PURE__ */ jsx9("div", { className: "h-6 w-6 animate-spin rounded-full border-2 border-primary border-t-transparent", "data-motion": "essential" }) }) : scripts.length === 0 ? /* @__PURE__ */ jsxs9("div", { className: "flex flex-col items-center justify-center py-16 text-center", children: [
|
|
4050
4050
|
/* @__PURE__ */ jsx9(Terminal, { className: "h-10 w-10 text-muted-foreground mb-4" }),
|
|
4051
4051
|
/* @__PURE__ */ jsx9("h3", { className: "text-lg font-semibold text-foreground", children: "No startup scripts yet" }),
|
|
4052
4052
|
/* @__PURE__ */ jsx9("p", { className: "mt-1 text-sm text-muted-foreground max-w-sm", children: "Create a script to run automatically when your sandboxes start." }),
|