@athenaintel/react 0.4.6 → 0.5.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/README.md +51 -0
- package/dist/index.cjs +279 -104
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +308 -4
- package/dist/index.js +279 -104
- package/dist/index.js.map +1 -1
- package/dist/styles.css +35 -10
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -16417,45 +16417,16 @@ function useParentAuth() {
|
|
|
16417
16417
|
const [authToken, setAuthToken] = useState(null);
|
|
16418
16418
|
const readySignalSent = useRef(false);
|
|
16419
16419
|
useEffect(() => {
|
|
16420
|
-
const isInIframe = window.parent !== window;
|
|
16421
|
-
if (process.env.NODE_ENV !== "production") {
|
|
16422
|
-
console.log("[AthenaAuth] useParentAuth mounted", {
|
|
16423
|
-
isInIframe,
|
|
16424
|
-
currentOrigin: window.location.origin,
|
|
16425
|
-
currentUrl: window.location.href
|
|
16426
|
-
});
|
|
16427
|
-
}
|
|
16428
16420
|
const handler = (event) => {
|
|
16429
|
-
|
|
16430
|
-
if (process.env.NODE_ENV !== "production") {
|
|
16431
|
-
console.log("[AthenaAuth] Received PostMessage", {
|
|
16432
|
-
type: (_a2 = event.data) == null ? void 0 : _a2.type,
|
|
16433
|
-
origin: event.origin,
|
|
16434
|
-
isTrusted: isTrustedOrigin(event.origin)
|
|
16435
|
-
});
|
|
16436
|
-
}
|
|
16437
|
-
if (!isTrustedOrigin(event.origin)) {
|
|
16438
|
-
if (process.env.NODE_ENV !== "production") {
|
|
16439
|
-
console.warn("[AthenaAuth] Rejected PostMessage — untrusted origin:", event.origin);
|
|
16440
|
-
}
|
|
16441
|
-
return;
|
|
16442
|
-
}
|
|
16421
|
+
if (!isTrustedOrigin(event.origin)) return;
|
|
16443
16422
|
if (event.data && typeof event.data === "object" && event.data.type === "athena-auth" && typeof event.data.token === "string") {
|
|
16444
|
-
if (process.env.NODE_ENV !== "production") {
|
|
16445
|
-
console.log("[AthenaAuth] PropelAuth token received via PostMessage, length:", event.data.token.length);
|
|
16446
|
-
}
|
|
16447
16423
|
setAuthToken(event.data.token);
|
|
16448
16424
|
}
|
|
16449
16425
|
};
|
|
16450
16426
|
window.addEventListener("message", handler);
|
|
16451
|
-
if (!readySignalSent.current &&
|
|
16452
|
-
if (process.env.NODE_ENV !== "production") {
|
|
16453
|
-
console.log("[AthenaAuth] Sending athena-auth-ready signal to parent");
|
|
16454
|
-
}
|
|
16427
|
+
if (!readySignalSent.current && window.parent !== window) {
|
|
16455
16428
|
window.parent.postMessage({ type: "athena-auth-ready" }, "*");
|
|
16456
16429
|
readySignalSent.current = true;
|
|
16457
|
-
} else if (!isInIframe && process.env.NODE_ENV !== "production") {
|
|
16458
|
-
console.log("[AthenaAuth] Not in iframe — skipping parent auth (standalone mode)");
|
|
16459
16430
|
}
|
|
16460
16431
|
return () => window.removeEventListener("message", handler);
|
|
16461
16432
|
}, []);
|
|
@@ -20780,24 +20751,12 @@ const useAthenaRuntime = (config2) => {
|
|
|
20780
20751
|
initialState: { messages: initialMessages ?? [] },
|
|
20781
20752
|
converter,
|
|
20782
20753
|
api: apiUrl,
|
|
20783
|
-
headers: async () => {
|
|
20784
|
-
|
|
20785
|
-
|
|
20786
|
-
|
|
20787
|
-
|
|
20788
|
-
|
|
20789
|
-
tokenPrefix: tokenRef.current ? tokenRef.current.substring(0, 20) + "..." : void 0,
|
|
20790
|
-
apiKeyPrefix: apiKeyRef.current ? apiKeyRef.current.substring(0, 10) + "..." : void 0,
|
|
20791
|
-
apiUrl
|
|
20792
|
-
});
|
|
20793
|
-
}
|
|
20794
|
-
return {
|
|
20795
|
-
// Prefer parent-injected PropelAuth token over hardcoded API key
|
|
20796
|
-
...authHeaders,
|
|
20797
|
-
"Accept-Encoding": "identity",
|
|
20798
|
-
Accept: "text/event-stream"
|
|
20799
|
-
};
|
|
20800
|
-
},
|
|
20754
|
+
headers: async () => ({
|
|
20755
|
+
// Prefer parent-injected PropelAuth token over hardcoded API key
|
|
20756
|
+
...tokenRef.current ? { Authorization: `Bearer ${tokenRef.current}` } : apiKeyRef.current ? { "X-API-KEY": apiKeyRef.current } : {},
|
|
20757
|
+
"Accept-Encoding": "identity",
|
|
20758
|
+
Accept: "text/event-stream"
|
|
20759
|
+
}),
|
|
20801
20760
|
onResponse: () => {
|
|
20802
20761
|
if (process.env.NODE_ENV !== "production") {
|
|
20803
20762
|
console.log("[AthenaSDK] Stream connected");
|
|
@@ -24130,6 +24089,10 @@ function useAthenaConfig() {
|
|
|
24130
24089
|
}
|
|
24131
24090
|
return ctx;
|
|
24132
24091
|
}
|
|
24092
|
+
const ThreadLoadingContext = createContext(false);
|
|
24093
|
+
function useThreadLoading() {
|
|
24094
|
+
return useContext(ThreadLoadingContext);
|
|
24095
|
+
}
|
|
24133
24096
|
const ThreadListContext = createContext(null);
|
|
24134
24097
|
function useThreadListStore() {
|
|
24135
24098
|
const store = useContext(ThreadListContext);
|
|
@@ -24140,10 +24103,6 @@ function useThreadListStore() {
|
|
|
24140
24103
|
}
|
|
24141
24104
|
return store;
|
|
24142
24105
|
}
|
|
24143
|
-
const ThreadLoadingContext = createContext(false);
|
|
24144
|
-
function useThreadLoading() {
|
|
24145
|
-
return useContext(ThreadLoadingContext);
|
|
24146
|
-
}
|
|
24147
24106
|
function getAuthHeaders(auth) {
|
|
24148
24107
|
if (auth.token) {
|
|
24149
24108
|
return { Authorization: `Bearer ${auth.token}` };
|
|
@@ -24257,6 +24216,178 @@ function createThreadListStore(config2) {
|
|
|
24257
24216
|
store.getState().fetchThreads();
|
|
24258
24217
|
return store;
|
|
24259
24218
|
}
|
|
24219
|
+
const THEME_TO_CSS = {
|
|
24220
|
+
primary: "--primary",
|
|
24221
|
+
primaryForeground: "--primary-foreground",
|
|
24222
|
+
background: "--background",
|
|
24223
|
+
foreground: "--foreground",
|
|
24224
|
+
muted: "--muted",
|
|
24225
|
+
mutedForeground: "--muted-foreground",
|
|
24226
|
+
accent: "--accent",
|
|
24227
|
+
accentForeground: "--accent-foreground",
|
|
24228
|
+
secondary: "--secondary",
|
|
24229
|
+
secondaryForeground: "--secondary-foreground",
|
|
24230
|
+
card: "--card",
|
|
24231
|
+
cardForeground: "--card-foreground",
|
|
24232
|
+
popover: "--popover",
|
|
24233
|
+
popoverForeground: "--popover-foreground",
|
|
24234
|
+
destructive: "--destructive",
|
|
24235
|
+
border: "--border",
|
|
24236
|
+
input: "--input",
|
|
24237
|
+
ring: "--ring",
|
|
24238
|
+
radius: "--radius",
|
|
24239
|
+
// Extended SDK-specific variables
|
|
24240
|
+
sidebarBackground: "--sidebar-background",
|
|
24241
|
+
sidebarBorder: "--sidebar-border",
|
|
24242
|
+
userBubble: "--user-bubble",
|
|
24243
|
+
userBubbleForeground: "--user-bubble-foreground",
|
|
24244
|
+
assistantForeground: "--assistant-foreground",
|
|
24245
|
+
composerBorder: "--composer-border",
|
|
24246
|
+
composerRadius: "--composer-radius"
|
|
24247
|
+
};
|
|
24248
|
+
function themeToStyleVars(theme) {
|
|
24249
|
+
const vars = {};
|
|
24250
|
+
for (const [key, value] of Object.entries(theme)) {
|
|
24251
|
+
if (value != null && THEME_TO_CSS[key]) {
|
|
24252
|
+
vars[THEME_TO_CSS[key]] = value;
|
|
24253
|
+
}
|
|
24254
|
+
}
|
|
24255
|
+
return vars;
|
|
24256
|
+
}
|
|
24257
|
+
const themes = {
|
|
24258
|
+
/** Default light theme. Neutral grays with blue accent. */
|
|
24259
|
+
light: {
|
|
24260
|
+
background: "oklch(0.99 0 0)",
|
|
24261
|
+
foreground: "oklch(0.13 0 0)",
|
|
24262
|
+
primary: "oklch(0.55 0.2 250)",
|
|
24263
|
+
primaryForeground: "oklch(1 0 0)",
|
|
24264
|
+
secondary: "oklch(0.96 0.005 250)",
|
|
24265
|
+
secondaryForeground: "oklch(0.13 0 0)",
|
|
24266
|
+
muted: "oklch(0.96 0.005 250)",
|
|
24267
|
+
mutedForeground: "oklch(0.5 0.02 250)",
|
|
24268
|
+
accent: "oklch(0.94 0.01 250)",
|
|
24269
|
+
accentForeground: "oklch(0.13 0 0)",
|
|
24270
|
+
card: "oklch(0.99 0 0)",
|
|
24271
|
+
cardForeground: "oklch(0.13 0 0)",
|
|
24272
|
+
popover: "oklch(0.99 0 0)",
|
|
24273
|
+
popoverForeground: "oklch(0.13 0 0)",
|
|
24274
|
+
destructive: "oklch(0.55 0.22 27)",
|
|
24275
|
+
border: "oklch(0.91 0.005 250)",
|
|
24276
|
+
input: "oklch(0.91 0.005 250)",
|
|
24277
|
+
ring: "oklch(0.55 0.2 250)",
|
|
24278
|
+
radius: "0.625rem"
|
|
24279
|
+
},
|
|
24280
|
+
/** Dark theme. Deep gray background with lighter text. */
|
|
24281
|
+
dark: {
|
|
24282
|
+
background: "oklch(0.15 0 0)",
|
|
24283
|
+
foreground: "oklch(0.95 0 0)",
|
|
24284
|
+
primary: "oklch(0.7 0.15 250)",
|
|
24285
|
+
primaryForeground: "oklch(0.13 0 0)",
|
|
24286
|
+
secondary: "oklch(0.22 0 0)",
|
|
24287
|
+
secondaryForeground: "oklch(0.95 0 0)",
|
|
24288
|
+
muted: "oklch(0.22 0 0)",
|
|
24289
|
+
mutedForeground: "oklch(0.65 0 0)",
|
|
24290
|
+
accent: "oklch(0.25 0 0)",
|
|
24291
|
+
accentForeground: "oklch(0.95 0 0)",
|
|
24292
|
+
card: "oklch(0.18 0 0)",
|
|
24293
|
+
cardForeground: "oklch(0.95 0 0)",
|
|
24294
|
+
popover: "oklch(0.18 0 0)",
|
|
24295
|
+
popoverForeground: "oklch(0.95 0 0)",
|
|
24296
|
+
destructive: "oklch(0.65 0.2 25)",
|
|
24297
|
+
border: "oklch(1 0 0 / 10%)",
|
|
24298
|
+
input: "oklch(1 0 0 / 15%)",
|
|
24299
|
+
ring: "oklch(0.7 0.15 250)",
|
|
24300
|
+
radius: "0.625rem"
|
|
24301
|
+
},
|
|
24302
|
+
/** Midnight theme. Deep navy with soft blue tones. */
|
|
24303
|
+
midnight: {
|
|
24304
|
+
background: "oklch(0.16 0.02 260)",
|
|
24305
|
+
foreground: "oklch(0.92 0.01 250)",
|
|
24306
|
+
primary: "oklch(0.68 0.16 250)",
|
|
24307
|
+
primaryForeground: "oklch(0.98 0 0)",
|
|
24308
|
+
secondary: "oklch(0.22 0.02 260)",
|
|
24309
|
+
secondaryForeground: "oklch(0.92 0.01 250)",
|
|
24310
|
+
muted: "oklch(0.22 0.02 260)",
|
|
24311
|
+
mutedForeground: "oklch(0.6 0.04 250)",
|
|
24312
|
+
accent: "oklch(0.26 0.03 260)",
|
|
24313
|
+
accentForeground: "oklch(0.92 0.01 250)",
|
|
24314
|
+
card: "oklch(0.19 0.02 260)",
|
|
24315
|
+
cardForeground: "oklch(0.92 0.01 250)",
|
|
24316
|
+
popover: "oklch(0.19 0.02 260)",
|
|
24317
|
+
popoverForeground: "oklch(0.92 0.01 250)",
|
|
24318
|
+
destructive: "oklch(0.65 0.2 25)",
|
|
24319
|
+
border: "oklch(0.3 0.03 260)",
|
|
24320
|
+
input: "oklch(0.3 0.03 260)",
|
|
24321
|
+
ring: "oklch(0.68 0.16 250)",
|
|
24322
|
+
radius: "0.625rem"
|
|
24323
|
+
},
|
|
24324
|
+
/** Warm earthy theme. Brown and sand tones. */
|
|
24325
|
+
warm: {
|
|
24326
|
+
background: "oklch(0.98 0.005 80)",
|
|
24327
|
+
foreground: "oklch(0.2 0.02 50)",
|
|
24328
|
+
primary: "oklch(0.55 0.12 50)",
|
|
24329
|
+
primaryForeground: "oklch(0.98 0 0)",
|
|
24330
|
+
secondary: "oklch(0.94 0.01 80)",
|
|
24331
|
+
secondaryForeground: "oklch(0.2 0.02 50)",
|
|
24332
|
+
muted: "oklch(0.95 0.01 80)",
|
|
24333
|
+
mutedForeground: "oklch(0.5 0.03 50)",
|
|
24334
|
+
accent: "oklch(0.92 0.015 80)",
|
|
24335
|
+
accentForeground: "oklch(0.2 0.02 50)",
|
|
24336
|
+
card: "oklch(0.98 0.005 80)",
|
|
24337
|
+
cardForeground: "oklch(0.2 0.02 50)",
|
|
24338
|
+
popover: "oklch(0.98 0.005 80)",
|
|
24339
|
+
popoverForeground: "oklch(0.2 0.02 50)",
|
|
24340
|
+
destructive: "oklch(0.55 0.2 25)",
|
|
24341
|
+
border: "oklch(0.9 0.01 80)",
|
|
24342
|
+
input: "oklch(0.9 0.01 80)",
|
|
24343
|
+
ring: "oklch(0.55 0.12 50)",
|
|
24344
|
+
radius: "0.75rem"
|
|
24345
|
+
},
|
|
24346
|
+
/** Purple creative theme. Vibrant purple accent. */
|
|
24347
|
+
purple: {
|
|
24348
|
+
background: "oklch(0.99 0.003 310)",
|
|
24349
|
+
foreground: "oklch(0.15 0.02 310)",
|
|
24350
|
+
primary: "oklch(0.55 0.22 310)",
|
|
24351
|
+
primaryForeground: "oklch(1 0 0)",
|
|
24352
|
+
secondary: "oklch(0.96 0.01 310)",
|
|
24353
|
+
secondaryForeground: "oklch(0.15 0.02 310)",
|
|
24354
|
+
muted: "oklch(0.96 0.01 310)",
|
|
24355
|
+
mutedForeground: "oklch(0.5 0.04 310)",
|
|
24356
|
+
accent: "oklch(0.94 0.015 310)",
|
|
24357
|
+
accentForeground: "oklch(0.15 0.02 310)",
|
|
24358
|
+
card: "oklch(0.99 0.003 310)",
|
|
24359
|
+
cardForeground: "oklch(0.15 0.02 310)",
|
|
24360
|
+
popover: "oklch(0.99 0.003 310)",
|
|
24361
|
+
popoverForeground: "oklch(0.15 0.02 310)",
|
|
24362
|
+
destructive: "oklch(0.55 0.22 27)",
|
|
24363
|
+
border: "oklch(0.92 0.005 310)",
|
|
24364
|
+
input: "oklch(0.92 0.005 310)",
|
|
24365
|
+
ring: "oklch(0.55 0.22 310)",
|
|
24366
|
+
radius: "0.75rem"
|
|
24367
|
+
},
|
|
24368
|
+
/** Green nature theme. Fresh green tones. */
|
|
24369
|
+
green: {
|
|
24370
|
+
background: "oklch(0.99 0.003 150)",
|
|
24371
|
+
foreground: "oklch(0.15 0.02 150)",
|
|
24372
|
+
primary: "oklch(0.55 0.18 155)",
|
|
24373
|
+
primaryForeground: "oklch(1 0 0)",
|
|
24374
|
+
secondary: "oklch(0.96 0.01 150)",
|
|
24375
|
+
secondaryForeground: "oklch(0.15 0.02 150)",
|
|
24376
|
+
muted: "oklch(0.96 0.01 150)",
|
|
24377
|
+
mutedForeground: "oklch(0.5 0.03 150)",
|
|
24378
|
+
accent: "oklch(0.94 0.015 150)",
|
|
24379
|
+
accentForeground: "oklch(0.15 0.02 150)",
|
|
24380
|
+
card: "oklch(0.99 0.003 150)",
|
|
24381
|
+
cardForeground: "oklch(0.15 0.02 150)",
|
|
24382
|
+
popover: "oklch(0.99 0.003 150)",
|
|
24383
|
+
popoverForeground: "oklch(0.15 0.02 150)",
|
|
24384
|
+
destructive: "oklch(0.55 0.22 27)",
|
|
24385
|
+
border: "oklch(0.92 0.008 150)",
|
|
24386
|
+
input: "oklch(0.92 0.008 150)",
|
|
24387
|
+
ring: "oklch(0.55 0.18 155)",
|
|
24388
|
+
radius: "0.625rem"
|
|
24389
|
+
}
|
|
24390
|
+
};
|
|
24260
24391
|
function AthenaRuntimeInner({
|
|
24261
24392
|
children,
|
|
24262
24393
|
apiUrl,
|
|
@@ -24275,7 +24406,9 @@ function AthenaRuntimeInner({
|
|
|
24275
24406
|
initialMessages
|
|
24276
24407
|
}) {
|
|
24277
24408
|
const auiTools = useMemo(() => Tools({ toolkit: frontendTools }), [frontendTools]);
|
|
24278
|
-
const aui = useAui({
|
|
24409
|
+
const aui = useAui({
|
|
24410
|
+
tools: auiTools
|
|
24411
|
+
});
|
|
24279
24412
|
const runtime = useAthenaRuntime({
|
|
24280
24413
|
apiUrl,
|
|
24281
24414
|
backendUrl,
|
|
@@ -24297,17 +24430,6 @@ function AthenaRuntimeInner({
|
|
|
24297
24430
|
);
|
|
24298
24431
|
return /* @__PURE__ */ jsx(AssistantRuntimeProvider, { aui, runtime, children: /* @__PURE__ */ jsx(AthenaContext.Provider, { value: athenaConfig, children: /* @__PURE__ */ jsx(TooltipProvider, { children }) }) });
|
|
24299
24432
|
}
|
|
24300
|
-
function useActiveThreadFromStore(store) {
|
|
24301
|
-
return useSyncExternalStore(
|
|
24302
|
-
(cb) => {
|
|
24303
|
-
if (!store) return () => {
|
|
24304
|
-
};
|
|
24305
|
-
return store.subscribe(cb);
|
|
24306
|
-
},
|
|
24307
|
-
() => (store == null ? void 0 : store.getState().activeThreadId) ?? null,
|
|
24308
|
-
() => null
|
|
24309
|
-
);
|
|
24310
|
-
}
|
|
24311
24433
|
function AthenaProvider({
|
|
24312
24434
|
children,
|
|
24313
24435
|
apiKey,
|
|
@@ -24322,23 +24444,14 @@ function AthenaProvider({
|
|
|
24322
24444
|
knowledgeBase,
|
|
24323
24445
|
systemPrompt,
|
|
24324
24446
|
threadId: threadIdProp,
|
|
24325
|
-
enableThreadList = false
|
|
24447
|
+
enableThreadList = false,
|
|
24448
|
+
theme
|
|
24326
24449
|
}) {
|
|
24327
24450
|
const frontendToolNames = useMemo(() => Object.keys(frontendTools), [frontendTools]);
|
|
24451
|
+
const themeStyleVars = useMemo(() => theme ? themeToStyleVars(theme) : void 0, [theme]);
|
|
24328
24452
|
const parentAuthToken = useParentAuth();
|
|
24329
24453
|
const effectiveToken = tokenProp ?? parentAuthToken;
|
|
24330
24454
|
const effectiveBackendUrl = backendUrl ?? DEFAULT_BACKEND_URL;
|
|
24331
|
-
useEffect(() => {
|
|
24332
|
-
if (process.env.NODE_ENV !== "production") {
|
|
24333
|
-
console.log("[AthenaAuth] AthenaProvider auth state", {
|
|
24334
|
-
hasTokenProp: !!tokenProp,
|
|
24335
|
-
hasParentAuthToken: !!parentAuthToken,
|
|
24336
|
-
hasEffectiveToken: !!effectiveToken,
|
|
24337
|
-
hasApiKey: !!apiKey,
|
|
24338
|
-
authMethod: effectiveToken ? "Bearer token (PropelAuth)" : apiKey ? "X-API-KEY" : "NONE"
|
|
24339
|
-
});
|
|
24340
|
-
}
|
|
24341
|
-
}, [tokenProp, parentAuthToken, effectiveToken, apiKey]);
|
|
24342
24455
|
const threadListStoreRef = useRef(null);
|
|
24343
24456
|
if (enableThreadList && !threadListStoreRef.current) {
|
|
24344
24457
|
threadListStoreRef.current = createThreadListStore({
|
|
@@ -24347,9 +24460,7 @@ function AthenaProvider({
|
|
|
24347
24460
|
token: effectiveToken
|
|
24348
24461
|
});
|
|
24349
24462
|
}
|
|
24350
|
-
const activeThreadId =
|
|
24351
|
-
enableThreadList ? threadListStoreRef.current : null
|
|
24352
|
-
);
|
|
24463
|
+
const activeThreadId = threadListStoreRef.current ? useStore$1(threadListStoreRef.current, (s) => s.activeThreadId) : null;
|
|
24353
24464
|
const [displayedThreadId, setDisplayedThreadId] = useState(null);
|
|
24354
24465
|
const [loadedMessages, setLoadedMessages] = useState(void 0);
|
|
24355
24466
|
const [isLoadingThread, setIsLoadingThread] = useState(false);
|
|
@@ -24368,21 +24479,14 @@ function AthenaProvider({
|
|
|
24368
24479
|
let cancelled = false;
|
|
24369
24480
|
setIsLoadingThread(true);
|
|
24370
24481
|
getThreadState(effectiveBackendUrl, { apiKey, token: effectiveToken }, activeThreadId).then((state) => {
|
|
24371
|
-
var _a3;
|
|
24372
24482
|
if (cancelled) return;
|
|
24373
|
-
if (process.env.NODE_ENV !== "production") {
|
|
24374
|
-
console.log("[AthenaThreads] Loaded thread state", {
|
|
24375
|
-
threadId: activeThreadId,
|
|
24376
|
-
messageCount: ((_a3 = state.messages) == null ? void 0 : _a3.length) ?? 0
|
|
24377
|
-
});
|
|
24378
|
-
}
|
|
24379
24483
|
setLoadedMessages(state.messages ?? []);
|
|
24380
24484
|
setDisplayedThreadId(activeThreadId);
|
|
24381
24485
|
setIsLoadingThread(false);
|
|
24382
24486
|
}).catch((err) => {
|
|
24383
24487
|
if (cancelled) return;
|
|
24384
24488
|
if (process.env.NODE_ENV !== "production") {
|
|
24385
|
-
console.
|
|
24489
|
+
console.error("[AthenaSDK] Failed to load thread state:", err);
|
|
24386
24490
|
}
|
|
24387
24491
|
setLoadedMessages(void 0);
|
|
24388
24492
|
setDisplayedThreadId(activeThreadId);
|
|
@@ -24393,7 +24497,7 @@ function AthenaProvider({
|
|
|
24393
24497
|
};
|
|
24394
24498
|
}, [activeThreadId, displayedThreadId, enableThreadList, effectiveBackendUrl, apiKey, effectiveToken]);
|
|
24395
24499
|
const resolvedThreadId = threadIdProp ?? displayedThreadId ?? void 0;
|
|
24396
|
-
const
|
|
24500
|
+
const runtimeContent = /* @__PURE__ */ jsx(ThreadLoadingContext.Provider, { value: isLoadingThread, children: /* @__PURE__ */ jsx(
|
|
24397
24501
|
AthenaRuntimeInner,
|
|
24398
24502
|
{
|
|
24399
24503
|
apiUrl,
|
|
@@ -24414,8 +24518,12 @@ function AthenaProvider({
|
|
|
24414
24518
|
},
|
|
24415
24519
|
resolvedThreadId ?? "__new__"
|
|
24416
24520
|
) });
|
|
24521
|
+
let inner = runtimeContent;
|
|
24417
24522
|
if (enableThreadList && threadListStoreRef.current) {
|
|
24418
|
-
|
|
24523
|
+
inner = /* @__PURE__ */ jsx(ThreadListContext.Provider, { value: threadListStoreRef.current, children: inner });
|
|
24524
|
+
}
|
|
24525
|
+
if (themeStyleVars) {
|
|
24526
|
+
return /* @__PURE__ */ jsx("div", { className: "athena-themed", style: themeStyleVars, children: inner });
|
|
24419
24527
|
}
|
|
24420
24528
|
return inner;
|
|
24421
24529
|
}
|
|
@@ -62455,6 +62563,14 @@ const AssistantActionBar = () => /* @__PURE__ */ jsxs(
|
|
|
62455
62563
|
]
|
|
62456
62564
|
}
|
|
62457
62565
|
);
|
|
62566
|
+
const UserMessage = () => /* @__PURE__ */ jsx(
|
|
62567
|
+
MessagePrimitiveRoot,
|
|
62568
|
+
{
|
|
62569
|
+
className: "aui-user-message-root fade-in slide-in-from-bottom-1 mx-auto flex w-full max-w-(--thread-max-width) animate-in justify-end px-2 py-3 duration-150",
|
|
62570
|
+
"data-role": "user",
|
|
62571
|
+
children: /* @__PURE__ */ jsx("div", { className: "aui-user-message-content wrap-break-word rounded-2xl bg-muted px-4 py-2.5 text-foreground", children: /* @__PURE__ */ jsx(MessagePrimitiveParts, { components: { Text: TiptapText } }) })
|
|
62572
|
+
}
|
|
62573
|
+
);
|
|
62458
62574
|
const ThreadLoadingOverlay = () => /* @__PURE__ */ jsxs(
|
|
62459
62575
|
"div",
|
|
62460
62576
|
{
|
|
@@ -62493,27 +62609,15 @@ const ThreadLoadingOverlay = () => /* @__PURE__ */ jsxs(
|
|
|
62493
62609
|
style: {
|
|
62494
62610
|
fontSize: 13,
|
|
62495
62611
|
fontWeight: 500,
|
|
62496
|
-
color: "var(--muted-foreground, #888)"
|
|
62497
|
-
letterSpacing: "0.01em"
|
|
62612
|
+
color: "var(--muted-foreground, #888)"
|
|
62498
62613
|
},
|
|
62499
62614
|
children: "Loading conversation…"
|
|
62500
62615
|
}
|
|
62501
62616
|
),
|
|
62502
|
-
/* @__PURE__ */ jsx("style", { children: `
|
|
62503
|
-
@keyframes aui-spin { to { transform: rotate(360deg); } }
|
|
62504
|
-
@keyframes aui-overlay-in { from { opacity: 0; } to { opacity: 1; } }
|
|
62505
|
-
` })
|
|
62617
|
+
/* @__PURE__ */ jsx("style", { children: `@keyframes aui-spin { to { transform: rotate(360deg); } } @keyframes aui-overlay-in { from { opacity: 0; } to { opacity: 1; } }` })
|
|
62506
62618
|
]
|
|
62507
62619
|
}
|
|
62508
62620
|
);
|
|
62509
|
-
const UserMessage = () => /* @__PURE__ */ jsx(
|
|
62510
|
-
MessagePrimitiveRoot,
|
|
62511
|
-
{
|
|
62512
|
-
className: "aui-user-message-root fade-in slide-in-from-bottom-1 mx-auto flex w-full max-w-(--thread-max-width) animate-in justify-end px-2 py-3 duration-150",
|
|
62513
|
-
"data-role": "user",
|
|
62514
|
-
children: /* @__PURE__ */ jsx("div", { className: "aui-user-message-content wrap-break-word rounded-2xl bg-muted px-4 py-2.5 text-foreground", children: /* @__PURE__ */ jsx(MessagePrimitiveParts, { components: { Text: TiptapText } }) })
|
|
62515
|
-
}
|
|
62516
|
-
);
|
|
62517
62621
|
const embedCache = /* @__PURE__ */ new Map();
|
|
62518
62622
|
function useAssetEmbed(assetId, options = {
|
|
62519
62623
|
backendUrl: ""
|
|
@@ -62917,6 +63021,74 @@ function useComposerAttachment() {
|
|
|
62917
63021
|
}, [aui]);
|
|
62918
63022
|
return { addFile, addContent, clear };
|
|
62919
63023
|
}
|
|
63024
|
+
const Toolkits = {
|
|
63025
|
+
/** Web search and page browsing. */
|
|
63026
|
+
WEB_SEARCH: "web_search_browse_toolkit",
|
|
63027
|
+
/** SQL query execution. */
|
|
63028
|
+
SQL: "sql_toolkit",
|
|
63029
|
+
/** Athena Code development environment. */
|
|
63030
|
+
ATHENA_CODE: "athena_code_toolkit",
|
|
63031
|
+
/** Document comments and collaboration. */
|
|
63032
|
+
COMMENTS: "comments_toolkit",
|
|
63033
|
+
/** Visual canvas creation. */
|
|
63034
|
+
CANVAS: "canvas_toolkit",
|
|
63035
|
+
/** PostgreSQL database management. */
|
|
63036
|
+
DATABASE: "database_toolkit",
|
|
63037
|
+
/** Asset collections management. */
|
|
63038
|
+
COLLECTIONS: "collections_toolkit",
|
|
63039
|
+
/** Charts, dashboards, and figures. */
|
|
63040
|
+
VISUALIZATIONS: "visualizations_toolkit",
|
|
63041
|
+
/** Custom UI creation. */
|
|
63042
|
+
USER_INTERFACE: "user_interface_toolkit",
|
|
63043
|
+
/** Agent Operating Procedures. */
|
|
63044
|
+
AOP: "aop_toolkit",
|
|
63045
|
+
/** Ephemeral compute environments. */
|
|
63046
|
+
COMPUTER_ASSET: "computer_asset_toolkit",
|
|
63047
|
+
/** Web browser automation. */
|
|
63048
|
+
BROWSER: "browser_toolkit",
|
|
63049
|
+
/** Virtual machine management. */
|
|
63050
|
+
VM: "vm_toolkit",
|
|
63051
|
+
/** Jupyter notebook execution. */
|
|
63052
|
+
NOTEBOOK: "notebook_toolkit",
|
|
63053
|
+
/** Presentation slide editing. */
|
|
63054
|
+
PRESENTATION: "presentation_toolkit",
|
|
63055
|
+
/** PowerPoint presentation creation from templates. */
|
|
63056
|
+
POWERPOINT: "powerpoint_deck_toolkit",
|
|
63057
|
+
/** Workspace file management (Spaces). */
|
|
63058
|
+
DRIVE: "olympus_drive_toolkit",
|
|
63059
|
+
/** Python code execution. */
|
|
63060
|
+
PYTHON: "python_toolkit",
|
|
63061
|
+
/** Multi-account email and calendar (Gmail + Outlook). */
|
|
63062
|
+
EMAIL: "unified_email_toolkit",
|
|
63063
|
+
/** Legacy email and calendar operations. */
|
|
63064
|
+
EMAIL_CALENDAR: "email_calendar_toolkit",
|
|
63065
|
+
/** Spreadsheet operations. */
|
|
63066
|
+
SPREADSHEET: "spreadsheet_toolkit",
|
|
63067
|
+
/** Athena document editing. */
|
|
63068
|
+
DOCUMENT: "document_toolkit",
|
|
63069
|
+
/** Word document backend operations. */
|
|
63070
|
+
WORD_DOCUMENT: "word_document_be_toolkit",
|
|
63071
|
+
/** Go-To-Market management. */
|
|
63072
|
+
GTM: "gtm_toolkit",
|
|
63073
|
+
/** Marketing campaign management. */
|
|
63074
|
+
MARKETING: "marketing_toolkit",
|
|
63075
|
+
/** FDE implementations and workflows. */
|
|
63076
|
+
FDE: "fde_toolkit",
|
|
63077
|
+
/** Code repository search via Greptile. */
|
|
63078
|
+
GREPTILE: "greptile_toolkit",
|
|
63079
|
+
/** SharePoint / Google Drive / workspace file access. */
|
|
63080
|
+
EXTERNAL_DRIVE: "external_drive_toolkit",
|
|
63081
|
+
/** Reusable playbooks and prompts. */
|
|
63082
|
+
PLAYBOOK: "playbook_toolkit",
|
|
63083
|
+
/** Local Chrome browser control via tunnel. */
|
|
63084
|
+
DEVICE_TUNNEL: "device_tunnel_toolkit",
|
|
63085
|
+
/** Project management. */
|
|
63086
|
+
PROJECTS: "projects_toolkit",
|
|
63087
|
+
/** Task Studio script execution. */
|
|
63088
|
+
TASK_STUDIO: "task_studio_toolkit",
|
|
63089
|
+
/** User memory and preferences. */
|
|
63090
|
+
PREFERENCES: "preferences_toolkit"
|
|
63091
|
+
};
|
|
62920
63092
|
export {
|
|
62921
63093
|
AppendDocumentToolUI,
|
|
62922
63094
|
AssetPanel,
|
|
@@ -62946,6 +63118,7 @@ export {
|
|
|
62946
63118
|
ToolFallbackResult,
|
|
62947
63119
|
ToolFallbackRoot,
|
|
62948
63120
|
ToolFallbackTrigger,
|
|
63121
|
+
Toolkits,
|
|
62949
63122
|
Tooltip,
|
|
62950
63123
|
TooltipContent,
|
|
62951
63124
|
TooltipIconButton,
|
|
@@ -62958,6 +63131,8 @@ export {
|
|
|
62958
63131
|
createThreadListStore,
|
|
62959
63132
|
getAssetInfo,
|
|
62960
63133
|
resetAssetAutoOpen,
|
|
63134
|
+
themeToStyleVars,
|
|
63135
|
+
themes,
|
|
62961
63136
|
tryParseJson$1 as tryParseJson,
|
|
62962
63137
|
useActiveThreadId,
|
|
62963
63138
|
useAppendToComposer,
|