antenna-fyi 1.2.36 → 1.2.38

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/lib/cli.js CHANGED
@@ -180,8 +180,9 @@ export async function handleEvent(f) {
180
180
  }
181
181
 
182
182
  if (f.create || (!f.join && !f.scan && !f.end && !f.update && !f.approve && !f.reject && !f['add-host'] && f.name)) {
183
- if (!f.name) return console.error("Usage: antenna event --create --name 'AI Meetup' [--desc 'description'] [--og-image 'url'] [--requires-approval] [--screening-questions 'Q1|Q2']");
184
- const result = await createEvent({ name: f.name, device_id: f.id || null, lat: f.lat ? +f.lat : undefined, lng: f.lng ? +f.lng : undefined, description: f.desc || undefined, og_image: f['og-image'] || undefined, requires_approval: f['requires-approval'] === true || f['requires-approval'] === 'true' || undefined, screening_questions: f['screening-questions'] ? f['screening-questions'].split('|') : undefined });
183
+ if (!f.name) return console.error("Usage: antenna event --create --name 'AI Meetup' --starts-at '2026-04-19T14:00' --ends-at '2026-04-19T18:00' [--lat 34.05 --lng -118.25] [--desc 'description'] [--og-image 'url'] [--requires-approval] [--screening-questions 'Q1|Q2']");
184
+ if (!f['starts-at'] || !f['ends-at']) return console.error("āŒ --starts-at and --ends-at are required. Example: --starts-at '2026-04-19T14:00' --ends-at '2026-04-19T18:00'");
185
+ const result = await createEvent({ name: f.name, device_id: f.id || null, lat: f.lat ? +f.lat : undefined, lng: f.lng ? +f.lng : undefined, starts_at: f['starts-at'], ends_at: f['ends-at'], description: f.desc || undefined, og_image: f['og-image'] || undefined, requires_approval: f['requires-approval'] === true || f['requires-approval'] === 'true' || undefined, screening_questions: f['screening-questions'] ? f['screening-questions'].split('|') : undefined });
185
186
  console.log(`\nšŸŽ‰ Event created!\n`);
186
187
  console.log(` Name: ${result.name}`);
187
188
  console.log(` Code: ${result.code}`);
@@ -272,7 +273,7 @@ export async function handleEvent(f) {
272
273
  }
273
274
 
274
275
  console.log(`Usage:
275
- antenna event --create --name 'AI Meetup' [--id telegram:123] [--desc 'description'] [--og-image 'url'] [--requires-approval] [--screening-questions 'Q1|Q2']
276
+ antenna event --create --name 'AI Meetup' --starts-at '...' --ends-at '...' [--id telegram:123] [--lat 34.05 --lng -118.25] [--desc 'description'] [--og-image 'url'] [--requires-approval] [--screening-questions 'Q1|Q2']
276
277
  antenna event --join --code abc123 --id telegram:123
277
278
  antenna event --scan --code abc123 [--id telegram:123]
278
279
  antenna event --checkin --code abc123 --id telegram:123 [--lat 34.05 --lng -118.24]
@@ -542,7 +543,9 @@ export async function handleWatch(f) {
542
543
  // Push to ALL available frameworks, not just one
543
544
  const pushMethods = new Set();
544
545
  if (f.push) {
545
- f.push.split(",").forEach(m => pushMethods.add(m.trim()));
546
+ // Support both --push hermes,openclaw and --push hermes --push openclaw
547
+ const raw = Array.isArray(f.push) ? f.push : [f.push];
548
+ raw.forEach(v => v.split(",").forEach(m => pushMethods.add(m.trim())));
546
549
  } else {
547
550
  try {
548
551
  execSync("which openclaw", { stdio: "pipe" });
@@ -835,7 +838,7 @@ Usage:
835
838
  antenna pass --id telegram:123 --target telegram:789 (or --ref 1)
836
839
  antenna matches --id telegram:123
837
840
  antenna discover --id telegram:123
838
- antenna event --create --name 'AI Meetup' [--desc '...'] [--og-image 'url'] [--requires-approval] [--screening-questions 'Q1|Q2'] | --join --code abc123 | --scan --code abc123 | --end --code abc123 --id telegram:123 | --upload-image --code abc123 --file /path/to/image.png | --update --code abc123 --name 'New Name' | --approve --code abc123 --ref 1 | --reject --code abc123 --ref 1 | --add-host --code abc123 --ref 1
841
+ antenna event --create --name 'AI Meetup' --starts-at '...' --ends-at '...' [--lat 34.05 --lng -118.25] [--desc '...'] [--og-image 'url'] [--requires-approval] [--screening-questions 'Q1|Q2'] | --join --code abc123 | --scan --code abc123 | --end --code abc123 --id telegram:123 | --upload-image --code abc123 --file /path/to/image.png | --update --code abc123 --name 'New Name' | --approve --code abc123 --ref 1 | --reject --code abc123 --ref 1 | --add-host --code abc123 --ref 1
839
842
  antenna watch --id telegram:123 [--push hermes|openclaw|terminal] Watch for new matches in real-time (Ctrl+C to stop)
840
843
  antenna bind --id telegram:123
841
844
  antenna serve Start MCP server (stdio transport)
package/lib/core.js CHANGED
@@ -472,8 +472,8 @@ export async function createEvent({ name, lat, lng, device_id, starts_at, ends_a
472
472
  p_lat: lat || null,
473
473
  p_lng: lng || null,
474
474
  p_created_by: device_id || null,
475
- p_starts_at: starts_at || new Date().toISOString(),
476
- p_ends_at: ends_at || new Date(Date.now() + 12 * 60 * 60 * 1000).toISOString(),
475
+ p_starts_at: starts_at || null,
476
+ p_ends_at: ends_at || null,
477
477
  p_description: description || null,
478
478
  p_og_image: og_image || null,
479
479
  p_requires_approval: requires_approval || false,
@@ -192,14 +192,14 @@ EVENT_CREATE_SCHEMA = {
192
192
  "channel": {"type": "string", "description": "Platform name"},
193
193
  "lat": {"type": "number", "description": "Event latitude"},
194
194
  "lng": {"type": "number", "description": "Event longitude"},
195
- "starts_at": {"type": "string", "description": "Start time ISO"},
196
- "ends_at": {"type": "string", "description": "End time ISO"},
195
+ "starts_at": {"type": "string", "description": "Start time ISO (required)"},
196
+ "ends_at": {"type": "string", "description": "End time ISO (required)"},
197
197
  "description": {"type": "string", "description": "Event description"},
198
198
  "og_image": {"type": "string", "description": "OG image URL for social sharing"},
199
199
  "requires_approval": {"type": "boolean", "description": "Require host approval to join (default false)"},
200
200
  "screening_questions": {"type": "array", "items": {"type": "string"}, "description": "Screening questions for applicants"},
201
201
  },
202
- "required": ["name", "sender_id", "channel"],
202
+ "required": ["name", "sender_id", "channel", "starts_at", "ends_at"],
203
203
  },
204
204
  }
205
205
 
package/lib/mcp.js CHANGED
@@ -281,8 +281,8 @@ export async function startMcpServer() {
281
281
  channel: z.string().describe("Channel name"),
282
282
  lat: z.number().optional().describe("Event latitude"),
283
283
  lng: z.number().optional().describe("Event longitude"),
284
- starts_at: z.string().optional().describe("Start time ISO string"),
285
- ends_at: z.string().optional().describe("End time ISO string"),
284
+ starts_at: z.string().describe("Start time ISO string (required)"),
285
+ ends_at: z.string().describe("End time ISO string (required)"),
286
286
  description: z.string().optional().describe("Event description"),
287
287
  og_image: z.string().optional().describe("OG image URL for social sharing"),
288
288
  requires_approval: z.boolean().optional().describe("Require host approval to join (default false)"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "antenna-fyi",
3
- "version": "1.2.36",
3
+ "version": "1.2.38",
4
4
  "description": "Antenna — nearby people discovery. CLI + MCP server + OpenClaw skill & plugin, all in one package.",
5
5
  "type": "module",
6
6
  "bin": {