@xalia/agent 0.6.8 → 0.6.10
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/.env.development +6 -0
- package/.env.test +7 -0
- package/README.md +11 -0
- package/context_system.md +498 -0
- package/dist/agent/src/agent/agent.js +169 -87
- package/dist/agent/src/agent/agentUtils.js +24 -18
- package/dist/agent/src/agent/compressingContextManager.js +10 -14
- package/dist/agent/src/agent/context.js +101 -127
- package/dist/agent/src/agent/contextWithWorkspace.js +133 -0
- package/dist/agent/src/agent/documentSummarizer.js +126 -0
- package/dist/agent/src/agent/dummyLLM.js +25 -22
- package/dist/agent/src/agent/imageGenLLM.js +22 -25
- package/dist/agent/src/agent/imageGenerator.js +2 -10
- package/dist/agent/src/agent/llm.js +1 -1
- package/dist/agent/src/agent/openAILLM.js +15 -12
- package/dist/agent/src/agent/openAILLMStreaming.js +73 -39
- package/dist/agent/src/agent/repeatLLM.js +16 -7
- package/dist/agent/src/agent/sudoMcpServerManager.js +21 -9
- package/dist/agent/src/agent/tokenCounter.js +390 -0
- package/dist/agent/src/agent/tokenCounter.test.js +206 -0
- package/dist/agent/src/agent/toolSettings.js +17 -0
- package/dist/agent/src/agent/tools/calculatorTool.js +45 -0
- package/dist/agent/src/agent/tools/contentExtractors/pdfToText.js +55 -0
- package/dist/agent/src/agent/tools/datetimeTool.js +38 -0
- package/dist/agent/src/agent/tools/fileManager/fileManagerTool.js +156 -0
- package/dist/agent/src/agent/tools/fileManager/index.js +31 -0
- package/dist/agent/src/agent/tools/fileManager/memoryFileManager.js +102 -0
- package/dist/agent/src/{chat/data → agent/tools/fileManager}/mimeTypes.js +3 -1
- package/dist/agent/src/agent/tools/fileManager/prompt.js +33 -0
- package/dist/agent/src/{chat/data/dbSessionFileModels.js → agent/tools/fileManager/types.js} +7 -0
- package/dist/agent/src/agent/tools/index.js +64 -0
- package/dist/agent/src/agent/tools/openUrlTool.js +57 -0
- package/dist/agent/src/agent/tools/renderTool.js +89 -0
- package/dist/agent/src/agent/tools/utils.js +61 -0
- package/dist/agent/src/{chat/utils/search.js → agent/tools/webSearch.js} +1 -2
- package/dist/agent/src/agent/tools/webSearchTool.js +40 -0
- package/dist/agent/src/chat/client/chatClient.js +63 -2
- package/dist/agent/src/chat/client/connection.js +6 -1
- package/dist/agent/src/chat/client/index.js +4 -1
- package/dist/agent/src/chat/client/sessionClient.js +28 -9
- package/dist/agent/src/chat/constants.js +8 -0
- package/dist/agent/src/chat/data/dbSessionFiles.js +11 -6
- package/dist/agent/src/chat/data/dbSessionMessages.js +11 -0
- package/dist/agent/src/chat/protocol/messages.js +9 -0
- package/dist/agent/src/chat/server/chatContextManager.js +186 -156
- package/dist/agent/src/chat/server/conversation.js +3 -0
- package/dist/agent/src/chat/server/imageGeneratorTools.js +39 -16
- package/dist/agent/src/chat/server/openAIRouterLLM.js +111 -0
- package/dist/agent/src/chat/server/openSession.js +253 -91
- package/dist/agent/src/chat/server/promptRefiner.js +86 -0
- package/dist/agent/src/chat/server/server.js +10 -2
- package/dist/agent/src/chat/server/sessionFileManager.js +22 -221
- package/dist/agent/src/chat/server/sessionRegistry.js +152 -6
- package/dist/agent/src/chat/server/sessionRegistry.test.js +1 -1
- package/dist/agent/src/chat/server/titleGenerator.js +112 -0
- package/dist/agent/src/chat/server/titleGenerator.test.js +113 -0
- package/dist/agent/src/chat/server/tools.js +64 -253
- package/dist/agent/src/chat/utils/approvalManager.js +6 -3
- package/dist/agent/src/chat/utils/multiAsyncQueue.js +3 -0
- package/dist/agent/src/test/agent.test.js +16 -17
- package/dist/agent/src/test/chatContextManager.test.js +44 -30
- package/dist/agent/src/test/clientServerConnection.test.js +1 -2
- package/dist/agent/src/test/compressingContextManager.test.js +22 -36
- package/dist/agent/src/test/context.test.js +55 -17
- package/dist/agent/src/test/contextTestTools.js +87 -0
- package/dist/agent/src/test/dbMcpServerConfigs.test.js +4 -4
- package/dist/agent/src/test/dbSessionFiles.test.js +17 -17
- package/dist/agent/src/test/testTools.js +6 -1
- package/dist/agent/src/test/tools.test.js +27 -9
- package/dist/agent/src/tool/agentChat.js +5 -2
- package/dist/agent/src/tool/chatMain.js +56 -15
- package/dist/agent/src/tool/commandPrompt.js +2 -2
- package/dist/agent/src/tool/files.js +7 -8
- package/package.json +4 -1
- package/scripts/test_chat +195 -173
- package/src/agent/agent.ts +257 -137
- package/src/agent/agentUtils.ts +32 -20
- package/src/agent/compressingContextManager.ts +13 -44
- package/src/agent/context.ts +165 -159
- package/src/agent/contextWithWorkspace.ts +162 -0
- package/src/agent/documentSummarizer.ts +157 -0
- package/src/agent/dummyLLM.ts +27 -23
- package/src/agent/imageGenLLM.ts +28 -32
- package/src/agent/imageGenerator.ts +3 -18
- package/src/agent/llm.ts +2 -2
- package/src/agent/openAILLM.ts +17 -13
- package/src/agent/openAILLMStreaming.ts +99 -43
- package/src/agent/repeatLLM.ts +19 -7
- package/src/agent/sudoMcpServerManager.ts +41 -20
- package/src/agent/test_data/harrypotter.txt +6065 -0
- package/src/agent/tokenCounter.test.ts +243 -0
- package/src/agent/tokenCounter.ts +483 -0
- package/src/agent/toolSettings.ts +24 -0
- package/src/agent/tools/calculatorTool.ts +50 -0
- package/src/agent/tools/contentExtractors/pdfToText.ts +60 -0
- package/src/agent/tools/datetimeTool.ts +41 -0
- package/src/agent/tools/fileManager/fileManagerTool.ts +199 -0
- package/src/agent/tools/fileManager/index.ts +50 -0
- package/src/agent/tools/fileManager/memoryFileManager.ts +120 -0
- package/src/{chat/data → agent/tools/fileManager}/mimeTypes.ts +3 -1
- package/src/agent/tools/fileManager/prompt.ts +38 -0
- package/src/{chat/data/dbSessionFileModels.ts → agent/tools/fileManager/types.ts} +76 -0
- package/src/agent/tools/index.ts +49 -0
- package/src/agent/tools/openUrlTool.ts +62 -0
- package/src/agent/tools/renderTool.ts +92 -0
- package/src/agent/tools/utils.ts +74 -0
- package/src/{chat/utils/search.ts → agent/tools/webSearch.ts} +0 -1
- package/src/agent/tools/webSearchTool.ts +44 -0
- package/src/chat/client/chatClient.ts +92 -3
- package/src/chat/client/connection.ts +11 -1
- package/src/chat/client/index.ts +3 -0
- package/src/chat/client/sessionClient.ts +40 -11
- package/src/chat/client/sessionFiles.ts +1 -1
- package/src/chat/constants.ts +6 -0
- package/src/chat/data/dataModels.ts +12 -0
- package/src/chat/data/dbSessionFiles.ts +12 -4
- package/src/chat/data/dbSessionMessages.ts +34 -0
- package/src/chat/protocol/messages.ts +94 -14
- package/src/chat/server/chatContextManager.ts +255 -221
- package/src/chat/server/connectionManager.ts +1 -1
- package/src/chat/server/conversation.ts +3 -0
- package/src/chat/server/imageGeneratorTools.ts +62 -30
- package/src/chat/server/openAIRouterLLM.ts +168 -0
- package/src/chat/server/openSession.ts +381 -138
- package/src/chat/server/promptRefiner.ts +106 -0
- package/src/chat/server/server.ts +9 -2
- package/src/chat/server/sessionFileManager.ts +35 -306
- package/src/chat/server/sessionRegistry.test.ts +0 -1
- package/src/chat/server/sessionRegistry.ts +228 -4
- package/src/chat/server/titleGenerator.test.ts +103 -0
- package/src/chat/server/titleGenerator.ts +143 -0
- package/src/chat/server/tools.ts +92 -281
- package/src/chat/utils/approvalManager.ts +9 -3
- package/src/chat/utils/multiAsyncQueue.ts +4 -0
- package/src/test/agent.test.ts +25 -30
- package/src/test/chatContextManager.test.ts +68 -38
- package/src/test/clientServerConnection.test.ts +0 -2
- package/src/test/compressingContextManager.test.ts +29 -34
- package/src/test/context.test.ts +59 -15
- package/src/test/contextTestTools.ts +95 -0
- package/src/test/dbMcpServerConfigs.test.ts +4 -4
- package/src/test/dbSessionFiles.test.ts +16 -16
- package/src/test/testTools.ts +8 -3
- package/src/test/tools.test.ts +30 -5
- package/src/tool/agentChat.ts +12 -3
- package/src/tool/chatMain.ts +59 -18
- package/src/tool/commandPrompt.ts +2 -2
- package/src/tool/files.ts +1 -3
- package/dist/agent/src/agent/tools.js +0 -44
- package/src/agent/tools.ts +0 -57
- /package/dist/agent/src/{chat/utils → agent/tools/contentExtractors}/htmlToText.js +0 -0
- /package/src/{chat/utils → agent/tools/contentExtractors}/htmlToText.ts +0 -0
|
@@ -13,8 +13,9 @@ import {
|
|
|
13
13
|
TeamParticipant,
|
|
14
14
|
UserMessageData,
|
|
15
15
|
SessionDescriptor,
|
|
16
|
+
CustomMcpServerDescriptor,
|
|
16
17
|
} from "../data/dataModels";
|
|
17
|
-
import { SessionFileDescriptor } from "
|
|
18
|
+
import { SessionFileDescriptor } from "../../agent/tools/fileManager";
|
|
18
19
|
import {
|
|
19
20
|
AssistantMessageParam,
|
|
20
21
|
MessageParam,
|
|
@@ -114,6 +115,23 @@ export type ClientControlRemoveTeamUser = {
|
|
|
114
115
|
target_team_id: string;
|
|
115
116
|
} & ClientToServerBase;
|
|
116
117
|
|
|
118
|
+
export type ClientControlAddCustomMcpServer = {
|
|
119
|
+
type: "control_add_custom_mcp_server";
|
|
120
|
+
server_name: string;
|
|
121
|
+
description: string;
|
|
122
|
+
url: string;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export type ClientControlRemoveCustomMcpServer = {
|
|
126
|
+
type: "control_remove_custom_mcp_server";
|
|
127
|
+
server_name: string;
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
export type ClientControlRefinePrompt = {
|
|
131
|
+
type: "control_refine_prompt";
|
|
132
|
+
prompt: string;
|
|
133
|
+
} & ClientToServerBase;
|
|
134
|
+
|
|
117
135
|
export type ClientControlMessage =
|
|
118
136
|
| ClientControlAgentProfileCreate
|
|
119
137
|
| ClientControlAgentProfileDelete
|
|
@@ -123,7 +141,10 @@ export type ClientControlMessage =
|
|
|
123
141
|
| ClientControlTeamCreate
|
|
124
142
|
| ClientControlSessionDelete
|
|
125
143
|
| ClientControlAddTeamUser
|
|
126
|
-
| ClientControlRemoveTeamUser
|
|
144
|
+
| ClientControlRemoveTeamUser
|
|
145
|
+
| ClientControlAddCustomMcpServer
|
|
146
|
+
| ClientControlRemoveCustomMcpServer
|
|
147
|
+
| ClientControlRefinePrompt;
|
|
127
148
|
|
|
128
149
|
//
|
|
129
150
|
// Messages for specific sessions
|
|
@@ -131,9 +152,14 @@ export type ClientControlMessage =
|
|
|
131
152
|
|
|
132
153
|
export type ClientUserMessage = {
|
|
133
154
|
type: "msg";
|
|
134
|
-
race_mode?:
|
|
155
|
+
race_mode?: string;
|
|
135
156
|
} & UserMessageData;
|
|
136
157
|
|
|
158
|
+
/// Signal any currently running agent to stop
|
|
159
|
+
export type ClientStop = {
|
|
160
|
+
type: "stop";
|
|
161
|
+
};
|
|
162
|
+
|
|
137
163
|
export type ClientSetWorkspace = {
|
|
138
164
|
type: "set_workspace";
|
|
139
165
|
} & UserMessageData;
|
|
@@ -217,12 +243,6 @@ export type ClientSetAgentPaused = {
|
|
|
217
243
|
paused: boolean;
|
|
218
244
|
};
|
|
219
245
|
|
|
220
|
-
export type ClientAddMcpServerFromUrl = {
|
|
221
|
-
type: "add_mcp_server_from_url";
|
|
222
|
-
server_name: string;
|
|
223
|
-
url: string;
|
|
224
|
-
};
|
|
225
|
-
|
|
226
246
|
export type ClientGetMcpResource = {
|
|
227
247
|
type: "get_mcp_resource";
|
|
228
248
|
client_message_id: string;
|
|
@@ -248,6 +268,7 @@ export type ClientRaceModeResult = {
|
|
|
248
268
|
|
|
249
269
|
export type ClientSessionMessageData =
|
|
250
270
|
| ClientUserMessage
|
|
271
|
+
| ClientStop
|
|
251
272
|
| ClientSetWorkspace
|
|
252
273
|
| ClientAddMcpServer
|
|
253
274
|
| ClientRemoveMcpServer
|
|
@@ -263,10 +284,10 @@ export type ClientSessionMessageData =
|
|
|
263
284
|
| ClientSetSystemPrompt
|
|
264
285
|
| ClientSetModel
|
|
265
286
|
| ClientSetAgentPaused
|
|
266
|
-
| ClientAddMcpServerFromUrl
|
|
267
287
|
| ClientGetMcpResource
|
|
268
288
|
| ClientSetMcpServerConfig
|
|
269
|
-
| ClientShareSession
|
|
289
|
+
| ClientShareSession
|
|
290
|
+
| ClientRaceModeResult;
|
|
270
291
|
|
|
271
292
|
export type ClientSessionMessage = ClientSessionMessageBase &
|
|
272
293
|
ClientSessionMessageData;
|
|
@@ -291,6 +312,9 @@ export function isClientControlMessage(
|
|
|
291
312
|
case "control_team_create":
|
|
292
313
|
case "control_add_team_user":
|
|
293
314
|
case "control_remove_team_user":
|
|
315
|
+
case "control_add_custom_mcp_server":
|
|
316
|
+
case "control_remove_custom_mcp_server":
|
|
317
|
+
case "control_refine_prompt":
|
|
294
318
|
return true;
|
|
295
319
|
default: {
|
|
296
320
|
const _: never = msg;
|
|
@@ -367,6 +391,7 @@ export type ServerUserMessage = {
|
|
|
367
391
|
user_uuid: string;
|
|
368
392
|
user_nickname: string;
|
|
369
393
|
message_idx: number;
|
|
394
|
+
race_mode?: string;
|
|
370
395
|
} & UserMessageData &
|
|
371
396
|
ServerSessionMessage;
|
|
372
397
|
|
|
@@ -380,13 +405,14 @@ export type ServerAgentMessageChunk = {
|
|
|
380
405
|
type: "agent_msg_chunk";
|
|
381
406
|
message: string;
|
|
382
407
|
message_idx: number;
|
|
383
|
-
alternative?: string;
|
|
384
408
|
end: boolean;
|
|
409
|
+
alt?: string;
|
|
385
410
|
} & ServerSessionMessage;
|
|
386
411
|
|
|
387
412
|
export type ServerReasoningChunk = {
|
|
388
413
|
type: "agent_reasoning_chunk";
|
|
389
414
|
reasoning: string;
|
|
415
|
+
alt?: string;
|
|
390
416
|
} & ServerSessionMessage;
|
|
391
417
|
|
|
392
418
|
//
|
|
@@ -409,18 +435,21 @@ export type ServerUserLeft = {
|
|
|
409
435
|
export type ServerToolCall = {
|
|
410
436
|
type: "tool_call";
|
|
411
437
|
tool_call: MessageToolCall;
|
|
438
|
+
alt?: string;
|
|
412
439
|
} & ServerSessionMessage;
|
|
413
440
|
|
|
414
441
|
export type ServerToolCallApprovalResult = {
|
|
415
442
|
type: "tool_call_approval_result";
|
|
416
443
|
id: string;
|
|
417
444
|
result: boolean;
|
|
445
|
+
alt?: string;
|
|
418
446
|
} & ServerSessionMessage;
|
|
419
447
|
|
|
420
448
|
export type ServerToolCallResult = {
|
|
421
449
|
type: "tool_call_result";
|
|
422
450
|
message_idx: number;
|
|
423
451
|
result: ToolMessageParam;
|
|
452
|
+
alt?: string;
|
|
424
453
|
} & ServerSessionMessage;
|
|
425
454
|
|
|
426
455
|
export type ServerToolAutoApprovalSet = {
|
|
@@ -557,6 +586,12 @@ export type ServerMcpResource = {
|
|
|
557
586
|
contents: ResourceContent[];
|
|
558
587
|
} & ServerSessionMessage;
|
|
559
588
|
|
|
589
|
+
export type ServerContextUsage = {
|
|
590
|
+
type: "context_usage";
|
|
591
|
+
used_tokens: number;
|
|
592
|
+
max_tokens: number;
|
|
593
|
+
} & ServerSessionMessage;
|
|
594
|
+
|
|
560
595
|
export type ServerToClientStateUpdate =
|
|
561
596
|
| ServerMcpServerAdded
|
|
562
597
|
| ServerMcpServerRemoved
|
|
@@ -568,7 +603,8 @@ export type ServerToClientStateUpdate =
|
|
|
568
603
|
| ServerUserAdded
|
|
569
604
|
| ServerUserRemoved
|
|
570
605
|
| ServerSessionShared
|
|
571
|
-
| ServerMcpResource
|
|
606
|
+
| ServerMcpResource
|
|
607
|
+
| ServerContextUsage;
|
|
572
608
|
|
|
573
609
|
//
|
|
574
610
|
// actions
|
|
@@ -584,6 +620,7 @@ export type ServerApproveToolCall = {
|
|
|
584
620
|
type: "approve_tool_call";
|
|
585
621
|
id: string;
|
|
586
622
|
tool_call: MessageToolCall;
|
|
623
|
+
alt?: string;
|
|
587
624
|
} & ServerSessionMessage;
|
|
588
625
|
|
|
589
626
|
export type ServerRenderHTML = {
|
|
@@ -591,10 +628,26 @@ export type ServerRenderHTML = {
|
|
|
591
628
|
html: string;
|
|
592
629
|
} & ServerSessionMessage;
|
|
593
630
|
|
|
631
|
+
export type ServerEditorUpdate = {
|
|
632
|
+
type: "editor_update";
|
|
633
|
+
operation: "replace" | "append" | "prepend" | "replace_selection";
|
|
634
|
+
content: string;
|
|
635
|
+
format: "markdown";
|
|
636
|
+
selectionId?: string;
|
|
637
|
+
} & ServerSessionMessage;
|
|
638
|
+
|
|
639
|
+
export type ServerRaceModeGetResult = {
|
|
640
|
+
type: "race_mode_get_result";
|
|
641
|
+
message_id: string;
|
|
642
|
+
alts: string[];
|
|
643
|
+
} & ServerSessionMessage;
|
|
644
|
+
|
|
594
645
|
export type ServerToClientActions =
|
|
595
646
|
| ServerAuthenticate
|
|
596
647
|
| ServerApproveToolCall
|
|
597
|
-
| ServerRenderHTML
|
|
648
|
+
| ServerRenderHTML
|
|
649
|
+
| ServerEditorUpdate
|
|
650
|
+
| ServerRaceModeGetResult;
|
|
598
651
|
|
|
599
652
|
//
|
|
600
653
|
// Control-level messages (session management)
|
|
@@ -641,6 +694,7 @@ export type ServerControlSessionList = {
|
|
|
641
694
|
user_sessions: Array<SessionDescriptor>;
|
|
642
695
|
user_agents: Array<SavedAgentProfile>;
|
|
643
696
|
team_sessions: Array<TeamInfo>;
|
|
697
|
+
custom_mcp_servers: Record<string, CustomMcpServerDescriptor>;
|
|
644
698
|
} & ControlResponseMessage;
|
|
645
699
|
|
|
646
700
|
/**
|
|
@@ -662,6 +716,23 @@ export type ServerControlSessionDeleted = {
|
|
|
662
716
|
team_uuid?: string;
|
|
663
717
|
} & ControlResponseMessage;
|
|
664
718
|
|
|
719
|
+
export type ServerControlCustomMcpServerAdded = {
|
|
720
|
+
type: "control_custom_mcp_server_added";
|
|
721
|
+
server_name: string;
|
|
722
|
+
url: string;
|
|
723
|
+
};
|
|
724
|
+
|
|
725
|
+
export type ServerControlCustomMcpServerRemoved = {
|
|
726
|
+
type: "control_custom_mcp_server_removed";
|
|
727
|
+
server_name: string;
|
|
728
|
+
};
|
|
729
|
+
|
|
730
|
+
export type ServerControlRefinePromptResult = {
|
|
731
|
+
type: "control_refine_prompt_result";
|
|
732
|
+
refined_prompt: string;
|
|
733
|
+
client_message_id: string;
|
|
734
|
+
};
|
|
735
|
+
|
|
665
736
|
/**
|
|
666
737
|
* Connection-level errors
|
|
667
738
|
* Error in response to an invalid request from the client
|
|
@@ -681,6 +752,9 @@ export type ServerControlMessage =
|
|
|
681
752
|
| ServerControlAgentProfileDeleted
|
|
682
753
|
| ServerControlTeamCreated
|
|
683
754
|
| ServerControlTeamMembersUpdated
|
|
755
|
+
| ServerControlCustomMcpServerAdded
|
|
756
|
+
| ServerControlCustomMcpServerRemoved
|
|
757
|
+
| ServerControlRefinePromptResult
|
|
684
758
|
| ServerControlError;
|
|
685
759
|
|
|
686
760
|
export type ServerSessionScopedMessage =
|
|
@@ -713,6 +787,9 @@ export function isServerControlMessage(
|
|
|
713
787
|
case "control_session_deleted":
|
|
714
788
|
case "control_team_created":
|
|
715
789
|
case "control_team_members_updated":
|
|
790
|
+
case "control_custom_mcp_server_added":
|
|
791
|
+
case "control_custom_mcp_server_removed":
|
|
792
|
+
case "control_refine_prompt_result":
|
|
716
793
|
case "control_error":
|
|
717
794
|
return true;
|
|
718
795
|
default: {
|
|
@@ -776,8 +853,11 @@ export function isServerSessionScopedMessage(
|
|
|
776
853
|
case "authenticate":
|
|
777
854
|
case "approve_tool_call":
|
|
778
855
|
case "render_html":
|
|
856
|
+
case "editor_update":
|
|
857
|
+
case "race_mode_get_result":
|
|
779
858
|
case "session_shared":
|
|
780
859
|
case "mcp_resource":
|
|
860
|
+
case "context_usage":
|
|
781
861
|
return true;
|
|
782
862
|
|
|
783
863
|
default: {
|