antenna-openclaw-plugin 1.2.7 → 1.2.8

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
@@ -825,6 +825,34 @@ export default function register(api: any) {
825
825
  },
826
826
  });
827
827
 
828
+ // Tool: antenna_event_upload_image
829
+ // ═════════════════════════════════════════════════════════════════
830
+ api.registerTool({
831
+ name: "antenna_event_upload_image",
832
+ description: "Upload an image for an event OG preview. Returns a public URL.",
833
+ parameters: {
834
+ type: "object",
835
+ properties: {
836
+ image_base64: { type: "string", description: "Base64-encoded image data" },
837
+ content_type: { type: "string", description: "MIME type (default image/png)" },
838
+ event_code: { type: "string", description: "Event code" },
839
+ },
840
+ required: ["image_base64", "event_code"],
841
+ },
842
+ async execute(_id: string, params: any) {
843
+ const cfg = getConfig(api);
844
+ const supabase = getSupabase(cfg);
845
+ const content_type = params.content_type || "image/png";
846
+ const ext = content_type.split("/")[1] || "png";
847
+ const path = `${params.event_code}.${ext}`;
848
+ const buf = Buffer.from(params.image_base64, "base64");
849
+ const { error } = await supabase.storage.from("event-images").upload(path, buf, { contentType: content_type, upsert: true });
850
+ if (error) return ok({ error: error.message });
851
+ const { data } = supabase.storage.from("event-images").getPublicUrl(path);
852
+ return ok({ url: data.publicUrl });
853
+ },
854
+ });
855
+
828
856
  // Tool: antenna_check_matches
829
857
  // ═══════════════════════════════════════════════════════════════════
830
858
  api.registerTool({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "antenna-openclaw-plugin",
3
- "version": "1.2.7",
3
+ "version": "1.2.8",
4
4
  "description": "Antenna — agent-mediated nearby people discovery for OpenClaw",
5
5
  "openclaw": {
6
6
  "extensions": ["./index.ts"]
@@ -282,6 +282,8 @@ Create an event. Returns a shareable link (antenna.fyi/e/CODE).
282
282
  - `description`: optional event description
283
283
  - `og_image`: optional OG image URL for social sharing preview
284
284
 
285
+ **GPS flow for events:** If the user doesn't provide coordinates, generate a bind link (`antenna_bind`) and ask them to open it at the event location. Once GPS comes in, use those coordinates for `lat`/`lng`. Don't use profile location — the user may create an event at a different place.
286
+
285
287
  ### `antenna_event_end`
286
288
  End an event. Only the creator can end it.
287
289
  - `code`: event code
@@ -303,3 +305,9 @@ Check in at an event — marks you as present at the event location. Optionally
303
305
  - `code`: event code
304
306
  - `sender_id`, `channel`: from context
305
307
  - `lat`, `lng`: optional GPS coordinates
308
+
309
+ ### `antenna_event_upload_image`
310
+ Upload an image for an event OG preview. Returns a public URL.
311
+ - `image_base64`: base64-encoded image data
312
+ - `content_type`: MIME type (default image/png)
313
+ - `event_code`: event code