agent-world 0.13.0 → 0.15.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.md +90 -17
- package/dist/cli/commands.d.ts +7 -1
- package/dist/cli/commands.js +27 -10
- package/dist/cli/hitl.d.ts +4 -1
- package/dist/cli/hitl.js +55 -20
- package/dist/cli/index.js +249 -97
- package/dist/cli/system-events.d.ts +27 -0
- package/dist/cli/system-events.js +63 -0
- package/dist/core/activity-tracker.d.ts +26 -0
- package/dist/core/activity-tracker.d.ts.map +1 -1
- package/dist/core/activity-tracker.js +21 -4
- package/dist/core/activity-tracker.js.map +1 -1
- package/dist/core/anthropic-direct.d.ts +2 -0
- package/dist/core/anthropic-direct.d.ts.map +1 -1
- package/dist/core/anthropic-direct.js +43 -1
- package/dist/core/anthropic-direct.js.map +1 -1
- package/dist/core/chat-constants.d.ts +12 -0
- package/dist/core/chat-constants.d.ts.map +1 -1
- package/dist/core/chat-constants.js +5 -0
- package/dist/core/chat-constants.js.map +1 -1
- package/dist/core/create-agent-tool.d.ts +5 -0
- package/dist/core/create-agent-tool.d.ts.map +1 -1
- package/dist/core/create-agent-tool.js +57 -34
- package/dist/core/create-agent-tool.js.map +1 -1
- package/dist/core/events/index.d.ts +5 -2
- package/dist/core/events/index.d.ts.map +1 -1
- package/dist/core/events/index.js +5 -2
- package/dist/core/events/index.js.map +1 -1
- package/dist/core/events/memory-manager.d.ts +26 -1
- package/dist/core/events/memory-manager.d.ts.map +1 -1
- package/dist/core/events/memory-manager.js +877 -72
- package/dist/core/events/memory-manager.js.map +1 -1
- package/dist/core/events/orchestrator.d.ts +8 -0
- package/dist/core/events/orchestrator.d.ts.map +1 -1
- package/dist/core/events/orchestrator.js +203 -36
- package/dist/core/events/orchestrator.js.map +1 -1
- package/dist/core/events/persistence.d.ts +21 -14
- package/dist/core/events/persistence.d.ts.map +1 -1
- package/dist/core/events/persistence.js +100 -35
- package/dist/core/events/persistence.js.map +1 -1
- package/dist/core/events/publishers.d.ts +13 -7
- package/dist/core/events/publishers.d.ts.map +1 -1
- package/dist/core/events/publishers.js +53 -37
- package/dist/core/events/publishers.js.map +1 -1
- package/dist/core/events/subscribers.d.ts +17 -14
- package/dist/core/events/subscribers.d.ts.map +1 -1
- package/dist/core/events/subscribers.js +61 -148
- package/dist/core/events/subscribers.js.map +1 -1
- package/dist/core/events/title-scheduler.d.ts +27 -0
- package/dist/core/events/title-scheduler.d.ts.map +1 -0
- package/dist/core/events/title-scheduler.js +135 -0
- package/dist/core/events/title-scheduler.js.map +1 -0
- package/dist/core/events/tool-bridge-logging.d.ts +4 -1
- package/dist/core/events/tool-bridge-logging.d.ts.map +1 -1
- package/dist/core/events/tool-bridge-logging.js +112 -13
- package/dist/core/events/tool-bridge-logging.js.map +1 -1
- package/dist/core/events-metadata.d.ts.map +1 -1
- package/dist/core/events-metadata.js +8 -4
- package/dist/core/events-metadata.js.map +1 -1
- package/dist/core/export.d.ts +1 -1
- package/dist/core/export.d.ts.map +1 -1
- package/dist/core/export.js +2 -15
- package/dist/core/export.js.map +1 -1
- package/dist/core/feature-path-logging.d.ts +50 -0
- package/dist/core/feature-path-logging.d.ts.map +1 -0
- package/dist/core/feature-path-logging.js +130 -0
- package/dist/core/feature-path-logging.js.map +1 -0
- package/dist/core/file-tools.d.ts +57 -1
- package/dist/core/file-tools.d.ts.map +1 -1
- package/dist/core/file-tools.js +329 -29
- package/dist/core/file-tools.js.map +1 -1
- package/dist/core/google-direct.d.ts +6 -1
- package/dist/core/google-direct.d.ts.map +1 -1
- package/dist/core/google-direct.js +76 -7
- package/dist/core/google-direct.js.map +1 -1
- package/dist/core/heartbeat.d.ts +34 -0
- package/dist/core/heartbeat.d.ts.map +1 -0
- package/dist/core/heartbeat.js +153 -0
- package/dist/core/heartbeat.js.map +1 -0
- package/dist/core/hitl-tool.d.ts +6 -12
- package/dist/core/hitl-tool.d.ts.map +1 -1
- package/dist/core/hitl-tool.js +66 -88
- package/dist/core/hitl-tool.js.map +1 -1
- package/dist/core/hitl.d.ts +61 -4
- package/dist/core/hitl.d.ts.map +1 -1
- package/dist/core/hitl.js +324 -60
- package/dist/core/hitl.js.map +1 -1
- package/dist/core/index.d.ts +11 -7
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +10 -6
- package/dist/core/index.js.map +1 -1
- package/dist/core/llm-manager.d.ts +15 -0
- package/dist/core/llm-manager.d.ts.map +1 -1
- package/dist/core/llm-manager.js +325 -40
- package/dist/core/llm-manager.js.map +1 -1
- package/dist/core/load-skill-tool.d.ts +36 -3
- package/dist/core/load-skill-tool.d.ts.map +1 -1
- package/dist/core/load-skill-tool.js +807 -93
- package/dist/core/load-skill-tool.js.map +1 -1
- package/dist/core/logger.d.ts +14 -0
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +15 -0
- package/dist/core/logger.js.map +1 -1
- package/dist/core/managers.d.ts +18 -50
- package/dist/core/managers.d.ts.map +1 -1
- package/dist/core/managers.js +340 -502
- package/dist/core/managers.js.map +1 -1
- package/dist/core/mcp-server-registry.d.ts +16 -1
- package/dist/core/mcp-server-registry.d.ts.map +1 -1
- package/dist/core/mcp-server-registry.js +162 -12
- package/dist/core/mcp-server-registry.js.map +1 -1
- package/dist/core/message-cutoff.d.ts +29 -0
- package/dist/core/message-cutoff.d.ts.map +1 -0
- package/dist/core/message-cutoff.js +63 -0
- package/dist/core/message-cutoff.js.map +1 -0
- package/dist/core/message-edit-manager.d.ts +54 -0
- package/dist/core/message-edit-manager.d.ts.map +1 -0
- package/dist/core/message-edit-manager.js +602 -0
- package/dist/core/message-edit-manager.js.map +1 -0
- package/dist/core/message-prep.d.ts +2 -0
- package/dist/core/message-prep.d.ts.map +1 -1
- package/dist/core/message-prep.js +39 -12
- package/dist/core/message-prep.js.map +1 -1
- package/dist/core/message-processing-control.d.ts +1 -0
- package/dist/core/message-processing-control.d.ts.map +1 -1
- package/dist/core/message-processing-control.js +23 -6
- package/dist/core/message-processing-control.js.map +1 -1
- package/dist/core/openai-direct.d.ts +9 -3
- package/dist/core/openai-direct.d.ts.map +1 -1
- package/dist/core/openai-direct.js +267 -33
- package/dist/core/openai-direct.js.map +1 -1
- package/dist/core/optional-tracers/opik-runtime.d.ts +32 -0
- package/dist/core/optional-tracers/opik-runtime.d.ts.map +1 -0
- package/dist/core/optional-tracers/opik-runtime.js +141 -0
- package/dist/core/optional-tracers/opik-runtime.js.map +1 -0
- package/dist/core/queue-manager.d.ts +84 -0
- package/dist/core/queue-manager.d.ts.map +1 -0
- package/dist/core/queue-manager.js +814 -0
- package/dist/core/queue-manager.js.map +1 -0
- package/dist/core/reasoning-controls.d.ts +30 -0
- package/dist/core/reasoning-controls.d.ts.map +1 -0
- package/dist/core/reasoning-controls.js +118 -0
- package/dist/core/reasoning-controls.js.map +1 -0
- package/dist/core/reliability-config.d.ts +82 -0
- package/dist/core/reliability-config.d.ts.map +1 -0
- package/dist/core/reliability-config.js +106 -0
- package/dist/core/reliability-config.js.map +1 -0
- package/dist/core/reliability-runtime.d.ts +53 -0
- package/dist/core/reliability-runtime.d.ts.map +1 -0
- package/dist/core/reliability-runtime.js +92 -0
- package/dist/core/reliability-runtime.js.map +1 -0
- package/dist/core/security/guardrails.d.ts +21 -0
- package/dist/core/security/guardrails.d.ts.map +1 -0
- package/dist/core/security/guardrails.js +111 -0
- package/dist/core/security/guardrails.js.map +1 -0
- package/dist/core/send-message-tool.d.ts +79 -0
- package/dist/core/send-message-tool.d.ts.map +1 -0
- package/dist/core/send-message-tool.js +222 -0
- package/dist/core/send-message-tool.js.map +1 -0
- package/dist/core/shell-cmd-tool.d.ts +82 -1
- package/dist/core/shell-cmd-tool.d.ts.map +1 -1
- package/dist/core/shell-cmd-tool.js +854 -42
- package/dist/core/shell-cmd-tool.js.map +1 -1
- package/dist/core/skill-registry.d.ts +2 -0
- package/dist/core/skill-registry.d.ts.map +1 -1
- package/dist/core/skill-registry.js +52 -2
- package/dist/core/skill-registry.js.map +1 -1
- package/dist/core/storage/eventStorage/fileEventStorage.d.ts +5 -0
- package/dist/core/storage/eventStorage/fileEventStorage.d.ts.map +1 -1
- package/dist/core/storage/eventStorage/fileEventStorage.js +61 -0
- package/dist/core/storage/eventStorage/fileEventStorage.js.map +1 -1
- package/dist/core/storage/eventStorage/memoryEventStorage.d.ts +5 -0
- package/dist/core/storage/eventStorage/memoryEventStorage.d.ts.map +1 -1
- package/dist/core/storage/eventStorage/memoryEventStorage.js +34 -0
- package/dist/core/storage/eventStorage/memoryEventStorage.js.map +1 -1
- package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts +1 -0
- package/dist/core/storage/eventStorage/sqliteEventStorage.d.ts.map +1 -1
- package/dist/core/storage/eventStorage/sqliteEventStorage.js +19 -2
- package/dist/core/storage/eventStorage/sqliteEventStorage.js.map +1 -1
- package/dist/core/storage/eventStorage/types.d.ts +6 -0
- package/dist/core/storage/eventStorage/types.d.ts.map +1 -1
- package/dist/core/storage/eventStorage/types.js +1 -0
- package/dist/core/storage/eventStorage/types.js.map +1 -1
- package/dist/core/storage/eventStorage/validation.d.ts.map +1 -1
- package/dist/core/storage/eventStorage/validation.js +2 -1
- package/dist/core/storage/eventStorage/validation.js.map +1 -1
- package/dist/core/storage/github-world-import.d.ts +84 -0
- package/dist/core/storage/github-world-import.d.ts.map +1 -0
- package/dist/core/storage/github-world-import.js +365 -0
- package/dist/core/storage/github-world-import.js.map +1 -0
- package/dist/core/storage/memory-storage.d.ts +19 -8
- package/dist/core/storage/memory-storage.d.ts.map +1 -1
- package/dist/core/storage/memory-storage.js +147 -49
- package/dist/core/storage/memory-storage.js.map +1 -1
- package/dist/core/storage/queue-storage.d.ts +1 -0
- package/dist/core/storage/queue-storage.d.ts.map +1 -1
- package/dist/core/storage/queue-storage.js +3 -2
- package/dist/core/storage/queue-storage.js.map +1 -1
- package/dist/core/storage/sqlite-storage.d.ts +14 -9
- package/dist/core/storage/sqlite-storage.d.ts.map +1 -1
- package/dist/core/storage/sqlite-storage.js +131 -154
- package/dist/core/storage/sqlite-storage.js.map +1 -1
- package/dist/core/storage/storage-factory.d.ts +3 -0
- package/dist/core/storage/storage-factory.d.ts.map +1 -1
- package/dist/core/storage/storage-factory.js +175 -89
- package/dist/core/storage/storage-factory.js.map +1 -1
- package/dist/core/storage/world-storage.d.ts +1 -1
- package/dist/core/storage/world-storage.d.ts.map +1 -1
- package/dist/core/storage/world-storage.js +5 -1
- package/dist/core/storage/world-storage.js.map +1 -1
- package/dist/core/storage-init.d.ts +11 -0
- package/dist/core/storage-init.d.ts.map +1 -0
- package/dist/core/storage-init.js +122 -0
- package/dist/core/storage-init.js.map +1 -0
- package/dist/core/subscription.d.ts +8 -1
- package/dist/core/subscription.d.ts.map +1 -1
- package/dist/core/subscription.js +130 -23
- package/dist/core/subscription.js.map +1 -1
- package/dist/core/tool-approval.d.ts +45 -0
- package/dist/core/tool-approval.d.ts.map +1 -0
- package/dist/core/tool-approval.js +223 -0
- package/dist/core/tool-approval.js.map +1 -0
- package/dist/core/tool-execution-envelope.d.ts +87 -0
- package/dist/core/tool-execution-envelope.d.ts.map +1 -0
- package/dist/core/tool-execution-envelope.js +168 -0
- package/dist/core/tool-execution-envelope.js.map +1 -0
- package/dist/core/tool-utils.d.ts +7 -2
- package/dist/core/tool-utils.d.ts.map +1 -1
- package/dist/core/tool-utils.js +81 -17
- package/dist/core/tool-utils.js.map +1 -1
- package/dist/core/types.d.ts +67 -19
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +3 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/utils.d.ts +7 -0
- package/dist/core/utils.d.ts.map +1 -1
- package/dist/core/utils.js +71 -21
- package/dist/core/utils.js.map +1 -1
- package/dist/core/web-fetch-tool.d.ts +72 -0
- package/dist/core/web-fetch-tool.d.ts.map +1 -0
- package/dist/core/web-fetch-tool.js +491 -0
- package/dist/core/web-fetch-tool.js.map +1 -0
- package/dist/core/world-registry.d.ts +84 -0
- package/dist/core/world-registry.d.ts.map +1 -0
- package/dist/core/world-registry.js +247 -0
- package/dist/core/world-registry.js.map +1 -0
- package/dist/public/assets/index-Be-1xtV-.js +104 -0
- package/dist/public/assets/index-tsDdiXDU.css +1 -0
- package/dist/public/index.html +2 -2
- package/dist/public/mcp-sandbox-proxy.html +148 -0
- package/dist/server/api.js +260 -18
- package/dist/server/error-response.d.ts +27 -0
- package/dist/server/error-response.js +77 -0
- package/dist/server/index.d.ts +2 -1
- package/dist/server/index.js +6 -2
- package/dist/server/sse-handler.d.ts +11 -1
- package/dist/server/sse-handler.js +194 -34
- package/migrations/0015_add_message_queue.sql +36 -0
- package/migrations/0016_add_world_heartbeat.sql +13 -0
- package/migrations/0017_add_title_provenance.sql +7 -0
- package/package.json +31 -10
- package/dist/public/assets/index-BW41BxMy.css +0 -1
- package/dist/public/assets/index-kO6UJFwK.js +0 -96
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Features:
|
|
5
5
|
* - Full implementation of StorageAPI interface for SQLite backend
|
|
6
|
-
* -
|
|
7
|
-
* - Enhanced snapshot operations for world state preservation and restoration
|
|
6
|
+
* - Chat metadata persistence aligned with aggregated agent-memory chat state
|
|
8
7
|
* - Enhanced archive management with rich metadata and search capabilities
|
|
9
8
|
* - Optimized queries with prepared statements and transactions
|
|
10
9
|
* - Data integrity with foreign key constraints and validation
|
|
@@ -13,7 +12,6 @@
|
|
|
13
12
|
*
|
|
14
13
|
* Enhanced Chat Features:
|
|
15
14
|
* - Full CRUD operations for world chats with proper type safety
|
|
16
|
-
* - Snapshot storage and restoration with atomic transactions
|
|
17
15
|
* - Foreign key relationships ensuring data consistency
|
|
18
16
|
* - Efficient querying with indexed columns
|
|
19
17
|
*
|
|
@@ -33,6 +31,8 @@
|
|
|
33
31
|
* - Complete type safety with proper TypeScript interfaces
|
|
34
32
|
*
|
|
35
33
|
* Recent Changes:
|
|
34
|
+
* - 2026-03-12: Removed dormant chat snapshot reads/writes; SQLite chat metadata now matches file and memory backends.
|
|
35
|
+
* - 2026-02-25: Fixed `listAgents` memory hydration to parse aliased `toolCalls`/`toolCallId` fields so runtime agent memory preserves persisted tool-call metadata.
|
|
36
36
|
* - 2026-02-13: Added atomic compare-and-set chat title update helper (`updateChatNameIfCurrent`).
|
|
37
37
|
* - 2026-02-13: Fixed migration directory resolution so Electron runtimes launched from `electron/` still run root `migrations/`.
|
|
38
38
|
* - 2025-08-01: Added proper TypeScript types for all chat operations
|
|
@@ -134,8 +134,8 @@ export async function saveWorld(ctx, worldData) {
|
|
|
134
134
|
await ensureInitialized(ctx);
|
|
135
135
|
// Use INSERT with ON CONFLICT UPDATE instead of INSERT OR REPLACE to avoid foreign key cascade issues
|
|
136
136
|
await run(ctx, `
|
|
137
|
-
INSERT INTO worlds (id, name, description, turn_limit, main_agent, chat_llm_provider, chat_llm_model, current_chat_id, mcp_config, variables, updated_at)
|
|
138
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP)
|
|
137
|
+
INSERT INTO worlds (id, name, description, turn_limit, main_agent, chat_llm_provider, chat_llm_model, current_chat_id, mcp_config, variables, heartbeat_enabled, heartbeat_interval, heartbeat_prompt, updated_at)
|
|
138
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP)
|
|
139
139
|
ON CONFLICT(id) DO UPDATE SET
|
|
140
140
|
name = excluded.name,
|
|
141
141
|
description = excluded.description,
|
|
@@ -146,8 +146,11 @@ export async function saveWorld(ctx, worldData) {
|
|
|
146
146
|
current_chat_id = excluded.current_chat_id,
|
|
147
147
|
variables = excluded.variables,
|
|
148
148
|
mcp_config = excluded.mcp_config,
|
|
149
|
+
heartbeat_enabled = excluded.heartbeat_enabled,
|
|
150
|
+
heartbeat_interval = excluded.heartbeat_interval,
|
|
151
|
+
heartbeat_prompt = excluded.heartbeat_prompt,
|
|
149
152
|
updated_at = CURRENT_TIMESTAMP
|
|
150
|
-
`, worldData.id, worldData.name, worldData.description, worldData.turnLimit, worldData.mainAgent, worldData.chatLLMProvider, worldData.chatLLMModel, worldData.currentChatId, worldData.mcpConfig, worldData.variables);
|
|
153
|
+
`, worldData.id, worldData.name, worldData.description, worldData.turnLimit, worldData.mainAgent, worldData.chatLLMProvider, worldData.chatLLMModel, worldData.currentChatId, worldData.mcpConfig, worldData.variables, worldData.heartbeatEnabled ? 1 : 0, worldData.heartbeatInterval ?? null, worldData.heartbeatPrompt ?? null);
|
|
151
154
|
}
|
|
152
155
|
export async function loadWorld(ctx, worldId) {
|
|
153
156
|
await ensureInitialized(ctx);
|
|
@@ -156,10 +159,20 @@ export async function loadWorld(ctx, worldId) {
|
|
|
156
159
|
main_agent as mainAgent,
|
|
157
160
|
chat_llm_provider as chatLLMProvider, chat_llm_model as chatLLMModel,
|
|
158
161
|
current_chat_id as currentChatId, mcp_config as mcpConfig,
|
|
159
|
-
variables as variables
|
|
162
|
+
variables as variables,
|
|
163
|
+
heartbeat_enabled as heartbeatEnabled,
|
|
164
|
+
heartbeat_interval as heartbeatInterval,
|
|
165
|
+
heartbeat_prompt as heartbeatPrompt
|
|
160
166
|
FROM worlds WHERE id = ?
|
|
161
167
|
`, worldId);
|
|
162
|
-
|
|
168
|
+
if (!result)
|
|
169
|
+
return null;
|
|
170
|
+
return {
|
|
171
|
+
...result,
|
|
172
|
+
heartbeatEnabled: Boolean(result.heartbeatEnabled),
|
|
173
|
+
heartbeatInterval: result.heartbeatInterval ?? null,
|
|
174
|
+
heartbeatPrompt: result.heartbeatPrompt ?? null,
|
|
175
|
+
};
|
|
163
176
|
}
|
|
164
177
|
export async function deleteWorld(ctx, worldId) {
|
|
165
178
|
await ensureInitialized(ctx);
|
|
@@ -178,11 +191,19 @@ export async function listWorlds(ctx) {
|
|
|
178
191
|
main_agent as mainAgent,
|
|
179
192
|
chat_llm_provider as chatLLMProvider, chat_llm_model as chatLLMModel,
|
|
180
193
|
current_chat_id as currentChatId, mcp_config as mcpConfig,
|
|
181
|
-
variables as variables
|
|
194
|
+
variables as variables,
|
|
195
|
+
heartbeat_enabled as heartbeatEnabled,
|
|
196
|
+
heartbeat_interval as heartbeatInterval,
|
|
197
|
+
heartbeat_prompt as heartbeatPrompt
|
|
182
198
|
FROM worlds
|
|
183
199
|
ORDER BY name
|
|
184
200
|
`);
|
|
185
|
-
return results || []
|
|
201
|
+
return (results || []).map((world) => ({
|
|
202
|
+
...world,
|
|
203
|
+
heartbeatEnabled: Boolean(world.heartbeatEnabled),
|
|
204
|
+
heartbeatInterval: world.heartbeatInterval ?? null,
|
|
205
|
+
heartbeatPrompt: world.heartbeatPrompt ?? null,
|
|
206
|
+
}));
|
|
186
207
|
}
|
|
187
208
|
// AGENT OPERATIONS
|
|
188
209
|
export async function saveAgent(ctx, worldId, agent) {
|
|
@@ -271,7 +292,8 @@ export async function listAgents(ctx, worldId) {
|
|
|
271
292
|
createdAt: msg.createdAt ? new Date(msg.createdAt) : new Date(),
|
|
272
293
|
chatId: msg.chatId, // Preserve chatId field
|
|
273
294
|
replyToMessageId: msg.replyToMessageId, // Preserve replyToMessageId field
|
|
274
|
-
tool_calls: msg.
|
|
295
|
+
tool_calls: msg.toolCalls ? JSON.parse(msg.toolCalls) : undefined,
|
|
296
|
+
tool_call_id: msg.toolCallId || undefined
|
|
275
297
|
})),
|
|
276
298
|
};
|
|
277
299
|
result.push(agent);
|
|
@@ -377,47 +399,33 @@ export async function repairData(ctx, worldId, agentId) {
|
|
|
377
399
|
export async function saveChatData(ctx, worldId, chat) {
|
|
378
400
|
await ensureInitialized(ctx);
|
|
379
401
|
await run(ctx, `
|
|
380
|
-
INSERT INTO world_chats (id, world_id, name, description, message_count, tags, updated_at)
|
|
381
|
-
VALUES (?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP)
|
|
402
|
+
INSERT INTO world_chats (id, world_id, name, description, message_count, tags, title_provenance, updated_at)
|
|
403
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP)
|
|
382
404
|
ON CONFLICT(id) DO UPDATE SET
|
|
383
405
|
name = excluded.name,
|
|
384
406
|
description = excluded.description,
|
|
385
407
|
message_count = excluded.message_count,
|
|
386
408
|
tags = excluded.tags,
|
|
409
|
+
title_provenance = excluded.title_provenance,
|
|
387
410
|
updated_at = CURRENT_TIMESTAMP
|
|
388
|
-
`, chat.id, worldId, chat.name, chat.description, chat.messageCount || 0);
|
|
411
|
+
`, chat.id, worldId, chat.name, chat.description, chat.messageCount || 0, JSON.stringify(Array.isArray(chat.tags) ? chat.tags : []), chat.titleProvenance ?? 'default');
|
|
389
412
|
}
|
|
390
413
|
export async function loadChatData(ctx, worldId, chatId) {
|
|
391
414
|
await ensureInitialized(ctx);
|
|
392
415
|
const result = await get(ctx, `
|
|
393
416
|
SELECT id, world_id as worldId, name, description, message_count as messageCount,
|
|
394
|
-
tags, created_at as createdAt, updated_at as updatedAt
|
|
417
|
+
tags, title_provenance as titleProvenance, created_at as createdAt, updated_at as updatedAt
|
|
395
418
|
FROM world_chats
|
|
396
419
|
WHERE id = ? AND world_id = ?
|
|
397
420
|
`, chatId, worldId);
|
|
398
421
|
if (!result)
|
|
399
422
|
return null;
|
|
400
|
-
// Load chat if exists
|
|
401
|
-
const chat = await get(ctx, `
|
|
402
|
-
SELECT snapshot_data as snapshotData, captured_at as capturedAt, version
|
|
403
|
-
FROM chat_snapshots
|
|
404
|
-
WHERE chat_id = ? AND world_id = ?
|
|
405
|
-
ORDER BY captured_at DESC
|
|
406
|
-
LIMIT 1
|
|
407
|
-
`, chatId, worldId);
|
|
408
423
|
return {
|
|
409
424
|
...result,
|
|
410
425
|
createdAt: new Date(result.createdAt),
|
|
411
426
|
updatedAt: new Date(result.updatedAt),
|
|
412
427
|
tags: JSON.parse(result.tags || '[]'),
|
|
413
|
-
|
|
414
|
-
...JSON.parse(chat.snapshotData),
|
|
415
|
-
metadata: {
|
|
416
|
-
...JSON.parse(chat.snapshotData).metadata,
|
|
417
|
-
capturedAt: new Date(chat.capturedAt),
|
|
418
|
-
version: chat.version
|
|
419
|
-
}
|
|
420
|
-
} : undefined
|
|
428
|
+
titleProvenance: result.titleProvenance ?? 'default',
|
|
421
429
|
};
|
|
422
430
|
}
|
|
423
431
|
export async function deleteChatData(ctx, worldId, chatId) {
|
|
@@ -431,7 +439,7 @@ export async function listChatHistories(ctx, worldId) {
|
|
|
431
439
|
await ensureInitialized(ctx);
|
|
432
440
|
const results = await all(ctx, `
|
|
433
441
|
SELECT id, name, description, message_count as messageCount,
|
|
434
|
-
tags, created_at as createdAt, updated_at as updatedAt
|
|
442
|
+
tags, title_provenance as titleProvenance, created_at as createdAt, updated_at as updatedAt
|
|
435
443
|
FROM world_chats
|
|
436
444
|
WHERE world_id = ?
|
|
437
445
|
ORDER BY updated_at DESC
|
|
@@ -440,7 +448,8 @@ export async function listChatHistories(ctx, worldId) {
|
|
|
440
448
|
...chat,
|
|
441
449
|
createdAt: new Date(chat.createdAt),
|
|
442
450
|
updatedAt: new Date(chat.updatedAt),
|
|
443
|
-
tags: JSON.parse(chat.tags || '[]')
|
|
451
|
+
tags: JSON.parse(chat.tags || '[]'),
|
|
452
|
+
titleProvenance: chat.titleProvenance ?? 'default',
|
|
444
453
|
}));
|
|
445
454
|
}
|
|
446
455
|
export async function updateChatData(ctx, worldId, chatId, updates) {
|
|
@@ -463,6 +472,10 @@ export async function updateChatData(ctx, worldId, chatId, updates) {
|
|
|
463
472
|
setClauses.push('message_count = ?');
|
|
464
473
|
params.push(updates.messageCount);
|
|
465
474
|
}
|
|
475
|
+
if (updates.titleProvenance !== undefined) {
|
|
476
|
+
setClauses.push('title_provenance = ?');
|
|
477
|
+
params.push(updates.titleProvenance);
|
|
478
|
+
}
|
|
466
479
|
if (setClauses.length === 0) {
|
|
467
480
|
return await loadChatData(ctx, worldId, chatId);
|
|
468
481
|
}
|
|
@@ -475,133 +488,22 @@ export async function updateChatData(ctx, worldId, chatId, updates) {
|
|
|
475
488
|
`, ...params);
|
|
476
489
|
return await loadChatData(ctx, worldId, chatId);
|
|
477
490
|
}
|
|
478
|
-
export async function updateChatNameIfCurrent(ctx, worldId, chatId, expectedName, nextName) {
|
|
491
|
+
export async function updateChatNameIfCurrent(ctx, worldId, chatId, expectedName, nextName, nextProvenance) {
|
|
479
492
|
await ensureInitialized(ctx);
|
|
493
|
+
if (nextProvenance !== undefined) {
|
|
494
|
+
const result = await run(ctx, `
|
|
495
|
+
UPDATE world_chats
|
|
496
|
+
SET name = ?, title_provenance = ?, updated_at = CURRENT_TIMESTAMP
|
|
497
|
+
WHERE id = ? AND world_id = ? AND name = ?
|
|
498
|
+
`, nextName, nextProvenance, chatId, worldId, expectedName);
|
|
499
|
+
return (result.changes ?? 0) > 0;
|
|
500
|
+
}
|
|
480
501
|
const result = await run(ctx, `
|
|
481
502
|
UPDATE world_chats
|
|
482
503
|
SET name = ?, updated_at = CURRENT_TIMESTAMP
|
|
483
504
|
WHERE id = ? AND world_id = ? AND name = ?
|
|
484
505
|
`, nextName, chatId, worldId, expectedName);
|
|
485
|
-
return (result.changes
|
|
486
|
-
}
|
|
487
|
-
// CHAT OPERATIONS
|
|
488
|
-
export async function saveWorldChat(ctx, worldId, chatId, chat) {
|
|
489
|
-
await ensureInitialized(ctx);
|
|
490
|
-
await run(ctx, `
|
|
491
|
-
INSERT INTO chat_snapshots (chat_id, world_id, snapshot_data, version)
|
|
492
|
-
VALUES (?, ?, ?, ?)
|
|
493
|
-
`, chatId, worldId, JSON.stringify(chat), chat.metadata?.version || '1.0');
|
|
494
|
-
}
|
|
495
|
-
export async function loadWorldChatFull(ctx, worldId, chatId) {
|
|
496
|
-
await ensureInitialized(ctx);
|
|
497
|
-
// Get the chat metadata
|
|
498
|
-
const result = await get(ctx, `
|
|
499
|
-
SELECT id, name, description, message_count as messageCount,
|
|
500
|
-
tags, created_at as createdAt, updated_at as updatedAt
|
|
501
|
-
FROM world_chats
|
|
502
|
-
WHERE id = ? AND world_id = ?
|
|
503
|
-
`, chatId, worldId);
|
|
504
|
-
if (!result)
|
|
505
|
-
return null;
|
|
506
|
-
// Get the chat snapshot data
|
|
507
|
-
const chat = await get(ctx, `
|
|
508
|
-
SELECT snapshot_data as snapshotData, captured_at as capturedAt, version
|
|
509
|
-
FROM chat_snapshots
|
|
510
|
-
WHERE chat_id = ? AND world_id = ?
|
|
511
|
-
ORDER BY captured_at DESC
|
|
512
|
-
LIMIT 1
|
|
513
|
-
`, chatId, worldId);
|
|
514
|
-
if (!chat)
|
|
515
|
-
return null; // No snapshot data found
|
|
516
|
-
const snapshotData = JSON.parse(chat.snapshotData);
|
|
517
|
-
// Return merged WorldChat with snapshot fields accessible directly
|
|
518
|
-
// This matches the web interface expectation
|
|
519
|
-
return {
|
|
520
|
-
// Chat metadata (ChatInfo + worldId)
|
|
521
|
-
id: result.id,
|
|
522
|
-
worldId: worldId,
|
|
523
|
-
name: result.name,
|
|
524
|
-
description: result.description,
|
|
525
|
-
createdAt: new Date(result.createdAt),
|
|
526
|
-
updatedAt: new Date(result.updatedAt),
|
|
527
|
-
messageCount: result.messageCount,
|
|
528
|
-
tags: JSON.parse(result.tags || '[]'),
|
|
529
|
-
// Snapshot data (core WorldChat fields)
|
|
530
|
-
world: snapshotData.world,
|
|
531
|
-
agents: snapshotData.agents,
|
|
532
|
-
messages: snapshotData.messages,
|
|
533
|
-
metadata: {
|
|
534
|
-
...snapshotData.metadata,
|
|
535
|
-
capturedAt: new Date(chat.capturedAt),
|
|
536
|
-
version: chat.version
|
|
537
|
-
}
|
|
538
|
-
}; // Use 'as any' since this is a merged type that differs between web and core
|
|
539
|
-
}
|
|
540
|
-
export async function loadWorldChat(ctx, worldId, chatId) {
|
|
541
|
-
await ensureInitialized(ctx);
|
|
542
|
-
const result = await get(ctx, `
|
|
543
|
-
SELECT snapshot_data as snapshotData, captured_at as capturedAt, version
|
|
544
|
-
FROM chat_snapshots
|
|
545
|
-
WHERE chat_id = ? AND world_id = ?
|
|
546
|
-
ORDER BY captured_at DESC
|
|
547
|
-
LIMIT 1
|
|
548
|
-
`, chatId, worldId);
|
|
549
|
-
if (!result)
|
|
550
|
-
return null;
|
|
551
|
-
const chat = JSON.parse(result.snapshotData);
|
|
552
|
-
return {
|
|
553
|
-
...chat,
|
|
554
|
-
metadata: {
|
|
555
|
-
...chat.metadata,
|
|
556
|
-
capturedAt: new Date(result.capturedAt),
|
|
557
|
-
version: result.version
|
|
558
|
-
}
|
|
559
|
-
};
|
|
560
|
-
}
|
|
561
|
-
export async function restoreFromWorldChat(ctx, worldId, chat) {
|
|
562
|
-
await ensureInitialized(ctx);
|
|
563
|
-
try {
|
|
564
|
-
// Begin transaction for atomic restore
|
|
565
|
-
await run(ctx, 'BEGIN TRANSACTION');
|
|
566
|
-
// Restore world data
|
|
567
|
-
if (chat.world) {
|
|
568
|
-
await run(ctx, `
|
|
569
|
-
UPDATE worlds
|
|
570
|
-
SET name = ?, description = ?, turn_limit = ?, main_agent = ?, chat_llm_provider = ?, chat_llm_model = ?
|
|
571
|
-
WHERE id = ?
|
|
572
|
-
`, chat.world.name, chat.world.description, chat.world.turnLimit, chat.world.mainAgent, chat.world.chatLLMProvider, chat.world.chatLLMModel, worldId);
|
|
573
|
-
}
|
|
574
|
-
// Clear existing agents for this world
|
|
575
|
-
await run(ctx, 'DELETE FROM agents WHERE world_id = ?', worldId);
|
|
576
|
-
// Restore agents
|
|
577
|
-
if (chat.agents && chat.agents.length > 0) {
|
|
578
|
-
for (const agent of chat.agents) {
|
|
579
|
-
await run(ctx, `
|
|
580
|
-
INSERT INTO agents (
|
|
581
|
-
id, world_id, name, type, status, provider, model, system_prompt,
|
|
582
|
-
temperature, max_tokens, auto_reply, created_at, last_active, llm_call_count, last_llm_call
|
|
583
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
584
|
-
`, agent.id, worldId, agent.name, agent.type, agent.status || 'active', agent.provider, agent.model, agent.systemPrompt, agent.temperature, agent.maxTokens, agent.autoReply === false ? 0 : 1, agent.createdAt instanceof Date ? agent.createdAt.toISOString() : agent.createdAt, agent.lastActive instanceof Date ? agent.lastActive.toISOString() : agent.lastActive, agent.llmCallCount || 0, agent.lastLLMCall instanceof Date ? agent.lastLLMCall.toISOString() : agent.lastLLMCall);
|
|
585
|
-
// Clear and restore agent memory
|
|
586
|
-
await run(ctx, 'DELETE FROM agent_memory WHERE agent_id = ? AND world_id = ?', agent.id, worldId);
|
|
587
|
-
if (agent.memory && agent.memory.length > 0) {
|
|
588
|
-
for (const message of agent.memory) {
|
|
589
|
-
await run(ctx, `
|
|
590
|
-
INSERT INTO agent_memory (agent_id, world_id, role, content, sender, chat_id, message_id, reply_to_message_id, tool_calls, tool_call_id, created_at)
|
|
591
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
592
|
-
`, agent.id, worldId, message.role, message.content, message.sender, message.chatId, message.messageId, message.replyToMessageId, message.tool_calls ? JSON.stringify(message.tool_calls) : null, message.tool_call_id || null, message.createdAt instanceof Date ? message.createdAt.toISOString() : (message.createdAt || new Date().toISOString()));
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
}
|
|
596
|
-
}
|
|
597
|
-
await run(ctx, 'COMMIT');
|
|
598
|
-
return true;
|
|
599
|
-
}
|
|
600
|
-
catch (error) {
|
|
601
|
-
await run(ctx, 'ROLLBACK');
|
|
602
|
-
console.error('[sqlite-storage] Failed to restore from world chat:', error);
|
|
603
|
-
return false;
|
|
604
|
-
}
|
|
506
|
+
return (result.changes ?? 0) > 0;
|
|
605
507
|
}
|
|
606
508
|
// ARCHIVE OPERATIONS
|
|
607
509
|
export async function archiveAgentMemory(ctx, worldId, agentId, memory, metadata) {
|
|
@@ -703,6 +605,81 @@ export async function exportArchive(ctx, archiveId, options) {
|
|
|
703
605
|
export async function close(ctx) {
|
|
704
606
|
return closeSchema(ctx.schemaCtx);
|
|
705
607
|
}
|
|
608
|
+
// ─── MESSAGE QUEUE OPERATIONS ────────────────────────────────────────────────
|
|
609
|
+
// Queue messages are stored in a dedicated message_queue table (not agent_memory)
|
|
610
|
+
// to avoid the agent_id FK constraint on agent_memory.
|
|
611
|
+
//
|
|
612
|
+
// Status lifecycle:
|
|
613
|
+
// queued -> sending -> (row deleted on successful response)
|
|
614
|
+
// queued -> cancelled (stop/clear)
|
|
615
|
+
// sending -> queued (startup recovery)
|
|
616
|
+
// sending -> error (after max retries)
|
|
617
|
+
export async function getQueuedMessages(ctx, worldId, chatId) {
|
|
618
|
+
await ensureInitialized(ctx);
|
|
619
|
+
const rows = await all(ctx, `
|
|
620
|
+
SELECT id, world_id as worldId, chat_id as chatId, message_id as messageId,
|
|
621
|
+
content, sender, status, retry_count as retryCount, created_at as createdAt
|
|
622
|
+
FROM message_queue
|
|
623
|
+
WHERE world_id = ? AND chat_id = ? AND status NOT IN ('cancelled')
|
|
624
|
+
ORDER BY created_at ASC, id ASC
|
|
625
|
+
`, worldId, chatId);
|
|
626
|
+
return rows;
|
|
627
|
+
}
|
|
628
|
+
export async function addQueuedMessage(ctx, worldId, chatId, messageId, content, sender) {
|
|
629
|
+
await ensureInitialized(ctx);
|
|
630
|
+
await run(ctx, `
|
|
631
|
+
INSERT INTO message_queue (world_id, chat_id, message_id, content, sender, status)
|
|
632
|
+
VALUES (?, ?, ?, ?, ?, 'queued')
|
|
633
|
+
`, worldId, chatId, messageId, content, sender);
|
|
634
|
+
}
|
|
635
|
+
export async function updateMessageQueueStatus(ctx, messageId, status) {
|
|
636
|
+
await run(ctx, `
|
|
637
|
+
UPDATE message_queue
|
|
638
|
+
SET status = ?, updated_at = CURRENT_TIMESTAMP
|
|
639
|
+
WHERE message_id = ?
|
|
640
|
+
`, status, messageId);
|
|
641
|
+
}
|
|
642
|
+
export async function incrementQueueMessageRetry(ctx, messageId) {
|
|
643
|
+
await run(ctx, `
|
|
644
|
+
UPDATE message_queue
|
|
645
|
+
SET retry_count = retry_count + 1, updated_at = CURRENT_TIMESTAMP
|
|
646
|
+
WHERE message_id = ?
|
|
647
|
+
`, messageId);
|
|
648
|
+
const row = await get(ctx, `SELECT retry_count FROM message_queue WHERE message_id = ?`, messageId);
|
|
649
|
+
return row?.retry_count ?? 0;
|
|
650
|
+
}
|
|
651
|
+
export async function resetQueueMessageForRetry(ctx, messageId) {
|
|
652
|
+
await run(ctx, `
|
|
653
|
+
UPDATE message_queue
|
|
654
|
+
SET status = 'queued', retry_count = 0, updated_at = CURRENT_TIMESTAMP
|
|
655
|
+
WHERE message_id = ?
|
|
656
|
+
`, messageId);
|
|
657
|
+
}
|
|
658
|
+
export async function removeQueuedMessage(ctx, messageId) {
|
|
659
|
+
await run(ctx, `DELETE FROM message_queue WHERE message_id = ?`, messageId);
|
|
660
|
+
}
|
|
661
|
+
export async function cancelQueuedMessages(ctx, worldId, chatId) {
|
|
662
|
+
const result = await run(ctx, `
|
|
663
|
+
UPDATE message_queue
|
|
664
|
+
SET status = 'cancelled', updated_at = CURRENT_TIMESTAMP
|
|
665
|
+
WHERE world_id = ? AND chat_id = ? AND status = 'queued'
|
|
666
|
+
`, worldId, chatId);
|
|
667
|
+
return result.changes || 0;
|
|
668
|
+
}
|
|
669
|
+
export async function recoverSendingMessages(ctx) {
|
|
670
|
+
const result = await run(ctx, `
|
|
671
|
+
UPDATE message_queue
|
|
672
|
+
SET status = 'queued', updated_at = CURRENT_TIMESTAMP
|
|
673
|
+
WHERE status = 'sending'
|
|
674
|
+
`);
|
|
675
|
+
return result.changes || 0;
|
|
676
|
+
}
|
|
677
|
+
export async function deleteQueueForChat(ctx, worldId, chatId) {
|
|
678
|
+
const result = await run(ctx, `
|
|
679
|
+
DELETE FROM message_queue WHERE world_id = ? AND chat_id = ?
|
|
680
|
+
`, worldId, chatId);
|
|
681
|
+
return result.changes || 0;
|
|
682
|
+
}
|
|
706
683
|
export async function getDatabaseStats(ctx) {
|
|
707
684
|
return schemaGetDatabaseStats(ctx.schemaCtx);
|
|
708
685
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-storage.js","sourceRoot":"","sources":["../../../core/storage/sqlite-storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqlite-storage.js","sourceRoot":"","sources":["../../../core/storage/sqlite-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,9 @@
|
|
|
31
31
|
* - Centralized environment detection and error handling
|
|
32
32
|
*
|
|
33
33
|
* Changes:
|
|
34
|
+
* - 2026-03-05: Added bounded retry fallback for wrapper-level `loadAgent`/`loadAgentWithRetry` to tolerate transient storage read/consistency failures, while treating `null` loads as terminal not-found (no retry-delay penalty).
|
|
35
|
+
* - 2026-03-05: Switched storage retry/timeout constants to shared reliability config.
|
|
36
|
+
* - 2026-03-12: Removed dormant world-chat snapshot wrapper surface; chat persistence now uses metadata plus aggregated agent memory only.
|
|
34
37
|
* - 2026-02-13: Added compare-and-set chat title helper wiring (`updateChatNameIfCurrent`) across wrappers and backends.
|
|
35
38
|
* - 2025-08-07: Added memory storage for non-Node environments
|
|
36
39
|
* - 2025-08-05: Consolidated code and removed redundant comments
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-factory.d.ts","sourceRoot":"","sources":["../../../core/storage/storage-factory.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"storage-factory.d.ts","sourceRoot":"","sources":["../../../core/storage/storage-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,KAAK,EAAE,UAAU,EAAsD,MAAM,aAAa,CAAC;AAGlG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AASlD,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,UAAU,GAAG,IAAI,GAAG,UAAU,CA2XpF;AA2RD;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,UAAU,CAAC,CAUrE;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CA2L9E;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAkB3C;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC,CA4ChE"}
|