@tangle-network/sandbox-ui 0.113.6 → 0.114.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.
Files changed (106) hide show
  1. package/dist/WorkflowGraph-B-NsdYz_.js +1961 -0
  2. package/dist/assets.d.ts +214 -206
  3. package/dist/assets.js +1057 -908
  4. package/dist/auth-CWe17Hly.js +37 -0
  5. package/dist/auth.d.ts +2 -30
  6. package/dist/auth.js +2 -15
  7. package/dist/chat-BOvFAe6p.js +903 -0
  8. package/dist/chat.d.ts +2 -230
  9. package/dist/chat.js +2 -34
  10. package/dist/connectors.d.ts +52 -49
  11. package/dist/connectors.js +595 -643
  12. package/dist/dashboard-CZ3VgNPR.js +4969 -0
  13. package/dist/dashboard.d.ts +4 -1297
  14. package/dist/dashboard.js +4 -152
  15. package/dist/editor.d.ts +2 -1
  16. package/dist/editor.js +2 -31
  17. package/dist/files.d.ts +2 -6
  18. package/dist/files.js +2 -33
  19. package/dist/globals.css +63 -3
  20. package/dist/hooks.d.ts +146 -148
  21. package/dist/hooks.js +222 -55
  22. package/dist/index-CKRaj1pM.d.ts +776 -0
  23. package/dist/index-CXX5IpH2.d.ts +2 -0
  24. package/dist/index-DPePq7c8.d.ts +1340 -0
  25. package/dist/index-DiyLLZuJ.d.ts +230 -0
  26. package/dist/index-DvmZLMT1.d.ts +30 -0
  27. package/dist/index-I8ZLVtHd.d.ts +330 -0
  28. package/dist/index-PRM636Ex.d.ts +86 -0
  29. package/dist/index.d.ts +21 -33
  30. package/dist/index.js +21 -701
  31. package/dist/info-panel-C9cqDzOL.js +594 -0
  32. package/dist/integrations.d.ts +133 -139
  33. package/dist/integrations.js +491 -673
  34. package/dist/markdown.d.ts +2 -1
  35. package/dist/markdown.js +2 -13
  36. package/dist/model-I-NIxeM-.js +1250 -0
  37. package/dist/model-brand-B9A4H9pJ.d.ts +98 -0
  38. package/dist/model-brand-hMyDTUqB.js +624 -0
  39. package/dist/motion-DkyBRJb9.js +37 -0
  40. package/dist/openui.d.ts +2 -1
  41. package/dist/openui.js +2 -7
  42. package/dist/pages.d.ts +307 -300
  43. package/dist/pages.js +4404 -4181
  44. package/dist/primitives-Dh1vG6J3.js +113 -0
  45. package/dist/primitives.d.ts +2 -74
  46. package/dist/primitives.js +2 -204
  47. package/dist/provider-logo-DjqmConF.js +311 -0
  48. package/dist/run.d.ts +2 -1
  49. package/dist/run.js +2 -23
  50. package/dist/sdk-hooks.d.ts +3 -4
  51. package/dist/sdk-hooks.js +3 -31
  52. package/dist/sidecar-DgH_vQ6m.d.ts +9 -0
  53. package/dist/stores.d.ts +14 -15
  54. package/dist/stores.js +13 -81
  55. package/dist/styles.css +63 -3
  56. package/dist/template-card-L-4gmjx2.d.ts +90 -0
  57. package/dist/terminal-CN9ZgHRt.js +197 -0
  58. package/dist/terminal.d.ts +60 -60
  59. package/dist/terminal.js +2 -10
  60. package/dist/tokens.css +51 -0
  61. package/dist/types.d.ts +4 -11
  62. package/dist/types.js +0 -1
  63. package/dist/use-pty-session-C8cE0adT.js +669 -0
  64. package/dist/use-sidecar-auth-CCTJcrq7.d.ts +145 -0
  65. package/dist/use-sidecar-auth-DkdcufOz.js +742 -0
  66. package/dist/utils-DzWbktWG.js +2 -0
  67. package/dist/utils.d.ts +2 -1
  68. package/dist/utils.js +2 -37
  69. package/dist/workbench-BCaCKl-J.js +8347 -0
  70. package/dist/workbench.d.ts +2 -310
  71. package/dist/workbench.js +2 -44
  72. package/dist/workflows.d.ts +341 -339
  73. package/dist/workflows.js +74 -109
  74. package/dist/workspace-B6AtI6ld.js +2510 -0
  75. package/dist/workspace.d.ts +2 -761
  76. package/dist/workspace.js +2 -51
  77. package/package.json +46 -40
  78. package/dist/WorkflowGraph-2QOORYIR.js +0 -1722
  79. package/dist/chunk-2BUPSB7O.js +0 -0
  80. package/dist/chunk-3KBNPQQF.js +0 -2697
  81. package/dist/chunk-3LIXVEEE.js +0 -279
  82. package/dist/chunk-72UF2H5H.js +0 -707
  83. package/dist/chunk-AI25G5MX.js +0 -944
  84. package/dist/chunk-ANSC5AFC.js +0 -314
  85. package/dist/chunk-AZ3AWMTM.js +0 -8
  86. package/dist/chunk-BGVEHENC.js +0 -10
  87. package/dist/chunk-CZ7CSFO4.js +0 -39
  88. package/dist/chunk-DYXXYGS4.js +0 -4700
  89. package/dist/chunk-EI44GEQ5.js +0 -6
  90. package/dist/chunk-IACRDXER.js +0 -219
  91. package/dist/chunk-IOB2PW5Z.js +0 -55
  92. package/dist/chunk-M4K7ZGR2.js +0 -24
  93. package/dist/chunk-MYZAW4RX.js +0 -665
  94. package/dist/chunk-OMUIPJQZ.js +0 -555
  95. package/dist/chunk-RQZRXKMR.js +0 -398
  96. package/dist/chunk-SOKKTB7W.js +0 -230
  97. package/dist/chunk-TADGS4Q7.js +0 -1010
  98. package/dist/chunk-UCQNOUN3.js +0 -7964
  99. package/dist/chunk-ULPLRBMF.js +0 -34
  100. package/dist/chunk-WID73FPH.js +0 -89
  101. package/dist/chunk-X3YXP7FG.js +0 -38
  102. package/dist/logo-DiAjq759.d.ts +0 -15
  103. package/dist/model-brand-BNnaUKKZ.d.ts +0 -99
  104. package/dist/ports-list-CDIvTNnX.d.ts +0 -17
  105. package/dist/sdk-hooks-Djkjq4cp.d.ts +0 -145
  106. package/dist/template-card-Bn-Bw5xC.d.ts +0 -87
@@ -0,0 +1,311 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import * as React$1 from "react";
3
+ //#region src/integrations/provider-logo.tsx
4
+ /**
5
+ * Provider branding: resolve a connector/provider slug to a logo and render it
6
+ * with graceful fallbacks. Shared by the integrations catalog tiles and the
7
+ * assistant's proposal card (its integration-requirement rows), so both surfaces
8
+ * show the same brand mark for a given provider from one source of truth.
9
+ *
10
+ * Dependency-light on purpose — only React — so it can be pulled into the
11
+ * always-loaded assistant entry without dragging the integrations panel's tree
12
+ * along with it.
13
+ */
14
+ /** Strip separators and common suffixes so "Outlook-Mail" / "stripe_pack" map to
15
+ * a stable key for the curated slug table and the derived simpleicons slug. */
16
+ function normalizeProviderId(id) {
17
+ return id.toLowerCase().replace(/[_\s]+/g, "-").replace(/-(business|oauth|api|app|mail|sms|pack|connector|v\d+)$/g, "");
18
+ }
19
+ /**
20
+ * Curated map of provider ids → simpleicons slug. Covers cases where the
21
+ * normalized id does not match the simpleicons slug (compound brands,
22
+ * Google/Microsoft suite members, renamed brands).
23
+ */
24
+ const PROVIDER_LOGO_SLUGS = {
25
+ gmail: "gmail",
26
+ googlemail: "gmail",
27
+ google: "google",
28
+ "google-drive": "googledrive",
29
+ "google-calendar": "googlecalendar",
30
+ "google-sheets": "googlesheets",
31
+ "google-docs": "googledocs",
32
+ "google-meet": "googlemeet",
33
+ "google-forms": "googleforms",
34
+ "google-ads": "googleads",
35
+ "google-analytics": "googleanalytics",
36
+ outlook: "microsoftoutlook",
37
+ "outlook-mail": "microsoftoutlook",
38
+ "microsoft-outlook": "microsoftoutlook",
39
+ "microsoft-calendar": "microsoftoutlook",
40
+ "microsoft-teams": "microsoftteams",
41
+ teams: "microsoftteams",
42
+ "microsoft-excel": "microsoftexcel",
43
+ excel: "microsoftexcel",
44
+ onedrive: "microsoftonedrive",
45
+ sharepoint: "microsoftsharepoint",
46
+ twitter: "x",
47
+ x: "x",
48
+ meta: "meta",
49
+ "stripe-pack": "stripe",
50
+ "twilio-sms": "twilio",
51
+ webhook: "webhooks",
52
+ webhooks: "webhooks",
53
+ hubspot: "hubspot",
54
+ salesforce: "salesforce",
55
+ pipedrive: "pipedrive",
56
+ zoho: "zoho",
57
+ quickbooks: "quickbooks",
58
+ intercom: "intercom",
59
+ zendesk: "zendesk",
60
+ freshdesk: "freshdesk",
61
+ monday: "mondaydotcom",
62
+ "monday-com": "mondaydotcom",
63
+ clickup: "clickup",
64
+ basecamp: "basecamp",
65
+ todoist: "todoist",
66
+ calendly: "calendly",
67
+ typeform: "typeform",
68
+ surveymonkey: "surveymonkey",
69
+ klaviyo: "klaviyo",
70
+ sendinblue: "brevo",
71
+ brevo: "brevo",
72
+ "constant-contact": "constantcontact",
73
+ "active-campaign": "activecampaign",
74
+ activecampaign: "activecampaign",
75
+ "google-chat": "googlechat",
76
+ whatsapp: "whatsapp",
77
+ telegram: "telegram",
78
+ bigquery: "googlebigquery",
79
+ snowflake: "snowflake",
80
+ postgres: "postgresql",
81
+ postgresql: "postgresql",
82
+ mysql: "mysql",
83
+ mongodb: "mongodb",
84
+ redis: "redis",
85
+ supabase: "supabase",
86
+ firebase: "firebase",
87
+ "aws-s3": "amazons3",
88
+ s3: "amazons3",
89
+ woocommerce: "woocommerce",
90
+ bigcommerce: "bigcommerce",
91
+ squarespace: "squarespace",
92
+ wix: "wix",
93
+ webflow: "webflow",
94
+ wordpress: "wordpress",
95
+ contentful: "contentful",
96
+ sanity: "sanity",
97
+ figma: "figma",
98
+ miro: "miro",
99
+ confluence: "confluence",
100
+ bitbucket: "bitbucket",
101
+ pagerduty: "pagerduty",
102
+ datadog: "datadog",
103
+ sentry: "sentry",
104
+ segment: "segment",
105
+ amplitude: "amplitude",
106
+ mixpanel: "mixpanel",
107
+ posthog: "posthog",
108
+ facebook: "facebook",
109
+ instagram: "instagram",
110
+ tiktok: "tiktok",
111
+ youtube: "youtube",
112
+ reddit: "reddit",
113
+ pinterest: "pinterest",
114
+ buffer: "buffer",
115
+ hootsuite: "hootsuite"
116
+ };
117
+ /** Base URL of the ActivePieces piece-logo CDN. The hub's provider ids are
118
+ * generated from the ActivePieces library, so most resolve a real brand logo
119
+ * from `/<providerId>.png`. */
120
+ const ACTIVEPIECES_CDN = "https://cdn.activepieces.com/pieces";
121
+ /**
122
+ * Per-id brand logo URLs for providers whose logo isn't at the ActivePieces
123
+ * default `/<id>.png` path: a connector's own catalog logo under a different
124
+ * filename, a parent connector's logo reused by a sub-connector/variant, or a
125
+ * public icon source for connectors absent from the catalog CDN.
126
+ *
127
+ * Mirrors the Tangle Platform's own integrations UI
128
+ * (`products/platform/web/src/client/components/IntegrationsCatalog.tsx`) so
129
+ * both surfaces resolve the same brand mark; the durable fix is for the hub API
130
+ * to emit `iconUrl` per provider, after which this map can be retired.
131
+ */
132
+ const PROVIDER_LOGO_URLS = {
133
+ "cal-com": `${ACTIVEPIECES_CDN}/cal.com.png`,
134
+ "customer-io": `${ACTIVEPIECES_CDN}/customerio.png`,
135
+ anthropic: `${ACTIVEPIECES_CDN}/claude.png`,
136
+ telegram: `${ACTIVEPIECES_CDN}/telegram_bot.png`,
137
+ "twilio-sms": `${ACTIVEPIECES_CDN}/twilio.png`,
138
+ "amazon-sqs": `${ACTIVEPIECES_CDN}/aws-sqs.png`,
139
+ frame: `${ACTIVEPIECES_CDN}/frameio.png`,
140
+ "jira-cloud": `${ACTIVEPIECES_CDN}/jira.png`,
141
+ "jira-data-center": `${ACTIVEPIECES_CDN}/jira.png`,
142
+ stripe: `${ACTIVEPIECES_CDN}/stripe.png`,
143
+ "stripe-pack": `${ACTIVEPIECES_CDN}/stripe.png`,
144
+ gemini: `${ACTIVEPIECES_CDN}/google-gemini.png`,
145
+ "google-gemini": `${ACTIVEPIECES_CDN}/google-gemini.png`,
146
+ bluesky: `${ACTIVEPIECES_CDN}/bluesky.png`,
147
+ emailit: `${ACTIVEPIECES_CDN}/emailit.svg`,
148
+ cloutly: `${ACTIVEPIECES_CDN}/cloutly.svg`,
149
+ gistly: `${ACTIVEPIECES_CDN}/gistly.svg`,
150
+ jotform: `${ACTIVEPIECES_CDN}/jotform.svg`,
151
+ supadata: `${ACTIVEPIECES_CDN}/supadata.svg`,
152
+ "hugging-face": `${ACTIVEPIECES_CDN}/huggingface.svg`,
153
+ huggingface: `${ACTIVEPIECES_CDN}/huggingface.svg`,
154
+ heygen: `${ACTIVEPIECES_CDN}/heygen.jpg`,
155
+ instasent: `${ACTIVEPIECES_CDN}/instasent.jpg`,
156
+ "chainalysis-api": `${ACTIVEPIECES_CDN}/chainalysis-api.jpg`,
157
+ scrapegraphai: `${ACTIVEPIECES_CDN}/scrapegraphai.jpg`,
158
+ localai: `${ACTIVEPIECES_CDN}/localai.jpeg`,
159
+ talkable: "https://www.talkable.com/wp-content/uploads/2021/12/talkable-favicon.svg",
160
+ "facebook-leads": `${ACTIVEPIECES_CDN}/facebook.png`,
161
+ "facebook-pages": `${ACTIVEPIECES_CDN}/facebook.png`,
162
+ "whatsapp-business": `${ACTIVEPIECES_CDN}/whatsapp.png`,
163
+ onedrive: `${ACTIVEPIECES_CDN}/oneDrive.png`,
164
+ "microsoft-onedrive": `${ACTIVEPIECES_CDN}/oneDrive.png`,
165
+ "outlook-mail": `${ACTIVEPIECES_CDN}/microsoft-outlook.png`,
166
+ "microsoft-calendar": `${ACTIVEPIECES_CDN}/microsoft-outlook.png`,
167
+ "microsoft-outlook-calendar": `${ACTIVEPIECES_CDN}/microsoft-outlook.png`,
168
+ sharepoint: `${ACTIVEPIECES_CDN}/microsoft-sharepoint.png`,
169
+ "notion-database": `${ACTIVEPIECES_CDN}/notion.png`,
170
+ "slack-inbound": `${ACTIVEPIECES_CDN}/slack.png`,
171
+ helpscout: `${ACTIVEPIECES_CDN}/help-scout.png`,
172
+ figjam: `${ACTIVEPIECES_CDN}/figma.png`,
173
+ webhook: `${ACTIVEPIECES_CDN}/new-core/webhooks.svg`,
174
+ make: "https://cdn.simpleicons.org/make",
175
+ n8n: "https://cdn.simpleicons.org/n8n",
176
+ zapier: "https://cdn.simpleicons.org/zapier",
177
+ auth0: "https://cdn.simpleicons.org/auth0",
178
+ basecamp: "https://cdn.simpleicons.org/basecamp",
179
+ ebay: "https://cdn.simpleicons.org/ebay",
180
+ gusto: "https://cdn.simpleicons.org/gusto",
181
+ miro: "https://cdn.simpleicons.org/miro",
182
+ sanity: "https://cdn.simpleicons.org/sanity",
183
+ sentry: "https://cdn.simpleicons.org/sentry",
184
+ opsgenie: "https://cdn.simpleicons.org/opsgenie",
185
+ phony: "https://www.google.com/s2/favicons?sz=64&domain_url=https://ph0ny.com",
186
+ docuseal: "https://www.google.com/s2/favicons?sz=64&domain_url=https://docuseal.com",
187
+ braze: "https://www.google.com/s2/favicons?sz=64&domain_url=https://braze.com",
188
+ pipedream: "https://www.google.com/s2/favicons?sz=64&domain_url=https://pipedream.com",
189
+ weaviate: "https://www.google.com/s2/favicons?sz=64&domain_url=https://weaviate.io",
190
+ "adobe-creative-cloud": "https://www.google.com/s2/favicons?sz=64&domain_url=https://adobe.com",
191
+ clio: "https://www.google.com/s2/favicons?sz=64&domain_url=https://clio.com",
192
+ marketo: "https://www.google.com/s2/favicons?sz=64&domain_url=https://marketo.com",
193
+ rippling: "https://www.google.com/s2/favicons?sz=64&domain_url=https://rippling.com",
194
+ "microsoft-graph": "https://www.google.com/s2/favicons?sz=64&domain_url=https://graph.microsoft.com"
195
+ };
196
+ /**
197
+ * Full-color vector brand marks for providers Simple Icons has delisted over
198
+ * trademark policy (Slack, Salesforce, the Microsoft 365 family, Twilio,
199
+ * LinkedIn) — these 404 on the simpleicons CDN, so without a real source they
200
+ * drop straight to the monogram. Keyed by the curated simpleicons slug AND by
201
+ * common normalized ids; the value is an svgl.app library name (crisp,
202
+ * multi-color SVGs that stay sharp in the catalog grid).
203
+ */
204
+ const PROVIDER_VECTOR_LOGOS = {
205
+ slack: "slack",
206
+ salesforce: "salesforce",
207
+ microsoftoutlook: "microsoft-outlook",
208
+ outlook: "microsoft-outlook",
209
+ microsoftteams: "microsoft-teams",
210
+ teams: "microsoft-teams",
211
+ microsoftexcel: "microsoft-excel",
212
+ excel: "microsoft-excel",
213
+ microsoftonedrive: "microsoft-onedrive",
214
+ onedrive: "microsoft-onedrive",
215
+ microsoftsharepoint: "microsoft-sharepoint",
216
+ sharepoint: "microsoft-sharepoint",
217
+ twilio: "twilio",
218
+ linkedin: "linkedin"
219
+ };
220
+ /**
221
+ * Ordered candidate logo URLs for a provider slug, most specific first. The
222
+ * renderer walks the chain on each `onError` until one loads, then falls back to
223
+ * the monogram tile.
224
+ *
225
+ * Order: explicit `iconUrl` → full-color vector mark for brands Simple Icons
226
+ * delisted (svgl.app) → a pinned override → the ActivePieces CDN by id (covers
227
+ * most of the hub catalog) → derived simpleicons slugs → monogram.
228
+ */
229
+ function providerLogoCandidates(opts) {
230
+ const out = [];
231
+ if (opts.iconUrl) out.push(opts.iconUrl);
232
+ const raw = opts.id.toLowerCase();
233
+ const norm = normalizeProviderId(raw);
234
+ const curated = PROVIDER_LOGO_SLUGS[raw] ?? PROVIDER_LOGO_SLUGS[norm];
235
+ const vectorName = PROVIDER_VECTOR_LOGOS[raw] ?? PROVIDER_VECTOR_LOGOS[norm] ?? (curated ? PROVIDER_VECTOR_LOGOS[curated] : void 0);
236
+ if (vectorName) out.push(`https://svgl.app/library/${vectorName}.svg`);
237
+ const pinned = PROVIDER_LOGO_URLS[raw] ?? PROVIDER_LOGO_URLS[norm];
238
+ if (pinned) out.push(pinned);
239
+ if (raw) out.push(`${ACTIVEPIECES_CDN}/${encodeURIComponent(raw)}.png`);
240
+ const slugs = /* @__PURE__ */ new Set();
241
+ if (curated) slugs.add(curated);
242
+ slugs.add(norm.replace(/-/g, ""));
243
+ slugs.add(raw.replace(/[-_\s]/g, ""));
244
+ for (const slug of slugs) if (slug) out.push(`https://cdn.simpleicons.org/${slug}`);
245
+ return out;
246
+ }
247
+ /** Deterministic accent color for the monogram fallback, keyed off the id. */
248
+ function monogramColor(seed) {
249
+ const palette = [
250
+ "#6366f1",
251
+ "#8b5cf6",
252
+ "#ec4899",
253
+ "#f43f5e",
254
+ "#f97316",
255
+ "#eab308",
256
+ "#22c55e",
257
+ "#14b8a6",
258
+ "#0ea5e9",
259
+ "#3b82f6"
260
+ ];
261
+ let hash = 0;
262
+ for (let i = 0; i < seed.length; i += 1) hash = hash * 31 + seed.charCodeAt(i) >>> 0;
263
+ return palette[hash % palette.length];
264
+ }
265
+ /**
266
+ * A provider's brand mark: the resolved logo, walking a candidate chain on load
267
+ * error, and a deterministic monogram tile when no logo resolves. Rounding is
268
+ * left to the caller's `className` so the same component fits a large catalog
269
+ * tile and a small inline requirement row.
270
+ */
271
+ function ProviderIcon({ id, iconUrl, displayName, size = 24, className }) {
272
+ const candidates = React$1.useMemo(() => providerLogoCandidates({
273
+ id,
274
+ iconUrl
275
+ }), [id, iconUrl]);
276
+ const [index, setIndex] = React$1.useState(0);
277
+ const candidateKey = `${id} ${iconUrl ?? ""}`;
278
+ const [seenKey, setSeenKey] = React$1.useState(candidateKey);
279
+ if (candidateKey !== seenKey) {
280
+ setSeenKey(candidateKey);
281
+ setIndex(0);
282
+ }
283
+ const initial = (displayName ?? id).trim().charAt(0).toUpperCase() || "?";
284
+ const src = candidates[index];
285
+ if (!src) return /* @__PURE__ */ jsx("span", {
286
+ className: `flex shrink-0 items-center justify-center font-semibold text-white ${className ?? ""}`,
287
+ style: {
288
+ width: size,
289
+ height: size,
290
+ backgroundColor: monogramColor(id),
291
+ fontSize: Math.round(size * .42)
292
+ },
293
+ "aria-hidden": true,
294
+ children: initial
295
+ });
296
+ return /* @__PURE__ */ jsx("img", {
297
+ src,
298
+ alt: "",
299
+ width: size,
300
+ height: size,
301
+ loading: "lazy",
302
+ className: `shrink-0 object-contain ${className ?? ""}`,
303
+ style: {
304
+ width: size,
305
+ height: size
306
+ },
307
+ onError: () => setIndex((i) => i + 1)
308
+ });
309
+ }
310
+ //#endregion
311
+ export { normalizeProviderId as n, providerLogoCandidates as r, ProviderIcon as t };
package/dist/run.d.ts CHANGED
@@ -1 +1,2 @@
1
- export { ExpandedToolDetail, ExpandedToolDetailProps, FeedSegment, InlineThinkingItem, InlineThinkingItemProps, InlineToolItem, InlineToolItemProps, LiveDuration, RunGroup, RunGroupProps, RunRowShell, RunRowShellProps, RunRowStatus, RunRowStatusDot, ToolCallData, ToolCallFeed, ToolCallFeedProps, ToolCallStatus, ToolCallType, parseToolEvent } from '@tangle-network/ui/run';
1
+ import { ExpandedToolDetail, ExpandedToolDetailProps, FeedSegment, InlineThinkingItem, InlineThinkingItemProps, InlineToolItem, InlineToolItemProps, LiveDuration, RunGroup, RunGroupProps, RunRowShell, RunRowShellProps, RunRowStatus, RunRowStatusDot, ToolCallData, ToolCallFeed, ToolCallFeedProps, ToolCallStatus, ToolCallType, parseToolEvent } from "@tangle-network/ui/run";
2
+ export { ExpandedToolDetail, type ExpandedToolDetailProps, type FeedSegment, InlineThinkingItem, type InlineThinkingItemProps, InlineToolItem, type InlineToolItemProps, LiveDuration, RunGroup, type RunGroupProps, RunRowShell, type RunRowShellProps, type RunRowStatus, RunRowStatusDot, type ToolCallData, ToolCallFeed, type ToolCallFeedProps, type ToolCallStatus, type ToolCallType, parseToolEvent };
package/dist/run.js CHANGED
@@ -1,23 +1,2 @@
1
- import {
2
- ExpandedToolDetail,
3
- InlineThinkingItem,
4
- InlineToolItem,
5
- LiveDuration,
6
- RunGroup,
7
- RunRowShell,
8
- RunRowStatusDot,
9
- ToolCallFeed,
10
- parseToolEvent
11
- } from "./chunk-M4K7ZGR2.js";
12
- import "./chunk-CZ7CSFO4.js";
13
- export {
14
- ExpandedToolDetail,
15
- InlineThinkingItem,
16
- InlineToolItem,
17
- LiveDuration,
18
- RunGroup,
19
- RunRowShell,
20
- RunRowStatusDot,
21
- ToolCallFeed,
22
- parseToolEvent
23
- };
1
+ import { ExpandedToolDetail, InlineThinkingItem, InlineToolItem, LiveDuration, RunGroup, RunRowShell, RunRowStatusDot, ToolCallFeed, parseToolEvent } from "@tangle-network/ui/run";
2
+ export { ExpandedToolDetail, InlineThinkingItem, InlineToolItem, LiveDuration, RunGroup, RunRowShell, RunRowStatusDot, ToolCallFeed, parseToolEvent };
@@ -1,4 +1,3 @@
1
- export { AgentStreamEvent, AppendUserMessageOptions, ApplySdkEventOptions, AutomationStreamEvent, BeginAssistantMessageOptions, BotStreamEvent, CompleteAssistantMessageOptions, ConnectionState, RealtimeSessionOptions, RealtimeSessionRegistry, RealtimeSessionRegistryProps, RealtimeSessionState, RealtimeSessionTarget, SSEEvent, SdkSessionAttachment, SdkSessionEvent, SdkSessionSeed, TaskStreamEvent, TerminalStreamEvent, UseRunGroupsOptions, UseSSEStreamOptions, UseSSEStreamResult, UseSdkSessionOptions, UseSdkSessionReturn, UseToolCallStreamReturn, useAutoScroll, useDropdownMenu, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useToolCallStream } from '@tangle-network/ui/sdk-hooks';
2
- export { a as SessionInfo, b as SidecarAuth, U as UseSessionStreamOptions, c as UseSessionStreamResult, d as UseSidecarAuthOptions, u as useSessionStream, e as useSidecarAuth } from './sdk-hooks-Djkjq4cp.js';
3
- import '@tangle-network/agent-interface';
4
- import '@tangle-network/ui/types';
1
+ import { d as useSessionStream, l as UseSessionStreamOptions, n as UseSidecarAuthOptions, r as useSidecarAuth, s as SessionInfo, t as SidecarAuth, u as UseSessionStreamResult } from "./use-sidecar-auth-CCTJcrq7.js";
2
+ import { AgentStreamEvent, AppendUserMessageOptions, ApplySdkEventOptions, AutomationStreamEvent, BeginAssistantMessageOptions, BotStreamEvent, CompleteAssistantMessageOptions, ConnectionState, RealtimeSessionOptions, RealtimeSessionRegistry, RealtimeSessionRegistryProps, RealtimeSessionState, RealtimeSessionTarget, SSEEvent, SdkSessionAttachment, SdkSessionEvent, SdkSessionSeed, TaskStreamEvent, TerminalStreamEvent, UseRunGroupsOptions, UseSSEStreamOptions, UseSSEStreamResult, UseSdkSessionOptions, UseSdkSessionReturn, UseToolCallStreamReturn, useAutoScroll, useDropdownMenu, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useToolCallStream } from "@tangle-network/ui/sdk-hooks";
3
+ export { type AgentStreamEvent, type AppendUserMessageOptions, type ApplySdkEventOptions, type AutomationStreamEvent, type BeginAssistantMessageOptions, type BotStreamEvent, type CompleteAssistantMessageOptions, type ConnectionState, type RealtimeSessionOptions, RealtimeSessionRegistry, type RealtimeSessionRegistryProps, type RealtimeSessionState, type RealtimeSessionTarget, type SSEEvent, type SdkSessionAttachment, type SdkSessionEvent, type SdkSessionSeed, type SessionInfo, type SidecarAuth, type TaskStreamEvent, type TerminalStreamEvent, type UseRunGroupsOptions, type UseSSEStreamOptions, type UseSSEStreamResult, type UseSdkSessionOptions, type UseSdkSessionReturn, type UseSessionStreamOptions, type UseSessionStreamResult, type UseSidecarAuthOptions, type UseToolCallStreamReturn, useAutoScroll, useDropdownMenu, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useSessionStream, useSidecarAuth, useToolCallStream };
package/dist/sdk-hooks.js CHANGED
@@ -1,31 +1,3 @@
1
- import {
2
- useSessionStream,
3
- useSidecarAuth
4
- } from "./chunk-72UF2H5H.js";
5
- import "./chunk-CZ7CSFO4.js";
6
-
7
- // src/sdk-hooks.ts
8
- import {
9
- RealtimeSessionRegistry,
10
- useAutoScroll,
11
- useDropdownMenu,
12
- useRealtimeSession,
13
- useRunCollapseState,
14
- useRunGroups,
15
- useSSEStream,
16
- useSdkSession,
17
- useToolCallStream
18
- } from "@tangle-network/ui/sdk-hooks";
19
- export {
20
- RealtimeSessionRegistry,
21
- useAutoScroll,
22
- useDropdownMenu,
23
- useRealtimeSession,
24
- useRunCollapseState,
25
- useRunGroups,
26
- useSSEStream,
27
- useSdkSession,
28
- useSessionStream,
29
- useSidecarAuth,
30
- useToolCallStream
31
- };
1
+ import { i as useSessionStream, t as useSidecarAuth } from "./use-sidecar-auth-DkdcufOz.js";
2
+ import { RealtimeSessionRegistry, useAutoScroll, useDropdownMenu, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useToolCallStream } from "@tangle-network/ui/sdk-hooks";
3
+ export { RealtimeSessionRegistry, useAutoScroll, useDropdownMenu, useRealtimeSession, useRunCollapseState, useRunGroups, useSSEStream, useSdkSession, useSessionStream, useSidecarAuth, useToolCallStream };
@@ -0,0 +1,9 @@
1
+ //#region src/types/sidecar.d.ts
2
+ /** A chat session on the sidecar session gateway. */
3
+ interface Session {
4
+ id: string;
5
+ title: string;
6
+ parentID?: string;
7
+ }
8
+ //#endregion
9
+ export { Session as t };
package/dist/stores.d.ts CHANGED
@@ -1,17 +1,16 @@
1
- export { ActiveProjectActivity, ActiveSessionActivityOptions, ActiveSessionConnectionOptions, ActiveSessionConnectionState, ActiveSessionReconnectState, ActiveSessionRecord, ActiveSessionStatus, ActiveSessionTransportMode, ActiveSessionsState, RegisterActiveSessionOptions, SessionProjectKey, activeSessionsAtom, addMessage, addParts, bumpActiveSessionActivity, clearChat, getActiveSession, getAllActiveSessions, getAllProjectActivity, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, partMapAtom, registerActiveSession, resetActiveSessions, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useHasBackgroundRunningSessions, useNavbarSessions, useProjectActivity, useProjectSessions, useSessionsByActivity, useTotalRunningSessions } from '@tangle-network/ui/stores';
2
- import * as nanostores from 'nanostores';
3
-
4
- interface ChatSession {
5
- /** Sidecar HTTP base URL, e.g. "http://localhost:8080". */
6
- sidecarUrl: string;
7
- /** Auth token for the sidecar API. */
8
- token: string;
9
- /** Unique session identifier. */
10
- sessionId: string;
1
+ import { ActiveProjectActivity, ActiveSessionActivityOptions, ActiveSessionConnectionOptions, ActiveSessionConnectionState, ActiveSessionReconnectState, ActiveSessionRecord, ActiveSessionStatus, ActiveSessionTransportMode, ActiveSessionsState, RegisterActiveSessionOptions, SessionProjectKey, activeSessionsAtom, addMessage, addParts, bumpActiveSessionActivity, clearChat, getActiveSession, getAllActiveSessions, getAllProjectActivity, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, partMapAtom, registerActiveSession, resetActiveSessions, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useHasBackgroundRunningSessions, useNavbarSessions, useProjectActivity, useProjectSessions, useSessionsByActivity, useTotalRunningSessions } from "@tangle-network/ui/stores";
2
+ //#region src/stores/session-store.d.ts
3
+ export interface ChatSession {
4
+ /** Sidecar HTTP base URL, e.g. "http://localhost:8080". */
5
+ sidecarUrl: string;
6
+ /** Auth token for the sidecar API. */
7
+ token: string;
8
+ /** Unique session identifier. */
9
+ sessionId: string;
11
10
  }
12
11
  /** The currently active chat session (null when disconnected). */
13
- declare const sessionAtom: nanostores.PreinitializedWritableAtom<ChatSession | null> & object;
14
- declare function connectSession(session: ChatSession): void;
15
- declare function disconnectSession(): void;
16
-
17
- export { type ChatSession, connectSession, disconnectSession, sessionAtom };
12
+ export declare const sessionAtom: import("nanostores").PreinitializedWritableAtom<ChatSession | null> & object;
13
+ export declare function connectSession(session: ChatSession): void;
14
+ export declare function disconnectSession(): void;
15
+ //#endregion
16
+ export { type ActiveProjectActivity, type ActiveSessionActivityOptions, type ActiveSessionConnectionOptions, type ActiveSessionConnectionState, type ActiveSessionReconnectState, type ActiveSessionRecord, type ActiveSessionStatus, type ActiveSessionTransportMode, type ActiveSessionsState, type RegisterActiveSessionOptions, type SessionProjectKey, activeSessionsAtom, addMessage, addParts, bumpActiveSessionActivity, clearChat, getActiveSession, getAllActiveSessions, getAllProjectActivity, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, partMapAtom, registerActiveSession, resetActiveSessions, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useHasBackgroundRunningSessions, useNavbarSessions, useProjectActivity, useProjectSessions, useSessionsByActivity, useTotalRunningSessions };
package/dist/stores.js CHANGED
@@ -1,81 +1,13 @@
1
- import {
2
- activeSessionsAtom,
3
- addMessage,
4
- addParts,
5
- bumpActiveSessionActivity,
6
- clearChat,
7
- connectSession,
8
- disconnectSession,
9
- getActiveSession,
10
- getAllActiveSessions,
11
- getAllProjectActivity,
12
- getSessionsByActivity,
13
- getSessionsForNavbar,
14
- getSessionsForProject,
15
- getTotalRunningSessionCount,
16
- hasBackgroundRunningSessions,
17
- isStreamingAtom,
18
- messagesAtom,
19
- partMapAtom,
20
- registerActiveSession,
21
- resetActiveSessions,
22
- sessionAtom,
23
- setActiveSessionAttention,
24
- setActiveSessionConnection,
25
- setActiveSessionError,
26
- setActiveSessionRunning,
27
- setForegroundActiveSession,
28
- unregisterActiveSession,
29
- updateActiveSessionMeta,
30
- updatePart,
31
- useActiveSession,
32
- useActiveSessions,
33
- useActiveSessionsState,
34
- useHasBackgroundRunningSessions,
35
- useNavbarSessions,
36
- useProjectActivity,
37
- useProjectSessions,
38
- useSessionsByActivity,
39
- useTotalRunningSessions
40
- } from "./chunk-WID73FPH.js";
41
- import "./chunk-CZ7CSFO4.js";
42
- export {
43
- activeSessionsAtom,
44
- addMessage,
45
- addParts,
46
- bumpActiveSessionActivity,
47
- clearChat,
48
- connectSession,
49
- disconnectSession,
50
- getActiveSession,
51
- getAllActiveSessions,
52
- getAllProjectActivity,
53
- getSessionsByActivity,
54
- getSessionsForNavbar,
55
- getSessionsForProject,
56
- getTotalRunningSessionCount,
57
- hasBackgroundRunningSessions,
58
- isStreamingAtom,
59
- messagesAtom,
60
- partMapAtom,
61
- registerActiveSession,
62
- resetActiveSessions,
63
- sessionAtom,
64
- setActiveSessionAttention,
65
- setActiveSessionConnection,
66
- setActiveSessionError,
67
- setActiveSessionRunning,
68
- setForegroundActiveSession,
69
- unregisterActiveSession,
70
- updateActiveSessionMeta,
71
- updatePart,
72
- useActiveSession,
73
- useActiveSessions,
74
- useActiveSessionsState,
75
- useHasBackgroundRunningSessions,
76
- useNavbarSessions,
77
- useProjectActivity,
78
- useProjectSessions,
79
- useSessionsByActivity,
80
- useTotalRunningSessions
81
- };
1
+ import { activeSessionsAtom, addMessage, addParts, bumpActiveSessionActivity, clearChat, getActiveSession, getAllActiveSessions, getAllProjectActivity, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, partMapAtom, registerActiveSession, resetActiveSessions, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useHasBackgroundRunningSessions, useNavbarSessions, useProjectActivity, useProjectSessions, useSessionsByActivity, useTotalRunningSessions } from "@tangle-network/ui/stores";
2
+ import { atom } from "nanostores";
3
+ //#region src/stores/session-store.ts
4
+ /** The currently active chat session (null when disconnected). */
5
+ const sessionAtom = atom(null);
6
+ function connectSession(session) {
7
+ sessionAtom.set(session);
8
+ }
9
+ function disconnectSession() {
10
+ sessionAtom.set(null);
11
+ }
12
+ //#endregion
13
+ export { activeSessionsAtom, addMessage, addParts, bumpActiveSessionActivity, clearChat, connectSession, disconnectSession, getActiveSession, getAllActiveSessions, getAllProjectActivity, getSessionsByActivity, getSessionsForNavbar, getSessionsForProject, getTotalRunningSessionCount, hasBackgroundRunningSessions, isStreamingAtom, messagesAtom, partMapAtom, registerActiveSession, resetActiveSessions, sessionAtom, setActiveSessionAttention, setActiveSessionConnection, setActiveSessionError, setActiveSessionRunning, setForegroundActiveSession, unregisterActiveSession, updateActiveSessionMeta, updatePart, useActiveSession, useActiveSessions, useActiveSessionsState, useHasBackgroundRunningSessions, useNavbarSessions, useProjectActivity, useProjectSessions, useSessionsByActivity, useTotalRunningSessions };
package/dist/styles.css CHANGED
@@ -518,6 +518,9 @@
518
518
  .-m-1 {
519
519
  margin: calc(var(--spacing) * -1);
520
520
  }
521
+ .m-0 {
522
+ margin: 0px;
523
+ }
521
524
  .m-4 {
522
525
  margin: calc(var(--spacing) * 4);
523
526
  }
@@ -736,6 +739,10 @@
736
739
  width: calc(var(--spacing) * 3);
737
740
  height: calc(var(--spacing) * 3);
738
741
  }
742
+ .size-4 {
743
+ width: calc(var(--spacing) * 4);
744
+ height: calc(var(--spacing) * 4);
745
+ }
739
746
  .size-5 {
740
747
  width: calc(var(--spacing) * 5);
741
748
  height: calc(var(--spacing) * 5);
@@ -1222,9 +1229,6 @@
1222
1229
  .w-\[420px\] {
1223
1230
  width: 420px;
1224
1231
  }
1225
- .w-\[440px\] {
1226
- width: 440px;
1227
- }
1228
1232
  .w-\[480px\] {
1229
1233
  width: 480px;
1230
1234
  }
@@ -1309,6 +1313,9 @@
1309
1313
  .max-w-40 {
1310
1314
  max-width: calc(var(--spacing) * 40);
1311
1315
  }
1316
+ .max-w-80 {
1317
+ max-width: calc(var(--spacing) * 80);
1318
+ }
1312
1319
  .max-w-\[14rem\] {
1313
1320
  max-width: 14rem;
1314
1321
  }
@@ -1339,6 +1346,12 @@
1339
1346
  .max-w-\[320px\] {
1340
1347
  max-width: 320px;
1341
1348
  }
1349
+ .max-w-\[360px\] {
1350
+ max-width: 360px;
1351
+ }
1352
+ .max-w-\[390px\] {
1353
+ max-width: 390px;
1354
+ }
1342
1355
  .max-w-\[400px\] {
1343
1356
  max-width: 400px;
1344
1357
  }
@@ -1381,6 +1394,9 @@
1381
1394
  .max-w-\[700px\] {
1382
1395
  max-width: 700px;
1383
1396
  }
1397
+ .max-w-\[742px\] {
1398
+ max-width: 742px;
1399
+ }
1384
1400
  .max-w-\[760px\] {
1385
1401
  max-width: 760px;
1386
1402
  }
@@ -1399,6 +1415,9 @@
1399
1415
  .max-w-\[900px\] {
1400
1416
  max-width: 900px;
1401
1417
  }
1418
+ .max-w-\[960px\] {
1419
+ max-width: 960px;
1420
+ }
1402
1421
  .max-w-\[1000px\] {
1403
1422
  max-width: 1000px;
1404
1423
  }
@@ -1411,6 +1430,15 @@
1411
1430
  .max-w-\[1100px\] {
1412
1431
  max-width: 1100px;
1413
1432
  }
1433
+ .max-w-\[calc\(100vw-2rem\)\] {
1434
+ max-width: calc(100vw - 2rem);
1435
+ }
1436
+ .max-w-\[calc\(100vw-5rem\)\] {
1437
+ max-width: calc(100vw - 5rem);
1438
+ }
1439
+ .max-w-\[min\(640px\,calc\(100vw-2rem\)\)\] {
1440
+ max-width: min(640px, calc(100vw - 2rem));
1441
+ }
1414
1442
  .max-w-full {
1415
1443
  max-width: 100%;
1416
1444
  }
@@ -4751,6 +4779,14 @@
4751
4779
  }
4752
4780
  }
4753
4781
  }
4782
+ @media (width < 359px) {
4783
+ .max-\[359px\]\:w-full {
4784
+ width: 100%;
4785
+ }
4786
+ .max-\[359px\]\:justify-start {
4787
+ justify-content: flex-start;
4788
+ }
4789
+ }
4754
4790
  @media (width < 64rem) {
4755
4791
  .max-lg\:hidden {
4756
4792
  display: none;
@@ -4838,6 +4874,9 @@
4838
4874
  .sm\:p-5 {
4839
4875
  padding: calc(var(--spacing) * 5);
4840
4876
  }
4877
+ .sm\:p-8 {
4878
+ padding: calc(var(--spacing) * 8);
4879
+ }
4841
4880
  .sm\:px-4 {
4842
4881
  padding-inline: calc(var(--spacing) * 4);
4843
4882
  }
@@ -5581,6 +5620,27 @@
5581
5620
  @supports (color: color-mix(in lab, red, red)) {
5582
5621
  --border-strong: color-mix(in srgb, hsl(var(--hsl-border)), hsl(var(--hsl-foreground)) 20%);
5583
5622
  }
5623
+ --chart-ink: var(--text-primary);
5624
+ --chart-ink-muted: var(--text-dim);
5625
+ --chart-muted: var(--md3-outline);
5626
+ --chart-grid: var(--md3-surface-container-high);
5627
+ --chart-rule: var(--md3-outline-variant);
5628
+ --chart-shade: var(--bg-hover);
5629
+ --chart-accent: var(--brand-cool);
5630
+ --chart-tier-c: #4a4a95;
5631
+ --chart-tier-b: #5b5bd6;
5632
+ --chart-tier-a: #8b87f0;
5633
+ --chart-tier-s: #b1a9ff;
5634
+ }
5635
+ [data-sandbox-theme="vault"],
5636
+ [data-theme="light"],
5637
+ .light,
5638
+ [data-theme$="-light"] {
5639
+ --chart-accent: hsl(var(--hsl-primary));
5640
+ --chart-tier-c: #9b9ef0;
5641
+ --chart-tier-b: #7c7fe3;
5642
+ --chart-tier-a: #5b5bd6;
5643
+ --chart-tier-s: #272962;
5584
5644
  }
5585
5645
  [data-theme] {
5586
5646
  --color-background: hsl(var(--hsl-background));