@firela/billclaw-core 0.1.3
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/LICENSE +21 -0
- package/README.md +109 -0
- package/dist/billclaw.d.ts +76 -0
- package/dist/billclaw.d.ts.map +1 -0
- package/dist/billclaw.js +205 -0
- package/dist/billclaw.js.map +1 -0
- package/dist/credentials/index.d.ts +8 -0
- package/dist/credentials/index.d.ts.map +1 -0
- package/dist/credentials/index.js +8 -0
- package/dist/credentials/index.js.map +1 -0
- package/dist/credentials/keychain.d.ts +92 -0
- package/dist/credentials/keychain.d.ts.map +1 -0
- package/dist/credentials/keychain.js +172 -0
- package/dist/credentials/keychain.js.map +1 -0
- package/dist/credentials/store.d.ts +76 -0
- package/dist/credentials/store.d.ts.map +1 -0
- package/dist/credentials/store.js +144 -0
- package/dist/credentials/store.js.map +1 -0
- package/dist/errors/errors.d.ts +92 -0
- package/dist/errors/errors.d.ts.map +1 -0
- package/dist/errors/errors.js +315 -0
- package/dist/errors/errors.js.map +1 -0
- package/dist/errors/index.d.ts +7 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +7 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/exporters/beancount.d.ts +42 -0
- package/dist/exporters/beancount.d.ts.map +1 -0
- package/dist/exporters/beancount.js +141 -0
- package/dist/exporters/beancount.js.map +1 -0
- package/dist/exporters/index.d.ts +8 -0
- package/dist/exporters/index.d.ts.map +1 -0
- package/dist/exporters/index.js +8 -0
- package/dist/exporters/index.js.map +1 -0
- package/dist/exporters/ledger.d.ts +42 -0
- package/dist/exporters/ledger.d.ts.map +1 -0
- package/dist/exporters/ledger.js +139 -0
- package/dist/exporters/ledger.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/models/config.d.ts +552 -0
- package/dist/models/config.d.ts.map +1 -0
- package/dist/models/config.js +168 -0
- package/dist/models/config.js.map +1 -0
- package/dist/models/index.d.ts +7 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +8 -0
- package/dist/models/index.js.map +1 -0
- package/dist/runtime/index.d.ts +7 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +7 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/types.d.ts +110 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +85 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/security/audit.d.ts +148 -0
- package/dist/security/audit.d.ts.map +1 -0
- package/dist/security/audit.js +286 -0
- package/dist/security/audit.js.map +1 -0
- package/dist/security/index.d.ts +7 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +7 -0
- package/dist/security/index.js.map +1 -0
- package/dist/services/event-emitter.d.ts +171 -0
- package/dist/services/event-emitter.d.ts.map +1 -0
- package/dist/services/event-emitter.js +287 -0
- package/dist/services/event-emitter.js.map +1 -0
- package/dist/services/index.d.ts +8 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +8 -0
- package/dist/services/index.js.map +1 -0
- package/dist/sources/gmail/bill-recognizer.d.ts +71 -0
- package/dist/sources/gmail/bill-recognizer.d.ts.map +1 -0
- package/dist/sources/gmail/bill-recognizer.js +341 -0
- package/dist/sources/gmail/bill-recognizer.js.map +1 -0
- package/dist/sources/gmail/email-parser.d.ts +68 -0
- package/dist/sources/gmail/email-parser.d.ts.map +1 -0
- package/dist/sources/gmail/email-parser.js +238 -0
- package/dist/sources/gmail/email-parser.js.map +1 -0
- package/dist/sources/gmail/gmail-fetch.d.ts +54 -0
- package/dist/sources/gmail/gmail-fetch.d.ts.map +1 -0
- package/dist/sources/gmail/gmail-fetch.js +300 -0
- package/dist/sources/gmail/gmail-fetch.js.map +1 -0
- package/dist/sources/gmail/index.d.ts +7 -0
- package/dist/sources/gmail/index.d.ts.map +1 -0
- package/dist/sources/gmail/index.js +7 -0
- package/dist/sources/gmail/index.js.map +1 -0
- package/dist/sources/index.d.ts +8 -0
- package/dist/sources/index.d.ts.map +1 -0
- package/dist/sources/index.js +8 -0
- package/dist/sources/index.js.map +1 -0
- package/dist/sources/plaid/index.d.ts +7 -0
- package/dist/sources/plaid/index.d.ts.map +1 -0
- package/dist/sources/plaid/index.js +7 -0
- package/dist/sources/plaid/index.js.map +1 -0
- package/dist/sources/plaid/plaid-sync.d.ts +42 -0
- package/dist/sources/plaid/plaid-sync.d.ts.map +1 -0
- package/dist/sources/plaid/plaid-sync.js +182 -0
- package/dist/sources/plaid/plaid-sync.js.map +1 -0
- package/dist/storage/cache.d.ts +134 -0
- package/dist/storage/cache.d.ts.map +1 -0
- package/dist/storage/cache.js +239 -0
- package/dist/storage/cache.js.map +1 -0
- package/dist/storage/index.d.ts +11 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +11 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/indexes.d.ts +136 -0
- package/dist/storage/indexes.d.ts.map +1 -0
- package/dist/storage/indexes.js +294 -0
- package/dist/storage/indexes.js.map +1 -0
- package/dist/storage/locking.d.ts +103 -0
- package/dist/storage/locking.d.ts.map +1 -0
- package/dist/storage/locking.js +158 -0
- package/dist/storage/locking.js.map +1 -0
- package/dist/storage/streaming.d.ts +102 -0
- package/dist/storage/streaming.d.ts.map +1 -0
- package/dist/storage/streaming.js +245 -0
- package/dist/storage/streaming.js.map +1 -0
- package/dist/storage/transaction-storage.d.ts +101 -0
- package/dist/storage/transaction-storage.d.ts.map +1 -0
- package/dist/storage/transaction-storage.js +193 -0
- package/dist/storage/transaction-storage.js.map +1 -0
- package/dist/sync/index.d.ts +7 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +7 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/sync-service.d.ts +42 -0
- package/dist/sync/sync-service.d.ts.map +1 -0
- package/dist/sync/sync-service.js +112 -0
- package/dist/sync/sync-service.js.map +1 -0
- package/dist/test-fixtures.d.ts +38 -0
- package/dist/test-fixtures.d.ts.map +1 -0
- package/dist/test-fixtures.js +137 -0
- package/dist/test-fixtures.js.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ledger (ledger-cli) export functionality for BillClaw
|
|
3
|
+
*
|
|
4
|
+
* This module provides functionality to export BillClaw transactions
|
|
5
|
+
* to the Ledger plain text accounting format.
|
|
6
|
+
*
|
|
7
|
+
* Ledger format reference: https://www.ledger-cli.org/3.0/doc/ledger3.html
|
|
8
|
+
*/
|
|
9
|
+
import { readTransactions } from "../storage/transaction-storage.js";
|
|
10
|
+
/**
|
|
11
|
+
* Convert a BillClaw transaction to Ledger format
|
|
12
|
+
*/
|
|
13
|
+
export function transactionToLedger(txn, options) {
|
|
14
|
+
const currency = options.commodity || "$";
|
|
15
|
+
// Format date
|
|
16
|
+
const date = txn.date.replace(/-/g, "/");
|
|
17
|
+
// Build payee/code line
|
|
18
|
+
const payee = txn.merchantName || "Unknown";
|
|
19
|
+
// Build tags
|
|
20
|
+
let tags = "";
|
|
21
|
+
if (options.includeTags) {
|
|
22
|
+
const sourceTag = txn.paymentChannel === "email" ? "#gmail" : "#plaid";
|
|
23
|
+
tags = ` ; :${sourceTag}:`;
|
|
24
|
+
if (txn.pending) {
|
|
25
|
+
tags += ":pending:";
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// Build transaction header
|
|
29
|
+
let output = `${date} ${payee}\n`;
|
|
30
|
+
// Determine target account based on category
|
|
31
|
+
const targetAccount = options.tagAccounts?.[txn.category?.[0] || ""] ||
|
|
32
|
+
options.payeeAccount ||
|
|
33
|
+
"Expenses:Unknown";
|
|
34
|
+
// Format amount (convert from cents to dollars)
|
|
35
|
+
const amount = (Math.abs(txn.amount) / 100).toFixed(2);
|
|
36
|
+
// Build postings
|
|
37
|
+
if (txn.amount < 0) {
|
|
38
|
+
// Expense/Outflow
|
|
39
|
+
output += ` ${targetAccount} ${currency}${amount}\n`;
|
|
40
|
+
output += ` Assets:Bank:Checking\n`;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// Income/Inflow
|
|
44
|
+
output += ` Assets:Bank:Checking ${currency}${amount}\n`;
|
|
45
|
+
output += ` ${targetAccount}\n`;
|
|
46
|
+
}
|
|
47
|
+
// Add tags if requested
|
|
48
|
+
if (tags) {
|
|
49
|
+
output += tags + "\n";
|
|
50
|
+
}
|
|
51
|
+
return output;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Export transactions to Ledger format
|
|
55
|
+
*/
|
|
56
|
+
export async function exportToLedger(transactions, options) {
|
|
57
|
+
if (transactions.length === 0) {
|
|
58
|
+
return "; No transactions found\n";
|
|
59
|
+
}
|
|
60
|
+
// Build Ledger file
|
|
61
|
+
let output = `;; Ledger export from BillClaw\n`;
|
|
62
|
+
output += `;; Account: ${options.accountId}\n`;
|
|
63
|
+
output += `;; Period: ${options.year}-${String(options.month).padStart(2, "0")}\n`;
|
|
64
|
+
output += `;; Exported: ${new Date().toISOString()}\n`;
|
|
65
|
+
output += "\n";
|
|
66
|
+
// Add each transaction
|
|
67
|
+
for (const txn of transactions) {
|
|
68
|
+
output += transactionToLedger(txn, options);
|
|
69
|
+
output += "\n";
|
|
70
|
+
}
|
|
71
|
+
return output;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Export transactions from storage to Ledger format
|
|
75
|
+
*/
|
|
76
|
+
export async function exportStorageToLedger(accountId, year, month, storageConfig, options) {
|
|
77
|
+
const transactions = await readTransactions(accountId, year, month, storageConfig);
|
|
78
|
+
const fullOptions = {
|
|
79
|
+
accountId,
|
|
80
|
+
year,
|
|
81
|
+
month,
|
|
82
|
+
...options,
|
|
83
|
+
};
|
|
84
|
+
return exportToLedger(transactions, fullOptions);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Get recommended account mappings for Ledger
|
|
88
|
+
*
|
|
89
|
+
* Returns a suggested mapping of BillClaw categories to Ledger accounts
|
|
90
|
+
*/
|
|
91
|
+
export function getLedgerAccountMappings() {
|
|
92
|
+
return {
|
|
93
|
+
// Food & Dining
|
|
94
|
+
"Food and Drink": "Expenses:Food:Restaurants",
|
|
95
|
+
"Fast Food": "Expenses:Food:FastFood",
|
|
96
|
+
Groceries: "Expenses:Food:Groceries",
|
|
97
|
+
// Transportation
|
|
98
|
+
Travel: "Expenses:Travel",
|
|
99
|
+
Gasoline: "Expenses:Transport:Fuel",
|
|
100
|
+
Parking: "Expenses:Transport:Parking",
|
|
101
|
+
Taxi: "Expenses:Transport:Taxi",
|
|
102
|
+
"Ride Share": "Expenses:Transport:Rideshare",
|
|
103
|
+
"Public Transportation": "Expenses:Transport:Public",
|
|
104
|
+
// Shopping
|
|
105
|
+
Shopping: "Expenses:Shopping:General",
|
|
106
|
+
Electronics: "Expenses:Shopping:Electronics",
|
|
107
|
+
Clothing: "Expenses:Shopping:Clothing",
|
|
108
|
+
"Home Improvement": "Expenses:Home:Improvement",
|
|
109
|
+
// Entertainment
|
|
110
|
+
Entertainment: "Expenses:Entertainment:General",
|
|
111
|
+
Movies: "Expenses:Entertainment:Movies",
|
|
112
|
+
Music: "Expenses:Entertainment:Music",
|
|
113
|
+
Games: "Expenses:Entertainment:Games",
|
|
114
|
+
Sports: "Expenses:Entertainment:Sports",
|
|
115
|
+
// Bills & Utilities
|
|
116
|
+
Utilities: "Expenses:Utilities:General",
|
|
117
|
+
Electric: "Expenses:Utilities:Electric",
|
|
118
|
+
Gas: "Expenses:Utilities:Gas",
|
|
119
|
+
Water: "Expenses:Utilities:Water",
|
|
120
|
+
Internet: "Expenses:Utilities:Internet",
|
|
121
|
+
Phone: "Expenses:Utilities:Phone",
|
|
122
|
+
Subscription: "Expenses:Subscriptions",
|
|
123
|
+
// Health
|
|
124
|
+
Healthcare: "Expenses:Health:Medical",
|
|
125
|
+
Pharmacy: "Expenses:Health:Pharmacy",
|
|
126
|
+
Insurance: "Expenses:Insurance:Health",
|
|
127
|
+
// Financial
|
|
128
|
+
Finance: "Expenses:Financial:Fees",
|
|
129
|
+
"Bank Fee": "Expenses:Financial:BankFees",
|
|
130
|
+
Interest: "Expenses:Financial:Interest",
|
|
131
|
+
Transfer: "Expenses:Financial:Transfer",
|
|
132
|
+
// Income
|
|
133
|
+
Income: "Income:General",
|
|
134
|
+
Salary: "Income:Salary",
|
|
135
|
+
Refund: "Income:Refunds",
|
|
136
|
+
Investment: "Income:Investments",
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=ledger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/exporters/ledger.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BillClaw Core - Framework-agnostic business logic for financial data import
|
|
3
|
+
*
|
|
4
|
+
* This package contains all core functionality with zero dependencies on any
|
|
5
|
+
* AI framework (OpenClaw, OpenHands, etc.).
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
export { Billclaw } from "./billclaw.js";
|
|
10
|
+
export * from "./models/index.js";
|
|
11
|
+
export * from "./storage/index.js";
|
|
12
|
+
export * from "./sync/index.js";
|
|
13
|
+
export { syncPlaidAccounts, syncPlaidAccount, createPlaidClient, convertTransaction, type PlaidConfig, type PlaidAccount, type PlaidSyncResult, } from "./sources/plaid/plaid-sync.js";
|
|
14
|
+
export { fetchGmailBills, fetchGmailEmails, recognizeBill, parseBillToTransaction, type GmailConfig, type GmailAccount, type GmailFetchResult, type GmailFetcherOptions, type EmailContent, type BillRecognition, } from "./sources/gmail/gmail-fetch.js";
|
|
15
|
+
export { exportToBeancount, exportStorageToBeancount, transactionToBeancount, getBeancountAccountMappings, type BeancountExportOptions, } from "./exporters/beancount.js";
|
|
16
|
+
export { exportToLedger, exportStorageToLedger, transactionToLedger, getLedgerAccountMappings, type LedgerExportOptions, } from "./exporters/ledger.js";
|
|
17
|
+
export * from "./errors/index.js";
|
|
18
|
+
export * from "./credentials/index.js";
|
|
19
|
+
export * from "./security/index.js";
|
|
20
|
+
export * from "./runtime/index.js";
|
|
21
|
+
export * from "./services/index.js";
|
|
22
|
+
export declare const VERSION: "0.0.1";
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,cAAc,mBAAmB,CAAA;AAGjC,cAAc,oBAAoB,CAAA;AAGlC,cAAc,iBAAiB,CAAA;AAG/B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,gCAAgC,CAAA;AAGvC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAA;AAG9B,cAAc,mBAAmB,CAAA;AAGjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AAGnC,cAAc,oBAAoB,CAAA;AAGlC,cAAc,qBAAqB,CAAA;AAGnC,eAAO,MAAM,OAAO,EAAG,OAAgB,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BillClaw Core - Framework-agnostic business logic for financial data import
|
|
3
|
+
*
|
|
4
|
+
* This package contains all core functionality with zero dependencies on any
|
|
5
|
+
* AI framework (OpenClaw, OpenHands, etc.).
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
// Main class
|
|
10
|
+
export { Billclaw } from "./billclaw.js";
|
|
11
|
+
// Models and schemas
|
|
12
|
+
export * from "./models/index.js";
|
|
13
|
+
// Storage
|
|
14
|
+
export * from "./storage/index.js";
|
|
15
|
+
// Sync
|
|
16
|
+
export * from "./sync/index.js";
|
|
17
|
+
// Data sources (note: some types may overlap with parsers)
|
|
18
|
+
export { syncPlaidAccounts, syncPlaidAccount, createPlaidClient, convertTransaction, } from "./sources/plaid/plaid-sync.js";
|
|
19
|
+
export { fetchGmailBills, fetchGmailEmails, recognizeBill, parseBillToTransaction, } from "./sources/gmail/gmail-fetch.js";
|
|
20
|
+
// Exporters
|
|
21
|
+
export { exportToBeancount, exportStorageToBeancount, transactionToBeancount, getBeancountAccountMappings, } from "./exporters/beancount.js";
|
|
22
|
+
export { exportToLedger, exportStorageToLedger, transactionToLedger, getLedgerAccountMappings, } from "./exporters/ledger.js";
|
|
23
|
+
// Errors
|
|
24
|
+
export * from "./errors/index.js";
|
|
25
|
+
// Credentials & Security
|
|
26
|
+
export * from "./credentials/index.js";
|
|
27
|
+
export * from "./security/index.js";
|
|
28
|
+
// Runtime abstractions
|
|
29
|
+
export * from "./runtime/index.js";
|
|
30
|
+
// Services (event emission, webhooks)
|
|
31
|
+
export * from "./services/index.js";
|
|
32
|
+
// Version
|
|
33
|
+
export const VERSION = "0.0.1";
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,aAAa;AACb,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,qBAAqB;AACrB,cAAc,mBAAmB,CAAA;AAEjC,UAAU;AACV,cAAc,oBAAoB,CAAA;AAElC,OAAO;AACP,cAAc,iBAAiB,CAAA;AAE/B,2DAA2D;AAC3D,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GAInB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,sBAAsB,GAOvB,MAAM,gCAAgC,CAAA;AAEvC,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,GAE5B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,GAEzB,MAAM,uBAAuB,CAAA;AAE9B,SAAS;AACT,cAAc,mBAAmB,CAAA;AAEjC,yBAAyB;AACzB,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AAEnC,uBAAuB;AACvB,cAAc,oBAAoB,CAAA;AAElC,sCAAsC;AACtC,cAAc,qBAAqB,CAAA;AAEnC,UAAU;AACV,MAAM,CAAC,MAAM,OAAO,GAAG,OAAgB,CAAA"}
|