felo-ai 0.2.52 → 0.2.54

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.
@@ -4,7 +4,7 @@
4
4
  "description": "Felo SuperAgent lets you chat with Felo SuperAgent via the Open API from Claude Code: create sessions, get SSE streamed replies, and continue conversations on the same LiveDoc. Supports thread/LiveDoc management, multi-language, and tools (image gen, reports, PPT, Twitter search). Requires a Felo API key.",
5
5
  "category": "conversation",
6
6
  "tags": ["felo", "superagent", "chat", "streaming", "livedoc", "api", "sse"],
7
- "version": "1.0.0",
7
+ "version": "1.0.2",
8
8
  "license": "MIT",
9
9
  "pricing": "free",
10
10
  "support_url": "https://github.com/Felo-Inc/felo-skills/issues",
@@ -486,7 +486,7 @@ async function main() {
486
486
 
487
487
  if (isJson) return;
488
488
  if (item.type === 'image') {
489
- console.log(liveDocUrl ? `[${item.title || 'Image'}](${liveDocUrl})` : item.image_url);
489
+ console.log(`[${item.title || 'Image'}](${item.image_url})`);
490
490
  } else if (item.type === 'discovery') {
491
491
  console.log(liveDocUrl ? `[${item.title}](${liveDocUrl})` : item.title);
492
492
  } else if (item.type === 'document') {
@@ -528,7 +528,14 @@ async function main() {
528
528
 
529
529
  if (streamError) throw new Error(streamError);
530
530
 
531
- const answer = chunks.join('').trim();
531
+ // Replace internal preview URLs in answer text with signed S3 URLs from tool results
532
+ let answer = chunks.join('').trim();
533
+ for (const r of toolResults) {
534
+ if (r.type === 'image' && r.file_id && r.image_url) {
535
+ const previewUrl = `https://api.felo.ai/search/files/${r.file_id}/preview`;
536
+ answer = answer.split(previewUrl).join(r.image_url);
537
+ }
538
+ }
532
539
 
533
540
  if (isJson) {
534
541
  const images = toolResults.filter((r) => r.type === 'image');
@@ -559,8 +566,15 @@ async function main() {
559
566
  )
560
567
  );
561
568
  } else {
562
- if (answer) console.log('');
563
569
  if (!answer && toolResults.length === 0) console.log('(No content in stream)');
570
+ const images = toolResults.filter((r) => r.type === 'image');
571
+ if (images.length > 0 || liveDocUrl) {
572
+ console.log('\n---');
573
+ for (const r of images) {
574
+ console.log(`[${r.title || 'Image'}](${r.image_url})`);
575
+ }
576
+ if (liveDocUrl) console.log(`LiveDoc: ${liveDocUrl}`);
577
+ }
564
578
  process.stderr.write(`\n[state] thread_short_id=${thread_short_id || ''} live_doc_short_id=${live_doc_short_id || ''} live_doc_url=${liveDocUrl || ''}\n`);
565
579
  }
566
580
  }
@@ -4,7 +4,7 @@
4
4
  "description": "Felo Twitter Writer lets you analyze any Twitter/X account's writing style and extract a Style DNA document, then compose high-quality tweets, threads, or X long-form posts that match that style. Supports style library, multi-language, and continuous follow-up. Requires a Felo API key.",
5
5
  "category": "writing",
6
6
  "tags": ["felo", "twitter", "tweet", "writing", "style", "thread", "ghostwrite"],
7
- "version": "1.0.0",
7
+ "version": "1.0.2",
8
8
  "license": "MIT",
9
9
  "pricing": "free",
10
10
  "support_url": "https://github.com/Felo-Inc/felo-skills/issues",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "felo-ai",
3
- "version": "0.2.52",
3
+ "version": "0.2.54",
4
4
  "description": "Felo AI CLI - real-time search, PPT generation, SuperAgent conversation, LiveDoc management, web fetch, YouTube subtitles, LiveDoc knowledge base, and X (Twitter) search from the terminal",
5
5
  "type": "module",
6
6
  "main": "src/cli.js",