neoagent 3.2.1-beta.1 → 3.2.1-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/extensions/chrome-browser/background.mjs +318 -88
- package/extensions/chrome-browser/http.mjs +136 -0
- package/extensions/chrome-browser/protocol.mjs +654 -90
- package/flutter_app/lib/main_chat.dart +118 -739
- package/flutter_app/lib/main_controller.dart +111 -20
- package/flutter_app/lib/main_integrations.dart +607 -8
- package/flutter_app/lib/main_models.dart +3 -0
- package/flutter_app/lib/main_operations.dart +334 -321
- package/flutter_app/lib/main_security.dart +266 -112
- package/flutter_app/lib/main_settings.dart +4 -3
- package/flutter_app/lib/main_shared.dart +14 -11
- package/flutter_app/lib/src/backend_client.dart +78 -0
- 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/landing/index.html +3 -1
- package/lib/manager.js +106 -89
- package/lib/schema_migrations.js +115 -13
- package/package.json +30 -15
- package/runtime/paths.js +49 -5
- package/server/db/database.js +2 -2
- package/server/guest-agent.cli.package.json +13 -0
- package/server/guest_agent.js +85 -40
- package/server/http/middleware.js +24 -0
- package/server/http/routes.js +11 -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 +2 -2
- package/server/public/main.dart.js +73083 -72209
- 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 +107 -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/agents/manager.js +1 -1
- package/server/services/ai/capabilityHealth.js +62 -96
- package/server/services/ai/compaction.js +7 -2
- package/server/services/ai/history.js +45 -6
- package/server/services/ai/integrated_tools/http_request.js +8 -0
- package/server/services/ai/loop/agent_engine_core.js +390 -162
- package/server/services/ai/loop/blank_recovery.js +5 -4
- package/server/services/ai/loop/callbacks.js +1 -0
- package/server/services/ai/loop/completion_judge.js +121 -5
- package/server/services/ai/loop/conversation_loop.js +510 -332
- 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/progress_classification.js +2 -0
- package/server/services/ai/loop/tool_dispatch.js +19 -8
- package/server/services/ai/loopPolicy.js +48 -21
- package/server/services/ai/messagingFallback.js +17 -17
- package/server/services/ai/model_discovery.js +227 -0
- package/server/services/ai/model_failure_cache.js +108 -0
- package/server/services/ai/model_identity.js +71 -0
- package/server/services/ai/models.js +68 -163
- package/server/services/ai/providerRetry.js +17 -59
- package/server/services/ai/provider_selector.js +166 -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 +135 -97
- 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/systemPrompt.js +19 -12
- package/server/services/ai/taskAnalysis.js +58 -10
- package/server/services/ai/terminal_reply.js +18 -0
- package/server/services/ai/toolEvidence.js +350 -29
- package/server/services/ai/tools.js +190 -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 +843 -385
- package/server/services/browser/extension/gateway.js +40 -16
- package/server/services/browser/extension/protocol.js +15 -1
- package/server/services/browser/extension/provider.js +71 -47
- package/server/services/browser/extension/registry.js +155 -34
- package/server/services/cli/executor.js +62 -9
- package/server/services/credentials/bitwarden_cli.js +322 -0
- package/server/services/credentials/broker.js +594 -0
- 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/bitwarden/constants.js +14 -0
- package/server/services/integrations/bitwarden/provider.js +197 -0
- package/server/services/integrations/bitwarden/snapshot.js +65 -0
- 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 +159 -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/registry.js +2 -0
- 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 +110 -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 +85 -10
- package/server/services/messaging/formatting_guides.js +7 -4
- 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/messaging/whatsapp.js +22 -14
- 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 +227 -67
- package/server/services/runtime/docker-vm-manager.js +9 -0
- package/server/services/runtime/guest_bootstrap.js +30 -4
- package/server/services/runtime/guest_image.js +43 -12
- package/server/services/runtime/manager.js +77 -23
- package/server/services/runtime/validation.js +7 -6
- package/server/services/security/tool_categories.js +6 -0
- 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/message.js +1 -1
- package/server/services/voice/openaiSpeech.js +33 -8
- package/server/services/voice/providers.js +233 -151
- package/server/services/voice/runtime.js +2 -2
- 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
|
@@ -4890,6 +4890,88 @@ class NeoAgentController extends ChangeNotifier {
|
|
|
4890
4890
|
}
|
|
4891
4891
|
}
|
|
4892
4892
|
|
|
4893
|
+
Future<Map<String, dynamic>> unlockBitwarden(
|
|
4894
|
+
String masterPassword, {
|
|
4895
|
+
required int idleTimeoutMinutes,
|
|
4896
|
+
}) async {
|
|
4897
|
+
try {
|
|
4898
|
+
errorMessage = null;
|
|
4899
|
+
return await _backendClient.unlockBitwarden(
|
|
4900
|
+
backendUrl,
|
|
4901
|
+
masterPassword: masterPassword,
|
|
4902
|
+
idleTimeoutMinutes: idleTimeoutMinutes,
|
|
4903
|
+
agentId: _scopedAgentId,
|
|
4904
|
+
);
|
|
4905
|
+
} catch (error) {
|
|
4906
|
+
errorMessage = _friendlyErrorMessage(error);
|
|
4907
|
+
rethrow;
|
|
4908
|
+
} finally {
|
|
4909
|
+
notifyListeners();
|
|
4910
|
+
}
|
|
4911
|
+
}
|
|
4912
|
+
|
|
4913
|
+
Future<void> lockBitwarden() async {
|
|
4914
|
+
try {
|
|
4915
|
+
errorMessage = null;
|
|
4916
|
+
await _backendClient.lockBitwarden(backendUrl, agentId: _scopedAgentId);
|
|
4917
|
+
} catch (error) {
|
|
4918
|
+
errorMessage = _friendlyErrorMessage(error);
|
|
4919
|
+
rethrow;
|
|
4920
|
+
} finally {
|
|
4921
|
+
notifyListeners();
|
|
4922
|
+
}
|
|
4923
|
+
}
|
|
4924
|
+
|
|
4925
|
+
Future<List<Map<String, dynamic>>> fetchBitwardenItems() async {
|
|
4926
|
+
final response = await _backendClient.fetchBitwardenItems(
|
|
4927
|
+
backendUrl,
|
|
4928
|
+
agentId: _scopedAgentId,
|
|
4929
|
+
);
|
|
4930
|
+
return _jsonMapList(
|
|
4931
|
+
response['items'],
|
|
4932
|
+
).map((row) => Map<String, dynamic>.from(row)).toList();
|
|
4933
|
+
}
|
|
4934
|
+
|
|
4935
|
+
Future<List<Map<String, dynamic>>> fetchCredentialBindings() async {
|
|
4936
|
+
final response = await _backendClient.fetchCredentialBindings(
|
|
4937
|
+
backendUrl,
|
|
4938
|
+
agentId: _scopedAgentId,
|
|
4939
|
+
);
|
|
4940
|
+
return _jsonMapList(
|
|
4941
|
+
response['bindings'],
|
|
4942
|
+
).map((row) => Map<String, dynamic>.from(row)).toList();
|
|
4943
|
+
}
|
|
4944
|
+
|
|
4945
|
+
Future<void> createCredentialBinding(Map<String, dynamic> binding) async {
|
|
4946
|
+
try {
|
|
4947
|
+
errorMessage = null;
|
|
4948
|
+
await _backendClient.createCredentialBinding(
|
|
4949
|
+
backendUrl,
|
|
4950
|
+
binding: binding,
|
|
4951
|
+
agentId: _scopedAgentId,
|
|
4952
|
+
);
|
|
4953
|
+
await refreshSkills();
|
|
4954
|
+
} catch (error) {
|
|
4955
|
+
errorMessage = _friendlyErrorMessage(error);
|
|
4956
|
+
rethrow;
|
|
4957
|
+
}
|
|
4958
|
+
}
|
|
4959
|
+
|
|
4960
|
+
Future<void> deleteCredentialBinding(String bindingId) async {
|
|
4961
|
+
try {
|
|
4962
|
+
errorMessage = null;
|
|
4963
|
+
await _backendClient.deleteCredentialBinding(
|
|
4964
|
+
backendUrl,
|
|
4965
|
+
bindingId,
|
|
4966
|
+
agentId: _scopedAgentId,
|
|
4967
|
+
);
|
|
4968
|
+
await refreshSkills();
|
|
4969
|
+
} catch (error) {
|
|
4970
|
+
errorMessage = _friendlyErrorMessage(error);
|
|
4971
|
+
rethrow;
|
|
4972
|
+
}
|
|
4973
|
+
}
|
|
4974
|
+
|
|
4893
4975
|
Future<void> disconnectOfficialIntegration(
|
|
4894
4976
|
String providerId, {
|
|
4895
4977
|
required int connectionId,
|
|
@@ -5950,11 +6032,13 @@ class NeoAgentController extends ChangeNotifier {
|
|
|
5950
6032
|
List<String> get enabledModelIds {
|
|
5951
6033
|
final raw = settings['enabled_models'];
|
|
5952
6034
|
if (raw is List) {
|
|
5953
|
-
final
|
|
5954
|
-
final
|
|
5955
|
-
|
|
5956
|
-
|
|
5957
|
-
.
|
|
6035
|
+
final filtered = <String>[];
|
|
6036
|
+
for (final item in raw) {
|
|
6037
|
+
final model = _modelForValue(item.toString(), supportedModels);
|
|
6038
|
+
if (model != null && !filtered.contains(model.id)) {
|
|
6039
|
+
filtered.add(model.id);
|
|
6040
|
+
}
|
|
6041
|
+
}
|
|
5958
6042
|
if (filtered.isNotEmpty) {
|
|
5959
6043
|
return filtered;
|
|
5960
6044
|
}
|
|
@@ -5965,18 +6049,30 @@ class NeoAgentController extends ChangeNotifier {
|
|
|
5965
6049
|
.toList();
|
|
5966
6050
|
}
|
|
5967
6051
|
|
|
5968
|
-
String get defaultChatModel =>
|
|
5969
|
-
|
|
6052
|
+
String get defaultChatModel => _ensureModelValue(
|
|
6053
|
+
settings['default_chat_model']?.toString() ?? 'auto',
|
|
6054
|
+
supportedModels,
|
|
6055
|
+
allowAuto: true,
|
|
6056
|
+
);
|
|
5970
6057
|
|
|
5971
|
-
String get defaultSubagentModel =>
|
|
5972
|
-
|
|
6058
|
+
String get defaultSubagentModel => _ensureModelValue(
|
|
6059
|
+
settings['default_subagent_model']?.toString() ?? 'auto',
|
|
6060
|
+
supportedModels,
|
|
6061
|
+
allowAuto: true,
|
|
6062
|
+
);
|
|
5973
6063
|
|
|
5974
|
-
String get defaultSpeechModel =>
|
|
5975
|
-
|
|
6064
|
+
String get defaultSpeechModel => _ensureModelValue(
|
|
6065
|
+
settings['default_speech_model']?.toString() ?? 'auto',
|
|
6066
|
+
supportedModels,
|
|
6067
|
+
allowAuto: true,
|
|
6068
|
+
);
|
|
5976
6069
|
|
|
5977
|
-
String get fallbackModel =>
|
|
5978
|
-
|
|
5979
|
-
|
|
6070
|
+
String get fallbackModel => _ensureModelValue(
|
|
6071
|
+
settings['fallback_model_id']?.toString() ??
|
|
6072
|
+
_firstAvailableModelId(supportedModels),
|
|
6073
|
+
supportedModels,
|
|
6074
|
+
allowAuto: false,
|
|
6075
|
+
);
|
|
5980
6076
|
|
|
5981
6077
|
String get voiceSttProvider =>
|
|
5982
6078
|
_settingString('voice_stt_provider', 'openai', lowercase: true);
|
|
@@ -6117,12 +6213,7 @@ class NeoAgentController extends ChangeNotifier {
|
|
|
6117
6213
|
}
|
|
6118
6214
|
|
|
6119
6215
|
ModelMeta? _modelById(String id) {
|
|
6120
|
-
|
|
6121
|
-
if (model.id == id) {
|
|
6122
|
-
return model;
|
|
6123
|
-
}
|
|
6124
|
-
}
|
|
6125
|
-
return null;
|
|
6216
|
+
return _modelForValue(id, supportedModels);
|
|
6126
6217
|
}
|
|
6127
6218
|
|
|
6128
6219
|
void _ensureUpdatePolling() {
|