@interopio/io-assist-react 1.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/README.internal.md +467 -0
- package/README.md +503 -0
- package/changelog.md +2 -0
- package/dist/IoAssist.d.ts +12 -0
- package/dist/actions/abortActiveStream.d.ts +2 -0
- package/dist/actions/deleteThread.d.ts +2 -0
- package/dist/actions/elicitation.d.ts +13 -0
- package/dist/actions/initIoAiWeb.d.ts +3 -0
- package/dist/actions/initIoConnect.d.ts +9 -0
- package/dist/actions/mcpAppEvents.d.ts +4 -0
- package/dist/actions/newConversation.d.ts +2 -0
- package/dist/actions/processResponseStream.d.ts +3 -0
- package/dist/actions/renameThread.d.ts +2 -0
- package/dist/actions/sampling.d.ts +5 -0
- package/dist/actions/selectThread.d.ts +2 -0
- package/dist/actions/sendUserMessage.d.ts +3 -0
- package/dist/actions/toggleFavoritePrompt.d.ts +7 -0
- package/dist/actions/toggleTool.d.ts +2 -0
- package/dist/components/chat/ActivePanelModal.d.ts +6 -0
- package/dist/components/chat/AiDisclaimer.d.ts +6 -0
- package/dist/components/chat/Chat.d.ts +2 -0
- package/dist/components/chat/ConfirmModal.d.ts +8 -0
- package/dist/components/chat/WelcomeHeading.d.ts +6 -0
- package/dist/components/header/Header.d.ts +2 -0
- package/dist/components/input-area/InputArea.d.ts +8 -0
- package/dist/components/messages/AssistantMessage.d.ts +10 -0
- package/dist/components/messages/McpAppResource.d.ts +11 -0
- package/dist/components/messages/MdFormatter.d.ts +6 -0
- package/dist/components/messages/MessageArea.d.ts +7 -0
- package/dist/components/messages/ToolMessage.d.ts +9 -0
- package/dist/components/messages/ToolTraceMessage.d.ts +9 -0
- package/dist/components/messages/UserMessage.d.ts +9 -0
- package/dist/components/messages/mdUtils.d.ts +1 -0
- package/dist/components/messages/prismTwilightTheme.d.ts +2 -0
- package/dist/components/prompt/FavoritePromptList.d.ts +2 -0
- package/dist/components/prompt/PromptListItem.d.ts +8 -0
- package/dist/components/prompt/PromptListPanel.d.ts +6 -0
- package/dist/components/scroll-area/ScrollArea.d.ts +33 -0
- package/dist/components/shared/Icon.d.ts +8 -0
- package/dist/components/shared/IconButton.d.ts +11 -0
- package/dist/components/shared/Modal.d.ts +12 -0
- package/dist/components/shared/SearchInput.d.ts +8 -0
- package/dist/components/shared/ToggleInput.d.ts +8 -0
- package/dist/components/shared/Tooltip.d.ts +10 -0
- package/dist/components/shared/icons.d.ts +37 -0
- package/dist/components/threads/ThreadHistory.d.ts +6 -0
- package/dist/components/threads/ThreadHistoryListItem.d.ts +18 -0
- package/dist/components/threads/ThreadHistoryPanel.d.ts +7 -0
- package/dist/components/tool/ToolListItem.d.ts +8 -0
- package/dist/components/tool/ToolListPanel.d.ts +2 -0
- package/dist/components/working-context-panel/WorkingContextPanel.d.ts +2 -0
- package/dist/constants/modalActions.d.ts +11 -0
- package/dist/constants/uiStrings.d.ts +141 -0
- package/dist/context/IoAssistContext.d.ts +14 -0
- package/dist/files/inter-latin-wght-normal.woff2 +0 -0
- package/dist/hooks/useHoverMouseFollow.d.ts +27 -0
- package/dist/hooks/useIoAiWebApi.d.ts +19 -0
- package/dist/hooks/useIoAiWebBootstrap.d.ts +8 -0
- package/dist/hooks/useIoConnectApi.d.ts +12 -0
- package/dist/hooks/useIoConnectBootstrap.d.ts +10 -0
- package/dist/hooks/useIsMobileViewport.d.ts +1 -0
- package/dist/index.cjs +41 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3624 -0
- package/dist/index.js.map +1 -0
- package/dist/stores/agent.d.ts +15 -0
- package/dist/stores/app-lifecycle.d.ts +21 -0
- package/dist/stores/confirm-modal.d.ts +29 -0
- package/dist/stores/index.d.ts +32 -0
- package/dist/stores/mcp-apps.d.ts +13 -0
- package/dist/stores/message.d.ts +33 -0
- package/dist/stores/prompt.d.ts +16 -0
- package/dist/stores/response-stream.d.ts +31 -0
- package/dist/stores/thread.d.ts +17 -0
- package/dist/stores/tool.d.ts +15 -0
- package/dist/stores/working-context.d.ts +16 -0
- package/dist/styles.css +1 -0
- package/dist/types/agent.d.ts +8 -0
- package/dist/types/config.d.ts +40 -0
- package/dist/types/icon.d.ts +5 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/loading.d.ts +38 -0
- package/dist/types/message.d.ts +56 -0
- package/dist/types/panel.d.ts +6 -0
- package/dist/types/prompt.d.ts +17 -0
- package/dist/types/stream.d.ts +22 -0
- package/dist/types/thread.d.ts +15 -0
- package/dist/types/tool.d.ts +15 -0
- package/dist/utils/confirmModal.d.ts +5 -0
- package/dist/utils/ioModals.d.ts +21 -0
- package/dist/utils/logger.d.ts +34 -0
- package/dist/utils/mcpAppModal.d.ts +3 -0
- package/dist/utils/messageConverter.d.ts +3 -0
- package/dist/utils/messageUtils.d.ts +16 -0
- package/dist/utils/safeStringify.d.ts +1 -0
- package/dist/utils/streamUtils.d.ts +15 -0
- package/dist/utils/threadUtils.d.ts +16 -0
- package/package.json +65 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { IOConnectCore } from '@interopio/core';
|
|
2
|
+
/**
|
|
3
|
+
* Centralized logging service for the io-assist React clone.
|
|
4
|
+
*
|
|
5
|
+
* Wraps the IO Connect Logger API (`IOConnectCore.Logger.API`) and provides
|
|
6
|
+
* namespaced sub-loggers per subsystem. Before IO Connect is initialized,
|
|
7
|
+
* calls to `get()` fall back to `console`.
|
|
8
|
+
*
|
|
9
|
+
* The handle returned by `get()` is stable — call sites may cache it at
|
|
10
|
+
* module scope and it will transparently switch from the console fallback
|
|
11
|
+
* to the real IO Connect sub-logger once `setLogger()` runs.
|
|
12
|
+
*
|
|
13
|
+
* Initialized automatically by `initIoConnect` when IO Connect becomes ready.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* import { logger } from '../utils/logger';
|
|
18
|
+
*
|
|
19
|
+
* const LOGGER_NAME = 'Sampling';
|
|
20
|
+
* const log = logger.get(LOGGER_NAME);
|
|
21
|
+
* log.info('Processing message stream');
|
|
22
|
+
* log.warn('Unexpected chunk type');
|
|
23
|
+
* log.error('Stream failed', error);
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
declare class Logger {
|
|
27
|
+
private _logger;
|
|
28
|
+
private readonly _subLoggers;
|
|
29
|
+
setLogger(ioLogger: IOConnectCore.Logger.API): void;
|
|
30
|
+
get isInitialized(): boolean;
|
|
31
|
+
get(subSystem: string): IOConnectCore.Logger.API;
|
|
32
|
+
}
|
|
33
|
+
export declare const logger: Logger;
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IoAiWeb } from '@interopio/ai-web';
|
|
2
|
+
import { UIAssistantMessage, UIMessage, UIUserMessage, ToolTraceState } from '../types';
|
|
3
|
+
export type RenderItem = {
|
|
4
|
+
type: 'user';
|
|
5
|
+
message: UIUserMessage;
|
|
6
|
+
} | {
|
|
7
|
+
type: 'assistant';
|
|
8
|
+
message: UIAssistantMessage;
|
|
9
|
+
} | {
|
|
10
|
+
type: 'tool-trace';
|
|
11
|
+
trace: ToolTraceState;
|
|
12
|
+
} | {
|
|
13
|
+
type: 'mcp-app';
|
|
14
|
+
app: IoAiWeb.McpApps.AppInstance;
|
|
15
|
+
};
|
|
16
|
+
export declare function buildRenderList(messages: UIMessage[], toolTraces: ToolTraceState[], mcpAppInstances?: IoAiWeb.McpApps.AppInstance[]): RenderItem[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function safeStringify(value: unknown): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { UIMessage, UIToolMessage, ToolTraceState } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Slice of the message store that `ensureAssistantMessage` reads/writes.
|
|
4
|
+
* Typed as a structural subset so the helper isn't coupled to the full store.
|
|
5
|
+
*/
|
|
6
|
+
type EnsureAssistantStateSlice = {
|
|
7
|
+
messages: UIMessage[];
|
|
8
|
+
addMessage: (message: UIMessage) => void;
|
|
9
|
+
};
|
|
10
|
+
export declare function withTraceLabel(traces: ToolTraceState[], messageId: string): ToolTraceState[];
|
|
11
|
+
export declare function withAllTraceLabelsFinalized(traces: ToolTraceState[]): ToolTraceState[];
|
|
12
|
+
export declare function withExecutedToolUpdated(traces: ToolTraceState[], toolCallId: string, changes: Partial<UIToolMessage>): ToolTraceState[];
|
|
13
|
+
export declare function withToolAppendedToTrace(traces: ToolTraceState[], parentMessageId: string, toolMessage: UIToolMessage): ToolTraceState[];
|
|
14
|
+
export declare function ensureAssistantMessage(state: EnsureAssistantStateSlice, currentMessageId: string, incomingId?: string): string;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { UIMessage, UIThread, ToolTraceState } from '../types';
|
|
2
|
+
export type ThreadGroup = {
|
|
3
|
+
label: string;
|
|
4
|
+
threads: UIThread[];
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Groups threads into time buckets for display in the thread history sidebar.
|
|
8
|
+
* Threads are sorted newest-first within each group.
|
|
9
|
+
*/
|
|
10
|
+
export declare function groupThreadsByTime(threads: UIThread[]): ThreadGroup[];
|
|
11
|
+
/**
|
|
12
|
+
* Builds ToolTraceState[] from a flat UIMessage[] (e.g. loaded from thread history).
|
|
13
|
+
* Groups tool messages under the preceding user/assistant message ID.
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildToolTraceFromMessages(messages: UIMessage[]): ToolTraceState[];
|
|
16
|
+
export declare function generateThreadTitle(firstUserMessage: string): string;
|
package/package.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@interopio/io-assist-react",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "io.Intelligence React client library",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
14
|
+
},
|
|
15
|
+
"./styles": "./dist/styles.css",
|
|
16
|
+
"./package.json": "./package.json"
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "vite build",
|
|
20
|
+
"build:docker": "vite build",
|
|
21
|
+
"dev": "vite build --watch",
|
|
22
|
+
"lint": "eslint .",
|
|
23
|
+
"lint:fix": "eslint . --fix"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@fontsource-variable/inter": "^5.0.0",
|
|
27
|
+
"@interopio/ai-web": "^1.0.0",
|
|
28
|
+
"@interopio/browser": ">=4.0.0",
|
|
29
|
+
"@interopio/core": ">=6.0.0",
|
|
30
|
+
"@interopio/desktop": ">=6.0.0",
|
|
31
|
+
"@interopio/working-context": "^1.1.0",
|
|
32
|
+
"prism-react-renderer": "^2.4.1",
|
|
33
|
+
"react-markdown": "^9.0.1",
|
|
34
|
+
"remark-gfm": "^4.0.1",
|
|
35
|
+
"zustand": "^5.0.3"
|
|
36
|
+
},
|
|
37
|
+
"peerDependencies": {
|
|
38
|
+
"react": ">=18.0.0",
|
|
39
|
+
"react-dom": ">=18.0.0"
|
|
40
|
+
},
|
|
41
|
+
"keywords": [
|
|
42
|
+
"ai",
|
|
43
|
+
"llm",
|
|
44
|
+
"agentic",
|
|
45
|
+
"copilot",
|
|
46
|
+
"assistant",
|
|
47
|
+
"io.Intelligence",
|
|
48
|
+
"io.connect",
|
|
49
|
+
"interop.io",
|
|
50
|
+
"io.connect browser",
|
|
51
|
+
"io.connect desktop",
|
|
52
|
+
"io.connect browser platform"
|
|
53
|
+
],
|
|
54
|
+
"homepage": "https://interop.io/",
|
|
55
|
+
"author": {
|
|
56
|
+
"name": "Interop.IO",
|
|
57
|
+
"url": "https://interop.io/"
|
|
58
|
+
},
|
|
59
|
+
"publishConfig": {
|
|
60
|
+
"@interopio:registry": "https://registry.npmjs.org",
|
|
61
|
+
"access": "public"
|
|
62
|
+
},
|
|
63
|
+
"license": "MIT",
|
|
64
|
+
"gitHead": "a825bb91db53a62cd97f55065554f1662bb8df4a"
|
|
65
|
+
}
|