plasalid 0.6.0 → 0.6.2

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
@@ -5,47 +5,46 @@
5
5
  <h1 align="center">Plasalid</h1>
6
6
 
7
7
  <p align="center">
8
- <strong>The Harness for Personal Finance</strong>
8
+ <strong>The Harness Layer for Personal Finance</strong>
9
9
  </p>
10
10
 
11
11
  <p align="center">
12
- Turn the financial documents into a structured, AI-readable context.
12
+ Turn your financial documents into structured, insightful, AI-readable context.
13
13
  </p>
14
14
 
15
15
 
16
16
  <br />
17
17
 
18
- In markets like Thailand there's no Plaid: no public API that gives apps a unified view of every account, no easy way to assemble a complete picture of your money. Knowing where you stand means logging into five bank apps one by one and most people just don't bother. Plasalid goes further than a local Plaid — it's a harness layer: drop your bank and credit-card statement PDFs into a folder and Plasalid parses every transaction, balance into a double-entry database on your own machine, ready for any AI to plug into. No cloud aggregator. No upstream account to trust. One source of truth for every account.
18
+ A unified view of personal financial data is critical. In the US and EU, a financial data aggregator like Plaid empowers most finance apps: one connection, and every app sees the same unified view of your accounts. Most of the world doesn't have that, including Thailand, where there's no such aggregator. All bank data is siloed: knowing where your financial status stands means logging into five bank apps one by one and with such a steep learning curve, most people just don't bother - and that's why Plasalid emerged
19
19
 
20
- ## Features
20
+ Data has stayed fragmented for decades. Without a way to bring it together, personal finance remains hard to manage even in the era of AI. Subscriptions stay active long after they're forgotten, unknown charges go unverified, and bank accounts opened years ago drift unchecked.
21
+
22
+ Debt may silently grow beyond what any single statement shows, and savings can't be tracked against a complete baseline. Decisions about how to clear debt, where to cut spending, or what you actually own get made on partial information.
21
23
 
22
- Plasalid is a chain of three stages: **Scan Resolve Chat.** Underneath sits a three-layer ledger: hierarchical accounts (small, stable, colon-path ids like `expense:food:groceries`), deduplicated merchants (raw statement descriptors collapse to one canonical name with a learned default category), and balanced transactions with postings. Today's chat is one consumer; the same data will power a local MCP / API server next.
24
+ Plasalid addresses this with a simple founding concept: let users drop all their financial documents bank statements, credit-card statements, payslips, brokerage statements onto their own machine, where Plasalid leverages AI to extract every transaction, balance, and holding into a single, structured, double-entry database that serves as context for future processing.
23
25
 
24
- ### Scan parse without blocking
26
+ Moreover, Plasalid comes with a built-in agentic chat that queries the data directly, so questions like which subscriptions are still active, where money went last month, or what your current net worth is can be answered against actual records rather than estimates. You can talk with your money on Plasalid to help you understand your financial situation and plan efficiently.
25
27
 
26
- - **Drop PDFs in, get balanced transactions out.** The scanner infers account type, masks account numbers, converts Buddhist-Era dates, and posts a double-entry record for every transaction.
27
- - **Merchants as first-class.** Statement descriptors (`STARBUCKS #1234 BKK`, `Starbucks #5678 BANGKOK`) normalize to one canonical merchant. Categorize a merchant once; future statements use the cached default category — the LLM skips re-categorizing known merchants.
28
- - **Never pauses to ask you.** Ambiguous rows post best-guess transactions with a structured *unknown* attached; lines the scanner can't confidently categorize land in `expense:uncategorized` for the resolve cleanup pass; unparseable rows are skipped, not guessed. A missing row is better than a wrong row — resolve clears them up later.
29
- - **Encrypted PDFs handled inline.** Statement password-protected? Plasalid prompts you once, remembers the password (AES-GCM at rest) under a filename pattern, and unlocks next month's statement silently.
28
+ The data ledger also serves as a harness, open to any AI agent that connects to it, so the picture you assemble once is reusable across whatever tools you choose to use.
29
+
30
+ ## Features
30
31
 
31
- ### Resolve close every open unknown
32
+ ### Unified ledger from any financial documents
32
33
 
33
- - **Uncategorized cleanup.** Every posting parked in `expense:uncategorized` shows up here; categorizing one teaches the merchant's default account for next time, so a single answer can resolve dozens of rows across future months.
34
- - **Connects related transactions.** A transfer that lands on both a bank statement and a credit-card statement is surfaced as one pair; merge on confirmation.
35
- - **Recurrences as first-class data.** Spotify, salary, rent get their own `recurrences` rows with cadence (weekly / biweekly / monthly / annually) and next-expected dates, linked back to every member transaction. Not a UI category — a structured fact any AI consumer can read.
36
- - **Step-by-step clarification.** Re-poses every scan-noted unknown as one focused question; loops until unknowns are clear or you skip them.
34
+ - **Drop PDFs, get a complete ledger.** Bank statements, credit-card statements, payslips, brokerage statements, and etc. Plasalid uses AI to parse every transaction, balance, and holding into double-entry ledger.
35
+ - **No aggregator, no per-bank login.** The picture assembles itself from documents you already receive each month. No manual entry. No fragile connector to maintain.
37
36
 
38
- ### Chat ask questions about your data
37
+ ### Build in AI agent that queries your real data
39
38
 
40
- - **Reads your real transactions and postings.** Not generic categories. "Where did ฿14k go in March?" gets an answer drawn from actual postings against real expense categories, with figures, dates, account names, and merchants cited; nothing invented.
41
- - **One of many possible consumers.** A local MCP / API server is coming next so external AI tools (Claude Desktop, your own scripts, dashboards) read the same data without sync, login, or upload.
39
+ - **Ask in plain language.** "Which subscriptions are still active?" "Where did money go last month?" "How much did I spend at Starbucks this year?" "What's my net worth right now?"
40
+ - **Answers from actual records.** Figures, dates, and merchants are drawn straight from double-entry ledger never an estimate, never invented.
42
41
 
43
- ### Built to be plugged into
42
+ ### Local-first, private, and open as harness
44
43
 
45
- - **Local-first.** AES-256 encrypted SQLite on your machine. No cloud sync, no third-party aggregator, no upstream account to trust.
46
- - **Standard double-entry.** No proprietary schema; any tool that speaks SQL can plug in. No vendor lock, no rate limits, no paywall.
47
- - **PII redacted on the way out.** Names, national IDs, phone numbers, and full account/card numbers are scrubbed before any prompt leaves your machine.
48
- - **BYO model.** Pick Anthropic (Claude) or any OpenAI-compatible server (Ollama, OpenAI, LM Studio, vLLM, …) at setup. Local models keep everything 100% on your machine.
44
+ - **Everything runs on your machine.** AES-256-encrypted SQLite ledger. Fully encrypted sensitive data. No cloud aggregator, no upstream account, no third-party can touch your data.
45
+ - **PII redacted on the way out.** Your names, your identity, phone numbers, and full account/card numbers are scrubbed before any prompt leaves your machine.
46
+ - **Pluggable AI provider.** Anthropic, or any OpenAI compatible local model pick at setup; local models keep inference 100% offline.
47
+ - **A harness layer for AI agents.** Plasalid's standard double-entry ledger is the baseline data layer open for extensibility by design.
49
48
 
50
49
 
51
50
  ## Install
@@ -81,9 +80,9 @@ Other day-to-day commands:
81
80
  Run `plasalid --help` to see all available commands.
82
81
 
83
82
  ```bash
84
- plasalid # Interactive TUI chat with your local data
83
+ plasalid # Interactive chat with your data
85
84
  plasalid setup # Configure API key, encryption, and data directory
86
- plasalid data # Open the Plasalid data folder in your OS file explorer
85
+ plasalid data # Open the Plasalid data folder in your file explorer
87
86
  plasalid accounts # Show the chart of accounts with balances
88
87
  plasalid status # Net worth and this-month income/expense totals
89
88
  plasalid transactions # List transactions and their postings (filter by --account, --from, --to, --query, --limit)
@@ -96,7 +95,7 @@ plasalid resolve # Walk every open unknown and apply your dec
96
95
  ## How It Works
97
96
 
98
97
  ```
99
- Bank statements · Credit-card statements
98
+ Bank · Card · Payslip · Brokerage · Transfer · Receipt
100
99
 
101
100
  (drop PDFs)
102
101
 
@@ -106,7 +105,7 @@ plasalid resolve # Walk every open unknown and apply your dec
106
105
 
107
106
  plasalid scan / plasalid record
108
107
 
109
- Claude API (PII-redacted)
108
+ AI provider (PII-redacted)
110
109
 
111
110
  ┌──────────▼──────────┐
112
111
  │ Encrypted DB │◀──── plasalid resolve
@@ -115,7 +114,7 @@ plasalid resolve # Walk every open unknown and apply your dec
115
114
  plasalid
116
115
  ```
117
116
 
118
- Two outbound calls: the AI provider during scan, and the AI provider during chat. Both are PII-redacted. Your financial data is never stored off your machine. No telemetry. No analytics.
117
+ Two outbound calls: the AI provider during scan, and the AI provider during chat. Both are PII-redacted. Your financial data is never stored off your machine. The same encrypted ledger is open to external AI agents through a local MCP / API server (coming next). No telemetry. No analytics.
119
118
 
120
119
  ## Security & Privacy
121
120
 
@@ -56,7 +56,7 @@ export function formatError(error, context) {
56
56
  export function banner() {
57
57
  return (chalk.cyan("<°(((>< ") +
58
58
  chalk.bold("Plasalid") +
59
- chalk.dim(" · AI Harness for Personal Finance"));
59
+ chalk.dim(" · The Harness Layer for Personal Finance"));
60
60
  }
61
61
  function stripAnsi(str) {
62
62
  return str.replace(ANSI_RE, "");
package/dist/cli/index.js CHANGED
@@ -15,7 +15,7 @@ function ensureConfigured() {
15
15
  }
16
16
  program
17
17
  .name("plasalid")
18
- .description("AI Harness for Personal Finance")
18
+ .description("The Harness Layer for Personal Finance")
19
19
  .version(version)
20
20
  .addHelpCommand(false)
21
21
  .showHelpAfterError(`Run ${chalk.cyan("plasalid --help")} for the list of commands.`)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "plasalid",
3
- "version": "0.6.0",
4
- "description": "Plasalid — AI Harness for Personal Finance",
3
+ "version": "0.6.2",
4
+ "description": "Plasalid — The Harness Layer for Personal Finance",
5
5
  "keywords": [
6
6
  "finance",
7
7
  "harness",