@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
- - Node.js (v20+)
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. **Launch the Setup Wizard:**
29
- ```bash
30
- npx @realtimex/folio@latest --port 5176
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
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
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)