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.
|
|
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(
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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",
|