@athenaintel/react 0.10.33 → 0.10.35

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 (91) hide show
  1. package/README.md +27 -0
  2. package/dist/assets/AssetPanel.d.ts +6 -0
  3. package/dist/assets/AthenaAssetEmbed.d.ts +17 -0
  4. package/dist/assets/AthenaLayout.d.ts +13 -0
  5. package/dist/assets/asset-embed-messages.d.ts +27 -0
  6. package/dist/assets/asset-panel-store.d.ts +65 -0
  7. package/dist/assets/asset-panel-url.d.ts +17 -0
  8. package/dist/assets/use-asset-embed.d.ts +45 -0
  9. package/dist/auth/AthenaAuthContext.d.ts +26 -0
  10. package/dist/auth/AthenaAuthProvider.d.ts +43 -0
  11. package/dist/auth/AthenaSSOProvider.d.ts +91 -0
  12. package/dist/auth/index.d.ts +7 -0
  13. package/dist/auth/types.d.ts +66 -0
  14. package/dist/chat/AthenaChat.d.ts +64 -0
  15. package/dist/chat/ComposerEditorContext.d.ts +30 -0
  16. package/dist/chat/athena-citation-links.d.ts +18 -0
  17. package/dist/chat/super-grouping/CollapsibleGroup.d.ts +15 -0
  18. package/dist/chat/super-grouping/SuperGroupingCard.d.ts +35 -0
  19. package/dist/chat/super-grouping/grouping-function.d.ts +19 -0
  20. package/dist/chat/super-grouping/tool-status-labels.d.ts +1 -0
  21. package/dist/chat/super-grouping/toolkit-map.d.ts +9 -0
  22. package/dist/chat/tiptap-composer.d.ts +7 -0
  23. package/dist/chat/tiptap-text.d.ts +4 -0
  24. package/dist/chat/tooltip-icon-button.d.ts +7 -0
  25. package/dist/composer/AttachmentContext.d.ts +27 -0
  26. package/dist/composer/ComposerAttachmentPreview.d.ts +9 -0
  27. package/dist/composer/ComposerDropZone.d.ts +13 -0
  28. package/dist/composer/ComposerQuotePreview.d.ts +12 -0
  29. package/dist/composer/FileUploadButton.d.ts +15 -0
  30. package/dist/composer/QuoteContext.d.ts +33 -0
  31. package/dist/composer/build-composed-message.d.ts +15 -0
  32. package/dist/composer/clipboard.d.ts +6 -0
  33. package/dist/composer/index.d.ts +18 -0
  34. package/dist/composer/useAppendToComposer.d.ts +14 -0
  35. package/dist/composer/useComposerAttachment.d.ts +14 -0
  36. package/dist/composer/useFileUpload.d.ts +35 -0
  37. package/dist/composer/useSendMessage.d.ts +21 -0
  38. package/dist/index.cjs +1996 -1440
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.d.ts +81 -1545
  41. package/dist/index.js +1997 -1441
  42. package/dist/index.js.map +1 -1
  43. package/dist/lib/athena-urls.d.ts +32 -0
  44. package/dist/lib/posthog/capture-gate.d.ts +72 -0
  45. package/dist/lib/posthog/wrap-posthog-client.d.ts +11 -0
  46. package/dist/lib/utils.d.ts +2 -0
  47. package/dist/mentions/composer-keybinds.d.ts +5 -0
  48. package/dist/mentions/mention-extension.d.ts +6 -0
  49. package/dist/mentions/mention-icons.d.ts +4 -0
  50. package/dist/mentions/mention-node-view.d.ts +2 -0
  51. package/dist/mentions/mention-suggestion-list.d.ts +14 -0
  52. package/dist/mentions/mention-suggestion-popup.d.ts +15 -0
  53. package/dist/mentions/mention-suggestions-extension.d.ts +11 -0
  54. package/dist/mentions/mention-types.d.ts +21 -0
  55. package/dist/mentions/mention-utils.d.ts +23 -0
  56. package/dist/mentions/scope-registry.d.ts +21 -0
  57. package/dist/mentions/types.d.ts +39 -0
  58. package/dist/mentions/use-mention-suggestions.d.ts +28 -0
  59. package/dist/provider/AthenaContext.d.ts +11 -0
  60. package/dist/provider/AthenaProvider.d.ts +86 -0
  61. package/dist/provider/PostHogProvider.d.ts +14 -0
  62. package/dist/provider/citation-links.d.ts +61 -0
  63. package/dist/provider/config.d.ts +20 -0
  64. package/dist/provider/types.d.ts +4 -0
  65. package/dist/runtime/auth.d.ts +45 -0
  66. package/dist/runtime/converter.d.ts +5 -0
  67. package/dist/runtime/external-message-converter.d.ts +21 -0
  68. package/dist/runtime/schemas.d.ts +24 -0
  69. package/dist/runtime/useAthenaRuntime.d.ts +47 -0
  70. package/dist/theme/index.d.ts +215 -0
  71. package/dist/threads/ThreadList.d.ts +4 -0
  72. package/dist/threads/adapter.d.ts +42 -0
  73. package/dist/threads/api.d.ts +49 -0
  74. package/dist/threads/index.d.ts +5 -0
  75. package/dist/threads/title.d.ts +4 -0
  76. package/dist/threads/useActiveThreadStateHydration.d.ts +14 -0
  77. package/dist/threads/useAthenaThreadManager.d.ts +25 -0
  78. package/dist/threads/useThreadTitlePolling.d.ts +14 -0
  79. package/dist/toolkits/index.d.ts +89 -0
  80. package/dist/tools/NestedPtcMessages.d.ts +14 -0
  81. package/dist/tools/append-document-tool-ui.d.ts +2 -0
  82. package/dist/tools/asset-utils.d.ts +6 -0
  83. package/dist/tools/auto-open-tools.d.ts +8 -0
  84. package/dist/tools/read-asset-tool-ui.d.ts +2 -0
  85. package/dist/tools/tool-fallback.d.ts +34 -0
  86. package/dist/tools/tool-uis.d.ts +62 -0
  87. package/dist/ui/button.d.ts +10 -0
  88. package/dist/ui/collapsible.d.ts +5 -0
  89. package/dist/ui/tooltip.d.ts +7 -0
  90. package/package.json +9 -10
  91. package/dist/auth.d.ts +0 -240
package/dist/index.d.ts CHANGED
@@ -1,1545 +1,81 @@
1
- import { AssistantRuntime } from '@assistant-ui/react';
2
- import { CaptureOptions } from 'posthog-js';
3
- import { CaptureResult } from 'posthog-js';
4
- import { ClassProp } from 'class-variance-authority/types';
5
- import { cn } from 'cnfast';
6
- import { Collapsible as Collapsible_2 } from 'radix-ui';
7
- import { ComponentProps } from 'react';
8
- import { ComponentPropsWithRef } from 'react';
9
- import { Context } from 'react';
10
- import { EmptyMessagePartComponent } from '@assistant-ui/react';
11
- import { FC } from 'react';
12
- import { ForwardRefExoticComponent } from 'react';
13
- import { JSX } from 'react/jsx-runtime';
14
- import { JSXElementConstructor } from 'react';
15
- import { LangChainMessage } from '@assistant-ui/react-langgraph';
16
- import { MessagePrimitive } from '@assistant-ui/react';
17
- import { PersistOptions } from 'zustand/middleware';
18
- import { PostHog } from 'posthog-js';
19
- import { Properties } from 'posthog-js';
20
- import * as React_2 from 'react';
21
- import { ReactElement } from 'react';
22
- import { ReactNode } from 'react';
23
- import { ReasoningMessagePartComponent } from '@assistant-ui/react';
24
- import { ReasoningMessagePartProps } from '@assistant-ui/react';
25
- import { RefAttributes } from 'react';
26
- import { RemoteThreadListAdapter } from '@assistant-ui/react';
27
- import { Store } from '@tanstack/react-store';
28
- import { StoreApi } from 'zustand';
29
- import { TextMessagePartComponent } from '@assistant-ui/react';
30
- import { ThreadMessage } from '@assistant-ui/react';
31
- import { ToolCallMessagePartComponent } from '@assistant-ui/react';
32
- import { ToolCallMessagePartStatus } from '@assistant-ui/react';
33
- import { Toolkit } from '@assistant-ui/react';
34
- import { Tooltip as Tooltip_2 } from 'radix-ui';
35
- import { UseBoundStore } from 'zustand';
36
- import { VariantProps } from 'class-variance-authority';
37
-
38
- export declare const AppendDocumentToolUI: ToolCallMessagePartComponent;
39
-
40
- export declare function archiveThread(backendUrl: string, auth: AuthConfig, threadId: string): Promise<void>;
41
-
42
- declare type AssetIconType = "doc" | "pdf" | "sheet";
43
-
44
- export declare const AssetPanel: FC<AssetPanelProps>;
45
-
46
- export declare interface AssetPanelProps {
47
- /** Register this panel as an asset-panel host when used outside AthenaLayout. */
48
- manageAssetPanelHostRegistration?: boolean;
49
- }
50
-
51
- export declare interface AssetPanelState {
52
- isOpen: boolean;
53
- tabs: AssetTab[];
54
- activeTabId: string | null;
55
- viewMode: ViewMode;
56
- isFullscreen: boolean;
57
- /** The current thread ID. Asset panel state is scoped per thread. */
58
- currentThreadId: string | null;
59
- /** Per-thread asset panel state tabs and active tab persist per thread. */
60
- threadStates: Record<string, ThreadAssetState>;
61
- /** Number of registered hosts that can reveal the asset panel. */
62
- assetPanelHostCount: number;
63
- /** Generation counter for auto-open tracking — incremented on reset */
64
- autoOpenGeneration: number;
65
- /** Tracks which assets have been auto-opened in the current generation */
66
- autoOpenedAssets: Map<string, number>;
67
- registerAssetPanelHost: () => void;
68
- unregisterAssetPanelHost: () => void;
69
- openAsset: (assetId: string, meta?: {
70
- name?: string;
71
- type?: AssetType;
72
- slideNumber?: number;
73
- }) => void;
74
- closeTab: (assetId: string) => void;
75
- setActiveTab: (assetId: string) => void;
76
- setViewMode: (mode: ViewMode) => void;
77
- closePanel: () => void;
78
- toggleFullscreen: () => void;
79
- /**
80
- * Switch the active thread. Saves the current thread's asset panel state
81
- * and restores the new thread's state (if any). Pass null to clear.
82
- */
83
- setCurrentThread: (threadId: string | null) => void;
84
- /** Reset auto-open tracking (increments generation so new assets can auto-open) */
85
- resetAutoOpen: () => void;
86
- /** Check if an asset should auto-open, and mark it as opened if so */
87
- markAutoOpened: (assetId: string) => boolean;
88
- }
89
-
90
- export declare interface AssetTab {
91
- id: string;
92
- name: string | null;
93
- type: AssetType;
94
- slideNumber?: number;
95
- }
96
-
97
- export declare type AssetType = 'presentation' | 'spreadsheet' | 'document' | 'notebook' | 'unknown';
98
-
99
- declare type AthenaAiLangChainMessage = Extract<LangChainMessage, {
100
- type: 'ai';
101
- }> & {
102
- usage_metadata?: Record<string, unknown>;
103
- response_metadata?: Record<string, unknown>;
104
- };
105
-
106
- export declare const AthenaAssistantActionBar: FC<AthenaAssistantActionBarProps>;
107
-
108
- export declare interface AthenaAssistantActionBarProps {
109
- className?: string;
110
- }
111
-
112
- export declare const AthenaAssistantMessage: FC<AthenaAssistantMessageProps>;
113
-
114
- export declare interface AthenaAssistantMessageProps {
115
- toolUIs: Record<string, ToolCallMessagePartComponent>;
116
- TextComponent?: TextMessagePartComponent;
117
- ReasoningComponent?: ReasoningMessagePartComponent;
118
- EmptyComponent?: EmptyMessagePartComponent;
119
- ActionBarComponent?: FC<AthenaAssistantActionBarProps>;
120
- /** Collapse adjacent tool calls into a single expandable group. Defaults to `false`. */
121
- groupToolCalls?: boolean;
122
- }
123
-
124
- /**
125
- * Auth state exposed by `useAthenaAuth()`.
126
- */
127
- export declare interface AthenaAuthState {
128
- /** Whether the user is currently logged in. */
129
- isLoggedIn: boolean;
130
- /** Whether the auth state is still loading. */
131
- isLoading: boolean;
132
- /** The authenticated user, or `null` when not logged in. */
133
- user: AthenaUser | null;
134
- /** The current access token, or `null` when not logged in. */
135
- accessToken: string | null;
136
- /** Organizations the user belongs to. */
137
- orgs: AthenaOrg[];
138
- /** Log the user out. Redirects to the login page by default. */
139
- logout: (redirectOnLogout?: boolean) => Promise<void>;
140
- }
141
-
142
- export declare const AthenaChat: FC<AthenaChatProps>;
143
-
144
- export declare interface AthenaChatComponents {
145
- UserMessage?: FC;
146
- AssistantMessage?: FC;
147
- AssistantActionBar?: FC<AthenaAssistantActionBarProps>;
148
- messageParts?: AthenaChatMessagePartComponents;
149
- }
150
-
151
- export declare interface AthenaChatMessagePartComponents {
152
- Text?: TextMessagePartComponent;
153
- Reasoning?: ReasoningMessagePartComponent;
154
- Empty?: EmptyMessagePartComponent;
155
- }
156
-
157
- export declare interface AthenaChatProps {
158
- /** CSS class name for the root element. */
159
- className?: string;
160
- /** Welcome heading text. Defaults to "Hello there!" */
161
- welcomeMessage?: string;
162
- /** Welcome subheading text. */
163
- welcomeSubtext?: string;
164
- /** Maximum width for the thread content. Defaults to "44rem". */
165
- maxWidth?: string;
166
- /** Additional tool UIs to register by name. */
167
- toolUIs?: Record<string, ToolCallMessagePartComponent>;
168
- /** Mention tools available in the composer. */
169
- mentionTools?: MentionTool[];
170
- /** Suggestion cards shown on the welcome screen. Pass `[]` to hide.
171
- * For workflow launchers outside AthenaChat, use `useSendMessage()`.
172
- */
173
- welcomeSuggestions?: WelcomeSuggestion[];
174
- /** Optional component overrides for message containers and key message parts. */
175
- components?: AthenaChatComponents;
176
- /** Collapse adjacent tool calls into a single expandable group. Defaults to `false`. */
177
- groupToolCalls?: boolean;
178
- }
179
-
180
- export declare interface AthenaCitationLinkClickContext extends AthenaLinkClickContext {
181
- kind: 'athena-citation';
182
- citation: AthenaCitationLinkMetadata;
183
- assetId: string;
184
- assetIds: string[];
185
- assetType: AssetType | null;
186
- openInAssetPanel: () => void;
187
- }
188
-
189
- /**
190
- * @deprecated Prefer `AthenaLinkClickHandleInput`.
191
- */
192
- export declare type AthenaCitationLinkHandleInput = AthenaLinkClickHandleInput;
193
-
194
- /**
195
- * @deprecated Prefer `AthenaLinkClickHandler`.
196
- */
197
- export declare type AthenaCitationLinkHandler = AthenaLinkClickHandler;
198
-
199
- export declare interface AthenaCitationLinkMetadata {
200
- assetId: string;
201
- assetIds: string[];
202
- assetType: AssetType | null;
203
- }
204
-
205
- /**
206
- * @deprecated Prefer `AthenaLinkClickOptions`. This remains supported as a citation-only alias.
207
- */
208
- export declare interface AthenaCitationLinkOptions {
209
- interceptAthenaCitations?: boolean;
210
- onClick?: (context: AthenaCitationLinkClickContext) => boolean | void;
211
- }
212
-
213
- export declare interface AthenaConfig extends Pick<AthenaProviderConfig, 'apiKey' | 'token'> {
214
- backendUrl: string;
215
- appUrl: string;
216
- enabledToolkits: string[];
217
- linkClicks?: AthenaLinkClickOptions;
218
- citationLinks?: AthenaCitationLinkOptions;
219
- }
220
-
221
- export declare type AthenaEnvironment = 'production' | 'staging';
222
-
223
- declare type AthenaLangChainMessage = Exclude<LangChainMessage, {
224
- type: 'ai';
225
- }> | AthenaAiLangChainMessage;
226
-
227
- /**
228
- * Layout that places the chat on the left and the asset panel on the right.
229
- * When no assets are open, the chat takes full width. Includes a draggable resize handle.
230
- */
231
- export declare const AthenaLayout: FC<AthenaLayoutProps>;
232
-
233
- export declare interface AthenaLayoutProps {
234
- children: ReactNode;
235
- /** Default width (%) of the chat panel when assets are open. Defaults to 50. */
236
- defaultChatPercent?: number;
237
- /** Minimum width (%) of each panel. Defaults to 25. */
238
- minPercent?: number;
239
- }
240
-
241
- export declare interface AthenaLinkClickContext {
242
- href: string;
243
- url: URL;
244
- target: string | null;
245
- linkText: string | null;
246
- isAssetPanelAvailable: boolean;
247
- kind: AthenaLinkKind;
248
- citation: AthenaCitationLinkMetadata | null;
249
- nativeEvent: MouseEvent | null;
250
- openInAssetPanel?: () => void;
251
- openInBrowser: (target?: string | null) => void;
252
- }
253
-
254
- export declare interface AthenaLinkClickHandleInput {
255
- href: string;
256
- linkText?: string | null;
257
- target?: string | null;
258
- nativeEvent?: MouseEvent | null;
259
- }
260
-
261
- export declare type AthenaLinkClickHandler = (input: AthenaLinkClickHandleInput) => boolean;
262
-
263
- export declare interface AthenaLinkClickOptions {
264
- /**
265
- * Whether Athena citation links should be intercepted by the SDK.
266
- * Defaults to `true`.
267
- */
268
- interceptAthenaCitations?: boolean;
269
- /**
270
- * Optional override invoked when any rendered chat link is clicked.
271
- * Return `true` to mark the click as handled and skip the default SDK behavior.
272
- */
273
- onClick?: (context: AthenaLinkClickContext) => boolean | void;
274
- }
275
-
276
- export declare type AthenaLinkKind = 'athena-citation' | 'athena-app' | 'external';
277
-
278
- /**
279
- * Athena organization membership.
280
- */
281
- export declare interface AthenaOrg {
282
- orgId: string;
283
- orgName: string;
284
- urlSafeOrgName: string;
285
- }
286
-
287
- export declare function AthenaProvider({ children, config, apiKey, token: tokenProp, agent, model, tools, frontendTools, disableAutoOpen, apiUrl, backendUrl, appUrl, environment, workbench, knowledgeBase, systemPrompt, customToolConfigs, appId, threadId: threadIdProp, enableThreadList, theme, linkClicks, citationLinks, posthog: posthogProp, }: AthenaProviderProps): ReactElement<unknown, string | JSXElementConstructor<any>> | null;
288
-
289
- export declare interface AthenaProviderConfig {
290
- /** API key for standalone authentication when no token is provided. */
291
- apiKey?: string;
292
- /** PropelAuth token. Takes priority over apiKey when provided. */
293
- token?: string | null;
294
- /** URL for the chat streaming endpoint. Defaults to the matching Athena environment. */
295
- apiUrl?: string;
296
- /** URL for the Athena backend API. Defaults to the matching Athena environment. */
297
- backendUrl?: string;
298
- /** URL for the Athena frontend app origin. Defaults to the matching Athena environment. */
299
- appUrl?: string;
300
- /** Exact parent origins allowed to send embedded auth/config via postMessage. */
301
- trustedParentOrigins?: string[];
302
- /** Athena environment preset used when URLs are not explicitly provided. */
303
- environment?: AthenaEnvironment;
304
- /** PostHog analytics configuration. When omitted or keys are missing, PostHog is disabled. */
305
- posthog?: PostHogConfig;
306
- }
307
-
308
- export declare interface AthenaProviderProps {
309
- children: ReactNode;
310
- /** Preferred structured config for auth and Athena endpoint settings. */
311
- config?: AthenaProviderConfig;
312
- /** @deprecated Prefer `config.apiKey`. API key for authentication in standalone mode. */
313
- apiKey?: string;
314
- /** @deprecated Prefer `config.token`. PropelAuth token. If provided, takes priority over apiKey. If omitted, the SDK
315
- * will automatically listen for a token from the parent window via PostMessage. */
316
- token?: string | null;
317
- /** Agent name to use. Defaults to 'athena_assist_agent'. */
318
- agent?: string;
319
- /** LLM model identifier. Defaults to 'claude-opus-4-6-thinking-max-fast'. */
320
- model?: string;
321
- /** Backend toolkit IDs to enable (e.g. 'document_toolkit', 'web_search_browse_toolkit'). */
322
- tools?: string[];
323
- /** Frontend tools that execute in the browser. The agent can invoke these.
324
- * Merged on top of the SDK's default auto-open tools; entries here take
325
- * precedence over defaults with the same name. */
326
- frontendTools?: Toolkit;
327
- /** Disable the SDK's default auto-open behavior for created/touched assets. */
328
- disableAutoOpen?: boolean;
329
- /** @deprecated Prefer `config.apiUrl`. URL for the chat streaming endpoint. */
330
- apiUrl?: string;
331
- /** @deprecated Prefer `config.backendUrl`. URL for the Athena backend API. */
332
- backendUrl?: string;
333
- /** @deprecated Prefer `config.appUrl`. URL for the Athena frontend app origin. */
334
- appUrl?: string;
335
- /** @deprecated Prefer `config.environment`. Athena environment preset used when URLs are not explicitly provided. */
336
- environment?: AthenaEnvironment;
337
- /** Asset IDs to include in the workbench. */
338
- workbench?: string[];
339
- /** Knowledge base IDs for RAG context. */
340
- knowledgeBase?: string[];
341
- /** System prompt override. */
342
- systemPrompt?: string;
343
- /** Custom tool configurations (e.g. MCP servers).
344
- * Passed through as `custom_tool_configs` in runConfig.custom.
345
- *
346
- * @example
347
- * <AthenaProvider customToolConfigs={{
348
- * mcp: {
349
- * "my-server": {
350
- * config: { transport: "streamable_http", url: "https://..." },
351
- * }
352
- * }
353
- * }}>
354
- */
355
- customToolConfigs?: Record<string, unknown>;
356
- /** Client app identifier for session filtering.
357
- * Sessions created with this ID can be filtered in the thread list.
358
- * E.g. "olympus", "athena-app", or a computer asset ID like "asset_<uuid>". */
359
- appId?: string;
360
- /** Thread ID override. Auto-generated if not provided. */
361
- threadId?: string;
362
- /** Enable thread list management (sidebar thread switching). */
363
- enableThreadList?: boolean;
364
- /** Theme configuration. Pass a preset from `themes` or a custom `AthenaTheme` object.
365
- * Injects CSS variables on a wrapper element — no CSS files needed.
366
- *
367
- * @example
368
- * import { themes } from '@athenaintel/react';
369
- * <AthenaProvider theme={themes.dark}>
370
- *
371
- * @example
372
- * <AthenaProvider theme={{ primary: '#8b5cf6', radius: '1rem' }}>
373
- *
374
- * @example
375
- * <AthenaProvider theme={{ ...themes.dark, primary: '#22c55e' }}>
376
- */
377
- theme?: AthenaTheme;
378
- /** Customize how rendered chat links behave. */
379
- linkClicks?: AthenaLinkClickOptions;
380
- /** @deprecated Prefer `linkClicks`. Customize how Athena citation links rendered in chat messages behave. */
381
- citationLinks?: AthenaCitationLinkOptions;
382
- /** PostHog analytics configuration. When omitted or keys are missing, PostHog is silently disabled.
383
- * Prefer `config.posthog` for structured configuration. */
384
- posthog?: PostHogConfig;
385
- }
386
-
387
- export declare const AthenaReasoningPart: FC<AthenaReasoningPartProps>;
388
-
389
- export declare interface AthenaReasoningPartProps extends ReasoningMessagePartProps {
390
- TextComponent?: TextMessagePartComponent;
391
- }
392
-
393
- export declare interface AthenaRuntimeConfig {
394
- /** URL for the chat streaming endpoint. Defaults to Athena production sync server. */
395
- apiUrl?: string;
396
- /** URL for the sync server resume endpoint. Derived from apiUrl if not provided. */
397
- resumeApiUrl?: string;
398
- /** URL for the Athena backend API. Defaults to Athena production API. */
399
- backendUrl?: string;
400
- /** API key for authentication. Used when no auth token is provided. */
401
- apiKey?: string;
402
- /** PropelAuth token from parent window. Takes priority over apiKey. */
403
- token?: string | null;
404
- /** LLM model identifier. */
405
- model?: string;
406
- /** Agent name to use. */
407
- agent?: string;
408
- /** Backend toolkit IDs to enable. */
409
- tools?: string[];
410
- /** Frontend tool IDs to include in enabled_tools. */
411
- frontendToolIds?: string[];
412
- /** Asset IDs to include in the workbench. */
413
- workbench?: string[];
414
- /** Knowledge base IDs for RAG context. */
415
- knowledgeBase?: string[];
416
- /** System prompt override. */
417
- systemPrompt?: string;
418
- /** Custom tool configurations (e.g. MCP servers). Passed as custom_tool_configs in runConfig. */
419
- customToolConfigs?: Record<string, unknown>;
420
- /** Client app identifier for session filtering. Sent as app_id in runConfig.custom. */
421
- appId?: string;
422
- /** Thread ID override. Auto-generated if not provided. */
423
- threadId?: string;
424
- /** Request channel. Defaults to "web". Use "chrome_extension" for the browser extension. */
425
- channel?: string;
426
- /** Device ID for device tunnel routing (chrome extension). */
427
- deviceId?: string;
428
- /** Additional fields merged into the request body. */
429
- extraBody?: Record<string, unknown>;
430
- /** Additional fields merged into runConfig.custom. */
431
- extraRunConfig?: Record<string, unknown>;
432
- }
433
-
434
- /**
435
- * Organization membership returned by the SSO endpoint.
436
- */
437
- export declare interface AthenaSSOOrgInfo {
438
- orgId: string;
439
- orgName: string;
440
- urlSafeOrgName: string;
441
- }
442
-
443
- /**
444
- * User data returned by the Athena SSO `/api/sso/userinfo` endpoint.
445
- * Field names use snake_case to match the backend response format.
446
- */
447
- export declare interface AthenaSSOUserData {
448
- user_id: string;
449
- email: string;
450
- first_name: string;
451
- last_name: string;
452
- username: string;
453
- picture_url: string;
454
- properties: Record<string, unknown>;
455
- }
456
-
457
- /**
458
- * Full response from the Athena SSO `/api/sso/userinfo` endpoint.
459
- */
460
- export declare interface AthenaSSOUserInfo {
461
- user: AthenaSSOUserData;
462
- orgMemberInfos: AthenaSSOOrgInfo[];
463
- accessToken: string;
464
- }
465
-
466
- /**
467
- * Athena SDK Theming System
468
- *
469
- * Usage:
470
- * import { AthenaProvider, themes } from '@athenaintel/react';
471
- *
472
- * // Use a preset theme
473
- * <AthenaProvider theme={themes.dark}>
474
- *
475
- * // Customize a preset
476
- * <AthenaProvider theme={{ ...themes.dark, primary: '#8b5cf6' }}>
477
- *
478
- * // Full custom theme
479
- * <AthenaProvider theme={{ primary: '#2563eb', background: '#fafafa', radius: '1rem' }}>
480
- */
481
- export declare interface AthenaTheme {
482
- /** Brand / accent color. Send button, active states, focus ring, spinner. */
483
- primary?: string;
484
- /** Text color on primary background. Set this with `primary` when you change contrast significantly. */
485
- primaryForeground?: string;
486
- /** Page / panel background. */
487
- background?: string;
488
- /** Primary text color. */
489
- foreground?: string;
490
- /** Subtle background. User message bubble, sidebar hover, thread highlight. */
491
- muted?: string;
492
- /** De-emphasized text. Timestamps, placeholders, sidebar items. */
493
- mutedForeground?: string;
494
- /** Hover / focus highlight background. */
495
- accent?: string;
496
- /** Text on accent background. */
497
- accentForeground?: string;
498
- /** Secondary surface color. */
499
- secondary?: string;
500
- /** Text on secondary surface. */
501
- secondaryForeground?: string;
502
- /** Card / modal surface color. */
503
- card?: string;
504
- /** Text on card surface. */
505
- cardForeground?: string;
506
- /** Popover / tooltip / dropdown surface. */
507
- popover?: string;
508
- /** Text on popover surface. */
509
- popoverForeground?: string;
510
- /** Error / danger color. Error banners, delete actions. */
511
- destructive?: string;
512
- /** Default border color. Dividers, card borders. */
513
- border?: string;
514
- /** Input field border color. Composer border. */
515
- input?: string;
516
- /** Focus ring color. Composer focus ring. */
517
- ring?: string;
518
- /** Base border radius for all rounded corners. e.g. '0.5rem', '0.75rem', '0' */
519
- radius?: string;
520
- /** Font family for all text. e.g. "'Inter', sans-serif", "system-ui" */
521
- fontFamily?: string;
522
- /** Sidebar background color. Falls back to muted with transparency. */
523
- sidebarBackground?: string;
524
- /** Sidebar border color. Falls back to border. */
525
- sidebarBorder?: string;
526
- /** Sidebar width. e.g. '280px', '20rem'. */
527
- sidebarWidth?: string;
528
- /** User message bubble background. Falls back to muted. */
529
- userBubble?: string;
530
- /** User message bubble text color. Falls back to foreground. Set this when `userBubble` is dark or saturated. */
531
- userBubbleForeground?: string;
532
- /** User message bubble border radius. e.g. '1rem', '0.5rem'. */
533
- userBubbleRadius?: string;
534
- /** Assistant message text color. Falls back to foreground. Set this when `assistantBubble` reduces contrast. */
535
- assistantForeground?: string;
536
- /** Assistant message bubble background. Transparent by default. */
537
- assistantBubble?: string;
538
- /** Composer border color. Falls back to input. */
539
- composerBorder?: string;
540
- /** Composer border radius. Falls back to radius-based default. */
541
- composerRadius?: string;
542
- /** Max width of the chat thread area. e.g. '44rem', '56rem'. */
543
- threadMaxWidth?: string;
544
- }
545
-
546
- /**
547
- * Context for passing the current thread's remoteId from the unstable_Provider
548
- * down to the runtimeHook, without requiring useAui() in the hook.
549
- */
550
- export declare const AthenaThreadIdContext: Context<string | undefined>;
551
-
552
- declare interface AthenaThreadListAdapterConfig {
553
- backendUrl: string;
554
- apiKey?: string;
555
- token?: string | null;
556
- appId?: string;
557
- }
558
-
559
- export declare interface AthenaThreadManagerState {
560
- /** The backend thread ID of the currently active thread, or null if not yet synced. */
561
- activeThreadId: string | null;
562
- /** Whether the thread list is still loading from the backend. */
563
- isListLoading: boolean;
564
- /** Whether the current thread is loading its message history (e.g. after a thread switch). */
565
- isThreadLoading: boolean;
566
- /** Switch the chat to a different thread by its backend thread ID. */
567
- switchToThread: (threadId: string) => Promise<void>;
568
- /** Create and switch to a new empty thread. */
569
- switchToNewThread: () => Promise<void>;
570
- }
571
-
572
- /**
573
- * Athena user information — a simplified, PropelAuth-agnostic representation.
574
- */
575
- export declare interface AthenaUser {
576
- userId: string;
577
- email: string;
578
- firstName?: string;
579
- lastName?: string;
580
- username?: string;
581
- pictureUrl?: string;
582
- properties?: Record<string, unknown>;
583
- }
584
-
585
- export declare const AthenaUserMessage: FC<AthenaUserMessageProps>;
586
-
587
- export declare interface AthenaUserMessageProps {
588
- TextComponent?: TextMessagePartComponent;
589
- }
590
-
591
- declare interface AuthConfig {
592
- apiKey?: string;
593
- token?: string | null;
594
- }
595
-
596
- export declare const autoCloseInFlightSubgraphMessages: (msgs: readonly unknown[]) => unknown[];
597
-
598
- export declare const BrowseToolUI: ToolCallMessagePartComponent;
599
-
600
- export declare function buildCoalescedCaptureProperties(payload: CoalescedCapturePayload): Properties;
601
-
602
- export declare function Button({ className, variant, size, asChild, ...props }: React_2.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
603
- asChild?: boolean;
604
- }): JSX.Element;
605
-
606
- export declare const buttonVariants: (props?: ({
607
- variant?: "default" | "link" | "secondary" | "destructive" | "outline" | "ghost" | null | undefined;
608
- size?: "default" | "icon" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
609
- } & ClassProp) | undefined) => string;
610
-
611
- declare interface CaptureGateConfig {
612
- globalMaxPerWindow: number;
613
- globalWindowMs: number;
614
- criticalReservePerWindow: number;
615
- defaultEventMaxPerWindow: number;
616
- defaultEventWindowMs: number;
617
- defaultDedupeWindowMs: number;
618
- /** Flush coalesced buckets on this interval (ms). */
619
- flushIntervalMs: number;
620
- /** Flush a bucket early once it reaches this many suppressed occurrences. */
621
- flushCoalesceThreshold: number;
622
- eventOverrides: Record<string, CaptureGateEventOverride>;
623
- }
624
-
625
- declare interface CaptureGateEventOverride {
626
- maxPerWindow: number;
627
- windowMs: number;
628
- dedupeWindowMs?: number;
629
- }
630
-
631
- declare type CaptureGateOutcome = {
632
- action: 'emit';
633
- } | {
634
- action: 'coalesce';
635
- reason: CaptureGateSuppressReason;
636
- bucketKey: string;
637
- };
638
-
639
- export declare interface CaptureGateSnapshot {
640
- coalescedPending: number;
641
- coalescedPendingByEvent: Record<string, number>;
642
- emittedTotal: number;
643
- coalescedTotal: number;
644
- flushedCoalescedTotal: number;
645
- }
646
-
647
- declare type CaptureGateSuppressReason = 'global_budget' | 'event_budget' | 'dedupe';
648
-
649
- export declare function capturePosthogEvent(client: PosthogCaptureClient | null | undefined, event: string, properties?: Properties, options?: CaptureOptions): void;
650
-
651
- export declare function capturePosthogException(client: PosthogCaptureClient | null | undefined, error: Error, properties?: Properties, options?: CaptureOptions): void;
652
-
653
- export declare function clearAutoOpenedAssets(): void;
654
-
655
- export { cn }
656
-
657
- export declare interface CoalescedCapturePayload {
658
- bucketKey: string;
659
- event: string;
660
- properties: Properties;
661
- coalescedCount: number;
662
- firstAt: number;
663
- lastAt: number;
664
- suppressionReason: CaptureGateSuppressReason;
665
- }
666
-
667
- export declare function Collapsible({ ...props }: React.ComponentProps<typeof Collapsible_2.Root>): JSX.Element;
668
-
669
- export declare function CollapsibleContent({ ...props }: React.ComponentProps<typeof Collapsible_2.CollapsibleContent>): JSX.Element;
670
-
671
- export declare function CollapsibleTrigger({ ...props }: React.ComponentProps<typeof Collapsible_2.CollapsibleTrigger>): JSX.Element;
672
-
673
- /**
674
- * Wraps the composer area with drag-and-drop file upload support.
675
- * Shows a visual drop indicator when files are dragged over.
676
- */
677
- export declare const ComposerDropZone: FC<ComposerDropZoneProps>;
678
-
679
- export declare interface ComposerDropZoneProps {
680
- children: ReactNode;
681
- className?: string;
682
- /** Called after files are uploaded via drag-and-drop. */
683
- onUpload?: (assets: UploadedAsset[]) => void;
684
- }
685
-
686
- /**
687
- * Renders a quote preview pill above the composer when text has been quoted
688
- * (via Cmd+L, text selection, or PostMessage from an iframe).
689
- *
690
- * Shows the quoted text with source attribution and a dismiss button.
691
- * Clears automatically after message send (handled by ComposerWithQuote).
692
- */
693
- export declare const ComposerQuotePreview: FC<ComposerQuotePreviewProps>;
694
-
695
- export declare interface ComposerQuotePreviewProps {
696
- className?: string;
697
- }
698
-
699
- export declare const convertLangChainToThreadMessages: (messages: AthenaLangChainMessage[], isRunning?: boolean, metadata?: {}) => ThreadMessage[];
700
-
701
- export declare function createAssetToolUI(config: {
702
- icon: React.ElementType;
703
- assetType: AssetType;
704
- runningLabel: string;
705
- doneLabel: string;
706
- }): ToolCallMessagePartComponent;
707
-
708
- export declare const CreateDocumentToolUI: ToolCallMessagePartComponent;
709
-
710
- export declare const CreateEmailDraftToolUI: ToolCallMessagePartComponent;
711
-
712
- export declare const CreateNotebookToolUI: ToolCallMessagePartComponent;
713
-
714
- export declare const CreatePresentationToolUI: ToolCallMessagePartComponent;
715
-
716
- export declare const CreateSheetToolUI: ToolCallMessagePartComponent;
717
-
718
- export declare function createThread(backendUrl: string, auth: AuthConfig, opts?: {
719
- systemPrompt?: string;
720
- enabledTools?: string[];
721
- appId?: string;
722
- }): Promise<ThreadCreateResponse>;
723
-
724
- export declare const DEFAULT_API_URL: string;
725
-
726
- export declare const DEFAULT_APP_URL: string;
727
-
728
- /**
729
- * Default frontend tools that auto-open the asset a tool just created or
730
- * touched. Registered automatically by `AthenaProvider` / `AthenaChat`; pass
731
- * `disableAutoOpen` to turn off, or override individual entries via
732
- * `frontendTools`.
733
- */
734
- export declare const DEFAULT_AUTO_OPEN_TOOLS: Toolkit;
735
-
736
- export declare const DEFAULT_BACKEND_URL: string;
737
-
738
- export declare const DescribeDatabaseToolUI: ToolCallMessagePartComponent;
739
-
740
- export declare const EmailSearchToolUI: ToolCallMessagePartComponent;
741
-
742
- export declare function ExpandableSection({ label, children, defaultOpen, }: {
743
- label?: string;
744
- children: React.ReactNode;
745
- defaultOpen?: boolean;
746
- }): JSX.Element;
747
-
748
- declare interface FetchState {
749
- isFetching: boolean;
750
- hasNextPage: boolean;
751
- error: Error | null;
752
- meta: unknown;
753
- }
754
-
755
- /**
756
- * Paperclip button that opens a file picker and uploads selected files to Athena.
757
- * After upload, adds files to the attachment context so they appear as pills
758
- * above the composer and get included when the message is sent.
759
- */
760
- export declare const FileUploadButton: FC<FileUploadButtonProps>;
761
-
762
- export declare interface FileUploadButtonProps {
763
- className?: string;
764
- /** Called after files are uploaded successfully. Receives the created assets. */
765
- onUpload?: (assets: UploadedAsset[]) => void;
766
- /** Accepted file types (MIME pattern). Defaults to all files. */
767
- accept?: string;
768
- }
769
-
770
- /** Format a tool name like `create_new_sheet` → "Create New Sheet" */
771
- export declare function formatToolName(name: string): string;
772
-
773
- export declare function getAssetInfo(assetId: string): {
774
- name: string;
775
- icon: AssetIconType;
776
- };
777
-
778
- export declare const GetDatabaseTableSchemaToolUI: ToolCallMessagePartComponent;
779
-
780
- export declare function getPosthogCaptureGate(): PosthogCaptureGate;
781
-
782
- export declare function getPostHogInstance<TClient = unknown>(): TClient | null;
783
-
784
- /**
785
- * Fetch persisted thread state from the conversations API.
786
- *
787
- * This endpoint is the same source used by Athena's conversation sidebar and
788
- * supports API-key auth plus BYO SSO session tokens sent as Bearer tokens.
789
- */
790
- export declare function getThreadState(backendUrl: string, auth: AuthConfig, threadId: string): Promise<ThreadStateResponse>;
791
-
792
- export declare const isAthenaCitationUrl: ({ href, appUrl, }: {
793
- href: string;
794
- appUrl?: string | null;
795
- }) => boolean;
796
-
797
- export declare function isCriticalPosthogEvent(event: string): boolean;
798
-
799
- /** Item cache: deduplicates items by ID, tracks scope membership */
800
- declare interface ItemCache {
801
- items: Map<string, MenuItem>;
802
- }
803
-
804
- export declare const ListDatabaseTablesToolUI: ToolCallMessagePartComponent;
805
-
806
- export declare function listThreads(backendUrl: string, auth: AuthConfig, opts?: {
807
- limit?: number;
808
- offset?: number;
809
- exclude_triggered?: boolean;
810
- app_id?: string;
811
- }): Promise<ThreadListResponse>;
812
-
813
- declare type MentionRootCategory = "toolkits" | "team";
814
-
815
- declare interface MentionSuggestionsState {
816
- registry: ScopeRegistry;
817
- cache: ItemCache;
818
- }
819
-
820
- declare type MentionSuggestionsStore = Store<MentionSuggestionsState>;
821
-
822
- export declare interface MentionTool {
823
- id: string;
824
- name: string;
825
- description?: string;
826
- icon?: string;
827
- type: "tool" | "toolkit";
828
- }
829
-
830
- declare interface MenuItem {
831
- id: string;
832
- name: string;
833
- type: "menu" | "tool" | "toolkit";
834
- fallbackIcon: string;
835
- description?: string;
836
- visibleInScopes: Set<MenuScope>;
837
- navigatesToScope?: MenuScope;
838
- isNavigationOnly?: boolean;
839
- }
840
-
841
- /**
842
- * Core types for mention suggestions data layer
843
- * Simplified from Olympus — only Tool and Toolkit types
844
- */
845
- declare type MenuScope = string;
846
-
847
- export declare const NestedPtcMessages: FC<NestedPtcMessagesProps>;
848
-
849
- export declare interface NestedPtcMessagesProps {
850
- components: PartsComponents;
851
- messageClassName?: string;
852
- }
853
-
854
- export declare function normalizeResult(result: unknown): Record<string, unknown> | null;
855
-
856
- export declare const OpenAssetToolUI: ToolCallMessagePartComponent;
857
-
858
- export declare const OpenBrowserToolUI: ToolCallMessagePartComponent;
859
-
860
- declare interface ParentBridgeOptions {
861
- /**
862
- * Exact parent origins that are allowed to send auth/config via postMessage.
863
- * Useful for private-cloud or custom-domain deployments.
864
- */
865
- trustedOrigins?: string[];
866
- }
867
-
868
- export declare interface ParentBridgeState {
869
- /** PropelAuth access token from the parent window. */
870
- token: string | null;
871
- /** Sync server chat URL provided by the Marathon wrapper. */
872
- apiUrl: string | null;
873
- /** Athena backend URL provided by the Marathon wrapper. */
874
- backendUrl: string | null;
875
- /** Athena frontend origin provided by the parent wrapper. */
876
- appUrl: string | null;
877
- /** True once config has been received from the parent (or timeout fired). */
878
- ready: boolean;
879
- }
880
-
881
- export declare const parseAthenaCitationLink: ({ href, appUrl, }: {
882
- href: string;
883
- appUrl?: string | null;
884
- }) => ParsedAthenaCitationLink | null;
885
-
886
- export declare interface ParsedAthenaCitationLink {
887
- url: URL;
888
- assetId: string;
889
- assetIds: string[];
890
- assetType: AssetType | null;
891
- }
892
-
893
- declare type PartsComponents = ComponentProps<typeof MessagePrimitive.Parts>["components"];
894
-
895
- declare type PosthogCaptureClient = Pick<PostHog, 'capture'> & {
896
- captureException?: (error: unknown, additionalProperties?: Properties) => CaptureResult | undefined;
897
- };
898
-
899
- declare class PosthogCaptureGate {
900
- private readonly config;
901
- private readonly globalWindow;
902
- private readonly eventWindows;
903
- private readonly activeDedupe;
904
- private readonly coalesceBuckets;
905
- private emittedTotal;
906
- private coalescedTotal;
907
- private flushedCoalescedTotal;
908
- constructor(config?: CaptureGateConfig);
909
- resetForTests(): void;
910
- getSnapshot(): CaptureGateSnapshot;
911
- evaluateCapture(event: string, properties?: Properties, options?: CaptureOptions, now?: number): CaptureGateOutcome;
912
- /** Returns payloads ready to flush (does not mutate buckets until caller confirms). */
913
- collectFlushCandidates(now?: number): CoalescedCapturePayload[];
914
- /** Remove flushed bucket keys after successful emit. */
915
- acknowledgeFlushed(payloads: CoalescedCapturePayload[]): void;
916
- /** After coalescing, flush immediately if the bucket crossed the early threshold. */
917
- takeBucketIfReady(bucketKey: string, now?: number): CoalescedCapturePayload | null;
918
- /** Force-flush every pending bucket (e.g. page hide). */
919
- collectAllPending(): CoalescedCapturePayload[];
920
- private recordCoalesce;
921
- }
922
-
923
- export declare interface PostHogConfig {
924
- /** PostHog API key. When falsy, PostHog is disabled and the provider is a no-op. */
925
- apiKey?: string;
926
- /** PostHog ingestion host. Defaults to 'https://us.i.posthog.com'. */
927
- host?: string;
928
- /** Enable debug mode (logs PostHog internals to the console). */
929
- debug?: boolean;
930
- }
931
-
932
- export declare const PTC_SUBCALL_DID_NOT_COMPLETE_MESSAGE = "Sub-call did not complete before the parent tool returned.";
933
-
934
- declare interface QuoteContextValue {
935
- quote: QuoteData | null;
936
- setQuote: (quote: QuoteData | null) => void;
937
- clearQuote: () => void;
938
- }
939
-
940
- export declare interface QuoteData {
941
- /** The selected/quoted text. */
942
- text: string;
943
- /** Title of the source (e.g., asset title, document name). */
944
- sourceTitle?: string;
945
- /** Asset ID of the source (for attribution). */
946
- sourceAssetId?: string;
947
- /** Message ID of the source message (when quoting from chat). */
948
- sourceMessageId?: string;
949
- /** Role of the source message ('assistant' | 'user'). */
950
- sourceRole?: string;
951
- }
952
-
953
- export declare const ReadAssetToolUI: ToolCallMessagePartComponent;
954
-
955
- export declare function resetAssetAutoOpen(): void;
956
-
957
- export declare const RunPythonCodeToolUI: ToolCallMessagePartComponent;
958
-
959
- export declare const RunSqlToolUI: ToolCallMessagePartComponent;
960
-
961
- declare interface ScopeRegistry {
962
- entries: Map<MenuScope, ScopeRegistryEntry>;
963
- }
964
-
965
- declare interface ScopeRegistryEntry {
966
- sourceFn: SourceFn;
967
- fetchStates: Map<string, FetchState>;
968
- }
969
-
970
- export declare interface SendMessageOptions {
971
- /**
972
- * Replace the current composer text before sending.
973
- * Defaults to `true`.
974
- */
975
- replace?: boolean;
976
- }
977
-
978
- declare interface SourceContext {
979
- scope: MenuScope;
980
- query: string;
981
- fetchState: FetchState;
982
- }
983
-
984
- declare type SourceFn = (context: SourceContext) => Promise<SourceResult>;
985
-
986
- declare interface SourceResult {
987
- items: MenuItem[];
988
- pagination?: {
989
- hasMore: boolean;
990
- totalCount?: number;
991
- };
992
- }
993
-
994
- export declare const themes: {
995
- /** Default light theme. Neutral grays with blue accent. */
996
- readonly light: {
997
- background: string;
998
- foreground: string;
999
- primary: string;
1000
- primaryForeground: string;
1001
- secondary: string;
1002
- secondaryForeground: string;
1003
- muted: string;
1004
- mutedForeground: string;
1005
- accent: string;
1006
- accentForeground: string;
1007
- card: string;
1008
- cardForeground: string;
1009
- popover: string;
1010
- popoverForeground: string;
1011
- destructive: string;
1012
- border: string;
1013
- input: string;
1014
- ring: string;
1015
- radius: string;
1016
- };
1017
- /** Dark theme. Deep gray background with lighter text. */
1018
- readonly dark: {
1019
- background: string;
1020
- foreground: string;
1021
- primary: string;
1022
- primaryForeground: string;
1023
- secondary: string;
1024
- secondaryForeground: string;
1025
- muted: string;
1026
- mutedForeground: string;
1027
- accent: string;
1028
- accentForeground: string;
1029
- card: string;
1030
- cardForeground: string;
1031
- popover: string;
1032
- popoverForeground: string;
1033
- destructive: string;
1034
- border: string;
1035
- input: string;
1036
- ring: string;
1037
- radius: string;
1038
- };
1039
- /** Midnight theme. Deep navy with soft blue tones. */
1040
- readonly midnight: {
1041
- background: string;
1042
- foreground: string;
1043
- primary: string;
1044
- primaryForeground: string;
1045
- secondary: string;
1046
- secondaryForeground: string;
1047
- muted: string;
1048
- mutedForeground: string;
1049
- accent: string;
1050
- accentForeground: string;
1051
- card: string;
1052
- cardForeground: string;
1053
- popover: string;
1054
- popoverForeground: string;
1055
- destructive: string;
1056
- border: string;
1057
- input: string;
1058
- ring: string;
1059
- radius: string;
1060
- };
1061
- /** Warm earthy theme. Brown and sand tones. */
1062
- readonly warm: {
1063
- background: string;
1064
- foreground: string;
1065
- primary: string;
1066
- primaryForeground: string;
1067
- secondary: string;
1068
- secondaryForeground: string;
1069
- muted: string;
1070
- mutedForeground: string;
1071
- accent: string;
1072
- accentForeground: string;
1073
- card: string;
1074
- cardForeground: string;
1075
- popover: string;
1076
- popoverForeground: string;
1077
- destructive: string;
1078
- border: string;
1079
- input: string;
1080
- ring: string;
1081
- radius: string;
1082
- };
1083
- /** Purple creative theme. Vibrant purple accent. */
1084
- readonly purple: {
1085
- background: string;
1086
- foreground: string;
1087
- primary: string;
1088
- primaryForeground: string;
1089
- secondary: string;
1090
- secondaryForeground: string;
1091
- muted: string;
1092
- mutedForeground: string;
1093
- accent: string;
1094
- accentForeground: string;
1095
- card: string;
1096
- cardForeground: string;
1097
- popover: string;
1098
- popoverForeground: string;
1099
- destructive: string;
1100
- border: string;
1101
- input: string;
1102
- ring: string;
1103
- radius: string;
1104
- };
1105
- /** Green nature theme. Fresh green tones. */
1106
- readonly green: {
1107
- background: string;
1108
- foreground: string;
1109
- primary: string;
1110
- primaryForeground: string;
1111
- secondary: string;
1112
- secondaryForeground: string;
1113
- muted: string;
1114
- mutedForeground: string;
1115
- accent: string;
1116
- accentForeground: string;
1117
- card: string;
1118
- cardForeground: string;
1119
- popover: string;
1120
- popoverForeground: string;
1121
- destructive: string;
1122
- border: string;
1123
- input: string;
1124
- ring: string;
1125
- radius: string;
1126
- };
1127
- };
1128
-
1129
- /** Convert an AthenaTheme object to a CSS variables style object. */
1130
- export declare function themeToStyleVars(theme: AthenaTheme): Record<string, string>;
1131
-
1132
- declare interface ThreadAssetState {
1133
- tabs: AssetTab[];
1134
- activeTabId: string | null;
1135
- isOpen: boolean;
1136
- }
1137
-
1138
- declare interface ThreadCreateResponse {
1139
- thread_id: string;
1140
- }
1141
-
1142
- export declare function ThreadList({ className }: ThreadListProps): JSX.Element;
1143
-
1144
- export declare interface ThreadListProps {
1145
- className?: string;
1146
- }
1147
-
1148
- declare interface ThreadListResponse {
1149
- threads: ThreadSummary[];
1150
- }
1151
-
1152
- declare interface ThreadStateResponse {
1153
- thread_id: string;
1154
- messages: unknown[];
1155
- status?: string;
1156
- [key: string]: unknown;
1157
- }
1158
-
1159
- /**
1160
- * Athena thread API client.
1161
- * Calls existing REST endpoints for thread CRUD.
1162
- */
1163
- export declare interface ThreadSummary {
1164
- thread_id: string;
1165
- title: string;
1166
- created_at: string;
1167
- updated_at: string;
1168
- last_message: string | null;
1169
- message_count: number;
1170
- state: string | null;
1171
- }
1172
-
1173
- export declare const TiptapComposer: FC<TiptapComposerProps>;
1174
-
1175
- export declare interface TiptapComposerProps {
1176
- tools?: MentionTool[];
1177
- rootCategories?: readonly MentionRootCategory[];
1178
- }
1179
-
1180
- export declare const TiptapText: FC<{
1181
- text: string;
1182
- }>;
1183
-
1184
- export declare const TOOL_UI_REGISTRY: Record<string, ToolCallMessagePartComponent>;
1185
-
1186
- export { ToolCallMessagePartComponent }
1187
-
1188
- export declare function ToolCard({ icon: Icon, status, title, subtitle, toolName, badge, error, children, args, result, }: {
1189
- icon: React.ElementType;
1190
- status: ToolStatus;
1191
- title: string;
1192
- subtitle?: string;
1193
- toolName?: string;
1194
- badge?: string;
1195
- error?: string | null;
1196
- children?: React.ReactNode;
1197
- args?: Record<string, unknown>;
1198
- result?: unknown;
1199
- }): JSX.Element;
1200
-
1201
- export declare const ToolFallback: ToolCallMessagePartComponent & {
1202
- Root: typeof ToolFallbackRoot;
1203
- Trigger: typeof ToolFallbackTrigger;
1204
- Content: typeof ToolFallbackContent;
1205
- Args: typeof ToolFallbackArgs;
1206
- Result: typeof ToolFallbackResult;
1207
- Error: typeof ToolFallbackError;
1208
- };
1209
-
1210
- export declare function ToolFallbackArgs({ argsText, className, ...props }: React.ComponentProps<"div"> & {
1211
- argsText?: string;
1212
- }): JSX.Element | null;
1213
-
1214
- export declare function ToolFallbackContent({ className, children, ...props }: React.ComponentProps<typeof CollapsibleContent>): JSX.Element;
1215
-
1216
- export declare function ToolFallbackError({ status, className, ...props }: React.ComponentProps<"div"> & {
1217
- status?: ToolCallMessagePartStatus;
1218
- }): JSX.Element | null;
1219
-
1220
- export declare function ToolFallbackResult({ result, className, ...props }: React.ComponentProps<"div"> & {
1221
- result?: unknown;
1222
- }): JSX.Element | null;
1223
-
1224
- export declare function ToolFallbackRoot({ className, open: controlledOpen, onOpenChange: controlledOnOpenChange, defaultOpen, children, ...props }: ToolFallbackRootProps): JSX.Element;
1225
-
1226
- declare type ToolFallbackRootProps = Omit<React.ComponentProps<typeof Collapsible>, "open" | "onOpenChange"> & {
1227
- open?: boolean;
1228
- onOpenChange?: (open: boolean) => void;
1229
- defaultOpen?: boolean;
1230
- };
1231
-
1232
- export declare function ToolFallbackTrigger({ toolName, argsText, result, status, className, ...props }: React.ComponentProps<typeof CollapsibleTrigger> & {
1233
- toolName: string;
1234
- argsText?: string;
1235
- result?: unknown;
1236
- status?: ToolCallMessagePartStatus;
1237
- }): JSX.Element;
1238
-
1239
- export { Toolkit }
1240
-
1241
- /** A toolkit ID string. */
1242
- export declare type ToolkitId = (typeof Toolkits)[keyof typeof Toolkits];
1243
-
1244
- /**
1245
- * Backend toolkit IDs.
1246
- *
1247
- * Pass these to the `tools` prop on `<AthenaProvider>` to enable backend toolkits.
1248
- *
1249
- * @example
1250
- * import { Toolkits } from '@athenaintel/react';
1251
- *
1252
- * <AthenaProvider tools={[Toolkits.DOCUMENT, Toolkits.SPREADSHEET, Toolkits.WEB_SEARCH]}>
1253
- */
1254
- export declare const Toolkits: {
1255
- /** Web search and page browsing. */
1256
- readonly WEB_SEARCH: "web_search_browse_toolkit";
1257
- /** SQL query execution. */
1258
- readonly SQL: "sql_toolkit";
1259
- /** Azure Blob Storage catalog file operations. */
1260
- readonly AZURE_BLOB_STORAGE: "azure_blob_storage_toolkit";
1261
- /** Document comments and collaboration. */
1262
- readonly COMMENTS: "comments_toolkit";
1263
- /** Visual canvas creation. */
1264
- readonly CANVAS: "canvas_toolkit";
1265
- /** PostgreSQL database management. */
1266
- readonly DATABASE: "database_toolkit";
1267
- /** Asset collections management. */
1268
- readonly COLLECTIONS: "collections_toolkit";
1269
- /** Charts, dashboards, and figures. */
1270
- readonly VISUALIZATIONS: "visualizations_toolkit";
1271
- /** Custom UI creation. */
1272
- readonly USER_INTERFACE: "user_interface_toolkit";
1273
- /** Agent Operating Procedures. */
1274
- readonly AOP: "aop_toolkit";
1275
- /** Ephemeral compute environments. */
1276
- readonly COMPUTER_ASSET: "computer_asset_toolkit";
1277
- /** Web browser automation. */
1278
- readonly BROWSER: "browser_toolkit";
1279
- /** Virtual machine management. */
1280
- readonly VM: "vm_toolkit";
1281
- /** Jupyter notebook execution. */
1282
- readonly NOTEBOOK: "notebook_toolkit";
1283
- /** Presentation slide editing. */
1284
- readonly PRESENTATION: "presentation_toolkit";
1285
- /** Presentation slide editing (OnlyOffice, deprecated). */
1286
- readonly PRESENTATION_ONLYOFFICE: "presentation_onlyoffice_toolkit";
1287
- /** PowerPoint presentation creation from templates. */
1288
- readonly POWERPOINT: "powerpoint_deck_toolkit";
1289
- /** PowerPoint presentation creation from templates (pptx-studio). */
1290
- readonly PRESENTATION_PPTX_STUDIO: "presentation_pptx_studio_toolkit";
1291
- /** Workspace file management (Olympus Drive). */
1292
- readonly DRIVE: "olympus_drive_toolkit";
1293
- /** Python code execution. */
1294
- readonly PYTHON: "python_toolkit";
1295
- /** Multi-account email and calendar (Gmail + Outlook). */
1296
- readonly EMAIL: "unified_email_toolkit";
1297
- /** Legacy email and calendar operations. */
1298
- readonly EMAIL_CALENDAR: "email_calendar_toolkit";
1299
- /** Spreadsheet operations. */
1300
- readonly SPREADSHEET: "spreadsheet_toolkit";
1301
- /** Athena document editing. */
1302
- readonly DOCUMENT: "document_toolkit";
1303
- /** Word document backend operations. */
1304
- readonly WORD_DOCUMENT: "word_document_be_toolkit";
1305
- /** Go-To-Market management. */
1306
- readonly GTM: "gtm_toolkit";
1307
- /** Marketing campaign management. */
1308
- readonly MARKETING: "marketing_toolkit";
1309
- /** FDE implementations and workflows. */
1310
- readonly FDE: "fde_toolkit";
1311
- /** SharePoint / Google Drive / workspace file access. */
1312
- readonly EXTERNAL_DRIVE: "external_drive_toolkit";
1313
- /** Reusable playbooks and prompts. */
1314
- readonly PLAYBOOK: "playbook_toolkit";
1315
- /** Local Chrome browser control via tunnel. */
1316
- readonly DEVICE_TUNNEL: "device_tunnel_toolkit";
1317
- /** Project management. */
1318
- readonly PROJECTS: "projects_toolkit";
1319
- /** Task Studio script execution. */
1320
- readonly TASK_STUDIO: "task_studio_toolkit";
1321
- /** User memory and preferences. */
1322
- readonly PREFERENCES: "preferences_toolkit";
1323
- };
1324
-
1325
- export declare type ToolStatus = "running" | "complete" | "incomplete" | "requires-action";
1326
-
1327
- export declare function Tooltip({ ...props }: React_2.ComponentProps<typeof Tooltip_2.Root>): JSX.Element;
1328
-
1329
- export declare function TooltipContent({ className, sideOffset, children, ...props }: React_2.ComponentProps<typeof Tooltip_2.Content>): JSX.Element;
1330
-
1331
- export declare const TooltipIconButton: ForwardRefExoticComponent<Omit<TooltipIconButtonProps, "ref"> & RefAttributes<HTMLButtonElement>>;
1332
-
1333
- export declare type TooltipIconButtonProps = ComponentPropsWithRef<typeof Button> & {
1334
- tooltip: string;
1335
- side?: "top" | "bottom" | "left" | "right";
1336
- };
1337
-
1338
- export declare function TooltipProvider({ delayDuration, ...props }: React_2.ComponentProps<typeof Tooltip_2.Provider>): JSX.Element;
1339
-
1340
- export declare function TooltipTrigger({ ...props }: React_2.ComponentProps<typeof Tooltip_2.Trigger>): JSX.Element;
1341
-
1342
- export declare function truncate(text: string, max: number): string;
1343
-
1344
- export declare function tryParseJson(text: string): Record<string, unknown> | null;
1345
-
1346
- export declare const UpdateSheetRangeToolUI: ToolCallMessagePartComponent;
1347
-
1348
- export declare interface UploadedAsset {
1349
- id: string;
1350
- title: string;
1351
- fileName: string;
1352
- fileSize: number;
1353
- mediaType: string;
1354
- }
1355
-
1356
- export declare interface UploadProgress {
1357
- current: number;
1358
- total: number;
1359
- fileName: string;
1360
- /** 0–1 normalized progress for the current file */
1361
- percent: number;
1362
- }
1363
-
1364
- /**
1365
- * Hook to programmatically append text to the composer without sending it.
1366
- *
1367
- * Use `useSendMessage()` for workflow shortcuts or other UI that should
1368
- * immediately submit a prompt.
1369
- *
1370
- * Usage:
1371
- * const append = useAppendToComposer();
1372
- * append("some text to add");
1373
- * append("quoted text", { replace: true }); // replaces existing text
1374
- */
1375
- export declare function useAppendToComposer(): (text: string, opts?: {
1376
- replace?: boolean;
1377
- }) => void;
1378
-
1379
- /**
1380
- * Hook to generate an embed URL for rendering an asset in an iframe.
1381
- * Calls the Athena embed token endpoint.
1382
- *
1383
- * Note: The auth token is read via a ref and is intentionally NOT part
1384
- * of the effect dependency array. PropelAuth and similar providers refresh
1385
- * the token value periodically (e.g. on window focus), but the underlying
1386
- * session is the same — re-running the effect on every token rotation
1387
- * would force the iframe to reload unnecessarily. The effect only re-runs
1388
- * when the auth _mode_ changes (auth vs anonymous) or the asset changes.
1389
- */
1390
- export declare function useAssetEmbed(assetId: string | null, options?: UseAssetEmbedOptions & {
1391
- backendUrl: string;
1392
- appUrl?: string;
1393
- apiKey?: string;
1394
- token?: string | null;
1395
- }): UseAssetEmbedResult;
1396
-
1397
- export declare interface UseAssetEmbedOptions {
1398
- readOnly?: boolean;
1399
- expiresInSeconds?: number;
1400
- }
1401
-
1402
- export declare interface UseAssetEmbedResult {
1403
- embedUrl: string | null;
1404
- isLoading: boolean;
1405
- error: string | null;
1406
- }
1407
-
1408
- export declare const useAssetPanelStore: UseBoundStore<Omit<StoreApi<AssetPanelState>, "setState" | "persist"> & {
1409
- setState(partial: AssetPanelState | Partial<AssetPanelState> | ((state: AssetPanelState) => AssetPanelState | Partial<AssetPanelState>), replace?: false | undefined): unknown;
1410
- setState(state: AssetPanelState | ((state: AssetPanelState) => AssetPanelState), replace: true): unknown;
1411
- persist: {
1412
- setOptions: (options: Partial<PersistOptions<AssetPanelState, unknown, unknown>>) => void;
1413
- clearStorage: () => void;
1414
- rehydrate: () => Promise<void> | void;
1415
- hasHydrated: () => boolean;
1416
- onHydrate: (fn: (state: AssetPanelState) => void) => () => void;
1417
- onFinishHydration: (fn: (state: AssetPanelState) => void) => () => void;
1418
- getOptions: () => Partial<PersistOptions<AssetPanelState, unknown, unknown>>;
1419
- };
1420
- }>;
1421
-
1422
- export declare const useAthenaCitationLinkHandler: () => AthenaCitationLinkHandler;
1423
-
1424
- export declare function useAthenaConfig(): AthenaConfig;
1425
-
1426
- export declare const useAthenaLinkClickHandler: () => AthenaLinkClickHandler;
1427
-
1428
- export declare const useAthenaRuntime: (config: AthenaRuntimeConfig) => AssistantRuntime;
1429
-
1430
- /** Read the current thread's remote ID (set by the adapter's unstable_Provider). */
1431
- export declare function useAthenaThreadId(): string | undefined;
1432
-
1433
- /**
1434
- * Hook that returns a RemoteThreadListAdapter for the Athena platform.
1435
- * Integrates with our Agora REST API for thread CRUD.
1436
- */
1437
- export declare function useAthenaThreadListAdapter(config: AthenaThreadListAdapterConfig): RemoteThreadListAdapter;
1438
-
1439
- export declare function useAthenaThreadManager(): AthenaThreadManagerState | null;
1440
-
1441
- /**
1442
- * Hook for programmatic composer file attachment control.
1443
- *
1444
- * Usage:
1445
- * const { addFile, addContent, clear } = useComposerAttachment();
1446
- * addFile(fileObject);
1447
- * addContent("data.csv", "col1,col2\n1,2");
1448
- * clear();
1449
- */
1450
- export declare function useComposerAttachment(): {
1451
- addFile: (file: File) => void;
1452
- addContent: (name: string, content: string) => void;
1453
- clear: () => void;
1454
- };
1455
-
1456
- /**
1457
- * Hook for uploading files to the Athena platform via the Athena upload endpoint.
1458
- * Files become Athena assets (documents, spreadsheets, PDFs, images, etc.).
1459
- *
1460
- * Usage:
1461
- * const { upload, isUploading, progress, error } = useFileUpload();
1462
- * const assets = await upload(fileList);
1463
- */
1464
- export declare function useFileUpload(): UseFileUploadReturn;
1465
-
1466
- export declare interface UseFileUploadReturn {
1467
- /** Upload one or more files to Athena. Returns the created asset(s). */
1468
- upload: (files: File[]) => Promise<UploadedAsset[]>;
1469
- /** Whether an upload is currently in progress. */
1470
- isUploading: boolean;
1471
- /** Upload progress info (null when idle). */
1472
- progress: UploadProgress | null;
1473
- /** Last upload error (null when no error). */
1474
- error: string | null;
1475
- /** Clear the error state. */
1476
- clearError: () => void;
1477
- }
1478
-
1479
- export declare function useMentionSuggestions(tools: MentionTool[], options?: UseMentionSuggestionsOptions): MentionSuggestionsStore;
1480
-
1481
- declare interface UseMentionSuggestionsOptions {
1482
- rootCategories?: readonly MentionRootCategory[];
1483
- }
1484
-
1485
- /**
1486
- * Legacy hook — returns just the auth token from the parent bridge.
1487
- * Prefer useParentBridge() for new code.
1488
- */
1489
- export declare function useParentAuth(): string | null;
1490
-
1491
- /**
1492
- * Listens for auth tokens AND environment config from the host environment.
1493
- *
1494
- * Two transport modes, picked automatically:
1495
- *
1496
- * 1. **Iframe (legacy / Olympus inline preview)**: a parent window posts
1497
- * `athena-config` and `athena-auth` via PostMessage. The hook also posts
1498
- * `athena-auth-ready` so the parent knows when to (re-)send.
1499
- *
1500
- * 2. **Standalone (Marathon-served deploy URL)**: top-level navigation, no
1501
- * parent. The hook fetches `/_athena/auth` on its own origin. Marathon
1502
- * validates its session cookie (sent by the browser automatically) and
1503
- * returns `{ token, apiUrl, backendUrl, appUrl }`. A 404 means we're not
1504
- * on a Marathon origin — the hook falls through with empty state.
1505
- *
1506
- * In both modes a timeout safety net flips `ready: true` so the app never
1507
- * blocks indefinitely.
1508
- */
1509
- export declare function useParentBridge({ trustedOrigins, }?: ParentBridgeOptions): ParentBridgeState;
1510
-
1511
- export declare function useQuote(): QuoteContextValue;
1512
-
1513
- /** Trigger a re-fetch of the thread list. No-op outside of thread list mode. */
1514
- export declare function useRefreshThreadList(): (() => void) | null;
1515
-
1516
- /**
1517
- * Hook to programmatically send a user message from anywhere inside AthenaProvider.
1518
- *
1519
- * This is intended for custom workflow buttons, sidebar shortcuts, or other UI
1520
- * that lives outside the AthenaChat thread tree. Unlike `aui.thread().append()`,
1521
- * this uses the provider-scoped composer runtime and does not depend on
1522
- * ThreadPrimitive context.
1523
- *
1524
- * Usage:
1525
- * const sendMessage = useSendMessage();
1526
- * await sendMessage("Run the quarterly workflow");
1527
- * await sendMessage("Add this follow-up", { replace: false });
1528
- */
1529
- export declare function useSendMessage(): (text: string, options?: SendMessageOptions) => Promise<void>;
1530
-
1531
- export declare type ViewMode = 'tabs' | 'tiled';
1532
-
1533
- export declare const WebSearchToolUI: ToolCallMessagePartComponent;
1534
-
1535
- export declare interface WelcomeSuggestion {
1536
- icon: React.ElementType;
1537
- title: string;
1538
- prompt: string;
1539
- }
1540
-
1541
- export declare function withCaptureGateBypass(options?: CaptureOptions): CaptureOptions;
1542
-
1543
- export declare function wrapPosthogClient<TClient extends PosthogCaptureClient>(client: TClient): TClient;
1544
-
1545
- export { }
1
+ export type { AthenaAuthState, AthenaUser, AthenaOrg, AthenaSSOUserInfo, AthenaSSOUserData, AthenaSSOOrgInfo, } from './auth/types';
2
+ export { AthenaProvider } from './provider/AthenaProvider';
3
+ export type { AthenaProviderProps } from './provider/AthenaProvider';
4
+ export type { AthenaProviderConfig } from './provider/config';
5
+ export type { PostHogConfig } from './provider/PostHogProvider';
6
+ export { getPostHogInstance } from './provider/PostHogProvider';
7
+ export { capturePosthogEvent, capturePosthogException, getPosthogCaptureGate, wrapPosthogClient, } from './lib/posthog/wrap-posthog-client';
8
+ export { buildCoalescedCaptureProperties, isCriticalPosthogEvent, withCaptureGateBypass, type CaptureGateSnapshot, type CoalescedCapturePayload, } from './lib/posthog/capture-gate';
9
+ export { AthenaAssistantActionBar, AthenaAssistantMessage, AthenaChat, AthenaReasoningPart, AthenaUserMessage, } from './chat/AthenaChat';
10
+ export type { AthenaAssistantActionBarProps, AthenaAssistantMessageProps, AthenaChatComponents, AthenaChatMessagePartComponents, AthenaChatProps, AthenaReasoningPartProps, AthenaUserMessageProps, WelcomeSuggestion, } from './chat/AthenaChat';
11
+ export { TiptapComposer } from './chat/tiptap-composer';
12
+ export type { TiptapComposerProps } from './chat/tiptap-composer';
13
+ export { TiptapText } from './chat/tiptap-text';
14
+ export { useAthenaLinkClickHandler, isAthenaCitationUrl, parseAthenaCitationLink, useAthenaCitationLinkHandler, } from './chat/athena-citation-links';
15
+ export type { ParsedAthenaCitationLink } from './chat/athena-citation-links';
16
+ export { TooltipIconButton } from './chat/tooltip-icon-button';
17
+ export type { TooltipIconButtonProps } from './chat/tooltip-icon-button';
18
+ export { TOOL_UI_REGISTRY } from './tools/tool-uis';
19
+ export { WebSearchToolUI, BrowseToolUI, OpenBrowserToolUI, EmailSearchToolUI, CreateDocumentToolUI, CreateSheetToolUI, CreatePresentationToolUI, CreateNotebookToolUI, RunPythonCodeToolUI, OpenAssetToolUI, CreateEmailDraftToolUI, UpdateSheetRangeToolUI, DescribeDatabaseToolUI, ListDatabaseTablesToolUI, GetDatabaseTableSchemaToolUI, RunSqlToolUI, createAssetToolUI, resetAssetAutoOpen, ToolCard, ExpandableSection, normalizeResult, truncate, formatToolName, } from './tools/tool-uis';
20
+ export type { ToolStatus } from './tools/tool-uis';
21
+ export { ToolFallback, ToolFallbackRoot, ToolFallbackTrigger, ToolFallbackContent, ToolFallbackArgs, ToolFallbackResult, ToolFallbackError, } from './tools/tool-fallback';
22
+ export { NestedPtcMessages } from './tools/NestedPtcMessages';
23
+ export type { NestedPtcMessagesProps } from './tools/NestedPtcMessages';
24
+ export { ReadAssetToolUI } from './tools/read-asset-tool-ui';
25
+ export { DEFAULT_AUTO_OPEN_TOOLS } from './tools/auto-open-tools';
26
+ export { AppendDocumentToolUI } from './tools/append-document-tool-ui';
27
+ export { getAssetInfo, tryParseJson } from './tools/asset-utils';
28
+ export { AthenaAssetEmbed } from './assets/AthenaAssetEmbed';
29
+ export type { AthenaAssetEmbedProps } from './assets/AthenaAssetEmbed';
30
+ export type { AthenaAssetCitationBehavior, AthenaAssetCitationClickEvent, AthenaAssetCitationReference, } from './assets/asset-embed-messages';
31
+ export { AssetPanel } from './assets/AssetPanel';
32
+ export type { AssetPanelProps } from './assets/AssetPanel';
33
+ export { AthenaLayout } from './assets/AthenaLayout';
34
+ export type { AthenaLayoutProps } from './assets/AthenaLayout';
35
+ export { useAssetPanelStore } from './assets/asset-panel-store';
36
+ export type { AssetTab, AssetType, ViewMode, AssetPanelState } from './assets/asset-panel-store';
37
+ export { useAssetEmbed } from './assets/use-asset-embed';
38
+ export type { UseAssetEmbedOptions, UseAssetEmbedResult } from './assets/use-asset-embed';
39
+ export { useAthenaConfig } from './provider/AthenaContext';
40
+ export type { AthenaConfig } from './provider/AthenaContext';
41
+ export type { AthenaCitationLinkMetadata, AthenaCitationLinkClickContext, AthenaCitationLinkHandleInput, AthenaCitationLinkHandler, AthenaCitationLinkOptions, AthenaLinkClickContext, AthenaLinkClickHandleInput, AthenaLinkClickHandler, AthenaLinkClickOptions, AthenaLinkKind, } from './provider/citation-links';
42
+ export { clearAutoOpenedAssets } from './tools/tool-fallback';
43
+ export { ThreadList } from './threads/ThreadList';
44
+ export type { ThreadListProps } from './threads/ThreadList';
45
+ export type { ThreadSummary } from './threads/api';
46
+ export { useRefreshThreadList, useAthenaThreadListAdapter, useAthenaThreadId, AthenaThreadIdContext } from './threads/adapter';
47
+ export { listThreads, archiveThread, getThreadState, createThread } from './threads/api';
48
+ export { useAthenaThreadManager } from './threads/useAthenaThreadManager';
49
+ export type { AthenaThreadManagerState } from './threads/useAthenaThreadManager';
50
+ export { useAppendToComposer } from './composer/useAppendToComposer';
51
+ export { useSendMessage } from './composer/useSendMessage';
52
+ export type { SendMessageOptions } from './composer/useSendMessage';
53
+ export { useComposerAttachment } from './composer/useComposerAttachment';
54
+ export { useFileUpload } from './composer/useFileUpload';
55
+ export type { UploadedAsset, UploadProgress, UseFileUploadReturn } from './composer/useFileUpload';
56
+ export { FileUploadButton } from './composer/FileUploadButton';
57
+ export type { FileUploadButtonProps } from './composer/FileUploadButton';
58
+ export { ComposerDropZone } from './composer/ComposerDropZone';
59
+ export type { ComposerDropZoneProps } from './composer/ComposerDropZone';
60
+ export { ComposerQuotePreview } from './composer/ComposerQuotePreview';
61
+ export type { ComposerQuotePreviewProps } from './composer/ComposerQuotePreview';
62
+ export { useQuote } from './composer/QuoteContext';
63
+ export type { QuoteData } from './composer/QuoteContext';
64
+ export type { MentionTool } from './mentions/use-mention-suggestions';
65
+ export { useMentionSuggestions } from './mentions/use-mention-suggestions';
66
+ export { useAthenaRuntime, DEFAULT_BACKEND_URL, DEFAULT_API_URL } from './runtime/useAthenaRuntime';
67
+ export type { AthenaRuntimeConfig } from './runtime/useAthenaRuntime';
68
+ export { useParentAuth, useParentBridge } from './runtime/auth';
69
+ export type { ParentBridgeState } from './runtime/auth';
70
+ export { autoCloseInFlightSubgraphMessages, convertLangChainToThreadMessages, PTC_SUBCALL_DID_NOT_COMPLETE_MESSAGE, } from './runtime/converter';
71
+ export { createAthenaSpacesUrl, DEFAULT_APP_URL, deriveAthenaApiUrl, deriveAthenaAppUrl, } from './lib/athena-urls';
72
+ export type { AthenaEnvironment } from './lib/athena-urls';
73
+ export { Button, buttonVariants } from './ui/button';
74
+ export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './ui/tooltip';
75
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent } from './ui/collapsible';
76
+ export { Toolkits } from './toolkits';
77
+ export type { ToolkitId } from './toolkits';
78
+ export { themes, themeToStyleVars } from './theme';
79
+ export type { AthenaTheme } from './theme';
80
+ export { cn } from './lib/utils';
81
+ export { type Toolkit, type ToolCallMessagePartComponent, } from '@assistant-ui/react';