neoagent 3.1.1-beta.9 → 3.2.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/.env.example +2 -2
- package/README.md +5 -1
- package/docs/architecture.md +1 -1
- package/docs/benchmarking.md +68 -87
- package/docs/capabilities.md +1 -1
- package/docs/clients-and-devices.md +3 -4
- package/docs/configuration.md +1 -1
- package/docs/devices.md +1 -2
- package/docs/health.md +24 -0
- package/docs/index.md +2 -2
- package/docs/integrations-architecture.md +6 -0
- package/docs/integrations.md +15 -1
- package/docs/models.md +1 -1
- package/docs/persistence.md +1 -1
- package/docs/why-neoagent.md +1 -1
- package/flutter_app/README.md +0 -5
- package/flutter_app/android/app/src/main/AndroidManifest.xml +0 -14
- package/flutter_app/android/app/src/main/kotlin/com/neoagent/flutter_app/MainActivity.kt +0 -98
- package/flutter_app/lib/main.dart +0 -6
- package/flutter_app/lib/main_app_shell.dart +0 -2
- package/flutter_app/lib/main_controller.dart +2 -867
- package/flutter_app/lib/main_devices.dart +0 -73
- package/flutter_app/lib/main_integrations.dart +339 -187
- package/flutter_app/lib/main_launcher.dart +2 -212
- package/flutter_app/lib/main_models.dart +0 -259
- package/flutter_app/lib/main_navigation.dart +2 -14
- package/flutter_app/lib/main_operations.dart +322 -364
- package/flutter_app/lib/main_runtime.dart +9 -208
- package/flutter_app/lib/main_settings.dart +17 -199
- package/flutter_app/lib/main_shared.dart +20 -591
- package/flutter_app/lib/main_timeline.dart +26 -122
- package/flutter_app/lib/main_voice_assistant.dart +0 -5
- package/flutter_app/lib/src/backend_client.dart +0 -102
- package/flutter_app/lib/src/desktop_companion_io.dart +1 -65
- package/flutter_app/lib/src/desktop_companion_stub.dart +0 -12
- package/flutter_app/linux/flutter/generated_plugin_registrant.cc +0 -4
- package/flutter_app/linux/flutter/generated_plugins.cmake +0 -1
- package/flutter_app/macos/Flutter/GeneratedPluginRegistrant.swift +0 -2
- package/flutter_app/macos/Podfile.lock +56 -5
- package/flutter_app/pubspec.lock +0 -7
- package/flutter_app/pubspec.yaml +0 -2
- package/flutter_app/web/index.html +174 -0
- package/flutter_app/windows/flutter/generated_plugin_registrant.cc +0 -3
- package/flutter_app/windows/flutter/generated_plugins.cmake +0 -1
- package/landing/index.html +0 -2
- package/lib/manager.js +1 -1
- package/lib/schema_migrations.js +75 -0
- package/package.json +1 -4
- package/server/db/database.js +1 -133
- package/server/http/middleware.js +2 -16
- package/server/http/routes.js +0 -2
- package/server/public/.last_build_id +1 -1
- package/server/public/assets/NOTICES +0 -25
- package/server/public/assets/fonts/MaterialIcons-Regular.otf +0 -0
- package/server/public/flutter_bootstrap.js +1 -1
- package/server/public/index.html +174 -0
- package/server/public/main.dart.js +88081 -90036
- package/server/routes/auth.js +11 -2
- package/server/routes/settings.js +0 -5
- package/server/routes/voice_assistant.js +1 -128
- package/server/services/account/erasure.js +0 -3
- package/server/services/ai/deliverables/artifact_helpers.js +1 -1
- package/server/services/ai/loop/conversation_loop.js +6 -2
- package/server/services/ai/loop/tool_dispatch.js +0 -3
- package/server/services/ai/messagingFallback.js +1 -1
- package/server/services/ai/settings.js +0 -6
- package/server/services/ai/toolEvidence.js +1 -4
- package/server/services/ai/tools.js +0 -234
- package/server/services/desktop/auth.js +0 -3
- package/server/services/desktop/registry.js +2 -50
- package/server/services/integrations/neoarchive/provider.js +616 -0
- package/server/services/integrations/neorecall/client.js +140 -0
- package/server/services/integrations/neorecall/constants.js +87 -0
- package/server/services/integrations/neorecall/provider.js +163 -0
- package/server/services/integrations/registry.js +4 -2
- package/server/services/manager.js +0 -22
- package/server/services/memory/manager.js +44 -19
- package/server/services/memory/retrieval_reasoning.js +36 -14
- package/server/services/messaging/whatsapp.js +18 -0
- package/server/services/security/tool_categories.js +0 -5
- package/server/services/social_video/service.js +2 -20
- package/server/services/tasks/adapters/index.js +1 -1
- package/server/services/tasks/integration_runtime.js +3 -67
- package/server/services/tasks/runtime.js +1 -6
- package/server/services/tasks/task_repository.js +6 -13
- package/server/services/timeline/service.js +0 -224
- package/server/services/voice/message.js +0 -24
- package/server/services/voice/providers.js +42 -1
- package/server/services/voice/runtimeManager.js +9 -5
- package/server/services/voice/turnRunner.js +0 -22
- package/server/services/wearable/service.js +0 -5
- package/docs/recordings-and-health.md +0 -41
- package/flutter_app/android/app/src/main/kotlin/com/neoagent/flutter_app/recording/RecordingBootReceiver.kt +0 -21
- package/flutter_app/android/app/src/main/kotlin/com/neoagent/flutter_app/recording/RecordingForegroundService.kt +0 -586
- package/flutter_app/android/app/src/main/kotlin/com/neoagent/flutter_app/recording/RecordingStateStore.kt +0 -78
- package/flutter_app/android/app/src/main/kotlin/com/neoagent/flutter_app/recording/RecordingUploadClient.kt +0 -104
- package/flutter_app/lib/main_recordings.dart +0 -920
- package/flutter_app/lib/src/desktop_ocr_bridge.dart +0 -2
- package/flutter_app/lib/src/desktop_ocr_bridge_io.dart +0 -125
- package/flutter_app/lib/src/desktop_ocr_bridge_stub.dart +0 -30
- package/flutter_app/lib/src/desktop_passive_history.dart +0 -332
- package/flutter_app/lib/src/recording_bridge.dart +0 -232
- package/flutter_app/lib/src/recording_bridge_io.dart +0 -1027
- package/flutter_app/lib/src/recording_bridge_stub.dart +0 -120
- package/flutter_app/lib/src/recording_bridge_web.dart +0 -702
- package/flutter_app/lib/src/recording_chunk_queue.dart +0 -149
- package/flutter_app/lib/src/recording_chunk_queue_io.dart +0 -182
- package/flutter_app/lib/src/recording_payloads.dart +0 -95
- package/flutter_app/third_party/desktop_audio_capture/LICENSE +0 -21
- package/flutter_app/third_party/desktop_audio_capture/README.md +0 -262
- package/flutter_app/third_party/desktop_audio_capture/lib/audio_capture.dart +0 -65
- package/flutter_app/third_party/desktop_audio_capture/lib/config/mic_audio_config.dart +0 -153
- package/flutter_app/third_party/desktop_audio_capture/lib/config/system_adudio_config.dart +0 -110
- package/flutter_app/third_party/desktop_audio_capture/lib/mic/mic_audio_capture.dart +0 -461
- package/flutter_app/third_party/desktop_audio_capture/lib/model/audio_status.dart +0 -91
- package/flutter_app/third_party/desktop_audio_capture/lib/model/decibel_data.dart +0 -106
- package/flutter_app/third_party/desktop_audio_capture/lib/model/input_device_type.dart +0 -219
- package/flutter_app/third_party/desktop_audio_capture/lib/system/system_audio_capture.dart +0 -336
- package/flutter_app/third_party/desktop_audio_capture/linux/CMakeLists.txt +0 -101
- package/flutter_app/third_party/desktop_audio_capture/linux/audio_capture_plugin.cc +0 -692
- package/flutter_app/third_party/desktop_audio_capture/linux/include/audio_capture/audio_capture_plugin.h +0 -35
- package/flutter_app/third_party/desktop_audio_capture/linux/include/audio_capture/mic_capture_plugin.h +0 -36
- package/flutter_app/third_party/desktop_audio_capture/linux/include/desktop_audio_capture/audio_capture_plugin.h +0 -32
- package/flutter_app/third_party/desktop_audio_capture/linux/include/desktop_audio_capture/mic_capture_plugin.h +0 -32
- package/flutter_app/third_party/desktop_audio_capture/linux/mic_capture_plugin.cc +0 -878
- package/flutter_app/third_party/desktop_audio_capture/macos/Classes/AudioCapturePlugin.swift +0 -27
- package/flutter_app/third_party/desktop_audio_capture/macos/Classes/MicCapturePlugin.swift +0 -1172
- package/flutter_app/third_party/desktop_audio_capture/macos/Classes/SystemCapturePlugin.swift +0 -655
- package/flutter_app/third_party/desktop_audio_capture/macos/Resources/PrivacyInfo.xcprivacy +0 -12
- package/flutter_app/third_party/desktop_audio_capture/macos/desktop_audio_capture.podspec +0 -30
- package/flutter_app/third_party/desktop_audio_capture/pubspec.yaml +0 -87
- package/flutter_app/third_party/desktop_audio_capture/windows/CMakeLists.txt +0 -105
- package/flutter_app/third_party/desktop_audio_capture/windows/audio_capture_plugin.cpp +0 -80
- package/flutter_app/third_party/desktop_audio_capture/windows/audio_capture_plugin.h +0 -31
- package/flutter_app/third_party/desktop_audio_capture/windows/audio_capture_plugin_c_api.cpp +0 -12
- package/flutter_app/third_party/desktop_audio_capture/windows/include/audio_capture/audio_capture_plugin_c_api.h +0 -23
- package/flutter_app/third_party/desktop_audio_capture/windows/include/desktop_audio_capture/audio_capture_plugin.h +0 -25
- package/flutter_app/third_party/desktop_audio_capture/windows/mic_capture_plugin.cpp +0 -1117
- package/flutter_app/third_party/desktop_audio_capture/windows/mic_capture_plugin.h +0 -115
- package/flutter_app/third_party/desktop_audio_capture/windows/system_audio_capture_plugin.cpp +0 -777
- package/flutter_app/third_party/desktop_audio_capture/windows/system_audio_capture_plugin.h +0 -87
- package/server/routes/recordings.js +0 -335
- package/server/routes/screenHistory.js +0 -190
- package/server/services/ai/recordingInsights.js +0 -105
- package/server/services/integrations/neomail/provider.js +0 -993
- package/server/services/recordings/deepgram.js +0 -58
- package/server/services/recordings/manager.js +0 -1273
- package/server/services/tasks/adapters/neomail_email_received.js +0 -46
- package/server/services/voice/screenshotContext.js +0 -73
- package/server/services/voice/turnCoordinator.js +0 -51
|
@@ -101,9 +101,8 @@ class DesktopCompanionRegistry {
|
|
|
101
101
|
`INSERT INTO desktop_companion_devices (
|
|
102
102
|
id, user_id, device_id, activation_id, label, hostname, platform, platform_version, app_version,
|
|
103
103
|
companion_enabled, paused, status, display_count, active_display_id, permissions_json, capabilities_json,
|
|
104
|
-
metadata_json, session_id, last_connected_at, last_seen_at,
|
|
105
|
-
|
|
106
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'online', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, ?, ?)
|
|
104
|
+
metadata_json, session_id, last_connected_at, last_seen_at, revoked_at, created_at, updated_at
|
|
105
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 'online', ?, ?, ?, ?, ?, ?, ?, ?, NULL, ?, ?)
|
|
107
106
|
ON CONFLICT(user_id, device_id) DO UPDATE SET
|
|
108
107
|
activation_id = excluded.activation_id,
|
|
109
108
|
revoked_at = NULL,
|
|
@@ -123,9 +122,6 @@ class DesktopCompanionRegistry {
|
|
|
123
122
|
session_id = excluded.session_id,
|
|
124
123
|
last_connected_at = excluded.last_connected_at,
|
|
125
124
|
last_seen_at = excluded.last_seen_at,
|
|
126
|
-
passive_history_enabled = excluded.passive_history_enabled,
|
|
127
|
-
passive_history_last_uploaded_at = excluded.passive_history_last_uploaded_at,
|
|
128
|
-
passive_history_last_error = excluded.passive_history_last_error,
|
|
129
125
|
updated_at = excluded.updated_at`
|
|
130
126
|
).run(
|
|
131
127
|
rowId,
|
|
@@ -147,9 +143,6 @@ class DesktopCompanionRegistry {
|
|
|
147
143
|
sessionId,
|
|
148
144
|
now,
|
|
149
145
|
now,
|
|
150
|
-
hello.passiveHistoryEnabled ? 1 : 0,
|
|
151
|
-
hello.passiveHistoryLastUploadedAt || null,
|
|
152
|
-
hello.passiveHistoryLastError || null,
|
|
153
146
|
existing?.created_at || now,
|
|
154
147
|
now,
|
|
155
148
|
);
|
|
@@ -197,9 +190,6 @@ class DesktopCompanionRegistry {
|
|
|
197
190
|
sessionId: row.session_id || null,
|
|
198
191
|
lastConnectedAt: row.last_connected_at || null,
|
|
199
192
|
lastSeenAt: row.last_seen_at || null,
|
|
200
|
-
passiveHistoryEnabled: row.passive_history_enabled === 1,
|
|
201
|
-
passiveHistoryLastUploadedAt: row.passive_history_last_uploaded_at || null,
|
|
202
|
-
passiveHistoryLastError: row.passive_history_last_error || null,
|
|
203
193
|
revokedAt: row.revoked_at || null,
|
|
204
194
|
createdAt: row.created_at,
|
|
205
195
|
updatedAt: row.updated_at || row.created_at,
|
|
@@ -288,9 +278,6 @@ class DesktopCompanionRegistry {
|
|
|
288
278
|
permissions_json = ?,
|
|
289
279
|
capabilities_json = ?,
|
|
290
280
|
metadata_json = ?,
|
|
291
|
-
passive_history_enabled = ?,
|
|
292
|
-
passive_history_last_uploaded_at = ?,
|
|
293
|
-
passive_history_last_error = ?,
|
|
294
281
|
last_seen_at = datetime('now'),
|
|
295
282
|
updated_at = datetime('now')
|
|
296
283
|
WHERE user_id = ? AND device_id = ?`
|
|
@@ -303,13 +290,6 @@ class DesktopCompanionRegistry {
|
|
|
303
290
|
safeJson(patch.permissions || existing.permissions),
|
|
304
291
|
safeJson(patch.capabilities || existing.capabilities),
|
|
305
292
|
safeJson(metadata),
|
|
306
|
-
patch.passiveHistoryEnabled == null
|
|
307
|
-
? (existing.passiveHistoryEnabled ? 1 : 0)
|
|
308
|
-
: (patch.passiveHistoryEnabled === true ? 1 : 0),
|
|
309
|
-
patch.passiveHistoryLastUploadedAt || existing.passiveHistoryLastUploadedAt || null,
|
|
310
|
-
patch.passiveHistoryLastError == null
|
|
311
|
-
? (existing.passiveHistoryLastError || null)
|
|
312
|
-
: (patch.passiveHistoryLastError || null),
|
|
313
293
|
userId,
|
|
314
294
|
deviceId,
|
|
315
295
|
);
|
|
@@ -536,34 +516,6 @@ class DesktopCompanionRegistry {
|
|
|
536
516
|
};
|
|
537
517
|
}
|
|
538
518
|
|
|
539
|
-
updatePassiveHistoryState(userId, deviceId, patch = {}) {
|
|
540
|
-
const normalizedDeviceId = String(deviceId || '').trim();
|
|
541
|
-
if (!normalizedDeviceId) {
|
|
542
|
-
throw new DesktopCompanionUnavailableError();
|
|
543
|
-
}
|
|
544
|
-
const existing = this.db.prepare(
|
|
545
|
-
`SELECT device_id FROM desktop_companion_devices WHERE user_id = ? AND device_id = ?`
|
|
546
|
-
).get(userId, normalizedDeviceId);
|
|
547
|
-
if (!existing) {
|
|
548
|
-
throw new DesktopCompanionUnavailableError();
|
|
549
|
-
}
|
|
550
|
-
this.db.prepare(
|
|
551
|
-
`UPDATE desktop_companion_devices
|
|
552
|
-
SET passive_history_enabled = ?,
|
|
553
|
-
passive_history_last_uploaded_at = COALESCE(?, passive_history_last_uploaded_at),
|
|
554
|
-
passive_history_last_error = ?,
|
|
555
|
-
updated_at = datetime('now')
|
|
556
|
-
WHERE user_id = ? AND device_id = ?`
|
|
557
|
-
).run(
|
|
558
|
-
patch.enabled === true ? 1 : 0,
|
|
559
|
-
patch.lastUploadedAt || null,
|
|
560
|
-
patch.lastError || null,
|
|
561
|
-
userId,
|
|
562
|
-
normalizedDeviceId,
|
|
563
|
-
);
|
|
564
|
-
return this.getDeviceRecordByDeviceId(userId, normalizedDeviceId);
|
|
565
|
-
}
|
|
566
|
-
|
|
567
519
|
closeAll() {
|
|
568
520
|
for (const userMap of this.connectionsByUser.values()) {
|
|
569
521
|
for (const connection of userMap.values()) {
|