@realtimex/folio 0.1.6 → 0.1.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/README.md
CHANGED
|
@@ -20,16 +20,14 @@ If you deal with invoices, receipts, reports, or any unstructured documents, Fol
|
|
|
20
20
|
Folio is designed to be run locally on your machine while securely syncing data to your own designated cloud backend.
|
|
21
21
|
|
|
22
22
|
### Prerequisites
|
|
23
|
-
-
|
|
24
|
-
- A [Supabase](https://supabase.com) account (for your dedicated database)
|
|
23
|
+
- The [RealTimeX Desktop App](https://realtimex.ai) installed on your machine.
|
|
24
|
+
- A [Supabase](https://supabase.com) account (for your dedicated database).
|
|
25
25
|
|
|
26
26
|
### Installation
|
|
27
27
|
|
|
28
|
-
1. **
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
*(You can change the `--port` to any available port you prefer).*
|
|
28
|
+
1. **Install from Marketplace:**
|
|
29
|
+
Open the RealTimeX Desktop App, navigate to the **Marketplace**, and install **Folio**.
|
|
30
|
+
*(Folio runs natively inside the RealTimeX runtime, so no Node.js installation is required).*
|
|
33
31
|
2. **Configure your Database:**
|
|
34
32
|
Follow the Setup Wizard in your browser. You can use **Zero-Config Cloud Provisioning** to automatically set up a secure Supabase project, or manually provide an existing Supabase URL and Key.
|
|
35
33
|
3. **Connect your Integrations:**
|
|
@@ -299,7 +299,7 @@ export class IngestionService {
|
|
|
299
299
|
if (insertErr || !ingestion) throw new Error(`Failed to create ingestion record: ${insertErr?.message}`);
|
|
300
300
|
|
|
301
301
|
logger.info(`Processing ingestion ${ingestion.id}: ${filename}`);
|
|
302
|
-
Actuator.logEvent(ingestion.id, userId, "info", "Triage", { action: "Ingestion started", source, filename, fileSize }, supabase);
|
|
302
|
+
Actuator.logEvent(ingestion.id, userId, "info", "Triage", { action: "Ingestion started", source, filename, fileSize, is_high_intent: true }, supabase);
|
|
303
303
|
|
|
304
304
|
// 2. Document Triage
|
|
305
305
|
let isFastPath = false;
|
|
@@ -580,7 +580,7 @@ export class IngestionService {
|
|
|
580
580
|
.update({ status: "processing", error_message: null, policy_id: null, policy_name: null, extracted: {}, actions_taken: [], summary: null })
|
|
581
581
|
.eq("id", ingestionId);
|
|
582
582
|
|
|
583
|
-
Actuator.logEvent(ingestionId, userId, "info", "Triage", { action: "Re-run Initiated" }, supabase);
|
|
583
|
+
Actuator.logEvent(ingestionId, userId, "info", "Triage", { action: "Re-run Initiated", is_high_intent: true }, supabase);
|
|
584
584
|
|
|
585
585
|
const filename = ingestion.filename;
|
|
586
586
|
const filePath = ingestion.storage_path;
|
|
@@ -635,7 +635,7 @@ export class IngestionService {
|
|
|
635
635
|
isFastPath = true;
|
|
636
636
|
extractionContent = pdfData.text;
|
|
637
637
|
}
|
|
638
|
-
|
|
638
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
639
639
|
} catch (err) {
|
|
640
640
|
// ignore
|
|
641
641
|
}
|
|
@@ -214,7 +214,7 @@ export class IngestionService {
|
|
|
214
214
|
if (insertErr || !ingestion)
|
|
215
215
|
throw new Error(`Failed to create ingestion record: ${insertErr?.message}`);
|
|
216
216
|
logger.info(`Processing ingestion ${ingestion.id}: ${filename}`);
|
|
217
|
-
Actuator.logEvent(ingestion.id, userId, "info", "Triage", { action: "Ingestion started", source, filename, fileSize }, supabase);
|
|
217
|
+
Actuator.logEvent(ingestion.id, userId, "info", "Triage", { action: "Ingestion started", source, filename, fileSize, is_high_intent: true }, supabase);
|
|
218
218
|
// 2. Document Triage
|
|
219
219
|
let isFastPath = false;
|
|
220
220
|
let isVlmFastPath = false;
|
|
@@ -471,7 +471,7 @@ export class IngestionService {
|
|
|
471
471
|
.from("ingestions")
|
|
472
472
|
.update({ status: "processing", error_message: null, policy_id: null, policy_name: null, extracted: {}, actions_taken: [], summary: null })
|
|
473
473
|
.eq("id", ingestionId);
|
|
474
|
-
Actuator.logEvent(ingestionId, userId, "info", "Triage", { action: "Re-run Initiated" }, supabase);
|
|
474
|
+
Actuator.logEvent(ingestionId, userId, "info", "Triage", { action: "Re-run Initiated", is_high_intent: true }, supabase);
|
|
475
475
|
const filename = ingestion.filename;
|
|
476
476
|
const filePath = ingestion.storage_path;
|
|
477
477
|
if (!filePath)
|