neoagent 3.2.1-beta.1 → 3.2.1-beta.3
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/extensions/chrome-browser/background.mjs +318 -88
- package/extensions/chrome-browser/http.mjs +136 -0
- package/extensions/chrome-browser/protocol.mjs +511 -89
- package/flutter_app/lib/main_chat.dart +118 -739
- package/flutter_app/lib/main_controller.dart +29 -20
- package/flutter_app/lib/main_models.dart +3 -0
- package/flutter_app/lib/main_operations.dart +334 -321
- package/flutter_app/lib/main_settings.dart +4 -3
- package/flutter_app/lib/main_shared.dart +14 -11
- package/flutter_app/lib/src/desktop_companion_actions.dart +185 -31
- package/flutter_app/lib/src/desktop_companion_io.dart +319 -86
- package/flutter_app/windows/runner/flutter_window.cpp +143 -32
- package/lib/manager.js +106 -89
- package/lib/schema_migrations.js +67 -13
- package/package.json +20 -13
- package/runtime/paths.js +49 -5
- package/server/guest_agent.js +52 -30
- package/server/http/middleware.js +24 -0
- package/server/http/routes.js +4 -6
- package/server/public/.last_build_id +1 -1
- package/server/public/assets/fonts/MaterialIcons-Regular.otf +0 -0
- package/server/public/flutter_bootstrap.js +1 -1
- package/server/public/main.dart.js +30803 -30805
- package/server/routes/admin.js +1 -1
- package/server/routes/android.js +30 -34
- package/server/routes/browser.js +23 -15
- package/server/routes/desktop.js +18 -1
- package/server/routes/integrations.js +5 -1
- package/server/routes/memory.js +1 -0
- package/server/routes/settings.js +16 -5
- package/server/routes/social_reach.js +12 -3
- package/server/routes/social_video.js +4 -0
- package/server/services/ai/compaction.js +7 -2
- package/server/services/ai/history.js +44 -5
- package/server/services/ai/integrated_tools/http_request.js +8 -0
- package/server/services/ai/loop/agent_engine_core.js +358 -162
- package/server/services/ai/loop/callbacks.js +1 -0
- package/server/services/ai/loop/completion_judge.js +12 -0
- package/server/services/ai/loop/conversation_loop.js +348 -242
- package/server/services/ai/loop/messaging_delivery.js +129 -57
- package/server/services/ai/loop/model_call_guard.js +91 -0
- package/server/services/ai/loop/model_io.js +20 -45
- package/server/services/ai/loop/tool_dispatch.js +19 -8
- package/server/services/ai/loopPolicy.js +24 -19
- package/server/services/ai/model_discovery.js +227 -0
- package/server/services/ai/model_identity.js +71 -0
- package/server/services/ai/models.js +67 -162
- package/server/services/ai/providerRetry.js +17 -59
- package/server/services/ai/provider_selector.js +111 -0
- package/server/services/ai/providers/anthropic.js +2 -2
- package/server/services/ai/providers/claudeCode.js +21 -33
- package/server/services/ai/providers/githubCopilot.js +41 -20
- package/server/services/ai/providers/google.js +23 -5
- package/server/services/ai/providers/grok.js +4 -3
- package/server/services/ai/providers/grokOauth.js +19 -27
- package/server/services/ai/providers/nvidia.js +10 -5
- package/server/services/ai/providers/ollama.js +111 -84
- package/server/services/ai/providers/ollama_stream.js +142 -0
- package/server/services/ai/providers/openai.js +39 -5
- package/server/services/ai/providers/openaiCodex.js +11 -4
- package/server/services/ai/providers/openrouter.js +29 -7
- package/server/services/ai/providers/provider_error.js +36 -0
- package/server/services/ai/settings.js +26 -2
- package/server/services/ai/taskAnalysis.js +5 -1
- package/server/services/ai/terminal_reply.js +45 -0
- package/server/services/ai/toolEvidence.js +58 -29
- package/server/services/ai/tools.js +124 -111
- package/server/services/android/controller.js +770 -237
- package/server/services/android/process.js +140 -0
- package/server/services/android/sdk_download.js +143 -0
- package/server/services/android/uia.js +6 -5
- package/server/services/artifacts/store.js +24 -0
- package/server/services/browser/controller.js +736 -385
- package/server/services/browser/extension/gateway.js +40 -16
- package/server/services/browser/extension/protocol.js +12 -1
- package/server/services/browser/extension/provider.js +59 -47
- package/server/services/browser/extension/registry.js +155 -34
- package/server/services/cli/executor.js +62 -9
- package/server/services/desktop/gateway.js +41 -4
- package/server/services/desktop/protocol.js +3 -0
- package/server/services/desktop/provider.js +39 -42
- package/server/services/desktop/registry.js +137 -52
- package/server/services/integrations/figma/provider.js +78 -12
- package/server/services/integrations/github/common.js +11 -6
- package/server/services/integrations/github/provider.js +52 -53
- package/server/services/integrations/google/provider.js +55 -19
- package/server/services/integrations/home_assistant/network.js +17 -20
- package/server/services/integrations/home_assistant/provider.js +7 -5
- package/server/services/integrations/home_assistant/tools.js +17 -5
- package/server/services/integrations/http.js +51 -0
- package/server/services/integrations/manager.js +158 -53
- package/server/services/integrations/microsoft/provider.js +80 -13
- package/server/services/integrations/neoarchive/provider.js +55 -29
- package/server/services/integrations/neorecall/client.js +17 -10
- package/server/services/integrations/neorecall/provider.js +20 -11
- package/server/services/integrations/notion/provider.js +16 -13
- package/server/services/integrations/oauth_provider.js +115 -51
- package/server/services/integrations/slack/provider.js +98 -9
- package/server/services/integrations/spotify/provider.js +67 -71
- package/server/services/integrations/trello/provider.js +21 -7
- package/server/services/integrations/weather/provider.js +18 -12
- package/server/services/integrations/whatsapp/provider.js +76 -16
- package/server/services/manager.js +87 -1
- package/server/services/memory/embedding_index.js +20 -8
- package/server/services/memory/embeddings.js +151 -90
- package/server/services/memory/ingestion.js +50 -9
- package/server/services/memory/ingestion_documents.js +13 -3
- package/server/services/memory/manager.js +52 -19
- package/server/services/messaging/automation.js +84 -9
- package/server/services/messaging/http_platforms.js +33 -13
- package/server/services/messaging/inbound_queue.js +78 -24
- package/server/services/messaging/inbound_store.js +224 -0
- package/server/services/messaging/manager.js +326 -51
- package/server/services/messaging/typing_keepalive.js +5 -2
- package/server/services/network/http.js +210 -0
- package/server/services/network/safe_request.js +307 -0
- package/server/services/runtime/backends/local-vm.js +214 -66
- package/server/services/runtime/manager.js +17 -12
- package/server/services/social_reach/channels/github.js +10 -4
- package/server/services/social_reach/channels/reddit.js +4 -4
- package/server/services/social_reach/channels/rss.js +2 -2
- package/server/services/social_reach/channels/social_video.js +12 -7
- package/server/services/social_reach/channels/v2ex.js +21 -8
- package/server/services/social_reach/channels/x.js +2 -2
- package/server/services/social_reach/channels/xueqiu.js +5 -5
- package/server/services/social_reach/service.js +9 -6
- package/server/services/social_reach/utils.js +65 -14
- package/server/services/social_video/service.js +160 -50
- package/server/services/tasks/integration_runtime.js +18 -8
- package/server/services/tasks/runtime.js +39 -4
- package/server/services/voice/agentBridge.js +17 -4
- package/server/services/voice/bufferedLiveRelayAdapter.js +5 -0
- package/server/services/voice/liveSession.js +31 -0
- package/server/services/voice/openaiSpeech.js +33 -8
- package/server/services/voice/providers.js +233 -151
- package/server/services/voice/runtimeManager.js +118 -20
- package/server/services/voice/turnRunner.js +6 -0
- package/server/services/wearable/firmware_manifest.js +51 -13
- package/server/services/wearable/service.js +1 -0
- package/server/utils/abort.js +96 -0
- package/server/utils/cloud-security.js +110 -3
- package/server/utils/files.js +31 -0
- package/server/utils/image_payload.js +95 -0
- package/server/utils/retry.js +107 -0
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
1
3
|
const db = require('../../db/database');
|
|
2
4
|
const { resolveAgentId } = require('../agents/manager');
|
|
5
|
+
const { throwIfAborted } = require('../../utils/abort');
|
|
3
6
|
|
|
4
7
|
const WEB_SUMMARY_KEY = 'web_chat_summary';
|
|
5
8
|
const WEB_SUMMARY_COUNT_KEY = 'web_chat_summary_count';
|
|
@@ -109,8 +112,16 @@ function serializeHistoryForSummary(messages) {
|
|
|
109
112
|
}).join('\n');
|
|
110
113
|
}
|
|
111
114
|
|
|
112
|
-
async function summarizeMessages(
|
|
115
|
+
async function summarizeMessages(
|
|
116
|
+
provider,
|
|
117
|
+
model,
|
|
118
|
+
existingSummary,
|
|
119
|
+
messages,
|
|
120
|
+
label = 'conversation',
|
|
121
|
+
options = {},
|
|
122
|
+
) {
|
|
113
123
|
if (!messages.length) return existingSummary || '';
|
|
124
|
+
throwIfAborted(options.signal, 'Conversation summary refresh aborted.');
|
|
114
125
|
|
|
115
126
|
const prompt = [
|
|
116
127
|
{
|
|
@@ -127,7 +138,12 @@ async function summarizeMessages(provider, model, existingSummary, messages, lab
|
|
|
127
138
|
}
|
|
128
139
|
];
|
|
129
140
|
|
|
130
|
-
const response = await provider.chat(prompt, [], {
|
|
141
|
+
const response = await provider.chat(prompt, [], {
|
|
142
|
+
model,
|
|
143
|
+
maxTokens: 900,
|
|
144
|
+
signal: options.signal,
|
|
145
|
+
});
|
|
146
|
+
throwIfAborted(options.signal, 'Conversation summary refresh aborted.');
|
|
131
147
|
return clampSummary(response.content || existingSummary || '');
|
|
132
148
|
}
|
|
133
149
|
|
|
@@ -183,7 +199,15 @@ async function refreshWebChatSummary(userId, provider, model, recentLimit, force
|
|
|
183
199
|
'SELECT role, content FROM conversation_history WHERE user_id = ? AND agent_id = ? ORDER BY created_at ASC LIMIT ? OFFSET ?'
|
|
184
200
|
).all(userId, agentId, newMessages, count);
|
|
185
201
|
|
|
186
|
-
const nextSummary = clampSummary(await summarizeMessages(
|
|
202
|
+
const nextSummary = clampSummary(await summarizeMessages(
|
|
203
|
+
provider,
|
|
204
|
+
model,
|
|
205
|
+
summary,
|
|
206
|
+
normalizeHistoryRows(rows),
|
|
207
|
+
'web chat',
|
|
208
|
+
options,
|
|
209
|
+
));
|
|
210
|
+
throwIfAborted(options.signal, 'Web chat summary refresh aborted.');
|
|
187
211
|
const upsert = db.prepare(
|
|
188
212
|
'INSERT INTO agent_settings (user_id, agent_id, key, value) VALUES (?, ?, ?, ?) ON CONFLICT(user_id, agent_id, key) DO UPDATE SET value = excluded.value'
|
|
189
213
|
);
|
|
@@ -214,7 +238,14 @@ function getConversationContext(conversationId, recentLimit) {
|
|
|
214
238
|
};
|
|
215
239
|
}
|
|
216
240
|
|
|
217
|
-
async function refreshConversationSummary(
|
|
241
|
+
async function refreshConversationSummary(
|
|
242
|
+
conversationId,
|
|
243
|
+
provider,
|
|
244
|
+
model,
|
|
245
|
+
recentLimit,
|
|
246
|
+
force = false,
|
|
247
|
+
options = {},
|
|
248
|
+
) {
|
|
218
249
|
const convo = db.prepare(
|
|
219
250
|
'SELECT summary, summary_message_count FROM conversations WHERE id = ?'
|
|
220
251
|
).get(conversationId);
|
|
@@ -233,7 +264,15 @@ async function refreshConversationSummary(conversationId, provider, model, recen
|
|
|
233
264
|
'SELECT role, content, tool_calls, tool_call_id, name FROM conversation_messages WHERE conversation_id = ? ORDER BY created_at ASC LIMIT ? OFFSET ?'
|
|
234
265
|
).all(conversationId, newMessages, currentCount);
|
|
235
266
|
|
|
236
|
-
const nextSummary = clampSummary(await summarizeMessages(
|
|
267
|
+
const nextSummary = clampSummary(await summarizeMessages(
|
|
268
|
+
provider,
|
|
269
|
+
model,
|
|
270
|
+
convo.summary || '',
|
|
271
|
+
normalizeHistoryRows(rows),
|
|
272
|
+
'thread',
|
|
273
|
+
options,
|
|
274
|
+
));
|
|
275
|
+
throwIfAborted(options.signal, 'Conversation summary refresh aborted.');
|
|
237
276
|
db.prepare(
|
|
238
277
|
"UPDATE conversations SET summary = ?, summary_message_count = ?, last_summary = datetime('now') WHERE id = ?"
|
|
239
278
|
).run(nextSummary, targetCount, conversationId);
|