@tangle-network/sandbox-ui 0.116.8 → 0.116.9
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 +3 -0
- package/dist/{WorkflowGraph-B-NsdYz_.js → WorkflowGraph-CzWs8P7y.js} +1 -1
- package/dist/{dashboard-DJQFB7iZ.js → dashboard-DwdEQoqK.js} +457 -381
- package/dist/dashboard.js +1 -1
- package/dist/globals.css +56 -33
- package/dist/{index-l96iy93N.d.ts → index-z_zNuZHm.d.ts} +3 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/integrations.d.ts +192 -52
- package/dist/integrations.js +874 -366
- package/dist/{provider-logo-DjqmConF.js → provider-logo-BiuiO_c2.js} +2 -1
- package/dist/styles.css +56 -33
- package/dist/{workbench-DVOVERx0.js → workbench-DXTqeu9h.js} +17 -3
- package/dist/workbench.d.ts +1 -1
- package/dist/workbench.js +1 -1
- package/dist/workflows.js +1 -1
- package/package.json +1 -1
package/dist/dashboard.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as SidebarRailNav, A as ResourceMeter, B as RailFlyout, C as InvoiceTable, D as canAdminSandbox, E as SandboxCard, F as CreditBalance, G as Sidebar, H as RailModeButton, I as ProfileAvatar, J as SidebarPanelContent, K as SidebarContent, L as RailButton, M as INSUFFICIENT_BALANCE_CODE, N as OutOfCreditsModal, O as ActivityFeed, P as parseInsufficientBalance, Q as SidebarRailHeader, R as RailCollapseToggle, S as PlanCards, T as NewSandboxCard, U as RailSeparator, V as RailHeader, W as RailThemeToggle, X as SidebarRail, Y as SidebarPanelHeader, Z as SidebarRailFooter, _ as HarnessPicker, a as ProcessList, at as SIDEBAR_TOTAL_WIDTH, b as HarnessLogo, c as UsageSummary, d as MetricAreaChart, et as RailTooltip, f as ProfileComparison, g as HARNESS_OPTIONS, h as DashboardLayout, i as NetworkConfig, it as SIDEBAR_RAIL_WIDTH, j as ClusterStatusBar, k as ResourceSnapshot, l as SystemLogsViewer, m as SidebarLayout, n as SnapshotList, nt as SIDEBAR_PANEL_WIDTH, o as PortsList, ot as SidebarProvider, p as ProfileSelector, q as SidebarPanel, r as BackendConfig, rt as SIDEBAR_RAIL_LABELED_WIDTH, s as GitPanel, st as useSidebar, t as PromoBanner, tt as SIDEBAR_MOBILE_WIDTH, u as VariantList, v as chatCapableHarnesses, w as SandboxTable, x as BackendSelector, y as HARNESS_BRAND, z as RailExpandable } from "./dashboard-
|
|
1
|
+
import { $ as SidebarRailNav, A as ResourceMeter, B as RailFlyout, C as InvoiceTable, D as canAdminSandbox, E as SandboxCard, F as CreditBalance, G as Sidebar, H as RailModeButton, I as ProfileAvatar, J as SidebarPanelContent, K as SidebarContent, L as RailButton, M as INSUFFICIENT_BALANCE_CODE, N as OutOfCreditsModal, O as ActivityFeed, P as parseInsufficientBalance, Q as SidebarRailHeader, R as RailCollapseToggle, S as PlanCards, T as NewSandboxCard, U as RailSeparator, V as RailHeader, W as RailThemeToggle, X as SidebarRail, Y as SidebarPanelHeader, Z as SidebarRailFooter, _ as HarnessPicker, a as ProcessList, at as SIDEBAR_TOTAL_WIDTH, b as HarnessLogo, c as UsageSummary, d as MetricAreaChart, et as RailTooltip, f as ProfileComparison, g as HARNESS_OPTIONS, h as DashboardLayout, i as NetworkConfig, it as SIDEBAR_RAIL_WIDTH, j as ClusterStatusBar, k as ResourceSnapshot, l as SystemLogsViewer, m as SidebarLayout, n as SnapshotList, nt as SIDEBAR_PANEL_WIDTH, o as PortsList, ot as SidebarProvider, p as ProfileSelector, q as SidebarPanel, r as BackendConfig, rt as SIDEBAR_RAIL_LABELED_WIDTH, s as GitPanel, st as useSidebar, t as PromoBanner, tt as SIDEBAR_MOBILE_WIDTH, u as VariantList, v as chatCapableHarnesses, w as SandboxTable, x as BackendSelector, y as HARNESS_BRAND, z as RailExpandable } from "./dashboard-DwdEQoqK.js";
|
|
2
2
|
import { n as canonicalModelId, r as modelBrandFor, t as ModelBrandStack } from "./model-brand-hMyDTUqB.js";
|
|
3
3
|
import { a as formatPrice, i as PricingPage, n as TemplateCard, o as BillingDashboard, r as UsageChart, t as InfoPanel } from "./info-panel-C9cqDzOL.js";
|
|
4
4
|
export { ActivityFeed, BackendConfig, BackendSelector, BillingDashboard, ClusterStatusBar, CreditBalance, DashboardLayout, GitPanel, HARNESS_BRAND, HARNESS_OPTIONS, HarnessLogo, HarnessPicker, INSUFFICIENT_BALANCE_CODE, InfoPanel, InvoiceTable, MetricAreaChart, ModelBrandStack, NetworkConfig, NewSandboxCard, OutOfCreditsModal, PlanCards, PortsList, PricingPage, ProcessList, ProfileAvatar, ProfileComparison, ProfileSelector, PromoBanner, RailButton, RailCollapseToggle, RailExpandable, RailFlyout, RailHeader, RailModeButton, RailSeparator, RailThemeToggle, RailTooltip, ResourceMeter, ResourceSnapshot, SIDEBAR_MOBILE_WIDTH, SIDEBAR_PANEL_WIDTH, SIDEBAR_RAIL_LABELED_WIDTH, SIDEBAR_RAIL_WIDTH, SIDEBAR_TOTAL_WIDTH, SandboxCard, SandboxTable, Sidebar, SidebarContent, SidebarLayout, SidebarPanel, SidebarPanelContent, SidebarPanelHeader, SidebarProvider, SidebarRail, SidebarRailFooter, SidebarRailHeader, SidebarRailNav, SnapshotList, SystemLogsViewer, TemplateCard, UsageChart, UsageSummary, VariantList, canAdminSandbox, canonicalModelId, chatCapableHarnesses, formatPrice, modelBrandFor, parseInsufficientBalance, useSidebar };
|
package/dist/globals.css
CHANGED
|
@@ -482,6 +482,9 @@
|
|
|
482
482
|
.col-span-12 {
|
|
483
483
|
grid-column: span 12 / span 12;
|
|
484
484
|
}
|
|
485
|
+
.col-span-full {
|
|
486
|
+
grid-column: 1 / -1;
|
|
487
|
+
}
|
|
485
488
|
.col-start-1 {
|
|
486
489
|
grid-column-start: 1;
|
|
487
490
|
}
|
|
@@ -968,6 +971,9 @@
|
|
|
968
971
|
.max-h-\[70vh\] {
|
|
969
972
|
max-height: 70vh;
|
|
970
973
|
}
|
|
974
|
+
.max-h-\[90dvh\] {
|
|
975
|
+
max-height: 90dvh;
|
|
976
|
+
}
|
|
971
977
|
.max-h-\[90vh\] {
|
|
972
978
|
max-height: 90vh;
|
|
973
979
|
}
|
|
@@ -995,9 +1001,15 @@
|
|
|
995
1001
|
.min-h-8 {
|
|
996
1002
|
min-height: calc(var(--spacing) * 8);
|
|
997
1003
|
}
|
|
1004
|
+
.min-h-9 {
|
|
1005
|
+
min-height: calc(var(--spacing) * 9);
|
|
1006
|
+
}
|
|
998
1007
|
.min-h-10 {
|
|
999
1008
|
min-height: calc(var(--spacing) * 10);
|
|
1000
1009
|
}
|
|
1010
|
+
.min-h-11 {
|
|
1011
|
+
min-height: calc(var(--spacing) * 11);
|
|
1012
|
+
}
|
|
1001
1013
|
.min-h-24 {
|
|
1002
1014
|
min-height: calc(var(--spacing) * 24);
|
|
1003
1015
|
}
|
|
@@ -1322,27 +1334,9 @@
|
|
|
1322
1334
|
.max-w-6xl {
|
|
1323
1335
|
max-width: var(--container-6xl);
|
|
1324
1336
|
}
|
|
1325
|
-
.max-w-26 {
|
|
1326
|
-
max-width: calc(var(--spacing) * 26);
|
|
1327
|
-
}
|
|
1328
|
-
.max-w-28 {
|
|
1329
|
-
max-width: calc(var(--spacing) * 28);
|
|
1330
|
-
}
|
|
1331
|
-
.max-w-36 {
|
|
1332
|
-
max-width: calc(var(--spacing) * 36);
|
|
1333
|
-
}
|
|
1334
1337
|
.max-w-40 {
|
|
1335
1338
|
max-width: calc(var(--spacing) * 40);
|
|
1336
1339
|
}
|
|
1337
|
-
.max-w-44 {
|
|
1338
|
-
max-width: calc(var(--spacing) * 44);
|
|
1339
|
-
}
|
|
1340
|
-
.max-w-48 {
|
|
1341
|
-
max-width: calc(var(--spacing) * 48);
|
|
1342
|
-
}
|
|
1343
|
-
.max-w-64 {
|
|
1344
|
-
max-width: calc(var(--spacing) * 64);
|
|
1345
|
-
}
|
|
1346
1340
|
.max-w-80 {
|
|
1347
1341
|
max-width: calc(var(--spacing) * 80);
|
|
1348
1342
|
}
|
|
@@ -1508,6 +1502,9 @@
|
|
|
1508
1502
|
.min-w-10 {
|
|
1509
1503
|
min-width: calc(var(--spacing) * 10);
|
|
1510
1504
|
}
|
|
1505
|
+
.min-w-11 {
|
|
1506
|
+
min-width: calc(var(--spacing) * 11);
|
|
1507
|
+
}
|
|
1511
1508
|
.min-w-14 {
|
|
1512
1509
|
min-width: calc(var(--spacing) * 14);
|
|
1513
1510
|
}
|
|
@@ -1577,6 +1574,9 @@
|
|
|
1577
1574
|
.basis-1\/3 {
|
|
1578
1575
|
flex-basis: calc(1 / 3 * 100%);
|
|
1579
1576
|
}
|
|
1577
|
+
.table-fixed {
|
|
1578
|
+
table-layout: fixed;
|
|
1579
|
+
}
|
|
1580
1580
|
.caption-bottom {
|
|
1581
1581
|
caption-side: bottom;
|
|
1582
1582
|
}
|
|
@@ -1948,6 +1948,9 @@
|
|
|
1948
1948
|
.overflow-x-auto {
|
|
1949
1949
|
overflow-x: auto;
|
|
1950
1950
|
}
|
|
1951
|
+
.overflow-x-hidden {
|
|
1952
|
+
overflow-x: hidden;
|
|
1953
|
+
}
|
|
1951
1954
|
.overflow-y-auto {
|
|
1952
1955
|
overflow-y: auto;
|
|
1953
1956
|
}
|
|
@@ -2226,12 +2229,6 @@
|
|
|
2226
2229
|
border-color: color-mix(in oklab, var(--color-destructive) 40%, transparent);
|
|
2227
2230
|
}
|
|
2228
2231
|
}
|
|
2229
|
-
.border-destructive\/50 {
|
|
2230
|
-
border-color: color-mix(in srgb, hsl(var(--destructive)) 50%, transparent);
|
|
2231
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
2232
|
-
border-color: color-mix(in oklab, var(--color-destructive) 50%, transparent);
|
|
2233
|
-
}
|
|
2234
|
-
}
|
|
2235
2232
|
.border-emerald-500\/30 {
|
|
2236
2233
|
border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 30%, transparent);
|
|
2237
2234
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -4845,6 +4842,9 @@
|
|
|
4845
4842
|
.sm\:w-auto {
|
|
4846
4843
|
width: auto;
|
|
4847
4844
|
}
|
|
4845
|
+
.sm\:shrink-0 {
|
|
4846
|
+
flex-shrink: 0;
|
|
4847
|
+
}
|
|
4848
4848
|
.sm\:grid-cols-2 {
|
|
4849
4849
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
4850
4850
|
}
|
|
@@ -4860,6 +4860,9 @@
|
|
|
4860
4860
|
.sm\:flex-row {
|
|
4861
4861
|
flex-direction: row;
|
|
4862
4862
|
}
|
|
4863
|
+
.sm\:flex-wrap {
|
|
4864
|
+
flex-wrap: wrap;
|
|
4865
|
+
}
|
|
4863
4866
|
.sm\:items-center {
|
|
4864
4867
|
align-items: center;
|
|
4865
4868
|
}
|
|
@@ -4960,9 +4963,6 @@
|
|
|
4960
4963
|
.md\:grid-cols-5 {
|
|
4961
4964
|
grid-template-columns: repeat(5, minmax(0, 1fr));
|
|
4962
4965
|
}
|
|
4963
|
-
.md\:flex-row {
|
|
4964
|
-
flex-direction: row;
|
|
4965
|
-
}
|
|
4966
4966
|
.md\:items-center {
|
|
4967
4967
|
align-items: center;
|
|
4968
4968
|
}
|
|
@@ -5039,15 +5039,36 @@
|
|
|
5039
5039
|
.xl\:col-span-8 {
|
|
5040
5040
|
grid-column: span 8 / span 8;
|
|
5041
5041
|
}
|
|
5042
|
+
.xl\:hidden {
|
|
5043
|
+
display: none;
|
|
5044
|
+
}
|
|
5045
|
+
.xl\:table-cell {
|
|
5046
|
+
display: table-cell;
|
|
5047
|
+
}
|
|
5048
|
+
.xl\:w-52 {
|
|
5049
|
+
width: calc(var(--spacing) * 52);
|
|
5050
|
+
}
|
|
5042
5051
|
.xl\:grid-cols-2 {
|
|
5043
5052
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
5044
5053
|
}
|
|
5054
|
+
.xl\:grid-cols-3 {
|
|
5055
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
5056
|
+
}
|
|
5045
5057
|
.xl\:grid-cols-4 {
|
|
5046
5058
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
5047
5059
|
}
|
|
5048
5060
|
.xl\:grid-cols-5 {
|
|
5049
5061
|
grid-template-columns: repeat(5, minmax(0, 1fr));
|
|
5050
5062
|
}
|
|
5063
|
+
.xl\:px-4 {
|
|
5064
|
+
padding-inline: calc(var(--spacing) * 4);
|
|
5065
|
+
}
|
|
5066
|
+
.xl\:px-6 {
|
|
5067
|
+
padding-inline: calc(var(--spacing) * 6);
|
|
5068
|
+
}
|
|
5069
|
+
.xl\:py-5 {
|
|
5070
|
+
padding-block: calc(var(--spacing) * 5);
|
|
5071
|
+
}
|
|
5051
5072
|
}
|
|
5052
5073
|
@media (prefers-color-scheme: dark) {
|
|
5053
5074
|
.dark\:text-neutral-500 {
|
|
@@ -5064,6 +5085,10 @@
|
|
|
5064
5085
|
color: color-mix(in oklab, var(--color-white) 50%, transparent);
|
|
5065
5086
|
}
|
|
5066
5087
|
}
|
|
5088
|
+
.dark\:invert {
|
|
5089
|
+
--tw-invert: invert(100%);
|
|
5090
|
+
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
|
5091
|
+
}
|
|
5067
5092
|
@media (hover: hover) {
|
|
5068
5093
|
.dark\:hover\:text-white\/50:hover {
|
|
5069
5094
|
color: color-mix(in srgb, #fff 50%, transparent);
|
|
@@ -5097,12 +5122,6 @@
|
|
|
5097
5122
|
.\[\&_svg\]\:shrink-0 svg {
|
|
5098
5123
|
flex-shrink: 0;
|
|
5099
5124
|
}
|
|
5100
|
-
.\[\&_td\]\:px-4 td {
|
|
5101
|
-
padding-inline: calc(var(--spacing) * 4);
|
|
5102
|
-
}
|
|
5103
|
-
.\[\&_th\]\:px-4 th {
|
|
5104
|
-
padding-inline: calc(var(--spacing) * 4);
|
|
5105
|
-
}
|
|
5106
5125
|
.\[\&_tr\]\:border-b tr {
|
|
5107
5126
|
border-bottom-style: var(--tw-border-style);
|
|
5108
5127
|
border-bottom-width: 1px;
|
|
@@ -5189,6 +5208,10 @@
|
|
|
5189
5208
|
border-bottom-style: var(--tw-border-style);
|
|
5190
5209
|
border-bottom-width: 0px;
|
|
5191
5210
|
}
|
|
5211
|
+
[data-sandbox-theme=''] .\[\[data-sandbox-theme\=\'\'\]_\&\]\:invert {
|
|
5212
|
+
--tw-invert: invert(100%);
|
|
5213
|
+
filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
|
|
5214
|
+
}
|
|
5192
5215
|
}
|
|
5193
5216
|
:root,
|
|
5194
5217
|
[data-sandbox-ui],
|
|
@@ -264,6 +264,8 @@ interface DiffViewProps {
|
|
|
264
264
|
showFileHeader?: boolean;
|
|
265
265
|
/** Start wrapped so narrow review panes never conceal the end of a line. */
|
|
266
266
|
defaultWrap?: boolean;
|
|
267
|
+
/** Match the host app's selected theme. Defaults to dark for existing consumers. */
|
|
268
|
+
themeType?: "light" | "dark";
|
|
267
269
|
className?: string;
|
|
268
270
|
}
|
|
269
271
|
/**
|
|
@@ -272,7 +274,7 @@ interface DiffViewProps {
|
|
|
272
274
|
* shadow content. Wrapping is a renderer option, not a CSS patch into its shadow
|
|
273
275
|
* root; the plain patch disclosure is the accessible, engine-independent view.
|
|
274
276
|
*/
|
|
275
|
-
declare function DiffView({ filename, baseline, current, showFileHeader, defaultWrap, className }: DiffViewProps): React$1.JSX.Element;
|
|
277
|
+
declare function DiffView({ filename, baseline, current, showFileHeader, defaultWrap, themeType, className }: DiffViewProps): React$1.JSX.Element;
|
|
276
278
|
//#endregion
|
|
277
279
|
//#region src/workbench/preview-view.d.ts
|
|
278
280
|
interface PreviewViewProps {
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { d as useSessionStream, l as UseSessionStreamOptions, n as UseSidecarAut
|
|
|
10
10
|
import { AgentStreamEvent, AppendUserMessageOptions, ApplySdkEventOptions, AuthUser, AutomationStreamEvent, BeginAssistantMessageOptions, BotStreamEvent, CompleteAssistantMessageOptions, RealtimeSessionOptions, RealtimeSessionRegistry, RealtimeSessionRegistryProps, RealtimeSessionState, RealtimeSessionTarget, SSEEvent, SandboxMetrics, SdkSessionAttachment, SdkSessionEvent, SdkSessionSeed, SidecarMetricsPayload, TaskStreamEvent, TerminalStreamEvent, UseAuthOptions, UseAuthResult, UseRunGroupsOptions, UseSSEStreamOptions, UseSSEStreamResult, UseSandboxMetricsOptions, UseSandboxMetricsResult, UseSdkSessionOptions, UseSdkSessionReturn, UseToolCallStreamReturn, createAuthFetcher, useApiKey, useAuth, useAutoScroll, useCreateSession, useDeleteSession, useDropdownMenu, useLiveTime, useRealtimeSession, useRenameSession, useRunCollapseState, useRunGroups, useSSEStream, useSandboxMetrics, useSdkSession, useSessions, useToolCallStream } from "./hooks.js";
|
|
11
11
|
import { $ as InputProps, $t as ToastProvider, A as DropZoneProps, At as Table, B as DropdownMenuSeparator, Bt as TabsList, C as DialogFooter, Ct as SkeletonTable, D as DialogTitle, Dt as StatusPillProps, E as DialogPortal, Et as StatusPill, F as DropdownMenuItem, Ft as TableHead, G as DropdownMenuTrigger, H as DropdownMenuSub, I as DropdownMenuLabel, It as TableHeader, J as FilterField, Jt as Textarea, K as EmptyState, Kt as TextShimmer, L as DropdownMenuPortal, Lt as TableRow, M as DropdownMenuCheckboxItem, Mt as TableCaption, N as DropdownMenuContent, Nt as TableCell, O as DialogTrigger, Ot as StatusTone, P as DropdownMenuGroup, Pt as TableFooter, Q as Input, Qt as ToastContainer, R as DropdownMenuRadioGroup, Rt as Tabs, S as DialogDescription, St as SkeletonCard, T as DialogOverlay, Tt as StatCardProps, U as DropdownMenuSubContent, Ut as TerminalDisplay, V as DropdownMenuShortcut, Vt as TabsTrigger, W as DropdownMenuSubTrigger, X as InlineCode, Xt as ThemeToggle, Y as FilterFieldProps, Yt as TextareaProps, Z as InlineCodeProps, Zt as Toast, _ as CodeBlockProps, _t as SelectTrigger, a as AvatarImage, an as badgeVariants, at as Progress, b as DialogClose, bn as TangleKnot, bt as SidebarDropZoneProps, c as Button, cn as useToast, ct as SegmentedControlProps, d as CardContent, dt as SelectGroup, en as Toolbar, et as Label, f as CardDescription, ft as SelectItem, g as CodeBlock, gt as SelectSeparator, h as CardTitle, ht as SelectScrollUpButton, i as AvatarFallback, in as UploadProgressProps, it as MetricStripProps, j as DropdownMenu, jt as TableBody, k as DropZone, kt as Switch, l as ButtonProps, lt as Select, m as CardHeader, mt as SelectScrollDownButton, nn as UploadFile, nt as MetricProps, o as Badge, on as buttonVariants, ot as SegmentedControl, p as CardFooter, pt as SelectLabel, q as EmptyStateProps, qt as TextShimmerProps, r as Avatar, rn as UploadProgress, rt as MetricStrip, s as BadgeProps, sn as useTheme, st as SegmentedControlOption, tn as ToolbarProps, tt as Metric, u as Card, ut as SelectContent, v as CopyButton, vn as Logo, vt as SelectValue, w as DialogHeader, wt as StatCard, x as DialogContent, xt as Skeleton, y as Dialog, yn as LogoProps, yt as SidebarDropZone, z as DropdownMenuRadioItem, zt as TabsContent } from "./index-PRM636Ex.js";
|
|
12
12
|
import { $ as TerminalProps, A as ShellShouldRevalidateArgs, B as SessionSidebarLink, C as SandboxWorkbenchLayoutOptions, D as SandboxWorkbenchSessionProps, E as SandboxWorkbenchProps, F as SessionSidebar, G as SessionOptimisticController, H as SessionSidebarVariant, I as SessionSidebarBadge, J as useOptimisticSessionItems, K as UseOptimisticSessionItemsOptions, L as SessionSidebarFilter, M as createShellShouldRevalidate, N as shellShouldRevalidate, O as SessionActivityMonitor, P as formatRelativeAge, Q as TerminalPanel, R as SessionSidebarGroupBy, S as SandboxWorkbenchFileArtifact, T as SandboxWorkbenchOpenUIArtifact, U as SESSION_CREATED_EVENT, V as SessionSidebarProps, W as SessionCreatedDetail, X as RuntimePaneProps, Y as RuntimePane, Z as TerminalLine, _ as FormAudit, a as ApprovalQueue, at as StatusBannerProps, b as SandboxWorkbenchArtifact, c as CalendarView, ct as WorkspacePaneHeader, d as TaskBoardColumn, dt as WorkspaceLayoutProps, et as ContextBadge, f as TaskBoardItem, g as AuditResultsProps, h as AuditResults, i as ApprovalItem, it as StatusBanner, j as ShellShouldRevalidateOptions, k as SessionActivityMonitorProps, l as CalendarViewProps, lt as WorkspacePaneHeaderProps, m as AuditCheck, n as ArtifactPaneProps, nt as StatusBarProps, o as ApprovalQueueProps, ot as DirectoryPane, p as TaskBoardProps, q as dispatchSessionCreated, r as ApprovalConfidenceStat, rt as BannerType, s as CalendarEvent, st as DirectoryPaneProps, t as ArtifactPane, tt as StatusBar, u as TaskBoard, ut as WorkspaceLayout, v as AgentWorkbench, w as SandboxWorkbenchMarkdownArtifact, x as SandboxWorkbenchCustomArtifact, y as SandboxWorkbench, z as SessionSidebarItem } from "./index-iDiLnSoo.js";
|
|
13
|
-
import { A as SandboxArtifactTerminal, C as ChangesPane, D as ChangesPaneProps, E as ChangedFile, O as SandboxArtifact, S as PillTabsProps, T as ArtifactView, _ as DiffStats, a as PreviewView, b as PillTabItem, c as DiffViewProps, d as FileBreadcrumb, f as FileBreadcrumbProps, g as PanelHeaderProps, h as PanelHeader, i as resolveLanguage, k as SandboxArtifactPaneProps, l as CodeView, m as GitStatusBadge, n as CodeSurface, o as PreviewViewProps, p as DiffStatsBadge, r as CodeSurfaceProps, s as DiffView, t as BRAND_PRISM_THEME, u as CodeViewProps, v as buildUnifiedPatch, w as SandboxArtifactPane, x as PillTabs, y as computeDiffStats } from "./index-
|
|
13
|
+
import { A as SandboxArtifactTerminal, C as ChangesPane, D as ChangesPaneProps, E as ChangedFile, O as SandboxArtifact, S as PillTabsProps, T as ArtifactView, _ as DiffStats, a as PreviewView, b as PillTabItem, c as DiffViewProps, d as FileBreadcrumb, f as FileBreadcrumbProps, g as PanelHeaderProps, h as PanelHeader, i as resolveLanguage, k as SandboxArtifactPaneProps, l as CodeView, m as GitStatusBadge, n as CodeSurface, o as PreviewViewProps, p as DiffStatsBadge, r as CodeSurfaceProps, s as DiffView, t as BRAND_PRISM_THEME, u as CodeViewProps, v as buildUnifiedPatch, w as SandboxArtifactPane, x as PillTabs, y as computeDiffStats } from "./index-z_zNuZHm.js";
|
|
14
14
|
import { a as PreviewReadiness, i as PreviewAccess, n as EmbeddedAppView, r as EmbeddedAppViewProps, t as EmbeddedApp } from "./embedded-app-view-B_vMTtJn.js";
|
|
15
15
|
import { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, OpenUIAction, OpenUIActionsNode, OpenUIArtifactRenderer, OpenUIArtifactRendererProps, OpenUIBadgeNode, OpenUICardNode, OpenUICodeNode, OpenUIComponentNode, OpenUIGridNode, OpenUIHeadingNode, OpenUIKeyValueNode, OpenUIMarkdownNode, OpenUIPrimitive, OpenUISchemaIssue, OpenUISchemaValidation, OpenUISeparatorNode, OpenUIStackNode, OpenUIStatNode, OpenUITableNode, OpenUITextNode, findUnsupportedOpenUINode, validateOpenUIJsonArtifact, validateOpenUIJsonNode } from "./openui.js";
|
|
16
16
|
import { ExpandedToolDetail, ExpandedToolDetailProps, FeedSegment, InlineThinkingItem, InlineThinkingItemProps, InlineToolItem, InlineToolItemProps, LiveDuration, RunGroup, RunGroupProps, RunRowShell, RunRowShellProps, RunRowStatus, RunRowStatusDot, ToolCallData, ToolCallFeed, ToolCallFeedProps, ToolCallStatus, ToolCallType, parseToolEvent } from "./run.js";
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-
|
|
1
|
+
import { a as computeDiffStats, c as BRAND_PRISM_THEME, d as DiffStatsBadge, f as GitStatusBadge, i as buildUnifiedPatch, l as CodeSurface, m as PillTabs, n as SandboxArtifactPane, o as CodeView, p as PanelHeader, r as DiffView, s as FileBreadcrumb, t as ChangesPane, u as resolveLanguage } from "./workbench-DXTqeu9h.js";
|
|
2
2
|
import { $ as SelectItem, A as DropdownMenuItem, At as Textarea, B as DropdownMenuTrigger, C as DialogTitle, Ct as TabsList, D as DropdownMenuCheckboxItem, E as DropdownMenu, Et as TerminalDisplay, F as DropdownMenuSeparator, Ft as UploadProgress, G as Label, Gt as TangleKnot, H as FilterField, I as DropdownMenuShortcut, It as badgeVariants, J as Progress, K as Metric, L as DropdownMenuSub, Lt as buttonVariants, M as DropdownMenuPortal, Mt as ToastContainer, N as DropdownMenuRadioGroup, Nt as ToastProvider, O as DropdownMenuContent, P as DropdownMenuRadioItem, Pt as Toolbar, Q as SelectGroup, R as DropdownMenuSubContent, Rt as useTheme, S as DialogPortal, St as TabsContent, T as DropZone, U as InlineCode, V as EmptyState, W as Input, Wt as Logo, X as Select, Y as SegmentedControl, Z as SelectContent, _ as DialogContent, _t as TableFooter, a as Badge, at as SelectValue, b as DialogHeader, bt as TableRow, c as CardContent, ct as SkeletonCard, d as CardHeader, dt as StatusPill, et as SelectLabel, f as CardTitle, ft as Switch, g as DialogClose, gt as TableCell, h as Dialog, ht as TableCaption, i as AvatarImage, it as SelectTrigger, j as DropdownMenuLabel, jt as ThemeToggle, k as DropdownMenuGroup, kt as TextShimmer, l as CardDescription, lt as SkeletonTable, m as CopyButton, mt as TableBody, n as Avatar, nt as SelectScrollUpButton, o as Button, ot as SidebarDropZone, p as CodeBlock, pt as Table, q as MetricStrip, r as AvatarFallback, rt as SelectSeparator, s as Card, st as Skeleton, tt as SelectScrollDownButton, u as CardFooter, ut as StatCard, v as DialogDescription, vt as TableHead, w as DialogTrigger, wt as TabsTrigger, x as DialogOverlay, xt as Tabs, y as DialogFooter, yt as TableHeader, z as DropdownMenuSubTrigger, zt as useToast } from "./primitives-Dh1vG6J3.js";
|
|
3
3
|
import { t as WorkspacePaneHeader } from "./workspace-pane-header-Bg1cCcHX.js";
|
|
4
4
|
import { _ as TerminalPanel, a as AuditResults, b as DirectoryPane, c as SessionActivityMonitor, d as SessionSidebar, f as SESSION_CREATED_EVENT, g as RuntimePane, h as formatRelativeAge, i as TaskBoard, l as createShellShouldRevalidate, m as useOptimisticSessionItems, n as ApprovalQueue, o as AgentWorkbench, p as dispatchSessionCreated, r as CalendarView, s as SandboxWorkbench, t as ArtifactPane, u as shellShouldRevalidate, v as StatusBar, x as WorkspaceLayout, y as StatusBanner } from "./workspace-Pq-koOTW.js";
|
|
5
|
-
import { $ as SidebarRailNav, A as ResourceMeter, B as RailFlyout, C as InvoiceTable, D as canAdminSandbox, E as SandboxCard, F as CreditBalance, G as Sidebar, H as RailModeButton, I as ProfileAvatar, J as SidebarPanelContent, K as SidebarContent, L as RailButton, M as INSUFFICIENT_BALANCE_CODE, N as OutOfCreditsModal, O as ActivityFeed, P as parseInsufficientBalance, Q as SidebarRailHeader, R as RailCollapseToggle, S as PlanCards, T as NewSandboxCard, U as RailSeparator, V as RailHeader, W as RailThemeToggle, X as SidebarRail, Y as SidebarPanelHeader, Z as SidebarRailFooter, _ as HarnessPicker, a as ProcessList, at as SIDEBAR_TOTAL_WIDTH, b as HarnessLogo, c as UsageSummary, d as MetricAreaChart, et as RailTooltip, f as ProfileComparison, g as HARNESS_OPTIONS, h as DashboardLayout, i as NetworkConfig, it as SIDEBAR_RAIL_WIDTH, j as ClusterStatusBar, k as ResourceSnapshot, l as SystemLogsViewer, m as SidebarLayout, n as SnapshotList, nt as SIDEBAR_PANEL_WIDTH, o as PortsList, ot as SidebarProvider, p as ProfileSelector, q as SidebarPanel, r as BackendConfig, rt as SIDEBAR_RAIL_LABELED_WIDTH, s as GitPanel, st as useSidebar, t as PromoBanner, tt as SIDEBAR_MOBILE_WIDTH, u as VariantList, v as chatCapableHarnesses, w as SandboxTable, x as BackendSelector, y as HARNESS_BRAND, z as RailExpandable } from "./dashboard-
|
|
5
|
+
import { $ as SidebarRailNav, A as ResourceMeter, B as RailFlyout, C as InvoiceTable, D as canAdminSandbox, E as SandboxCard, F as CreditBalance, G as Sidebar, H as RailModeButton, I as ProfileAvatar, J as SidebarPanelContent, K as SidebarContent, L as RailButton, M as INSUFFICIENT_BALANCE_CODE, N as OutOfCreditsModal, O as ActivityFeed, P as parseInsufficientBalance, Q as SidebarRailHeader, R as RailCollapseToggle, S as PlanCards, T as NewSandboxCard, U as RailSeparator, V as RailHeader, W as RailThemeToggle, X as SidebarRail, Y as SidebarPanelHeader, Z as SidebarRailFooter, _ as HarnessPicker, a as ProcessList, at as SIDEBAR_TOTAL_WIDTH, b as HarnessLogo, c as UsageSummary, d as MetricAreaChart, et as RailTooltip, f as ProfileComparison, g as HARNESS_OPTIONS, h as DashboardLayout, i as NetworkConfig, it as SIDEBAR_RAIL_WIDTH, j as ClusterStatusBar, k as ResourceSnapshot, l as SystemLogsViewer, m as SidebarLayout, n as SnapshotList, nt as SIDEBAR_PANEL_WIDTH, o as PortsList, ot as SidebarProvider, p as ProfileSelector, q as SidebarPanel, r as BackendConfig, rt as SIDEBAR_RAIL_LABELED_WIDTH, s as GitPanel, st as useSidebar, t as PromoBanner, tt as SIDEBAR_MOBILE_WIDTH, u as VariantList, v as chatCapableHarnesses, w as SandboxTable, x as BackendSelector, y as HARNESS_BRAND, z as RailExpandable } from "./dashboard-DwdEQoqK.js";
|
|
6
6
|
import { n as canonicalModelId, r as modelBrandFor, t as ModelBrandStack } from "./model-brand-hMyDTUqB.js";
|
|
7
7
|
import { a as formatPrice, i as PricingPage, n as TemplateCard, o as BillingDashboard, r as UsageChart, t as InfoPanel } from "./info-panel-C9cqDzOL.js";
|
|
8
8
|
import { t as usePtySession } from "./use-pty-session-Bf4hBLXJ.js";
|
package/dist/integrations.d.ts
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
|
+
import { ReactNode } from "react";
|
|
2
3
|
//#region src/integrations/types.d.ts
|
|
3
|
-
/**
|
|
4
|
-
* Shapes for the integrations primitives. Mirrors the platform's
|
|
5
|
-
* `/v1/integrations/*` response shape so consumers can pipe payloads
|
|
6
|
-
* straight through. Defined here (rather than imported from
|
|
7
|
-
* `@tangle-network/agent-runtime/platform`) so the UI package stays
|
|
8
|
-
* leaf-level — no dependency on the server-side client.
|
|
9
|
-
*/
|
|
4
|
+
/** Legacy endpoint shapes, retained for useIntegrations and IntegrationsPanel. */
|
|
10
5
|
interface IntegrationConnection {
|
|
11
6
|
id: string;
|
|
12
7
|
providerId: string;
|
|
8
|
+
/** Absent on provider-keyed hubs. */
|
|
13
9
|
connectorId?: string;
|
|
14
10
|
status: "connected" | "pending" | "revoked" | "expired" | (string & {});
|
|
15
11
|
grantedScopes?: string[];
|
|
@@ -27,15 +23,10 @@ interface IntegrationConnector {
|
|
|
27
23
|
interface IntegrationProvider {
|
|
28
24
|
providerId: string;
|
|
29
25
|
displayName?: string;
|
|
30
|
-
/** The hub catalog's name for the provider ("GitHub", "Google Sheets"). */
|
|
31
26
|
title?: string;
|
|
32
27
|
description?: string;
|
|
33
28
|
iconUrl?: string;
|
|
34
29
|
connectors?: IntegrationConnector[];
|
|
35
|
-
/**
|
|
36
|
-
* True when the platform can currently receive this provider's events.
|
|
37
|
-
* Absent means the platform predates inbound-readiness discovery.
|
|
38
|
-
*/
|
|
39
30
|
eventIngressConfigured?: boolean;
|
|
40
31
|
}
|
|
41
32
|
interface IntegrationHealth {
|
|
@@ -44,8 +35,6 @@ interface IntegrationHealth {
|
|
|
44
35
|
checkedAt?: string;
|
|
45
36
|
message?: string;
|
|
46
37
|
}
|
|
47
|
-
//#endregion
|
|
48
|
-
//#region src/integrations/integrations-panel.d.ts
|
|
49
38
|
type IntegrationSort = "featured" | "alpha";
|
|
50
39
|
interface IntegrationConnectionAction {
|
|
51
40
|
id: string;
|
|
@@ -59,63 +48,214 @@ interface IntegrationsPanelProps {
|
|
|
59
48
|
healthByConnectionId?: Record<string, IntegrationHealth>;
|
|
60
49
|
isLoading?: boolean;
|
|
61
50
|
error?: Error | null;
|
|
62
|
-
/**
|
|
63
|
-
* Invoked when the user clicks an unconnected provider tile. The consumer
|
|
64
|
-
* should call its data hook's `connect(...)` action.
|
|
65
|
-
*/
|
|
66
51
|
onConnect: (input: {
|
|
67
52
|
providerId: string;
|
|
68
53
|
connectorId: string;
|
|
69
54
|
}) => void | Promise<void>;
|
|
70
|
-
/**
|
|
71
|
-
* Invoked when the user confirms disconnecting a live connection from the
|
|
72
|
-
* disconnect control on a connected tile. May return a promise; the
|
|
73
|
-
* confirmation dialog shows a loading state until it settles and surfaces a
|
|
74
|
-
* thrown error inline.
|
|
75
|
-
*/
|
|
55
|
+
/** Confirmation remains open on rejection; cancellation remains available in flight. */
|
|
76
56
|
onDisconnect: (connectionId: string) => void | Promise<void>;
|
|
77
|
-
/**
|
|
78
|
-
* Resolver for a connected app's management page URL. When it returns a URL,
|
|
79
|
-
* the connected tile's body and the overflow menu's "Manage" item become a
|
|
80
|
-
* real link opened in a new tab (so cmd/middle-click and "open in new tab"
|
|
81
|
-
* work). Return undefined to omit Manage for a given connection. Preferred
|
|
82
|
-
* over `onManage` — only fall back to the callback when the URL must be minted
|
|
83
|
-
* imperatively on click (e.g. a one-time token).
|
|
84
|
-
*/
|
|
57
|
+
/** Preferred over onManage. Legacy links retain their new-window behavior. */
|
|
85
58
|
getManageHref?: (connection: IntegrationConnection) => string | undefined;
|
|
86
|
-
/**
|
|
87
|
-
* Imperative fallback for opening a connected app's management page, used only
|
|
88
|
-
* when `getManageHref` is not supplied (or returns undefined). The consumer is
|
|
89
|
-
* responsible for opening the page (e.g. `window.open(...)`).
|
|
90
|
-
*/
|
|
91
59
|
onManage?: (input: {
|
|
92
60
|
connectionId: string;
|
|
93
61
|
providerId: string;
|
|
94
62
|
}) => void | Promise<void>;
|
|
95
|
-
/** Consumer-owned access context shown below the connected account. */
|
|
96
63
|
getConnectionContext?: (connection: IntegrationConnection) => string | undefined;
|
|
97
|
-
/** Additional authorized actions in the connected card menu. */
|
|
98
64
|
getConnectionActions?: (connection: IntegrationConnection) => IntegrationConnectionAction[];
|
|
99
|
-
/** Empty-state message when the catalog hasn't loaded any providers. */
|
|
100
65
|
emptyCatalogLabel?: string;
|
|
101
|
-
/**
|
|
102
|
-
* Provider ids surfaced first (in this order) before the rest are sorted
|
|
103
|
-
* alphabetically. Matching is normalized (case / separators ignored).
|
|
104
|
-
* Defaults to a curated list of common GTM/work providers.
|
|
105
|
-
*/
|
|
66
|
+
/** Normalized provider IDs, in order, before the alphabetic tail. */
|
|
106
67
|
featuredIds?: string[];
|
|
107
|
-
/** Initial sort mode. Defaults to "featured". */
|
|
108
68
|
defaultSort?: IntegrationSort;
|
|
109
|
-
/**
|
|
110
|
-
* Tiles the loading skeleton draws. A skeleton exists to reserve the space
|
|
111
|
-
* the real content will take, so pass the catalog size you expect when the
|
|
112
|
-
* consumer knows it; the default fills two rows at the widest breakpoint.
|
|
113
|
-
*/
|
|
114
69
|
skeletonCount?: number;
|
|
115
70
|
className?: string;
|
|
116
71
|
}
|
|
72
|
+
/** Display-only contracts. No Hub SDK, credentials, grants, or policy inference. */
|
|
73
|
+
type IntegrationTone = "neutral" | "success" | "warning" | "error";
|
|
74
|
+
interface IntegrationCapabilities {
|
|
75
|
+
manage?: boolean;
|
|
76
|
+
disconnect?: boolean;
|
|
77
|
+
test?: boolean;
|
|
78
|
+
editPermissions?: boolean;
|
|
79
|
+
resetPermissions?: boolean;
|
|
80
|
+
}
|
|
81
|
+
interface IntegrationDisplayAction {
|
|
82
|
+
id: string;
|
|
83
|
+
label: string;
|
|
84
|
+
disabled?: boolean;
|
|
85
|
+
/** The owner handles asynchronous outcomes and supplies updated display state. */
|
|
86
|
+
onSelect: () => void;
|
|
87
|
+
}
|
|
88
|
+
interface IntegrationDisplayConnection {
|
|
89
|
+
id: string;
|
|
90
|
+
accountDisplay?: string | null;
|
|
91
|
+
statusLabel: string;
|
|
92
|
+
statusTone?: IntegrationTone;
|
|
93
|
+
/** Already formatted by the owner (last used, access context, etc.). */
|
|
94
|
+
detail?: string;
|
|
95
|
+
capabilities: IntegrationCapabilities;
|
|
96
|
+
/** Consumer-owned destination; the library never builds a Platform URL. */
|
|
97
|
+
manageHref?: string;
|
|
98
|
+
/** Only needed by the legacy panel's existing link contract. */
|
|
99
|
+
manageInNewWindow?: boolean;
|
|
100
|
+
actions?: readonly IntegrationDisplayAction[];
|
|
101
|
+
}
|
|
102
|
+
interface IntegrationDisplayProvider {
|
|
103
|
+
providerId: string;
|
|
104
|
+
title: string;
|
|
105
|
+
description?: string;
|
|
106
|
+
iconUrl?: string;
|
|
107
|
+
category?: string | null;
|
|
108
|
+
/** Optional local provider-information destination. */
|
|
109
|
+
to?: string;
|
|
110
|
+
}
|
|
111
|
+
interface IntegrationsProviderRow extends IntegrationDisplayProvider {
|
|
112
|
+
kind: "provider";
|
|
113
|
+
connections: readonly IntegrationDisplayConnection[];
|
|
114
|
+
/** Explicit selection. null never selects an arbitrary account. */
|
|
115
|
+
selectedConnectionId: string | null;
|
|
116
|
+
canConnect: boolean;
|
|
117
|
+
/** A display hint for the owner's connect callback, not an auth implementation. */
|
|
118
|
+
authKind?: string | null;
|
|
119
|
+
}
|
|
120
|
+
interface IntegrationsAppRow extends IntegrationDisplayProvider {
|
|
121
|
+
kind: "app";
|
|
122
|
+
logoProviderId: string;
|
|
123
|
+
installedCount: number;
|
|
124
|
+
to: string;
|
|
125
|
+
}
|
|
126
|
+
type IntegrationsCatalogRow = IntegrationsProviderRow | IntegrationsAppRow;
|
|
127
|
+
interface IntegrationsCatalogProps {
|
|
128
|
+
/** Order belongs to the owner; filtering does not reorder active accounts. */
|
|
129
|
+
rows: readonly IntegrationsCatalogRow[];
|
|
130
|
+
query: string;
|
|
131
|
+
onQueryChange: (query: string) => void;
|
|
132
|
+
categoryFilter?: string;
|
|
133
|
+
onCategoryFilterChange?: (category: string) => void;
|
|
134
|
+
sort?: IntegrationSort;
|
|
135
|
+
onSortChange?: (sort: IntegrationSort) => void;
|
|
136
|
+
onSelectConnection: (providerId: string, connectionId: string | null) => void;
|
|
137
|
+
onConnect?: (row: IntegrationsProviderRow) => void;
|
|
138
|
+
onManage?: (connection: IntegrationDisplayConnection, row: IntegrationsProviderRow) => void;
|
|
139
|
+
onDisconnect?: (connection: IntegrationDisplayConnection, row: IntegrationsProviderRow) => void;
|
|
140
|
+
onRequestIntegration?: (prefill: string) => void;
|
|
141
|
+
onRetry?: () => void;
|
|
142
|
+
loading?: boolean;
|
|
143
|
+
error?: string | null;
|
|
144
|
+
actionError?: string | null;
|
|
145
|
+
connectError?: string | null;
|
|
146
|
+
busyProviderId?: string | null;
|
|
147
|
+
/** Compact facade reserves its context line before any account has loaded. */
|
|
148
|
+
reserveConnectionContext?: boolean;
|
|
149
|
+
skeletonCount?: number;
|
|
150
|
+
emptyCatalogLabel?: string;
|
|
151
|
+
title?: string;
|
|
152
|
+
description?: string;
|
|
153
|
+
/** One renderer; tiles preserves the public panel's compact geometry. */
|
|
154
|
+
layout?: "cards" | "tiles";
|
|
155
|
+
className?: string;
|
|
156
|
+
}
|
|
157
|
+
interface IntegrationPermissionOption {
|
|
158
|
+
value: string;
|
|
159
|
+
label: string;
|
|
160
|
+
}
|
|
161
|
+
interface IntegrationPermissionDisplay {
|
|
162
|
+
actionPath: string;
|
|
163
|
+
title: string;
|
|
164
|
+
riskLabel: string;
|
|
165
|
+
riskTone?: IntegrationTone;
|
|
166
|
+
/** Supplied effective decision; null remains unknown, never Allow/Ask. */
|
|
167
|
+
decision: string | null;
|
|
168
|
+
decisionOptions: readonly IntegrationPermissionOption[];
|
|
169
|
+
sourceLabel: string;
|
|
170
|
+
canReset?: boolean;
|
|
171
|
+
disabled?: boolean;
|
|
172
|
+
}
|
|
173
|
+
interface IntegrationPermissionGroup {
|
|
174
|
+
id: string;
|
|
175
|
+
title: string;
|
|
176
|
+
description?: string;
|
|
177
|
+
collapsed?: boolean;
|
|
178
|
+
rows: readonly IntegrationPermissionDisplay[];
|
|
179
|
+
}
|
|
180
|
+
interface IntegrationConnectionDetails {
|
|
181
|
+
loading?: boolean;
|
|
182
|
+
busy?: boolean;
|
|
183
|
+
error?: string | null;
|
|
184
|
+
testResult?: {
|
|
185
|
+
message: string;
|
|
186
|
+
tone: IntegrationTone;
|
|
187
|
+
};
|
|
188
|
+
permissionGroups?: readonly IntegrationPermissionGroup[];
|
|
189
|
+
}
|
|
190
|
+
interface IntegrationConnectionDetailProps {
|
|
191
|
+
provider: IntegrationDisplayProvider;
|
|
192
|
+
connections: readonly IntegrationDisplayConnection[];
|
|
193
|
+
selectedConnectionId: string | null;
|
|
194
|
+
onSelectConnection: (connectionId: string | null) => void;
|
|
195
|
+
/** Keying all outcomes by ID prevents another account's policy flashing on selection. */
|
|
196
|
+
detailsByConnectionId: Readonly<Record<string, IntegrationConnectionDetails | undefined>>;
|
|
197
|
+
loading?: boolean;
|
|
198
|
+
error?: string | null;
|
|
199
|
+
backHref?: string;
|
|
200
|
+
description?: string;
|
|
201
|
+
onRetry?: (connectionId: string | null) => void;
|
|
202
|
+
onTestConnection?: (connectionId: string) => void;
|
|
203
|
+
onDisconnect?: (connectionId: string) => void;
|
|
204
|
+
onDecisionChange?: (connectionId: string, actionPath: string, decision: string) => void;
|
|
205
|
+
onResetDecision?: (connectionId: string, actionPath: string) => void;
|
|
206
|
+
className?: string;
|
|
207
|
+
}
|
|
208
|
+
interface IntegrationParameterField {
|
|
209
|
+
key: string;
|
|
210
|
+
label: string;
|
|
211
|
+
description?: string;
|
|
212
|
+
placeholder?: string;
|
|
213
|
+
required?: boolean;
|
|
214
|
+
}
|
|
215
|
+
interface IntegrationConnectDialogProps {
|
|
216
|
+
open: boolean;
|
|
217
|
+
onOpenChange: (open: boolean) => void;
|
|
218
|
+
providerId: string;
|
|
219
|
+
title: string;
|
|
220
|
+
description?: string | null;
|
|
221
|
+
busy?: boolean;
|
|
222
|
+
error?: string | null;
|
|
223
|
+
/** Caller owns validation, requests, failures and closing on success. */
|
|
224
|
+
onSubmit: () => void;
|
|
225
|
+
canSubmit?: boolean;
|
|
226
|
+
/** Provider-specific fields/validation remain in the application. */
|
|
227
|
+
children?: ReactNode;
|
|
228
|
+
}
|
|
229
|
+
interface ApiKeyConnectDialogProps extends IntegrationConnectDialogProps {
|
|
230
|
+
/** Transient controlled input only; never retained by this package. */
|
|
231
|
+
value: string;
|
|
232
|
+
onValueChange: (value: string) => void;
|
|
233
|
+
}
|
|
234
|
+
interface OAuthConnectionParameterDialogProps extends IntegrationConnectDialogProps {
|
|
235
|
+
parameters: readonly IntegrationParameterField[];
|
|
236
|
+
values: Readonly<Record<string, string>>;
|
|
237
|
+
onValueChange: (key: string, value: string) => void;
|
|
238
|
+
}
|
|
239
|
+
//#endregion
|
|
240
|
+
//#region src/integrations/integrations-panel.d.ts
|
|
241
|
+
/** Compatibility facade: legacy effects/sorting, one controlled catalog renderer. */
|
|
117
242
|
export declare function IntegrationsPanel({ catalog, connections, healthByConnectionId, isLoading, error, onConnect, onDisconnect, getManageHref, onManage, getConnectionContext, getConnectionActions, emptyCatalogLabel, featuredIds, defaultSort, skeletonCount, className }: IntegrationsPanelProps): React$1.JSX.Element;
|
|
118
243
|
//#endregion
|
|
244
|
+
//#region src/integrations/integrations-catalog.d.ts
|
|
245
|
+
export declare function catalogRowActive(row: IntegrationsCatalogRow): boolean;
|
|
246
|
+
/** Platform's catalog presentation, with app-owned state, destinations and effects. */
|
|
247
|
+
export declare function IntegrationsCatalog({ rows, query, onQueryChange, categoryFilter, onCategoryFilterChange, sort, onSortChange, onSelectConnection, onConnect, onManage, onDisconnect, onRequestIntegration, onRetry, loading, error, actionError, connectError, busyProviderId, reserveConnectionContext, skeletonCount, emptyCatalogLabel, title, description, layout, className }: IntegrationsCatalogProps): import("react").JSX.Element;
|
|
248
|
+
//#endregion
|
|
249
|
+
//#region src/integrations/connection-detail.d.ts
|
|
250
|
+
/** Platform's permission layout, without its fetching, defaults or persistence. */
|
|
251
|
+
export declare function IntegrationConnectionDetail({ provider, connections, selectedConnectionId, onSelectConnection, detailsByConnectionId, loading, error, backHref, description, onRetry, onTestConnection, onDisconnect, onDecisionChange, onResetDecision, className }: IntegrationConnectionDetailProps): import("react").JSX.Element;
|
|
252
|
+
//#endregion
|
|
253
|
+
//#region src/integrations/connection-dialogs.d.ts
|
|
254
|
+
/** Key bytes remain in owner-controlled value/onValueChange; no request or storage. */
|
|
255
|
+
export declare function ApiKeyConnectDialog(props: ApiKeyConnectDialogProps): React$1.JSX.Element;
|
|
256
|
+
/** Parameter schema/values and all auth behavior belong to the owner. */
|
|
257
|
+
export declare function OAuthConnectionParameterDialog(props: OAuthConnectionParameterDialogProps): React$1.JSX.Element;
|
|
258
|
+
//#endregion
|
|
119
259
|
//#region src/integrations/use-integrations.d.ts
|
|
120
260
|
/**
|
|
121
261
|
* Endpoint contract expected on the consumer app's server (which
|
|
@@ -201,4 +341,4 @@ interface ProviderIconProps {
|
|
|
201
341
|
*/
|
|
202
342
|
export declare function ProviderIcon({ id, iconUrl, displayName, size, className }: ProviderIconProps): React$1.JSX.Element;
|
|
203
343
|
//#endregion
|
|
204
|
-
export type
|
|
344
|
+
export { ApiKeyConnectDialog as ApiKeyConnectModal, type ApiKeyConnectDialogProps, type ConnectInput, type IntegrationCapabilities, type IntegrationConnectDialogProps, type IntegrationConnection, type IntegrationConnectionAction, type IntegrationConnectionDetailProps, type IntegrationConnectionDetails, type IntegrationConnector, type IntegrationDisplayAction, type IntegrationDisplayConnection, type IntegrationDisplayProvider, type IntegrationHealth, type IntegrationParameterField, type IntegrationPermissionDisplay, type IntegrationPermissionGroup, type IntegrationPermissionOption, type IntegrationProvider, type IntegrationSort, type IntegrationTone, type IntegrationsAppRow, type IntegrationsCatalogProps, type IntegrationsCatalogRow, type IntegrationsPanelProps, type IntegrationsProviderRow, OAuthConnectionParameterDialog as OAuthConnectionParameterModal, type OAuthConnectionParameterDialogProps, type ProviderIconProps, type UseIntegrationsOptions, type UseIntegrationsResult };
|