Releases: StevenACZ/lucas-cli
Releases · StevenACZ/lucas-cli
lucasapp-cli v0.6.8
Summary
- Removes the final legacy LucasApp production API URL alias from CLI config resolution.
- Keeps production CLI defaults on https://api.lucasapp.app and dashboard links on https://dashboard.lucasapp.app/cli.
- Keeps generic URL trimming/trailing-slash normalization.
Verification
- bun run format:check && bun run typecheck && bun run lint && bun run test && bun run build
- npm pack --dry-run --json --ignore-scripts
- Production smoke: auth status and investments instruments against https://api.lucasapp.app.
- Legacy domain search returned no active references outside .bak and ops-log history.
Security
- Diff-scoped security review found no reportable candidates; no secrets or auth enforcement paths changed.
lucasapp-cli v0.6.7
Summary
- Adds investments CLI parity for catalog discovery, overview, positions, activity, history, trades, cash adjustments, archives, and refresh actions.
- Adds subscription groups, subscription charges, and monthly subscription calendar commands.
- Moves production defaults to dashboard.lucasapp.app / api.lucasapp.app and normalizes legacy stored production API URLs.
Verification
- bun run format:check && bun run typecheck && bun run lint && bun run test && bun run build
- npm pack --dry-run --json --ignore-scripts
- Production smoke: auth status, investments instruments/overview/positions/activity/history, subscriptions calendar, subscription groups, subscription charges pending.
v0.6.6
Changed
- Removed the retired
lucas ai chat-messagecommand to match the current backend API surface. - Kept LucasApp CLI AI focused on
usage,parse-expenses,parse-expenses-image, andinsights. - Updated README and changelog for the supported AI command set.
Verified
- format, typecheck, lint, tests, build, and npm pack dry-run passed locally.
- Production CLI smoke tests passed against
https://lucas.stevenacz.com.
v0.6.5
Summary
- Align list commands with current backend filters and pagination shapes.
- Include archived accounts explicitly in account list output while preserving active totals.
- Add client-side converted amounts for exchange-rate conversions.
Verification
- format:check, typecheck, lint, test, build.
- npm pack dry-run publishes only LICENSE, README.md, dist/index.js, and package.json.
- Production read-only smoke covered auth, accounts, debt detail, transactions, transfers, subscriptions, loans, stats, categories, exchange-rate, and usage endpoints.
v0.6.1
Summary
- Harden CLI device authorization by separating the visible approval code from the secret polling code.
- Add stricter local image input validation, safer resource path handling, redacted backend errors, and private credential storage.
- Move npm publishing to Trusted Publishing/OIDC with provenance.
Verification
- bun run format:check
- bun run typecheck
- bun run lint
- bun run test
- bun run build
- npm pack --dry-run --json --ignore-scripts
v0.6.0
Added
lucas ai usage— reads current AI usage and preservesusagePeriodswhen the backend returns daily, weekly, and monthly windows.lucas ai parse-expenses <text...>— sends text expense parsing requests toPOST /api/ai/parse-expenses.lucas ai parse-expenses-image <paths...>— sends up to 10 receipt images toPOST /api/ai/parse-expenses-image.lucas ai insights <query...>— sends financial insight prompts toPOST /api/ai/insights.lucas ai chat-message <message...>— sends messages to Lucas Chat viaPOST /api/lucas-chat/message.
Changed
- Public plan contract is now
FREEandPREMIUMonly. - Premium copy reflects unlimited accounts, unlimited subscriptions, and AI limits of 50/day, 300/week, and 1000/month.
- Free copy reflects 0 AI calls, up to 3 active accounts, and blocked subscriptions.
- Backend limit errors now map to CLI-friendly messages for AI, subscription, and account limits.
- Dev dependency overrides were refreshed so the public repository audit is clean.
For AI agents
Typical AI flow:
lucas ai usage
lucas ai parse-expenses "coffee 4.50 today"
lucas ai parse-expenses-image ./receipt.jpg
lucas ai insights "summarize my spending this month" --period month
lucas ai chat-message "what changed in my finances this week?"This release expects the LucasApp backend deployed with the FREE/PREMIUM AI contract.
v0.5.0
Added
lucas accounts debt-detail <id>— credit-card debt breakdown per billing cycle (pass-through overGET /api/accounts/:id/credit-debt-breakdown). Flags:--mode,--anchor-date,--start-date,--end-date,--search,--only-pending,--limit,--offset. Default--mode=current_cycle --limit=100for AI-friendly single-page responses.lucas accounts create --statement-closing-day <n>— parity withaccounts update. Backend now returnscreationWarningon the created account when CREDIT is created without this flag (requires backend on 2026-04-20+).lucas accounts listnow returnsavailableCredit(max(0, creditLimit - currentDebt)) for CREDIT accounts with a non-nullcreditLimit. Field is omitted for all other account types.
For AI agents
Typical flow:
lucas accounts list
# pick a CREDIT id, then:
lucas accounts debt-detail <id>
# -> {"ok":true,"data":{"summary":{"currentDebt":..., "charges":..., "payments":..., "outsideRangeDebt":...}, "items":[...]}}summary.currentDebt == summary.composedDebt + summary.outsideRangeDebt (±0.01) is the invariant to trust. outsideRangeDebt > 0 indicates carry-over from prior cycles.
v0.4.0
What's New
loans unmark-paid command
- Reverse loan payments that were incorrectly applied
lucas loans unmark-paid <loan-id>— reverses the most recent paymentlucas loans unmark-paid <loan-id> --payment-id <id>— reverses a specific payment- Restores installment status, account balance, and deletes linked transactions
v0.3.1
Highlights
- notify interactive users when a newer lucas CLI version is available
- fix transaction list date and pagination filters to use canonical API query names
- add
--yearand--monthtostats summaryandstats by-category - keep compatibility with older installed CLIs via backend aliases for
from/to/skip/take
v0.3.0
Highlights
- fix loans pay to send canonical
payAmountwhile keeping--amountUX - add
loans mark-paidwith optional post-write verification - add strict numeric validation to avoid silent
NaNpayloads - replace misleading
--no-*string/number flags with real--clear-*flags - enrich
subscriptions listwith derived billing and charge context for AI agents