@alia.onl/sdk 15.7.0 → 19.0.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/CHANGELOG.md +255 -12
- package/README.md +241 -155
- package/package.json +17 -5
- package/src/animations.ts +0 -1
- package/src/components/AliaAskProvider.tsx +127 -0
- package/src/components/AliaChatContent.tsx +604 -392
- package/src/components/AliaChatHeader.tsx +14 -38
- package/src/components/AliaChatScreen.tsx +56 -31
- package/src/components/AliaChatSheet.tsx +110 -36
- package/src/components/AliaComposer.tsx +1 -1
- package/src/components/AliaParticipants.tsx +202 -0
- package/src/components/AliaParticipantsHeader.tsx +60 -0
- package/src/components/AliaSharedConversation.tsx +86 -0
- package/src/components/AliaWelcomeMessage.tsx +18 -5
- package/src/components/Image.tsx +12 -0
- package/src/components/Markdown.tsx +498 -14
- package/src/components/PlanPreviewCard.tsx +7 -49
- package/src/components/ReplyMarkdown.tsx +359 -0
- package/src/components/RichBlocks.tsx +195 -0
- package/src/components/canvas/CanvasComponent.tsx +59 -0
- package/src/components/canvas/ChartRenderer.tsx +73 -0
- package/src/components/canvas/CodeRenderer.tsx +24 -0
- package/src/components/canvas/FormRenderer.tsx +101 -0
- package/src/components/canvas/MarkdownRenderer.tsx +14 -0
- package/src/components/canvas/TableRenderer.tsx +47 -0
- package/src/components/thought/FilesAndSources.tsx +120 -0
- package/src/components/thought/ThoughtPanel.tsx +417 -0
- package/src/components/thought/ToolStep.tsx +141 -0
- package/src/components/thread/AgentResultCard.tsx +125 -0
- package/src/components/thread/AgentTaskCard.tsx +127 -0
- package/src/components/thread/AliaThread.tsx +401 -0
- package/src/components/thread/MessageBlockBoundary.tsx +78 -0
- package/src/components/thread/NewConversationOffer.tsx +54 -0
- package/src/components/thread/ThreadRow.tsx +458 -0
- package/src/components/thread/ThreadSearch.tsx +129 -0
- package/src/components/thread/ToolResultCard.tsx +254 -0
- package/src/components/thread/TurnMenu.tsx +54 -0
- package/src/components/thread/TurnStatusLine.tsx +34 -0
- package/src/components/voice/AliaVoiceCall.tsx +21 -0
- package/src/components/voice/VoiceControls.tsx +2 -28
- package/src/components/voice/VoiceSession.tsx +39 -11
- package/src/csp.ts +50 -0
- package/src/hooks/useAliaActivity.ts +3 -3
- package/src/hooks/useAtBottom.ts +51 -0
- package/src/hooks/useAttachMenu.ts +94 -0
- package/src/hooks/useChatComposer.ts +299 -0
- package/src/hooks/useChatVoice.ts +129 -0
- package/src/hooks/useDictation.ts +2 -3
- package/src/hooks/useDocumentPicker.ts +3 -29
- package/src/hooks/useFailedTurnToast.ts +43 -0
- package/src/hooks/useMessageVote.ts +50 -0
- package/src/hooks/useOpenThought.ts +79 -0
- package/src/hooks/usePendingQuestions.ts +2 -2
- package/src/hooks/useReadAloud.ts +92 -0
- package/src/hooks/useShareHandler.ts +24 -0
- package/src/hooks/useSoundEffects.ts +1 -1
- package/src/hooks/useTTS.ts +2 -3
- package/src/hooks/useThoughtScope.ts +59 -0
- package/src/hooks/useThreadRows.ts +145 -0
- package/src/hooks/useThreadView.ts +68 -0
- package/src/hooks/useTimelineWindow.ts +256 -0
- package/src/hooks/useVoiceLauncher.ts +180 -0
- package/src/hooks/useVoiceRoom.ts +2 -6
- package/src/index.ts +43 -29
- package/src/lib/activity-store.ts +1 -1
- package/src/lib/add-menu.ts +7 -0
- package/src/lib/call-thread.ts +33 -0
- package/src/lib/character-runtime.ts +6 -4
- package/src/lib/citations.ts +79 -2
- package/src/lib/clipboard.ts +23 -0
- package/src/lib/content-utils.ts +10 -0
- package/src/lib/copy-en.ts +284 -0
- package/src/lib/copy.ts +32 -0
- package/src/lib/document-picker.ts +31 -0
- package/src/lib/flights.ts +22 -13
- package/src/lib/focus-return.ts +66 -0
- package/src/lib/keyboard.native.tsx +19 -0
- package/src/lib/keyboard.tsx +9 -0
- package/src/lib/labels.tsx +69 -17
- package/src/lib/origins.ts +15 -0
- package/src/lib/participants.ts +86 -0
- package/src/lib/power-level-options.ts +66 -0
- package/src/lib/questions.ts +2 -2
- package/src/lib/task-labels.ts +4 -4
- package/src/lib/tool-call-status.ts +1 -1
- package/src/lib/tool-icons.ts +36 -0
- package/src/lib/tool-renderers.tsx +48 -0
- package/src/lib/turn-state.ts +2 -2
- package/src/lib/voice-audio-engine.ts +14 -158
- package/src/lib/voice-call-request.ts +49 -0
- package/src/lib/voice-call.ts +76 -34
- package/src/lib/voice-controls-labels.ts +31 -0
- package/src/lib/voice-protocol.ts +32 -14
- package/src/lib/voice-worklets.ts +19 -0
- package/src/lib/work-log.ts +6 -6
- package/src/runtime/agents.ts +151 -0
- package/src/runtime/api.ts +123 -0
- package/src/runtime/attachment-utils.ts +96 -0
- package/src/runtime/composer-draft-store.ts +270 -0
- package/src/runtime/config.tsx +186 -0
- package/src/runtime/conversation-store.ts +49 -0
- package/src/runtime/conversations.ts +557 -0
- package/src/runtime/error-utils.ts +104 -0
- package/src/runtime/host-tools.ts +140 -0
- package/src/runtime/index.ts +113 -0
- package/src/runtime/message-history.ts +124 -0
- package/src/runtime/model.ts +39 -0
- package/src/runtime/oxy-files.ts +37 -0
- package/src/runtime/power-levels.ts +66 -0
- package/src/runtime/query-keys.ts +34 -0
- package/src/runtime/random-uuid.ts +25 -0
- package/src/runtime/routes.ts +51 -0
- package/src/runtime/sharing.ts +165 -0
- package/src/runtime/sse-frame-reader.ts +88 -0
- package/src/runtime/stream-events.ts +146 -0
- package/src/runtime/stream-outcome.ts +21 -0
- package/src/runtime/thought-store.ts +103 -0
- package/src/runtime/thread/agent-activity.ts +261 -0
- package/src/runtime/thread/automation-labels.ts +79 -0
- package/src/runtime/thread/conversation-export.ts +135 -0
- package/src/runtime/thread/message-days.ts +120 -0
- package/src/runtime/thread/message-processor.ts +93 -0
- package/src/runtime/thread/task-utils.ts +11 -0
- package/src/runtime/thread/thought-utils.ts +752 -0
- package/src/runtime/thread/thread-history.ts +139 -0
- package/src/runtime/thread/timeline.ts +202 -0
- package/src/runtime/thread/title-tags.ts +8 -0
- package/src/runtime/thread/tool-cards.ts +383 -0
- package/src/runtime/turn-failure.ts +108 -0
- package/src/runtime/types.ts +148 -0
- package/src/runtime/usage-limit-error.ts +44 -0
- package/src/runtime/use-agent-activity.ts +80 -0
- package/src/runtime/use-conversation-stream.ts +1427 -0
- package/src/runtime/use-conversation-thread.ts +556 -0
- package/src/runtime/use-start-conversation.ts +107 -0
- package/src/runtime/use-thread-history.ts +64 -0
- package/src/runtime/use-thread-search.ts +95 -0
- package/src/runtime/use-turn-edit.ts +99 -0
- package/src/tools.ts +2 -2
- package/src/types.ts +18 -47
- package/worklets/voice-processors.js +152 -0
- package/src/components/AliaChatMessageList.tsx +0 -532
- package/src/components/ThinkingBlock.tsx +0 -43
- package/src/hooks/useAliaChat.ts +0 -573
- package/src/lib/api-url.ts +0 -2
- package/src/lib/catalogue.ts +0 -236
- package/src/lib/chat-stream.ts +0 -655
- package/src/lib/chat-transport.ts +0 -98
- package/src/lib/delegation.ts +0 -34
- package/src/lib/work-log-copy.ts +0 -61
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { useOxy } from '@oxy.so/services/ui/client';
|
|
2
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
3
|
+
import { io } from 'socket.io-client';
|
|
4
|
+
import { useAliaApi } from './api';
|
|
5
|
+
import { useAliaRuntime } from './config';
|
|
6
|
+
import { AGENT_ROUTES } from './routes';
|
|
7
|
+
import {
|
|
8
|
+
type AgentActivityEvent,
|
|
9
|
+
type AgentActivityState,
|
|
10
|
+
type AgentSessionStatus,
|
|
11
|
+
applyActivityEvent,
|
|
12
|
+
hydrateActivity,
|
|
13
|
+
INITIAL_ACTIVITY,
|
|
14
|
+
} from './thread/agent-activity';
|
|
15
|
+
|
|
16
|
+
/** What a run has done so far, live. */
|
|
17
|
+
export type UseAgentActivityResult = AgentActivityState;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Follow one agent run live: the session's room over Socket.IO, seeded with what the run had
|
|
21
|
+
* already done (`GET` on its status, best-effort — the socket still carries live progress).
|
|
22
|
+
*
|
|
23
|
+
* @param sessionId - The agent session to follow; `null` follows nothing.
|
|
24
|
+
* @param agentId - The agent's own room too, for the runs that announce themselves there.
|
|
25
|
+
*/
|
|
26
|
+
export function useAgentActivity(
|
|
27
|
+
sessionId: string | null,
|
|
28
|
+
agentId?: string | null,
|
|
29
|
+
): UseAgentActivityResult {
|
|
30
|
+
const [state, setState] = useState<AgentActivityState>(INITIAL_ACTIVITY);
|
|
31
|
+
const api = useAliaApi();
|
|
32
|
+
const { apiUrl } = useAliaRuntime();
|
|
33
|
+
const { oxyServices } = useOxy();
|
|
34
|
+
|
|
35
|
+
const handleEvent = useCallback((event: AgentActivityEvent) => {
|
|
36
|
+
setState((prev) => applyActivityEvent(prev, event));
|
|
37
|
+
}, []);
|
|
38
|
+
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
if (!sessionId) return;
|
|
41
|
+
|
|
42
|
+
setState(INITIAL_ACTIVITY);
|
|
43
|
+
let cancelled = false;
|
|
44
|
+
|
|
45
|
+
api
|
|
46
|
+
.get<AgentSessionStatus>(AGENT_ROUTES.sessionStatus(sessionId))
|
|
47
|
+
.then(({ data }) => {
|
|
48
|
+
if (!cancelled) setState((prev) => hydrateActivity(prev, data, sessionId));
|
|
49
|
+
})
|
|
50
|
+
.catch(() => {
|
|
51
|
+
// Socket updates still provide live progress; hydration is best-effort.
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
const socket = io(apiUrl, {
|
|
55
|
+
transports: ['websocket'],
|
|
56
|
+
// The function form reads a fresh token on every (re)connect, so it survives rotation.
|
|
57
|
+
auth: (cb) => cb({ token: oxyServices.session.accessToken }),
|
|
58
|
+
reconnection: true,
|
|
59
|
+
reconnectionAttempts: Infinity,
|
|
60
|
+
reconnectionDelay: 1000,
|
|
61
|
+
reconnectionDelayMax: 10000,
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
socket.on('connect', () => {
|
|
65
|
+
socket.emit('subscribe-agent-session', sessionId);
|
|
66
|
+
if (agentId) socket.emit('subscribe-agent', agentId);
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
socket.on('agent-activity', (event: AgentActivityEvent) => {
|
|
70
|
+
if (event.sessionId === sessionId) handleEvent(event);
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
return () => {
|
|
74
|
+
cancelled = true;
|
|
75
|
+
socket.disconnect();
|
|
76
|
+
};
|
|
77
|
+
}, [sessionId, agentId, handleEvent, api, apiUrl, oxyServices]);
|
|
78
|
+
|
|
79
|
+
return state;
|
|
80
|
+
}
|