@vellumai/assistant 0.10.1-dev.202606240917.ea25efe → 0.10.1-dev.202606241257.d4f0dcf
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/package.json +1 -1
- package/src/__tests__/agent-loop-override-profile.test.ts +1 -0
- package/src/__tests__/agent-wake-disk-pressure-callsite.test.ts +2 -0
- package/src/__tests__/agent-wake-override-profile.test.ts +2 -0
- package/src/__tests__/annotate-activity-metadata.test.ts +2 -0
- package/src/__tests__/annotate-risk-options.test.ts +2 -0
- package/src/__tests__/approval-cascade.test.ts +2 -0
- package/src/__tests__/background-workers-disk-pressure.test.ts +2 -0
- package/src/__tests__/btw-routes.test.ts +2 -0
- package/src/__tests__/build-persisted-content.test.ts +2 -0
- package/src/__tests__/channel-reply-delivery.test.ts +2 -0
- package/src/__tests__/compaction-events.test.ts +2 -0
- package/src/__tests__/compaction.benchmark.test.ts +2 -0
- package/src/__tests__/compactor-call-site-logging.test.ts +2 -0
- package/src/__tests__/compactor-low-watermark-cut.test.ts +2 -0
- package/src/__tests__/compactor-preserved-tail-count.test.ts +2 -0
- package/src/__tests__/compactor-summary-call-truncation.test.ts +2 -0
- package/src/__tests__/compactor-web-search-strip.test.ts +2 -0
- package/src/__tests__/conversation-abort-tool-results.test.ts +2 -0
- package/src/__tests__/conversation-agent-loop-disk-pressure.test.ts +2 -0
- package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +2 -0
- package/src/__tests__/conversation-agent-loop-overflow.test.ts +2 -0
- package/src/__tests__/conversation-agent-loop.test.ts +3 -0
- package/src/__tests__/conversation-analysis-routes.test.ts +2 -0
- package/src/__tests__/conversation-app-control-lifecycle.test.ts +2 -0
- package/src/__tests__/conversation-confirmation-signals.test.ts +2 -0
- package/src/__tests__/conversation-history-web-search.test.ts +2 -0
- package/src/__tests__/conversation-load-history-repair.test.ts +2 -0
- package/src/__tests__/conversation-load-history-stripped.test.ts +2 -0
- package/src/__tests__/conversation-pairing.test.ts +2 -0
- package/src/__tests__/conversation-process-app-control-preactivation.test.ts +2 -0
- package/src/__tests__/conversation-process-callsite.test.ts +2 -0
- package/src/__tests__/conversation-provider-retry-repair.test.ts +2 -0
- package/src/__tests__/conversation-queue.test.ts +2 -0
- package/src/__tests__/conversation-routes-guardian-reply.test.ts +2 -0
- package/src/__tests__/conversation-routes-slash-commands.test.ts +2 -0
- package/src/__tests__/conversation-slash-queue.test.ts +2 -0
- package/src/__tests__/conversation-slash-unknown.test.ts +2 -0
- package/src/__tests__/conversation-speed-override.test.ts +2 -0
- package/src/__tests__/conversation-title-service.test.ts +2 -0
- package/src/__tests__/conversation-usage.test.ts +2 -0
- package/src/__tests__/conversation-workspace-cache-state.test.ts +2 -0
- package/src/__tests__/conversation-workspace-injection.test.ts +2 -0
- package/src/__tests__/conversation-workspace-tool-tracking.test.ts +2 -0
- package/src/__tests__/db-migration-rollback.test.ts +205 -171
- package/src/__tests__/dm-persistence.test.ts +2 -0
- package/src/__tests__/filing-service.test.ts +2 -0
- package/src/__tests__/heartbeat-disk-pressure.test.ts +2 -0
- package/src/__tests__/heartbeat-service.test.ts +2 -0
- package/src/__tests__/http-user-message-parity.test.ts +2 -0
- package/src/__tests__/inbound-slack-persistence.test.ts +2 -0
- package/src/__tests__/memory-retrieval-hook.test.ts +2 -0
- package/src/__tests__/messaging-send-tool.test.ts +2 -0
- package/src/__tests__/migration-import-from-url.test.ts +2 -2
- package/src/__tests__/native-web-search.test.ts +2 -0
- package/src/__tests__/notification-deep-link.test.ts +2 -0
- package/src/__tests__/outbound-slack-persistence.test.ts +2 -0
- package/src/__tests__/persistence-secret-redaction.test.ts +2 -0
- package/src/__tests__/process-message-background-slack.test.ts +2 -0
- package/src/__tests__/process-message-display-content.test.ts +2 -0
- package/src/__tests__/regenerate-fire-and-forget-trace.test.ts +2 -0
- package/src/__tests__/secret-ingress-http.test.ts +2 -0
- package/src/__tests__/subagent-notify-parent.test.ts +2 -0
- package/src/__tests__/subagent-spawn-tool-fork.test.ts +2 -0
- package/src/__tests__/subagent-tools.test.ts +2 -0
- package/src/__tests__/suggestion-routes.test.ts +2 -0
- package/src/__tests__/title-generate-hook.test.ts +2 -0
- package/src/__tests__/tool-executor-lifecycle-events.test.ts +2 -0
- package/src/__tests__/tool-preview-lifecycle.test.ts +2 -0
- package/src/__tests__/tool-result-metadata-plumbing.test.ts +2 -0
- package/src/__tests__/tool-start-timestamp.test.ts +2 -0
- package/src/__tests__/verification-control-plane-policy.test.ts +2 -0
- package/src/__tests__/web-search-backend-failure.test.ts +2 -0
- package/src/cli/lib/__tests__/install-from-github.test.ts +102 -0
- package/src/config/schemas/memory-lifecycle.ts +1 -1
- package/src/daemon/conversation.ts +8 -0
- package/src/daemon/lifecycle.ts +6 -28
- package/src/memory/__tests__/memory-retrospective-job.test.ts +8 -0
- package/src/memory/conversation-crud.ts +38 -0
- package/src/memory/db-init.ts +8 -493
- package/src/memory/jobs-worker.ts +58 -0
- package/src/memory/memory-retrospective-job.ts +9 -8
- package/src/memory/migrations/300-add-processing-started-at.ts +30 -0
- package/src/memory/migrations/__tests__/run-migrations.test.ts +2 -2
- package/src/memory/migrations/run-migrations.ts +90 -6
- package/src/memory/migrations/validate-migration-state.ts +101 -66
- package/src/memory/schema/conversations.ts +9 -0
- package/src/memory/steps.ts +571 -0
- package/src/memory/worker-process.ts +2 -2
- package/src/runtime/routes/conversation-cli-routes.ts +4 -5
- package/src/runtime/routes/conversation-list-routes.ts +4 -7
- package/src/runtime/routes/identity-routes.ts +3 -2
- package/src/runtime/routes/migration-rollback-routes.ts +4 -3
- package/src/runtime/routes/migration-routes.ts +2 -1
- package/src/runtime/services/__tests__/conversation-serializer.test.ts +1 -0
- package/src/runtime/services/conversation-serializer.ts +7 -9
- package/src/memory/migrations/registry.ts +0 -573
package/package.json
CHANGED
|
@@ -384,6 +384,7 @@ describe("SubagentManager.spawn — overrideProfile inheritance", () => {
|
|
|
384
384
|
// inheritance chain breaks at the second nesting level.
|
|
385
385
|
|
|
386
386
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
387
|
+
setConversationProcessingStartedAt: () => {},
|
|
387
388
|
// Always return undefined for the row read so the test fails fast unless
|
|
388
389
|
// executeSubagentSpawn reads from context.overrideProfile first.
|
|
389
390
|
getConversationOverrideProfile: () => undefined,
|
|
@@ -21,6 +21,8 @@ import type {
|
|
|
21
21
|
import type { Message } from "../providers/types.js";
|
|
22
22
|
|
|
23
23
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
24
|
+
setConversationProcessingStartedAt: () => {},
|
|
25
|
+
isConversationProcessing: () => false,
|
|
24
26
|
getConversationOverrideProfile: () => undefined,
|
|
25
27
|
}));
|
|
26
28
|
|
|
@@ -31,6 +31,8 @@ import { afterEach, beforeEach, describe, expect, mock, test } from "bun:test";
|
|
|
31
31
|
let mockOverrideProfile: string | undefined = undefined;
|
|
32
32
|
|
|
33
33
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
34
|
+
setConversationProcessingStartedAt: () => {},
|
|
35
|
+
isConversationProcessing: () => false,
|
|
34
36
|
getConversationOverrideProfile: (_id: string) => mockOverrideProfile,
|
|
35
37
|
reserveMessage: mock(async () => ({ id: "msg-reserve" })),
|
|
36
38
|
}));
|
|
@@ -55,6 +55,8 @@ let mockedRowContent = "";
|
|
|
55
55
|
const updates: Array<{ id: string; content: string }> = [];
|
|
56
56
|
|
|
57
57
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
58
|
+
setConversationProcessingStartedAt: () => {},
|
|
59
|
+
isConversationProcessing: () => false,
|
|
58
60
|
addMessage: () => ({ id: "mock-msg-id" }),
|
|
59
61
|
getMessageById: (id: string) =>
|
|
60
62
|
mockedRowContent ? { id, content: mockedRowContent } : null,
|
|
@@ -50,6 +50,8 @@ let mockedRowContent = "";
|
|
|
50
50
|
const updates: Array<{ id: string; content: string }> = [];
|
|
51
51
|
|
|
52
52
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
53
|
+
setConversationProcessingStartedAt: () => {},
|
|
54
|
+
isConversationProcessing: () => false,
|
|
53
55
|
addMessage: () => ({ id: "mock-msg-id" }),
|
|
54
56
|
getMessageById: (id: string) =>
|
|
55
57
|
mockedRowContent ? { id, content: mockedRowContent } : null,
|
|
@@ -121,6 +121,8 @@ mock.module("../security/secret-allowlist.js", () => ({
|
|
|
121
121
|
}));
|
|
122
122
|
|
|
123
123
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
124
|
+
setConversationProcessingStartedAt: () => {},
|
|
125
|
+
isConversationProcessing: () => false,
|
|
124
126
|
setConversationOriginChannelIfUnset: () => {},
|
|
125
127
|
updateConversationContextWindow: () => {},
|
|
126
128
|
deleteMessageById: () => {},
|
|
@@ -100,6 +100,8 @@ mock.module("../daemon/process-message.js", () => ({
|
|
|
100
100
|
|
|
101
101
|
const createdConversations: Array<{ conversationType: string }> = [];
|
|
102
102
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
103
|
+
setConversationProcessingStartedAt: () => {},
|
|
104
|
+
isConversationProcessing: () => false,
|
|
103
105
|
addMessage: mock(() => ({ id: "msg-1" })),
|
|
104
106
|
archiveConversation: mock(() => true),
|
|
105
107
|
batchSetDisplayOrders: mock(() => {}),
|
|
@@ -43,6 +43,8 @@ mock.module("../memory/conversation-key-store.js", () => ({
|
|
|
43
43
|
const mockAddMessage = mock(() => {});
|
|
44
44
|
|
|
45
45
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
46
|
+
setConversationProcessingStartedAt: () => {},
|
|
47
|
+
isConversationProcessing: () => false,
|
|
46
48
|
addMessage: mockAddMessage,
|
|
47
49
|
reserveMessage: mock(async () => ({ id: "msg-reserve" })),
|
|
48
50
|
}));
|
|
@@ -41,6 +41,8 @@ mock.module("../config/loader.js", () => ({
|
|
|
41
41
|
}));
|
|
42
42
|
|
|
43
43
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
44
|
+
setConversationProcessingStartedAt: () => {},
|
|
45
|
+
isConversationProcessing: () => false,
|
|
44
46
|
addMessage: () => ({ id: "mock-msg-id" }),
|
|
45
47
|
getMessageById: () => null,
|
|
46
48
|
updateMessageContent: () => {},
|
|
@@ -81,6 +81,8 @@ mock.module("../runtime/gateway-client.js", () => ({
|
|
|
81
81
|
}));
|
|
82
82
|
|
|
83
83
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
84
|
+
setConversationProcessingStartedAt: () => {},
|
|
85
|
+
isConversationProcessing: () => false,
|
|
84
86
|
setConversationOriginChannelIfUnset: () => {},
|
|
85
87
|
updateConversationContextWindow: () => {},
|
|
86
88
|
deleteMessageById: () => {},
|
|
@@ -125,6 +125,8 @@ mock.module("../security/secret-allowlist.js", () => ({
|
|
|
125
125
|
}));
|
|
126
126
|
|
|
127
127
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
128
|
+
setConversationProcessingStartedAt: () => {},
|
|
129
|
+
isConversationProcessing: () => false,
|
|
128
130
|
setConversationOriginChannelIfUnset: () => {},
|
|
129
131
|
updateConversationContextWindow: () => {},
|
|
130
132
|
setConversationHistoryStrippedAt: () => {},
|
|
@@ -17,6 +17,8 @@ mock.module("../util/logger.js", () => ({
|
|
|
17
17
|
// The compactor reads the conversation's image attachments from the DB to
|
|
18
18
|
// build its manifest; with no images these return empty.
|
|
19
19
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
20
|
+
setConversationProcessingStartedAt: () => {},
|
|
21
|
+
isConversationProcessing: () => false,
|
|
20
22
|
getMessages: () => [],
|
|
21
23
|
}));
|
|
22
24
|
mock.module("../memory/attachments-store.js", () => ({
|
|
@@ -30,6 +30,8 @@ mock.module("../util/logger.js", () => ({
|
|
|
30
30
|
}));
|
|
31
31
|
|
|
32
32
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
33
|
+
setConversationProcessingStartedAt: () => {},
|
|
34
|
+
isConversationProcessing: () => false,
|
|
33
35
|
getMessages: () => [],
|
|
34
36
|
reserveMessage: mock(async () => ({ id: "msg-reserve" })),
|
|
35
37
|
}));
|
|
@@ -22,6 +22,8 @@ mock.module("../util/logger.js", () => ({
|
|
|
22
22
|
}));
|
|
23
23
|
|
|
24
24
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
25
|
+
setConversationProcessingStartedAt: () => {},
|
|
26
|
+
isConversationProcessing: () => false,
|
|
25
27
|
getMessages: () => [],
|
|
26
28
|
reserveMessage: mock(async () => ({ id: "msg-reserve" })),
|
|
27
29
|
}));
|
|
@@ -22,6 +22,8 @@ mock.module("../util/logger.js", () => ({
|
|
|
22
22
|
}));
|
|
23
23
|
|
|
24
24
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
25
|
+
setConversationProcessingStartedAt: () => {},
|
|
26
|
+
isConversationProcessing: () => false,
|
|
25
27
|
getMessages: () => [],
|
|
26
28
|
reserveMessage: mock(async () => ({ id: "msg-reserve" })),
|
|
27
29
|
}));
|
|
@@ -112,6 +112,8 @@ let reservedRowContent: Map<string, string> = new Map();
|
|
|
112
112
|
let reserveCounter = 0;
|
|
113
113
|
|
|
114
114
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
115
|
+
setConversationProcessingStartedAt: () => {},
|
|
116
|
+
isConversationProcessing: () => false,
|
|
115
117
|
setConversationOriginChannelIfUnset: () => {},
|
|
116
118
|
updateConversationContextWindow: () => {},
|
|
117
119
|
deleteMessageById: () => {},
|
|
@@ -87,6 +87,8 @@ mock.module("../daemon/disk-pressure-guard.js", () => ({
|
|
|
87
87
|
}));
|
|
88
88
|
|
|
89
89
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
90
|
+
setConversationProcessingStartedAt: () => {},
|
|
91
|
+
isConversationProcessing: () => false,
|
|
90
92
|
getConversation: () => ({
|
|
91
93
|
id: "conv-123",
|
|
92
94
|
conversationType: "background",
|
|
@@ -147,6 +147,8 @@ let mockConversationRow: {
|
|
|
147
147
|
};
|
|
148
148
|
|
|
149
149
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
150
|
+
setConversationProcessingStartedAt: () => {},
|
|
151
|
+
isConversationProcessing: () => false,
|
|
150
152
|
setConversationOriginChannelIfUnset: () => {},
|
|
151
153
|
setConversationHistoryStrippedAt: () => {},
|
|
152
154
|
updateConversationUsage: () => {},
|
|
@@ -257,6 +257,8 @@ mock.module("../plugins/defaults/compaction/overflow-policy.js", () => ({
|
|
|
257
257
|
}));
|
|
258
258
|
|
|
259
259
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
260
|
+
setConversationProcessingStartedAt: () => {},
|
|
261
|
+
isConversationProcessing: () => false,
|
|
260
262
|
setConversationOriginChannelIfUnset: () => {},
|
|
261
263
|
setConversationHistoryStrippedAt: () => {},
|
|
262
264
|
updateConversationUsage: () => {},
|
|
@@ -273,6 +273,8 @@ const deleteMessageByIdMock = mock(() => ({
|
|
|
273
273
|
const reserveMessageMock = mock(async () => ({ id: "msg-reserve" }));
|
|
274
274
|
const updateMessageContentMock = mock(() => {});
|
|
275
275
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
276
|
+
setConversationProcessingStartedAt: () => {},
|
|
277
|
+
isConversationProcessing: () => false,
|
|
276
278
|
setConversationOriginChannelIfUnset: () => {},
|
|
277
279
|
updateConversationUsage: () => {},
|
|
278
280
|
updateMessageMetadata: updateMessageMetadataMock,
|
|
@@ -700,6 +702,7 @@ function makeCtx(
|
|
|
700
702
|
mockConversationRow?.slackContextCompactionWatermarkTs ?? null,
|
|
701
703
|
lastNotifiedInferenceProfile:
|
|
702
704
|
mockConversationRow?.lastNotifiedInferenceProfile ?? null,
|
|
705
|
+
processingStartedAt: mockConversationRow?.processingStartedAt ?? null,
|
|
703
706
|
|
|
704
707
|
memoryPolicy: { scopeId: "default", includeDefaultFallback: true },
|
|
705
708
|
|
|
@@ -22,6 +22,8 @@ mock.module("../memory/conversation-key-store.js", () => ({
|
|
|
22
22
|
}));
|
|
23
23
|
|
|
24
24
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
25
|
+
setConversationProcessingStartedAt: () => {},
|
|
26
|
+
isConversationProcessing: () => false,
|
|
25
27
|
getConversation: mockGetConversation,
|
|
26
28
|
getMessages: mockGetMessages,
|
|
27
29
|
createConversation: mockCreateConversation,
|
|
@@ -76,6 +76,8 @@ mock.module("../security/secret-allowlist.js", () => ({
|
|
|
76
76
|
}));
|
|
77
77
|
|
|
78
78
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
79
|
+
setConversationProcessingStartedAt: () => {},
|
|
80
|
+
isConversationProcessing: () => false,
|
|
79
81
|
updateConversationContextWindow: () => {},
|
|
80
82
|
deleteMessageById: () => {},
|
|
81
83
|
updateConversationTitle: () => {},
|
|
@@ -112,6 +112,8 @@ mock.module("../security/secret-allowlist.js", () => ({
|
|
|
112
112
|
}));
|
|
113
113
|
|
|
114
114
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
115
|
+
setConversationProcessingStartedAt: () => {},
|
|
116
|
+
isConversationProcessing: () => false,
|
|
115
117
|
setConversationOriginChannelIfUnset: () => {},
|
|
116
118
|
updateConversationContextWindow: () => {},
|
|
117
119
|
deleteMessageById: () => {},
|
|
@@ -36,6 +36,8 @@ let deletedMessageIds: string[] = [];
|
|
|
36
36
|
let updatedMessages: Array<{ id: string; content: string }> = [];
|
|
37
37
|
|
|
38
38
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
39
|
+
setConversationProcessingStartedAt: () => {},
|
|
40
|
+
isConversationProcessing: () => false,
|
|
39
41
|
getMessages: (conversationId: string) =>
|
|
40
42
|
dbMessages.filter((m) => m.conversationId === conversationId),
|
|
41
43
|
deleteMessageById: (messageId: string) => {
|
|
@@ -74,6 +74,8 @@ let mockConversation: Record<string, unknown> | null = null;
|
|
|
74
74
|
let nextMockMessageId = 1;
|
|
75
75
|
|
|
76
76
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
77
|
+
setConversationProcessingStartedAt: () => {},
|
|
78
|
+
isConversationProcessing: () => false,
|
|
77
79
|
updateConversationContextWindow: () => {},
|
|
78
80
|
deleteMessageById: () => {},
|
|
79
81
|
updateConversationTitle: () => {},
|
|
@@ -70,6 +70,8 @@ let mockDbMessages: Array<{
|
|
|
70
70
|
let mockConversation: Record<string, unknown> | null = null;
|
|
71
71
|
|
|
72
72
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
73
|
+
setConversationProcessingStartedAt: () => {},
|
|
74
|
+
isConversationProcessing: () => false,
|
|
73
75
|
updateConversationContextWindow: () => {},
|
|
74
76
|
deleteMessageById: () => {},
|
|
75
77
|
updateConversationTitle: () => {},
|
|
@@ -51,6 +51,8 @@ const getConversationMock = mock((id: string) => {
|
|
|
51
51
|
});
|
|
52
52
|
|
|
53
53
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
54
|
+
setConversationProcessingStartedAt: () => {},
|
|
55
|
+
isConversationProcessing: () => false,
|
|
54
56
|
setConversationOriginChannelIfUnset: () => {},
|
|
55
57
|
updateConversationContextWindow: () => {},
|
|
56
58
|
deleteMessageById: () => {},
|
|
@@ -46,6 +46,8 @@ mock.module("../runtime/assistant-event-hub.js", () => ({
|
|
|
46
46
|
}));
|
|
47
47
|
|
|
48
48
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
49
|
+
setConversationProcessingStartedAt: () => {},
|
|
50
|
+
isConversationProcessing: () => false,
|
|
49
51
|
setConversationOriginChannelIfUnset: () => {},
|
|
50
52
|
setConversationOriginInterfaceIfUnset: () => {},
|
|
51
53
|
provenanceFromTrustContext: () => ({
|
|
@@ -157,6 +157,8 @@ let mockDbMessages: Array<{ id: string; role: string; content: string }> = [];
|
|
|
157
157
|
let mockConversation: Record<string, unknown> | null = null;
|
|
158
158
|
|
|
159
159
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
160
|
+
setConversationProcessingStartedAt: () => {},
|
|
161
|
+
isConversationProcessing: () => false,
|
|
160
162
|
setConversationOriginChannelIfUnset: () => {},
|
|
161
163
|
setConversationOriginInterfaceIfUnset: () => {},
|
|
162
164
|
updateConversationContextWindow: () => {},
|
|
@@ -98,6 +98,8 @@ mock.module("../security/secret-allowlist.js", () => ({
|
|
|
98
98
|
}));
|
|
99
99
|
|
|
100
100
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
101
|
+
setConversationProcessingStartedAt: () => {},
|
|
102
|
+
isConversationProcessing: () => false,
|
|
101
103
|
setConversationOriginChannelIfUnset: () => {},
|
|
102
104
|
deleteMessageById: () => {},
|
|
103
105
|
getMessages: () => [],
|
|
@@ -149,6 +149,8 @@ mock.module("../security/secret-allowlist.js", () => ({
|
|
|
149
149
|
}));
|
|
150
150
|
|
|
151
151
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
152
|
+
setConversationProcessingStartedAt: () => {},
|
|
153
|
+
isConversationProcessing: () => false,
|
|
152
154
|
setConversationOriginChannelIfUnset: () => {},
|
|
153
155
|
setConversationOriginInterfaceIfUnset: () => {},
|
|
154
156
|
updateConversationContextWindow: () => {},
|
|
@@ -77,6 +77,8 @@ mock.module("../runtime/confirmation-request-guardian-bridge.js", () => ({
|
|
|
77
77
|
}));
|
|
78
78
|
|
|
79
79
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
80
|
+
setConversationProcessingStartedAt: () => {},
|
|
81
|
+
isConversationProcessing: () => false,
|
|
80
82
|
addMessage: (
|
|
81
83
|
conversationId: string,
|
|
82
84
|
role: string,
|
|
@@ -126,6 +126,8 @@ mock.module("../runtime/confirmation-request-guardian-bridge.js", () => ({
|
|
|
126
126
|
}));
|
|
127
127
|
|
|
128
128
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
129
|
+
setConversationProcessingStartedAt: () => {},
|
|
130
|
+
isConversationProcessing: () => false,
|
|
129
131
|
addMessage: (
|
|
130
132
|
conversationId: string,
|
|
131
133
|
role: string,
|
|
@@ -100,6 +100,8 @@ mock.module("../security/secret-allowlist.js", () => ({
|
|
|
100
100
|
}));
|
|
101
101
|
|
|
102
102
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
103
|
+
setConversationProcessingStartedAt: () => {},
|
|
104
|
+
isConversationProcessing: () => false,
|
|
103
105
|
setConversationOriginChannelIfUnset: () => {},
|
|
104
106
|
setConversationOriginInterfaceIfUnset: () => {},
|
|
105
107
|
updateConversationContextWindow: () => {},
|
|
@@ -101,6 +101,8 @@ const addMessageCalls: Array<{
|
|
|
101
101
|
}> = [];
|
|
102
102
|
|
|
103
103
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
104
|
+
setConversationProcessingStartedAt: () => {},
|
|
105
|
+
isConversationProcessing: () => false,
|
|
104
106
|
setConversationOriginChannelIfUnset: () => {},
|
|
105
107
|
updateConversationContextWindow: () => {},
|
|
106
108
|
deleteMessageById: () => {},
|
|
@@ -119,6 +119,8 @@ mock.module("../security/secret-allowlist.js", () => ({
|
|
|
119
119
|
}));
|
|
120
120
|
|
|
121
121
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
122
|
+
setConversationProcessingStartedAt: () => {},
|
|
123
|
+
isConversationProcessing: () => false,
|
|
122
124
|
setConversationOriginChannelIfUnset: () => {},
|
|
123
125
|
updateConversationContextWindow: () => {},
|
|
124
126
|
deleteMessageById: () => {},
|
|
@@ -34,6 +34,8 @@ mock.module("../runtime/btw-sidechain.js", () => ({
|
|
|
34
34
|
}));
|
|
35
35
|
|
|
36
36
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
37
|
+
setConversationProcessingStartedAt: () => {},
|
|
38
|
+
isConversationProcessing: () => false,
|
|
37
39
|
getConversation: mockGetConversation,
|
|
38
40
|
getMessages: mockGetMessages,
|
|
39
41
|
updateConversationTitle: mockUpdateConversationTitle,
|
|
@@ -23,6 +23,8 @@ mock.module("../config/loader.js", () => ({
|
|
|
23
23
|
}));
|
|
24
24
|
|
|
25
25
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
26
|
+
setConversationProcessingStartedAt: () => {},
|
|
27
|
+
isConversationProcessing: () => false,
|
|
26
28
|
updateConversationUsage: (
|
|
27
29
|
conversationId: string,
|
|
28
30
|
inputTokens: number,
|
|
@@ -87,6 +87,8 @@ mock.module("../security/secret-allowlist.js", () => ({
|
|
|
87
87
|
}));
|
|
88
88
|
|
|
89
89
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
90
|
+
setConversationProcessingStartedAt: () => {},
|
|
91
|
+
isConversationProcessing: () => false,
|
|
90
92
|
setConversationOriginChannelIfUnset: () => {},
|
|
91
93
|
setConversationHistoryStrippedAt: () => {},
|
|
92
94
|
provenanceFromTrustContext: () => ({
|
|
@@ -111,6 +111,8 @@ mock.module("../security/secret-allowlist.js", () => ({
|
|
|
111
111
|
}));
|
|
112
112
|
|
|
113
113
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
114
|
+
setConversationProcessingStartedAt: () => {},
|
|
115
|
+
isConversationProcessing: () => false,
|
|
114
116
|
setConversationOriginChannelIfUnset: () => {},
|
|
115
117
|
setConversationHistoryStrippedAt: () => {},
|
|
116
118
|
provenanceFromTrustContext: () => ({
|
|
@@ -109,6 +109,8 @@ mock.module("../security/secret-allowlist.js", () => ({
|
|
|
109
109
|
}));
|
|
110
110
|
|
|
111
111
|
mock.module("../memory/conversation-crud.js", () => ({
|
|
112
|
+
setConversationProcessingStartedAt: () => {},
|
|
113
|
+
isConversationProcessing: () => false,
|
|
112
114
|
setConversationOriginChannelIfUnset: () => {},
|
|
113
115
|
setConversationHistoryStrippedAt: () => {},
|
|
114
116
|
provenanceFromTrustContext: () => ({
|