antenna-openclaw-plugin 1.2.0 → 1.2.1

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/index.ts CHANGED
@@ -288,7 +288,7 @@ export default function register(api: any) {
288
288
  return { ref, emoji: p.emoji || "👤", name: p.display_name || "匿名", line1: p.line1, line2: p.line2, line3: p.line3 };
289
289
  });
290
290
  (api as any)._antennaRefMap = gRefMap;
291
- try { await supabase.rpc("save_scan_refs", { p_owner: deviceId, p_refs: JSON.stringify(gRefMap) }); } catch {}
291
+ try { await supabase.rpc("save_scan_refs", { p_owner: deviceId, p_refs: gRefMap }); } catch {}
292
292
  for (const p of globalOthers) {
293
293
  try { await supabase.rpc("log_recommendation", { p_device_id: deviceId, p_recommended_id: p.device_id }); } catch {}
294
294
  }
@@ -318,7 +318,7 @@ export default function register(api: any) {
318
318
  // Store ref map for accept — memory + DB
319
319
  (api as any)._antennaRefMap = _refMap;
320
320
  try {
321
- await supabase.rpc("save_scan_refs", { p_owner: deviceId, p_refs: JSON.stringify(_refMap) });
321
+ await supabase.rpc("save_scan_refs", { p_owner: deviceId, p_refs: _refMap });
322
322
  } catch { /* best effort */ }
323
323
 
324
324
  return ok({
@@ -614,7 +614,7 @@ export default function register(api: any) {
614
614
  // Persist refs + log recommendation
615
615
  (api as any)._antennaRefMap = { ...(api as any)._antennaRefMap, ..._refMap };
616
616
  try {
617
- await supabase.rpc("save_scan_refs", { p_owner: deviceId, p_refs: JSON.stringify(_refMap) });
617
+ await supabase.rpc("save_scan_refs", { p_owner: deviceId, p_refs: _refMap });
618
618
  } catch { /* best effort */ }
619
619
  for (const p of results) {
620
620
  await supabase.rpc("log_recommendation", { p_device_id: deviceId, p_recommended_id: p.device_id });
@@ -720,7 +720,7 @@ export default function register(api: any) {
720
720
  });
721
721
 
722
722
  (api as any)._antennaRefMap = { ...(api as any)._antennaRefMap, ..._refMap };
723
- try { await supabase.rpc("save_scan_refs", { p_owner: deviceId, p_refs: JSON.stringify(_refMap) }); } catch {}
723
+ try { await supabase.rpc("save_scan_refs", { p_owner: deviceId, p_refs: _refMap }); } catch {}
724
724
 
725
725
  return ok({ count: profiles.length, profiles, event: true });
726
726
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "antenna-openclaw-plugin",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Antenna — agent-mediated nearby people discovery for OpenClaw",
5
5
  "openclaw": {
6
6
  "extensions": ["./index.ts"]
@@ -83,7 +83,7 @@ After receiving the nearby profiles, **you decide** who to recommend:
83
83
  View or update the user's name card.
84
84
  - `action`: "get" or "set"
85
85
  - `sender_id`, `channel`: from context
86
- - For "set": `display_name`, `emoji`, `line1`, `line2`, `line3`, `visible`
86
+ - For "set": `display_name`, `emoji`, `line1`, `line2`, `line3`, `visible`, `matching_context`
87
87
 
88
88
  The name card has:
89
89
  - **emoji**: a single emoji that represents them
@@ -91,6 +91,12 @@ The name card has:
91
91
  - **line1**: who they are / what they do
92
92
  - **line2**: what they're into
93
93
  - **line3**: what they're looking for right now
94
+ - **matching_context** (optional, not shown to others): A richer description generated by the agent based on what it knows about the user — career background, tech stack, interests, projects, personality traits. ~200 words. Only used for embedding-based matching, never displayed to other users.
95
+
96
+ **After saving the profile, generate `matching_context` automatically** based on your knowledge of the user (memory, conversations, context). Don't ask the user to write it — you write it. Example:
97
+ > "Product designer at a tech company in Beijing, focusing on AI search experience. Interested in music (Sakamoto), swimming, cooking, language learning. Recently exploring AI agent ecosystems and social discovery. Looking to connect with AI builders, indie hackers, and creative technologists."
98
+ - **line2**: what they're into
99
+ - **line3**: what they're looking for right now
94
100
 
95
101
  ### `antenna_accept`
96
102
  Accept a match after the user sees results. Can optionally include contact info to share.