neoagent 2.1.18-beta.43 → 2.1.18-beta.45

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.
@@ -0,0 +1,11 @@
1
+ ---
2
+ title: Waveshare ESP32-S3 1.8inch AMOLED Setup
3
+ sidebar_label: Waveshare 1.8inch AMOLED
4
+ ---
5
+
6
+ # Waveshare ESP32-S3 1.8inch AMOLED Setup
7
+
8
+ Use this only if you want to build or flash this board:
9
+
10
+ Waveshare ESP32-S3 1.8inch AMOLED Touch Display Dev Board
11
+
package/docs/index.md CHANGED
@@ -46,4 +46,5 @@ Open the server URL, sign in, configure providers and messaging, then create a s
46
46
  | Skills and MCP | [Skills](skills.md) |
47
47
  | Secrets and runtime settings | [Configuration](configuration.md) |
48
48
  | Logs, updates, and repair | [Operations](operations.md) |
49
+ | Want to flash a Waveshare ESP32-S3 1.8inch AMOLED | [Waveshare ESP32-S3 1.8inch AMOLED Setup](hardware.md) |
49
50
  | OpenClaw comparison | [Why NeoAgent](why-neoagent.md) |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neoagent",
3
- "version": "2.1.18-beta.43",
3
+ "version": "2.1.18-beta.45",
4
4
  "description": "Proactive personal AI agent with no limits",
5
5
  "license": "MIT",
6
6
  "main": "server/index.js",
@@ -521,6 +521,47 @@ db.exec(`
521
521
  UNIQUE(user_id, mac_address)
522
522
  );
523
523
 
524
+ CREATE TABLE IF NOT EXISTS wearable_pairing_codes (
525
+ id TEXT PRIMARY KEY,
526
+ user_id INTEGER NOT NULL,
527
+ agent_id TEXT,
528
+ code_hash TEXT NOT NULL UNIQUE,
529
+ status TEXT DEFAULT 'active',
530
+ metadata_json TEXT DEFAULT '{}',
531
+ expires_at TEXT NOT NULL,
532
+ claimed_at TEXT,
533
+ created_at TEXT DEFAULT (datetime('now')),
534
+ FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
535
+ FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE SET NULL
536
+ );
537
+
538
+ CREATE TABLE IF NOT EXISTS wearable_device_tokens (
539
+ id TEXT PRIMARY KEY,
540
+ user_id INTEGER NOT NULL,
541
+ agent_id TEXT,
542
+ token_hash TEXT NOT NULL UNIQUE,
543
+ device_id TEXT,
544
+ device_name TEXT,
545
+ mac_address TEXT,
546
+ protocol TEXT,
547
+ firmware_version TEXT,
548
+ status TEXT DEFAULT 'active',
549
+ last_seen_at TEXT,
550
+ last_connected_at TEXT,
551
+ revoked_at TEXT,
552
+ metadata_json TEXT DEFAULT '{}',
553
+ created_at TEXT DEFAULT (datetime('now')),
554
+ FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
555
+ FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE SET NULL
556
+ );
557
+
558
+ CREATE TABLE IF NOT EXISTS wearable_device_message_cursors (
559
+ token_id TEXT PRIMARY KEY,
560
+ last_message_id INTEGER DEFAULT 0,
561
+ updated_at TEXT DEFAULT (datetime('now')),
562
+ FOREIGN KEY (token_id) REFERENCES wearable_device_tokens(id) ON DELETE CASCADE
563
+ );
564
+
524
565
  CREATE TABLE IF NOT EXISTS recording_sources (
525
566
  id TEXT PRIMARY KEY,
526
567
  session_id TEXT NOT NULL,
@@ -573,6 +614,11 @@ db.exec(`
573
614
  CREATE INDEX IF NOT EXISTS idx_recording_sources_session ON recording_sources(session_id, source_key);
574
615
  CREATE INDEX IF NOT EXISTS idx_recording_chunks_source ON recording_chunks(source_id, sequence_index);
575
616
  CREATE INDEX IF NOT EXISTS idx_recording_segments_session ON recording_transcript_segments(session_id, start_ms, created_at);
617
+ CREATE INDEX IF NOT EXISTS idx_wearable_pairing_codes_user ON wearable_pairing_codes(user_id, status, expires_at);
618
+ CREATE INDEX IF NOT EXISTS idx_wearable_pairing_codes_agent ON wearable_pairing_codes(agent_id, status, expires_at);
619
+ CREATE INDEX IF NOT EXISTS idx_wearable_device_tokens_user ON wearable_device_tokens(user_id, status, created_at DESC);
620
+ CREATE INDEX IF NOT EXISTS idx_wearable_device_tokens_mac ON wearable_device_tokens(user_id, mac_address, status);
621
+ CREATE INDEX IF NOT EXISTS idx_wearable_device_cursors_updated ON wearable_device_message_cursors(updated_at);
576
622
 
577
623
  CREATE TABLE IF NOT EXISTS artifacts (
578
624
  id TEXT PRIMARY KEY,
@@ -24,6 +24,7 @@ const routeRegistry = [
24
24
  { basePath: '/api/android', modulePath: '../routes/android' },
25
25
  { basePath: '/api/recordings', modulePath: '../routes/recordings' },
26
26
  { basePath: '/api/wearables', modulePath: '../routes/wearables' },
27
+ { basePath: '/api/wearable-device', modulePath: '../routes/wearable_device' },
27
28
  { basePath: '/api/mobile/health', modulePath: '../routes/mobile-health' }
28
29
  ];
29
30
 
@@ -37,6 +37,6 @@ _flutter.buildConfig = {"engineRevision":"425cfb54d01a9472b3e81d9e76fd63a4a44cfb
37
37
 
38
38
  _flutter.loader.load({
39
39
  serviceWorkerSettings: {
40
- serviceWorkerVersion: "1507155769" /* Flutter's service worker is deprecated and will be removed in a future Flutter release. */
40
+ serviceWorkerVersion: "58095816" /* Flutter's service worker is deprecated and will be removed in a future Flutter release. */
41
41
  }
42
42
  });