@superblocksteam/vite-plugin-file-sync 2.0.68-next.0 → 2.0.68-next.2
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/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +28 -17
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/build-delete-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-delete-file.js +29 -0
- package/dist/ai-service/agent/tools/build-delete-file.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.js +5 -4
- package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +17 -6
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/entity-permissions.d.ts +23 -20
- package/dist/ai-service/agent/tools2/entity-permissions.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/entity-permissions.js +15 -11
- package/dist/ai-service/agent/tools2/entity-permissions.js.map +1 -1
- package/dist/ai-service/agent/tools2/example.js +2 -2
- package/dist/ai-service/agent/tools2/example.js.map +1 -1
- package/dist/ai-service/agent/tools2/index.d.ts +1 -1
- package/dist/ai-service/agent/tools2/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/index.js +1 -1
- package/dist/ai-service/agent/tools2/index.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts +4 -4
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +41 -28
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/types.d.ts +36 -15
- package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/types.js.map +1 -1
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +5 -0
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +5 -7
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +36 -17
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/chat/extract-history.d.ts +0 -85
- package/dist/ai-service/chat/extract-history.d.ts.map +1 -1
- package/dist/ai-service/chat/extract-history.js +3 -239
- package/dist/ai-service/chat/extract-history.js.map +1 -1
- package/dist/ai-service/index.d.ts +3 -2
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +26 -4
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/llm/context/constants.d.ts +7 -0
- package/dist/ai-service/llm/context/constants.d.ts.map +1 -1
- package/dist/ai-service/llm/context/constants.js +7 -0
- package/dist/ai-service/llm/context/constants.js.map +1 -1
- package/dist/ai-service/llm/context/context.d.ts +8 -1
- package/dist/ai-service/llm/context/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context/context.js +47 -12
- package/dist/ai-service/llm/context/context.js.map +1 -1
- package/dist/ai-service/llm/context/internal-types.d.ts +1 -0
- package/dist/ai-service/llm/context/internal-types.d.ts.map +1 -1
- package/dist/ai-service/llm/context/internal-types.js.map +1 -1
- package/dist/ai-service/llm/context/manager.d.ts +2 -1
- package/dist/ai-service/llm/context/manager.d.ts.map +1 -1
- package/dist/ai-service/llm/context/manager.js +2 -1
- package/dist/ai-service/llm/context/manager.js.map +1 -1
- package/dist/ai-service/llm/context/utils/message-utils.d.ts +10 -0
- package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -1
- package/dist/ai-service/llm/context/utils/message-utils.js +74 -0
- package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -1
- package/dist/ai-service/llm/error.d.ts +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +4 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +3 -1
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/idle.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/idle.js +3 -1
- package/dist/ai-service/state-machine/handlers/idle.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/runtime-reviewing.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/runtime-reviewing.js +4 -1
- package/dist/ai-service/state-machine/handlers/runtime-reviewing.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/context-id.d.ts +1 -1
- package/dist/ai-service/state-machine/helpers/context-id.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/context-id.js +6 -7
- package/dist/ai-service/state-machine/helpers/context-id.js.map +1 -1
- package/dist/ai-service/state-machine/mocks.d.ts +1 -0
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
- package/dist/ai-service/state-machine/mocks.js +5 -1
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +18 -6
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/index.d.ts +5 -0
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +13 -1
- package/dist/sync-service/index.js.map +1 -1
- package/package.json +6 -6
|
@@ -32,9 +32,10 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
|
|
|
32
32
|
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
33
|
done = true;
|
|
34
34
|
};
|
|
35
|
+
import { EXCLUDED_MESSAGE_TYPES, } from "@superblocksteam/library-shared/types";
|
|
35
36
|
import { getErrorMeta } from "../../util/logger.js";
|
|
36
37
|
import llmobs from "../llmobs/index.js";
|
|
37
|
-
import {
|
|
38
|
+
import { getLastUserMessage } from "./extract-history.js";
|
|
38
39
|
export function isAiChatMessage(item) {
|
|
39
40
|
return "role" in item && "content" in item;
|
|
40
41
|
}
|
|
@@ -68,8 +69,6 @@ let ChatSessionStore = (() => {
|
|
|
68
69
|
__esDecorate(this, null, _getLatestSummary_decorators, { kind: "method", name: "getLatestSummary", static: false, private: false, access: { has: obj => "getLatestSummary" in obj, get: obj => obj.getLatestSummary }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
69
70
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
70
71
|
}
|
|
71
|
-
// Approximate number of characters per token for estimating token usage
|
|
72
|
-
static CHARS_PER_TOKEN = 3.5;
|
|
73
72
|
applicationId = __runInitializers(this, _instanceExtraInitializers);
|
|
74
73
|
rpcClient;
|
|
75
74
|
logger;
|
|
@@ -148,9 +147,7 @@ let ChatSessionStore = (() => {
|
|
|
148
147
|
const status = typeof msg.status === "string" ? msg.status : undefined;
|
|
149
148
|
const action = typeof msg.action === "string" ? msg.action : undefined;
|
|
150
149
|
const title = typeof msg.title === "string" ? msg.title : undefined;
|
|
151
|
-
const streaming = typeof msg.streaming === "boolean"
|
|
152
|
-
? msg.streaming
|
|
153
|
-
: undefined;
|
|
150
|
+
const streaming = typeof msg.streaming === "boolean" ? msg.streaming : undefined;
|
|
154
151
|
const integrations = Array.isArray(msg.integrations)
|
|
155
152
|
? msg.integrations
|
|
156
153
|
: undefined;
|
|
@@ -341,7 +338,11 @@ let ChatSessionStore = (() => {
|
|
|
341
338
|
}
|
|
342
339
|
return null;
|
|
343
340
|
}
|
|
344
|
-
async ensureLoadedFromServer() {
|
|
341
|
+
async ensureLoadedFromServer(options = { forceReload: false }) {
|
|
342
|
+
const { forceReload } = options;
|
|
343
|
+
if (forceReload) {
|
|
344
|
+
this.loadedFromServer = "no";
|
|
345
|
+
}
|
|
345
346
|
// NOTE: we will want to re-evaluate this if/when the auth token associated with this sandbox is changed
|
|
346
347
|
// the existing solution is that each time the page loaded by the client, we re-fetch from the server,
|
|
347
348
|
// so this may be a non-issue.
|
|
@@ -383,16 +384,10 @@ let ChatSessionStore = (() => {
|
|
|
383
384
|
const messages = this.messages.filter(isAiChatMessage);
|
|
384
385
|
return getLastUserMessage(messages);
|
|
385
386
|
}
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
return extractProductiveHistoryForContext(messages, {
|
|
390
|
-
maxAcceptedExchanges: 2,
|
|
391
|
-
includeRecentUnknown: true,
|
|
387
|
+
async getMessages(options) {
|
|
388
|
+
await this.ensureLoadedFromServer({
|
|
389
|
+
forceReload: options?.force ?? false,
|
|
392
390
|
});
|
|
393
|
-
}
|
|
394
|
-
async getMessages() {
|
|
395
|
-
await this.ensureLoadedFromServer();
|
|
396
391
|
return this.messages.filter(isAiChatMessage);
|
|
397
392
|
}
|
|
398
393
|
async newChat() {
|
|
@@ -407,6 +402,24 @@ let ChatSessionStore = (() => {
|
|
|
407
402
|
this.logger.error("[ai-service] Failed to create new chat", getErrorMeta(error));
|
|
408
403
|
}
|
|
409
404
|
}
|
|
405
|
+
async truncateAfterTimestamp(sinceTimestamp) {
|
|
406
|
+
try {
|
|
407
|
+
// Truncate chat messages on server
|
|
408
|
+
await this.rpcClient.call(async (client) => {
|
|
409
|
+
const applicationId = this.applicationId;
|
|
410
|
+
return await client.call.v1.ai.chat.truncateAfterTimestamp({
|
|
411
|
+
applicationId,
|
|
412
|
+
sinceTimestamp,
|
|
413
|
+
});
|
|
414
|
+
});
|
|
415
|
+
// Reload messages from server after truncation
|
|
416
|
+
await this.ensureLoadedFromServer({ forceReload: true });
|
|
417
|
+
}
|
|
418
|
+
catch (error) {
|
|
419
|
+
this.logger.error("[ai-service] Failed to truncate chat messages", getErrorMeta(error));
|
|
420
|
+
throw error;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
410
423
|
async recordUser(text, options = {}) {
|
|
411
424
|
const message = {
|
|
412
425
|
role: "user",
|
|
@@ -513,7 +526,7 @@ let ChatSessionStore = (() => {
|
|
|
513
526
|
else {
|
|
514
527
|
message = {
|
|
515
528
|
role: "assistant",
|
|
516
|
-
content: payload.text,
|
|
529
|
+
content: "text" in payload ? payload.text : "",
|
|
517
530
|
type: payload.type || "text",
|
|
518
531
|
group: "group" in payload ? payload.group : "",
|
|
519
532
|
status: payload.status,
|
|
@@ -569,6 +582,12 @@ let ChatSessionStore = (() => {
|
|
|
569
582
|
const payload = {
|
|
570
583
|
...message,
|
|
571
584
|
};
|
|
585
|
+
// Skip sending excluded message types to the server
|
|
586
|
+
if ("type" in payload &&
|
|
587
|
+
typeof payload.type === "string" &&
|
|
588
|
+
EXCLUDED_MESSAGE_TYPES.includes(payload.type)) {
|
|
589
|
+
return;
|
|
590
|
+
}
|
|
572
591
|
try {
|
|
573
592
|
await this.rpcClient.call(async (client) => {
|
|
574
593
|
const applicationId = this.applicationId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-session-store.js","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-session-store.js","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,88 +1,3 @@
|
|
|
1
1
|
import type { AiChatMessage } from "@superblocksteam/library-shared/types";
|
|
2
|
-
/**
|
|
3
|
-
* Pure functions for filtering and processing chat message history
|
|
4
|
-
* These functions extract conversation context suitable for LLM prompts
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Get up to the last N messages from the array
|
|
8
|
-
*/
|
|
9
|
-
export declare function getLimitedRecentMessages(messages: AiChatMessage[], limit?: number): AiChatMessage[];
|
|
10
|
-
/**
|
|
11
|
-
* Find the index of the most recent user message
|
|
12
|
-
*/
|
|
13
|
-
export declare function findLastUserMessageIndex(messages: AiChatMessage[]): number;
|
|
14
|
-
export declare function findLastMessageIndex(messages: AiChatMessage[], filter: (message: AiChatMessage) => boolean, n?: number): number;
|
|
15
|
-
/**
|
|
16
|
-
* Remove messages from the given index onwards
|
|
17
|
-
*/
|
|
18
|
-
export declare function removeMessagesFromIndex(messages: AiChatMessage[], fromIndex: number): AiChatMessage[];
|
|
19
|
-
/**
|
|
20
|
-
* Find the summary message index in the current exchange (looking backwards)
|
|
21
|
-
*/
|
|
22
|
-
export declare function findSummaryIndex(messages: AiChatMessage[], currentIndex: number): number;
|
|
23
|
-
/**
|
|
24
|
-
* Check if a message should be included in history (text type only)
|
|
25
|
-
*/
|
|
26
|
-
export declare function isTextType(message: AiChatMessage | undefined): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Check if an assistant message comes after a summary in its exchange
|
|
29
|
-
*/
|
|
30
|
-
export declare function isAssistantMessageAfterSummary(messages: AiChatMessage[], messageIndex: number, message: AiChatMessage): boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Process messages to extract valid user-assistant exchanges
|
|
33
|
-
*/
|
|
34
|
-
export declare function processMessageExchanges(messages: AiChatMessage[]): Array<{
|
|
35
|
-
role: "user" | "assistant";
|
|
36
|
-
content: string;
|
|
37
|
-
}>;
|
|
38
|
-
/**
|
|
39
|
-
* Process a single exchange to extract the user message and main assistant response
|
|
40
|
-
*/
|
|
41
|
-
export declare function processSingleExchange(exchange: {
|
|
42
|
-
userMessage: AiChatMessage;
|
|
43
|
-
assistantMessages: AiChatMessage[];
|
|
44
|
-
}): Array<{
|
|
45
|
-
role: "user" | "assistant";
|
|
46
|
-
content: string;
|
|
47
|
-
}>;
|
|
48
|
-
/**
|
|
49
|
-
* Identify complete message exchanges (user prompt + assistant responses) in the conversation
|
|
50
|
-
* An exchange starts with a user message and includes all subsequent assistant messages until the next user message
|
|
51
|
-
*/
|
|
52
|
-
export declare function identifyMessageExchanges(messages: AiChatMessage[]): Array<{
|
|
53
|
-
userMessage: AiChatMessage;
|
|
54
|
-
assistantMessages: AiChatMessage[];
|
|
55
|
-
startIndex: number;
|
|
56
|
-
endIndex: number;
|
|
57
|
-
}>;
|
|
58
|
-
/**
|
|
59
|
-
* Determine the outcome of a message exchange based on subsequent user actions
|
|
60
|
-
*/
|
|
61
|
-
export declare function determineExchangeOutcome(exchange: {
|
|
62
|
-
userMessage: AiChatMessage;
|
|
63
|
-
assistantMessages: AiChatMessage[];
|
|
64
|
-
startIndex: number;
|
|
65
|
-
endIndex: number;
|
|
66
|
-
}, allMessages: AiChatMessage[]): "accepted" | "rejected" | "unknown";
|
|
67
2
|
export declare function getLastUserMessage(messages: AiChatMessage[]): AiChatMessage | undefined;
|
|
68
|
-
/**
|
|
69
|
-
* Extract productive conversation history for LLM context
|
|
70
|
-
*
|
|
71
|
-
* 1. Removes the most recent user message and anything after it (incomplete exchange)
|
|
72
|
-
* 2. Identifies complete message exchanges (user prompt + assistant responses)
|
|
73
|
-
* 3. Categorizes exchanges by outcome (accepted, rejected, unknown)
|
|
74
|
-
* 4. Filters for accepted exchanges
|
|
75
|
-
* 5. Optionally includes the most recent exchange if outcome is unknown
|
|
76
|
-
* 6. Sorts exchanges by original order and flattens to messages
|
|
77
|
-
* 7. Processes messages to apply filtering and summary logic
|
|
78
|
-
*/
|
|
79
|
-
export declare const extractProductiveHistoryForContext: typeof _extractProductiveHistoryForContext;
|
|
80
|
-
declare function _extractProductiveHistoryForContext(messages: AiChatMessage[], options?: {
|
|
81
|
-
maxAcceptedExchanges?: number;
|
|
82
|
-
includeRecentUnknown?: boolean;
|
|
83
|
-
}): Array<{
|
|
84
|
-
role: "user" | "assistant";
|
|
85
|
-
content: string;
|
|
86
|
-
}>;
|
|
87
|
-
export {};
|
|
88
3
|
//# sourceMappingURL=extract-history.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-history.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/extract-history.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extract-history.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/extract-history.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAsB3E,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,aAAa,EAAE,GACxB,aAAa,GAAG,SAAS,CAG3B"}
|
|
@@ -1,259 +1,23 @@
|
|
|
1
1
|
import { getLogger } from "../../util/logger.js";
|
|
2
|
-
import llmobs from "../llmobs/index.js";
|
|
3
|
-
/**
|
|
4
|
-
* Pure functions for filtering and processing chat message history
|
|
5
|
-
* These functions extract conversation context suitable for LLM prompts
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Get up to the last N messages from the array
|
|
9
|
-
*/
|
|
10
|
-
export function getLimitedRecentMessages(messages, limit = 100) {
|
|
11
|
-
return messages.slice(-limit);
|
|
12
|
-
}
|
|
13
2
|
/**
|
|
14
3
|
* Find the index of the most recent user message
|
|
15
4
|
*/
|
|
16
|
-
|
|
17
|
-
return findLastMessageIndex(messages, (msg) => msg.role === "user");
|
|
18
|
-
}
|
|
19
|
-
// 0-indexed: 0 = last, 1 = second last, etc.
|
|
20
|
-
export function findLastMessageIndex(messages, filter, n = 0) {
|
|
5
|
+
function findLastUserMessageIndex(messages) {
|
|
21
6
|
let count = 0;
|
|
22
7
|
for (let i = messages.length - 1; i >= 0; i--) {
|
|
23
8
|
getLogger().info(`Checking message at index ${i}: ${JSON.stringify(messages[i])}`);
|
|
24
|
-
if (
|
|
9
|
+
if (messages[i].role !== "user") {
|
|
25
10
|
continue;
|
|
26
11
|
}
|
|
27
12
|
count++;
|
|
28
|
-
if (count >
|
|
13
|
+
if (count > 0) {
|
|
29
14
|
return i;
|
|
30
15
|
}
|
|
31
16
|
}
|
|
32
17
|
return -1;
|
|
33
18
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Remove messages from the given index onwards
|
|
36
|
-
*/
|
|
37
|
-
export function removeMessagesFromIndex(messages, fromIndex) {
|
|
38
|
-
return fromIndex >= 0 ? messages.slice(0, fromIndex) : [...messages];
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Find the summary message index in the current exchange (looking backwards)
|
|
42
|
-
*/
|
|
43
|
-
export function findSummaryIndex(messages, currentIndex) {
|
|
44
|
-
for (let j = currentIndex; j >= 0; j--) {
|
|
45
|
-
const prevMessage = messages[j];
|
|
46
|
-
// Found summary message
|
|
47
|
-
if (prevMessage?.role === "assistant" && prevMessage?.group === "summary") {
|
|
48
|
-
return j;
|
|
49
|
-
}
|
|
50
|
-
// Stop looking if we hit a user message (start of exchange)
|
|
51
|
-
if (prevMessage?.role === "user") {
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return -1;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Check if a message should be included in history (text type only)
|
|
59
|
-
*/
|
|
60
|
-
export function isTextType(message) {
|
|
61
|
-
return Boolean(message && message.type === "text");
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Check if an assistant message comes after a summary in its exchange
|
|
65
|
-
*/
|
|
66
|
-
export function isAssistantMessageAfterSummary(messages, messageIndex, message) {
|
|
67
|
-
if (message.role !== "assistant" || !isTextType(message)) {
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
const summaryIndex = findSummaryIndex(messages, messageIndex);
|
|
71
|
-
return summaryIndex >= 0 && messageIndex > summaryIndex;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Process messages to extract valid user-assistant exchanges
|
|
75
|
-
*/
|
|
76
|
-
export function processMessageExchanges(messages) {
|
|
77
|
-
const processedMessages = [];
|
|
78
|
-
for (let i = 0; i < messages.length; i++) {
|
|
79
|
-
const message = messages[i];
|
|
80
|
-
// Include user messages with type "text"
|
|
81
|
-
if (message?.role === "user" && isTextType(message)) {
|
|
82
|
-
processedMessages.push({
|
|
83
|
-
role: "user",
|
|
84
|
-
content: message.content,
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
// Include assistant messages that come after summary and have type "text"
|
|
88
|
-
if (message && isAssistantMessageAfterSummary(messages, i, message)) {
|
|
89
|
-
processedMessages.push({
|
|
90
|
-
role: "assistant",
|
|
91
|
-
content: message.content,
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return processedMessages;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Process a single exchange to extract the user message and main assistant response
|
|
99
|
-
*/
|
|
100
|
-
export function processSingleExchange(exchange) {
|
|
101
|
-
const result = [];
|
|
102
|
-
// Include user message if it's text type
|
|
103
|
-
if (isTextType(exchange.userMessage)) {
|
|
104
|
-
result.push({
|
|
105
|
-
role: "user",
|
|
106
|
-
content: exchange.userMessage.content,
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
// Find the summary message and include only the first assistant message after it
|
|
110
|
-
let summaryIndex = -1;
|
|
111
|
-
for (let i = 0; i < exchange.assistantMessages.length; i++) {
|
|
112
|
-
const msg = exchange.assistantMessages[i];
|
|
113
|
-
if (msg?.role === "assistant" && msg?.group === "summary") {
|
|
114
|
-
summaryIndex = i;
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
// Include the first assistant message after summary with text type
|
|
119
|
-
if (summaryIndex >= 0) {
|
|
120
|
-
for (let i = summaryIndex + 1; i < exchange.assistantMessages.length; i++) {
|
|
121
|
-
const msg = exchange.assistantMessages[i];
|
|
122
|
-
if (msg?.role === "assistant" && isTextType(msg)) {
|
|
123
|
-
result.push({
|
|
124
|
-
role: "assistant",
|
|
125
|
-
content: msg.content,
|
|
126
|
-
});
|
|
127
|
-
break; // Only include the first one
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return result;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Identify complete message exchanges (user prompt + assistant responses) in the conversation
|
|
135
|
-
* An exchange starts with a user message and includes all subsequent assistant messages until the next user message
|
|
136
|
-
*/
|
|
137
|
-
export function identifyMessageExchanges(messages) {
|
|
138
|
-
const exchanges = [];
|
|
139
|
-
let currentExchange = null;
|
|
140
|
-
for (let i = 0; i < messages.length; i++) {
|
|
141
|
-
const message = messages[i];
|
|
142
|
-
if (message?.role === "user") {
|
|
143
|
-
// If we have a current exchange, finalize it
|
|
144
|
-
if (currentExchange) {
|
|
145
|
-
exchanges.push({
|
|
146
|
-
...currentExchange,
|
|
147
|
-
endIndex: i - 1,
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
// Start a new exchange
|
|
151
|
-
currentExchange = {
|
|
152
|
-
userMessage: message,
|
|
153
|
-
assistantMessages: [],
|
|
154
|
-
startIndex: i,
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
else if (message?.role === "assistant" && currentExchange) {
|
|
158
|
-
// Add assistant message to current exchange
|
|
159
|
-
currentExchange.assistantMessages.push(message);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
// Finalize the last exchange if it exists
|
|
163
|
-
if (currentExchange) {
|
|
164
|
-
exchanges.push({
|
|
165
|
-
...currentExchange,
|
|
166
|
-
endIndex: messages.length - 1,
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
return exchanges;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Determine the outcome of a message exchange based on subsequent user actions
|
|
173
|
-
*/
|
|
174
|
-
export function determineExchangeOutcome(exchange, allMessages) {
|
|
175
|
-
// Look for acceptance/rejection messages after this exchange
|
|
176
|
-
const messagesAfterExchange = allMessages.slice(exchange.endIndex + 1);
|
|
177
|
-
for (const message of messagesAfterExchange) {
|
|
178
|
-
if (message.role === "user") {
|
|
179
|
-
if (message.type === "draftAccepted") {
|
|
180
|
-
return "accepted";
|
|
181
|
-
}
|
|
182
|
-
if (message.type === "draftRejected") {
|
|
183
|
-
return "rejected";
|
|
184
|
-
}
|
|
185
|
-
// If we hit another user text message before finding acceptance/rejection,
|
|
186
|
-
// the outcome is unknown (user moved on without explicitly accepting/rejecting)
|
|
187
|
-
if (message.type === "text") {
|
|
188
|
-
return "unknown";
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
return "unknown";
|
|
193
|
-
}
|
|
194
19
|
export function getLastUserMessage(messages) {
|
|
195
20
|
const lastUserIndex = findLastUserMessageIndex(messages);
|
|
196
21
|
return lastUserIndex >= 0 ? messages[lastUserIndex] : undefined;
|
|
197
22
|
}
|
|
198
|
-
/**
|
|
199
|
-
* Extract productive conversation history for LLM context
|
|
200
|
-
*
|
|
201
|
-
* 1. Removes the most recent user message and anything after it (incomplete exchange)
|
|
202
|
-
* 2. Identifies complete message exchanges (user prompt + assistant responses)
|
|
203
|
-
* 3. Categorizes exchanges by outcome (accepted, rejected, unknown)
|
|
204
|
-
* 4. Filters for accepted exchanges
|
|
205
|
-
* 5. Optionally includes the most recent exchange if outcome is unknown
|
|
206
|
-
* 6. Sorts exchanges by original order and flattens to messages
|
|
207
|
-
* 7. Processes messages to apply filtering and summary logic
|
|
208
|
-
*/
|
|
209
|
-
export const extractProductiveHistoryForContext = llmobs.wrap({
|
|
210
|
-
kind: "task",
|
|
211
|
-
name: "extractProductiveHistoryForContext",
|
|
212
|
-
}, _extractProductiveHistoryForContext);
|
|
213
|
-
function _extractProductiveHistoryForContext(messages, options = {}) {
|
|
214
|
-
const { maxAcceptedExchanges = 2, includeRecentUnknown = true } = options;
|
|
215
|
-
// Step 1: Remove only truly incomplete exchanges (user message with no assistant response)
|
|
216
|
-
let messagesToProcess = messages;
|
|
217
|
-
const lastUserIndex = findLastUserMessageIndex(messages);
|
|
218
|
-
if (lastUserIndex >= 0) {
|
|
219
|
-
// Check if this user message has any assistant responses after it
|
|
220
|
-
const hasAssistantResponse = messages
|
|
221
|
-
.slice(lastUserIndex + 1)
|
|
222
|
-
.some((msg) => msg?.role === "assistant");
|
|
223
|
-
// Only remove if there's no assistant response (truly incomplete)
|
|
224
|
-
if (!hasAssistantResponse) {
|
|
225
|
-
messagesToProcess = removeMessagesFromIndex(messages, lastUserIndex);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
// Step 2: Identify complete message exchanges
|
|
229
|
-
const exchanges = identifyMessageExchanges(messagesToProcess);
|
|
230
|
-
// Step 3: Categorize exchanges by outcome
|
|
231
|
-
const exchangesWithOutcomes = exchanges.map((exchange) => ({
|
|
232
|
-
...exchange,
|
|
233
|
-
outcome: determineExchangeOutcome(exchange, messages),
|
|
234
|
-
}));
|
|
235
|
-
// Step 4: Filter exchanges based on acceptance criteria
|
|
236
|
-
const acceptedExchanges = exchangesWithOutcomes
|
|
237
|
-
.filter((exchange) => exchange.outcome === "accepted")
|
|
238
|
-
.slice(-maxAcceptedExchanges); // Take the most recent accepted exchanges
|
|
239
|
-
let finalExchanges = acceptedExchanges;
|
|
240
|
-
// Step 5: Optionally include the most recent exchange if it has unknown outcome
|
|
241
|
-
// This covers the draft case where the user has not accepted or rejected the draft
|
|
242
|
-
if (includeRecentUnknown && exchanges.length > 0) {
|
|
243
|
-
const mostRecentExchange = exchangesWithOutcomes[exchangesWithOutcomes.length - 1];
|
|
244
|
-
if (mostRecentExchange?.outcome === "unknown" &&
|
|
245
|
-
!acceptedExchanges.includes(mostRecentExchange)) {
|
|
246
|
-
finalExchanges = [...acceptedExchanges, mostRecentExchange];
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
// Step 6: Sort by original order and process each exchange individually
|
|
250
|
-
const sortedExchanges = finalExchanges.sort((a, b) => a.startIndex - b.startIndex);
|
|
251
|
-
// Step 7: Process each exchange individually to maintain proper boundaries
|
|
252
|
-
const processedMessages = [];
|
|
253
|
-
for (const exchange of sortedExchanges) {
|
|
254
|
-
const exchangeMessages = processSingleExchange(exchange);
|
|
255
|
-
processedMessages.push(...exchangeMessages);
|
|
256
|
-
}
|
|
257
|
-
return processedMessages;
|
|
258
|
-
}
|
|
259
23
|
//# sourceMappingURL=extract-history.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-history.js","sourceRoot":"","sources":["../../../src/ai-service/chat/extract-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"extract-history.js","sourceRoot":"","sources":["../../../src/ai-service/chat/extract-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD;;GAEG;AACH,SAAS,wBAAwB,CAAC,QAAyB;IACzD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,SAAS,EAAE,CAAC,IAAI,CACd,6BAA6B,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,EAAE,CAClE,CAAC;QACF,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QACD,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAyB;IAEzB,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACzD,OAAO,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC"}
|
|
@@ -46,8 +46,8 @@ export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
|
|
|
46
46
|
handleAiGenerate(request: AiGenerateRequest, peer: EditorClient, peerId: string): Promise<void>;
|
|
47
47
|
handleAiExplainCode(request: AiExplainCodeRequest, peer: EditorClient): Promise<void>;
|
|
48
48
|
private submitAcceptanceEvaluation;
|
|
49
|
-
handleUserAcceptedDraft(peer: EditorClient): Promise<void>;
|
|
50
|
-
handleUserRejectedDraft(peer: EditorClient): Promise<void>;
|
|
49
|
+
handleUserAcceptedDraft(peer: EditorClient, silently?: boolean): Promise<void>;
|
|
50
|
+
handleUserRejectedDraft(peer: EditorClient, silently?: boolean): Promise<void>;
|
|
51
51
|
handleUserCanceled(): Promise<void>;
|
|
52
52
|
handleUserConnected(peer: EditorClient, peerId: string): void;
|
|
53
53
|
handleUserDisconnected(peerId: string): void;
|
|
@@ -83,6 +83,7 @@ export declare class AiService extends TracedEventEmitter<AiServiceEvents> {
|
|
|
83
83
|
}): Promise<JudgeEvaluationResult>;
|
|
84
84
|
handleUserChange(change: UserChange): void;
|
|
85
85
|
handleNewChat(): Promise<void>;
|
|
86
|
+
handleTruncateChatAfterTimestamp(sinceTimestamp: number): Promise<void>;
|
|
86
87
|
handleApiUpdate(update: ApiUpdate): Promise<void>;
|
|
87
88
|
isBusy(): boolean;
|
|
88
89
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAgBjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-service/index.ts"],"names":[],"mappings":"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"}
|