@lunchflow/actual-flow 0.0.4 → 0.0.6

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
@@ -1,10 +1,22 @@
1
- # Lunch Flow → Actual Budget Importer
2
-
3
- A TypeScript tool that imports transactions from Lunch Flow to Actual Budget with an intuitive terminal UI for configuration and account mapping.
1
+ <p align="center">
2
+ <h1 align="center"><b>Lunch Flow 🤝 Actual Budget</b></h1>
3
+ <p align="center">
4
+ Connect multiple open banking providers to your Actual Budget server.
5
+ <br />
6
+ <br />
7
+ <a href="https://discord.gg/TJn5mMV4jZ">Discord</a>
8
+ ·
9
+ <a href="https://lunchflow.app">Website</a>
10
+ </p>
11
+ </p>
12
+
13
+ ## About Lunch Flow
14
+
15
+ [Lunch Flow](https:lunchflow.app) is a tool that allows you to connect your banks globally to the tools you love. We currently support multiple open banking providers (GoCardless, Finicity, MX, SimpleFin, Finverse, and more ...).
4
16
 
5
17
  ## Demo
6
18
 
7
- [![asciicast](https://asciinema.org/a/gGd65kHnllxQNIk7umbonU324.svg)](https://asciinema.org/a/gGd65kHnllxQNIk7umbonU324)
19
+ ![Demo](./docs/demo.gif)
8
20
 
9
21
  ## Features
10
22
 
@@ -11,10 +11,11 @@ export declare class LunchFlowImporter {
11
11
  private updateClients;
12
12
  testConnections(): Promise<ConnectionStatus>;
13
13
  configureAccountMappings(): Promise<void>;
14
- importTransactions(): Promise<void>;
14
+ importTransactions(skipConfirmation?: boolean): Promise<void>;
15
15
  showCurrentMappings(): Promise<void>;
16
16
  listAvailableBudgets(): Promise<void>;
17
17
  reconfigureCredentials(): Promise<void>;
18
18
  run(): Promise<void>;
19
+ runImport(): Promise<void>;
19
20
  }
20
21
  //# sourceMappingURL=importer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,gBAAgB,EAAwB,MAAM,SAAS,CAAC;AAIzF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,MAAM,CAAuB;;IAY/B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAYnB,kBAAkB;IAehC,OAAO,CAAC,aAAa;IAcf,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAoB5C,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCzC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkGnC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCrC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBvC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAgC3B"}
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,gBAAgB,EAAwB,MAAM,SAAS,CAAC;AAIzF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,MAAM,CAAuB;;IAY/B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAYnB,kBAAkB;IAehC,OAAO,CAAC,aAAa;IAcf,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAoB5C,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCzC,kBAAkB,CAAC,gBAAgB,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAiHpE,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCrC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBvC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCpB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAKjC"}
package/dist/importer.js CHANGED
@@ -98,7 +98,7 @@ class LunchFlowImporter {
98
98
  this.ui.showError('Failed to configure account mappings');
99
99
  }
100
100
  }
101
- async importTransactions() {
101
+ async importTransactions(skipConfirmation = false) {
102
102
  if (!this.config || this.config.accountMappings.length === 0) {
103
103
  this.ui.showError('No account mappings configured. Please configure mappings first.');
104
104
  return;
@@ -117,10 +117,15 @@ class LunchFlowImporter {
117
117
  for (const mapping of this.config.accountMappings) {
118
118
  try {
119
119
  const accountTransactions = await this.lfClient.getTransactions(mapping.lunchFlowAccountId);
120
- allLfTransactions.push(...accountTransactions);
120
+ // Filter transactions by sync start date if specified
121
+ let filteredTransactions = accountTransactions;
122
+ if (mapping.syncStartDate) {
123
+ filteredTransactions = accountTransactions.filter(transaction => transaction.date >= mapping.syncStartDate);
124
+ }
125
+ allLfTransactions.push(...filteredTransactions);
121
126
  accountResults.push({
122
127
  account: `${mapping.lunchFlowAccountName} → ${mapping.actualBudgetAccountName}`,
123
- count: accountTransactions.length,
128
+ count: filteredTransactions.length,
124
129
  success: true
125
130
  });
126
131
  }
@@ -138,12 +143,14 @@ class LunchFlowImporter {
138
143
  // Show account processing summary
139
144
  console.log('\n📊 Account Processing Summary:');
140
145
  const table = new cli_table3_1.default({
141
- head: ['Account Mapping', 'Transactions Found', 'Status'],
142
- colWidths: [50, 20, 15]
146
+ head: ['Account Mapping', 'Sync Start Date', 'Transactions Found', 'Status'],
147
+ colWidths: [40, 15, 20, 15]
143
148
  });
144
- accountResults.forEach(result => {
149
+ accountResults.forEach((result, index) => {
150
+ const mapping = this.config.accountMappings[index];
145
151
  table.push([
146
152
  result.account,
153
+ mapping.syncStartDate || 'None',
147
154
  result.count.toString(),
148
155
  result.success ? '✅ Success' : '❌ Failed'
149
156
  ]);
@@ -164,10 +171,15 @@ class LunchFlowImporter {
164
171
  // Show preview
165
172
  const abAccounts = await this.abClient.getAccounts();
166
173
  await this.ui.showTransactionPreview(abTransactions, abAccounts);
167
- const confirmed = await this.ui.confirmImport(abTransactions.length, { startDate, endDate });
168
- if (!confirmed) {
169
- this.ui.showInfo('Import cancelled');
170
- return;
174
+ if (!skipConfirmation) {
175
+ const confirmed = await this.ui.confirmImport(abTransactions.length, { startDate, endDate });
176
+ if (!confirmed) {
177
+ this.ui.showInfo('Import cancelled');
178
+ return;
179
+ }
180
+ }
181
+ else {
182
+ console.log(chalk_1.default.blue(`\n📥 Proceeding with import of ${abTransactions.length} transactions (non-interactive mode)\n`));
171
183
  }
172
184
  const importSpinner = this.ui.showSpinner(`Importing ${abTransactions.length} transactions...`);
173
185
  await this.abClient.importTransactions(abTransactions);
@@ -266,6 +278,11 @@ class LunchFlowImporter {
266
278
  }
267
279
  }
268
280
  }
281
+ async runImport() {
282
+ await this.initialize();
283
+ await this.importTransactions(true); // Skip confirmation in non-interactive mode
284
+ await this.abClient.shutdown();
285
+ }
269
286
  }
270
287
  exports.LunchFlowImporter = LunchFlowImporter;
271
288
  //# sourceMappingURL=importer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"importer.js","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importer.js","sourceRoot":"","sources":["../src/importer.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,13 +10,43 @@ const importer_1 = require("./importer");
10
10
  async function main() {
11
11
  try {
12
12
  const importer = new importer_1.LunchFlowImporter();
13
- await importer.run();
13
+ // Check for command line arguments
14
+ const args = process.argv.slice(2);
15
+ const command = args[0];
16
+ if (command === 'import') {
17
+ // Direct import command - skip the interactive menu
18
+ await importer.runImport();
19
+ }
20
+ else if (command === 'help' || command === '--help' || command === '-h') {
21
+ showHelp();
22
+ }
23
+ else if (command) {
24
+ console.log(chalk_1.default.red(`Unknown command: ${command}`));
25
+ console.log(chalk_1.default.yellow('Use "help" to see available commands'));
26
+ process.exit(1);
27
+ }
28
+ else {
29
+ // No command provided - run interactive mode
30
+ await importer.run();
31
+ }
14
32
  }
15
33
  catch (error) {
16
34
  console.error(chalk_1.default.red('An error occurred:'), error);
17
35
  process.exit(1);
18
36
  }
19
37
  }
38
+ function showHelp() {
39
+ console.log(chalk_1.default.blue.bold('\n🍽️ Lunch Flow → Actual Budget Importer\n'));
40
+ console.log(chalk_1.default.gray('Usage: actual-flow [command]\n'));
41
+ console.log(chalk_1.default.cyan('Commands:'));
42
+ console.log(' import Run the import process directly (non-interactive)');
43
+ console.log(' help Show this help message');
44
+ console.log(' (no args) Run in interactive mode\n');
45
+ console.log(chalk_1.default.gray('Examples:'));
46
+ console.log(' actual-flow import # Run import directly');
47
+ console.log(' actual-flow # Run interactive mode');
48
+ console.log(' actual-flow help # Show help\n');
49
+ }
20
50
  // Handle uncaught exceptions
21
51
  process.on('uncaughtException', (error) => {
22
52
  console.error(chalk_1.default.red('Uncaught Exception:'), error);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAEA,yBAAuB;AACvB,kDAA0B;AAC1B,yCAA+C;AAE/C,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,4BAAiB,EAAE,CAAC;QACzC,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,6BAA6B;AAC7B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAEA,yBAAuB;AACvB,kDAA0B;AAC1B,yCAA+C;AAE/C,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,4BAAiB,EAAE,CAAC;QAEzC,mCAAmC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,oDAAoD;YACpD,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1E,QAAQ,EAAE,CAAC;QACb,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,6CAA6C;YAC7C,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,KAAK,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;AACvD,CAAC;AAED,6BAA6B;AAC7B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,IAAI,EAAE,CAAC"}
package/dist/types.d.ts CHANGED
@@ -36,6 +36,7 @@ export interface AccountMapping {
36
36
  lunchFlowAccountName: string;
37
37
  actualBudgetAccountId: string;
38
38
  actualBudgetAccountName: string;
39
+ syncStartDate?: string;
39
40
  }
40
41
  export interface Config {
41
42
  lunchFlow: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACxC,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,kBAAkB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,kBAAkB,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,YAAY,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACxC,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,kBAAkB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,kBAAkB,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,CAAC;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,YAAY,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB"}
package/dist/ui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE3H,qBAAa,UAAU;IACf,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,uBAAuB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAiCvE,0BAA0B,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAsCrG,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7D,iBAAiB,CAAC,QAAQ,EAAE,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrG,wBAAwB,CAC5B,UAAU,EAAE,gBAAgB,EAAE,EAC9B,UAAU,EAAE,mBAAmB,EAAE,GAChC,OAAO,CAAC,cAAc,EAAE,CAAC;IAwCtB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B9D,aAAa,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB5G,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAsB/B,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAmB5C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG;IAIjC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI/B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,sBAAsB,CAAC,YAAY,EAAE,uBAAuB,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CA+C1I"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE3H,qBAAa,UAAU;IACf,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,uBAAuB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAiCvE,0BAA0B,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAsCrG,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7D,iBAAiB,CAAC,QAAQ,EAAE,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrG,wBAAwB,CAC5B,UAAU,EAAE,gBAAgB,EAAE,EAC9B,UAAU,EAAE,mBAAmB,EAAE,GAChC,OAAO,CAAC,cAAc,EAAE,CAAC;IAmEtB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9D,aAAa,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB5G,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAuB/B,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAmB5C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG;IAIjC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI/B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,sBAAsB,CAAC,YAAY,EAAE,uBAAuB,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CA+C1I"}
package/dist/ui.js CHANGED
@@ -135,12 +135,37 @@ class TerminalUI {
135
135
  if (answer.abAccountId !== 'skip') {
136
136
  const abAccount = abAccounts.find(a => a.id === answer.abAccountId);
137
137
  if (abAccount) {
138
- mappings.push({
138
+ // Ask for optional sync start date
139
+ const dateAnswer = await inquirer_1.default.prompt([
140
+ {
141
+ type: 'input',
142
+ name: 'syncStartDate',
143
+ message: `Sync start date for "${lfAccount.name}" (YYYY-MM-DD, optional - press Enter to skip):`,
144
+ validate: (input) => {
145
+ if (!input.trim())
146
+ return true; // Empty is allowed
147
+ const dateRegex = /^\d{4}-\d{2}-\d{2}$/;
148
+ if (!dateRegex.test(input)) {
149
+ return 'Please enter date in YYYY-MM-DD format or leave empty';
150
+ }
151
+ const date = new Date(input);
152
+ if (isNaN(date.getTime())) {
153
+ return 'Please enter a valid date';
154
+ }
155
+ return true;
156
+ },
157
+ },
158
+ ]);
159
+ const mapping = {
139
160
  lunchFlowAccountId: lfAccount.id,
140
161
  lunchFlowAccountName: lfAccount.name,
141
162
  actualBudgetAccountId: abAccount.id,
142
163
  actualBudgetAccountName: abAccount.name,
143
- });
164
+ };
165
+ if (dateAnswer.syncStartDate.trim()) {
166
+ mapping.syncStartDate = dateAnswer.syncStartDate.trim();
167
+ }
168
+ mappings.push(mapping);
144
169
  }
145
170
  }
146
171
  }
@@ -153,8 +178,8 @@ class TerminalUI {
153
178
  return;
154
179
  }
155
180
  const table = new cli_table3_1.default({
156
- head: ['Lunch Flow Account', '→', 'Actual Budget Account'],
157
- colWidths: [25, 3, 25],
181
+ head: ['Lunch Flow Account', '→', 'Actual Budget Account', 'Sync Start Date'],
182
+ colWidths: [25, 3, 25, 15],
158
183
  style: {
159
184
  head: ['cyan'],
160
185
  border: ['gray'],
@@ -164,7 +189,8 @@ class TerminalUI {
164
189
  table.push([
165
190
  mapping.lunchFlowAccountName,
166
191
  '→',
167
- mapping.actualBudgetAccountName
192
+ mapping.actualBudgetAccountName,
193
+ mapping.syncStartDate || chalk_1.default.gray('None')
168
194
  ]);
169
195
  });
170
196
  console.log(table.toString());
@@ -185,6 +211,7 @@ class TerminalUI {
185
211
  }
186
212
  async showMainMenu() {
187
213
  console.log(chalk_1.default.blue('\n🎯 Main Menu\n'));
214
+ console.log(chalk_1.default.gray('💡 Tip: Use "actual-flow import" to run import directly\n'));
188
215
  const answer = await inquirer_1.default.prompt([
189
216
  {
190
217
  type: 'list',
package/dist/ui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAChC,kDAA0B;AAC1B,8CAAsB;AACtB,4DAA+B;AAG/B,MAAa,UAAU;IACrB,KAAK,CAAC,WAAW;QACf,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC,CAAC;IACxG,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAE1E,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACpC;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,gCAAgC;gBACzC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,qBAAqB;gBACtE,IAAI,EAAE,GAAG;aACV;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,gCAAgC;gBACzC,OAAO,EAAE,8BAA8B;gBACvC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC;wBACH,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;wBACf,OAAO,IAAI,CAAC;oBACd,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,0BAA0B,CAAC;oBACpC,CAAC;gBACH,CAAC;aACF;SACF,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,0BAA0B;QAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC;QAEjF,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACpC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,iCAAiC;gBAC1C,OAAO,EAAE,uBAAuB;gBAChC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC;wBACH,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;wBACf,OAAO,IAAI,CAAC;oBACd,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,0BAA0B,CAAC;oBACpC,CAAC;gBACH,CAAC;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,qCAAqC;gBAC9C,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,4BAA4B;aAC9E;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,0CAA0C;gBACnD,IAAI,EAAE,GAAG;aACV;SACF,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAwB;QACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC7F,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAEhG,OAAO,CAAC,GAAG,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,QAAoD,EAAE,KAAa;QACzF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;QAExC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;YACtB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,MAAM,CAAC;gBACd,MAAM,EAAE,CAAC,MAAM,CAAC;aACjB;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK;gBAC7C,OAAO,CAAC,IAAI;aACb,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,UAA8B,EAC9B,UAAiC;QAEjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC,CAAC;QAEtF,MAAM,QAAQ,GAAqB,EAAE,CAAC;QAEtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAC3C,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,QAAQ,GAAG;gBACjD,KAAK,EAAE,SAAS,CAAC,EAAE;aACpB,CAAC,CAAC,CAAC;YAEJ,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBACnC;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,QAAQ,SAAS,CAAC,IAAI,MAAM,SAAS,CAAC,gBAAgB,OAAO;oBACtE,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE;wBAC5C,GAAG,OAAO;qBACX;iBACF;aACF,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;gBACpE,IAAI,SAAS,EAAE,CAAC;oBACd,mCAAmC;oBACnC,MAAM,UAAU,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;wBACvC;4BACE,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,eAAe;4BACrB,OAAO,EAAE,wBAAwB,SAAS,CAAC,IAAI,iDAAiD;4BAChG,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gCAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oCAAE,OAAO,IAAI,CAAC,CAAC,mBAAmB;gCACnD,MAAM,SAAS,GAAG,qBAAqB,CAAC;gCACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oCAC3B,OAAO,uDAAuD,CAAC;gCACjE,CAAC;gCACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gCAC7B,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;oCAC1B,OAAO,2BAA2B,CAAC;gCACrC,CAAC;gCACD,OAAO,IAAI,CAAC;4BACd,CAAC;yBACF;qBACF,CAAC,CAAC;oBAEH,MAAM,OAAO,GAAmB;wBAC9B,kBAAkB,EAAE,SAAS,CAAC,EAAE;wBAChC,oBAAoB,EAAE,SAAS,CAAC,IAAI;wBACpC,qBAAqB,EAAE,SAAS,CAAC,EAAE;wBACnC,uBAAuB,EAAE,SAAS,CAAC,IAAI;qBACxC,CAAC;oBAEF,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;wBACpC,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;oBAC1D,CAAC;oBAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAA0B;QAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAE3D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;YACtB,IAAI,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE,uBAAuB,EAAE,iBAAiB,CAAC;YAC7E,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;YAC1B,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,MAAM,CAAC;gBACd,MAAM,EAAE,CAAC,MAAM,CAAC;aACjB;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,KAAK,CAAC,IAAI,CAAC;gBACT,OAAO,CAAC,oBAAoB;gBAC5B,GAAG;gBACH,OAAO,CAAC,uBAAuB;gBAC/B,OAAO,CAAC,aAAa,IAAI,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,gBAAwB,EAAE,SAAiD;QAC7F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,CAAC,SAAS,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,2BAA2B,gBAAgB,IAAI,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACnC;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,CAAC;QAErF,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACnC;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,4BAA4B;gBACrC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC9C,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,cAAc,EAAE;oBAC5D,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,WAAW,EAAE;oBAC7D,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE;oBACnD,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACnD,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,aAAa,EAAE;oBAC7D,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;iBAClC;aACF;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACnC;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,qCAAqC;gBAC9C,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,WAAW,EAAE;oBACtD,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,cAAc,EAAE;oBAC5D,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;iBACpC;aACF;SACF,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,OAAO,IAAA,aAAG,EAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,CAAC,OAAe;QACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,OAAe;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,YAAuC,EAAE,QAA+B,EAAE,QAAgB,EAAE;QACvH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2CAA2C,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9G,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;YACpD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAC/B,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAA4B,CAAC,CAAC;QAEjC,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;YACtB,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;YAClD,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;YAC3B,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,MAAM,CAAC;gBACd,MAAM,EAAE,CAAC,MAAM,CAAC;aACjB;SACF,CAAC,CAAC;QAEH,YAAY;aACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;aACvE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;aACf,OAAO,CAAC,WAAW,CAAC,EAAE;YACrB,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC;YACxC,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,IAAI,CAAC;gBAC3C,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEjD,KAAK,CAAC,IAAI,CAAC;gBACT,WAAW,CAAC,IAAI;gBAChB,WAAW,CAAC,cAAc;gBAC1B,aAAa;gBACb,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,SAAS;aAC/C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9B,IAAI,YAAY,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,YAAY,CAAC,MAAM,GAAG,KAAK,sBAAsB,CAAC,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;CACF;AAnVD,gCAmVC"}
package/docs/demo.gif ADDED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lunchflow/actual-flow",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "description": "Import transactions from Lunch Flow to Actual Budget with terminal UI.",
5
5
  "main": "./dist/index.js",
6
6
  "bin": {
package/src/importer.ts CHANGED
@@ -123,7 +123,7 @@ export class LunchFlowImporter {
123
123
  }
124
124
  }
125
125
 
126
- async importTransactions(): Promise<void> {
126
+ async importTransactions(skipConfirmation: boolean = false): Promise<void> {
127
127
  if (!this.config || this.config.accountMappings.length === 0) {
128
128
  this.ui.showError('No account mappings configured. Please configure mappings first.');
129
129
  return;
@@ -146,10 +146,19 @@ export class LunchFlowImporter {
146
146
  for (const mapping of this.config.accountMappings) {
147
147
  try {
148
148
  const accountTransactions = await this.lfClient.getTransactions(mapping.lunchFlowAccountId);
149
- allLfTransactions.push(...accountTransactions);
149
+
150
+ // Filter transactions by sync start date if specified
151
+ let filteredTransactions = accountTransactions;
152
+ if (mapping.syncStartDate) {
153
+ filteredTransactions = accountTransactions.filter(transaction =>
154
+ transaction.date >= mapping.syncStartDate!
155
+ );
156
+ }
157
+
158
+ allLfTransactions.push(...filteredTransactions);
150
159
  accountResults.push({
151
160
  account: `${mapping.lunchFlowAccountName} → ${mapping.actualBudgetAccountName}`,
152
- count: accountTransactions.length,
161
+ count: filteredTransactions.length,
153
162
  success: true
154
163
  });
155
164
  } catch (error) {
@@ -168,13 +177,15 @@ export class LunchFlowImporter {
168
177
  // Show account processing summary
169
178
  console.log('\n📊 Account Processing Summary:');
170
179
  const table = new Table({
171
- head: ['Account Mapping', 'Transactions Found', 'Status'],
172
- colWidths: [50, 20, 15]
180
+ head: ['Account Mapping', 'Sync Start Date', 'Transactions Found', 'Status'],
181
+ colWidths: [40, 15, 20, 15]
173
182
  });
174
183
 
175
- accountResults.forEach(result => {
184
+ accountResults.forEach((result, index) => {
185
+ const mapping = this.config!.accountMappings[index];
176
186
  table.push([
177
187
  result.account,
188
+ mapping.syncStartDate || 'None',
178
189
  result.count.toString(),
179
190
  result.success ? '✅ Success' : '❌ Failed'
180
191
  ]);
@@ -202,10 +213,14 @@ export class LunchFlowImporter {
202
213
  const abAccounts = await this.abClient.getAccounts();
203
214
  await this.ui.showTransactionPreview(abTransactions, abAccounts);
204
215
 
205
- const confirmed = await this.ui.confirmImport(abTransactions.length, { startDate, endDate });
206
- if (!confirmed) {
207
- this.ui.showInfo('Import cancelled');
208
- return;
216
+ if (!skipConfirmation) {
217
+ const confirmed = await this.ui.confirmImport(abTransactions.length, { startDate, endDate });
218
+ if (!confirmed) {
219
+ this.ui.showInfo('Import cancelled');
220
+ return;
221
+ }
222
+ } else {
223
+ console.log(chalk.blue(`\n📥 Proceeding with import of ${abTransactions.length} transactions (non-interactive mode)\n`));
209
224
  }
210
225
 
211
226
  const importSpinner = this.ui.showSpinner(`Importing ${abTransactions.length} transactions...`);
@@ -317,4 +332,10 @@ export class LunchFlowImporter {
317
332
  }
318
333
  }
319
334
  }
335
+
336
+ async runImport(): Promise<void> {
337
+ await this.initialize();
338
+ await this.importTransactions(true); // Skip confirmation in non-interactive mode
339
+ await this.abClient.shutdown();
340
+ }
320
341
  }
package/src/index.ts CHANGED
@@ -7,13 +7,43 @@ import { LunchFlowImporter } from './importer';
7
7
  async function main() {
8
8
  try {
9
9
  const importer = new LunchFlowImporter();
10
- await importer.run();
10
+
11
+ // Check for command line arguments
12
+ const args = process.argv.slice(2);
13
+ const command = args[0];
14
+
15
+ if (command === 'import') {
16
+ // Direct import command - skip the interactive menu
17
+ await importer.runImport();
18
+ } else if (command === 'help' || command === '--help' || command === '-h') {
19
+ showHelp();
20
+ } else if (command) {
21
+ console.log(chalk.red(`Unknown command: ${command}`));
22
+ console.log(chalk.yellow('Use "help" to see available commands'));
23
+ process.exit(1);
24
+ } else {
25
+ // No command provided - run interactive mode
26
+ await importer.run();
27
+ }
11
28
  } catch (error) {
12
29
  console.error(chalk.red('An error occurred:'), error);
13
30
  process.exit(1);
14
31
  }
15
32
  }
16
33
 
34
+ function showHelp() {
35
+ console.log(chalk.blue.bold('\n🍽️ Lunch Flow → Actual Budget Importer\n'));
36
+ console.log(chalk.gray('Usage: actual-flow [command]\n'));
37
+ console.log(chalk.cyan('Commands:'));
38
+ console.log(' import Run the import process directly (non-interactive)');
39
+ console.log(' help Show this help message');
40
+ console.log(' (no args) Run in interactive mode\n');
41
+ console.log(chalk.gray('Examples:'));
42
+ console.log(' actual-flow import # Run import directly');
43
+ console.log(' actual-flow # Run interactive mode');
44
+ console.log(' actual-flow help # Show help\n');
45
+ }
46
+
17
47
  // Handle uncaught exceptions
18
48
  process.on('uncaughtException', (error) => {
19
49
  console.error(chalk.red('Uncaught Exception:'), error);
package/src/types.ts CHANGED
@@ -40,6 +40,7 @@ export interface AccountMapping {
40
40
  lunchFlowAccountName: string;
41
41
  actualBudgetAccountId: string;
42
42
  actualBudgetAccountName: string;
43
+ syncStartDate?: string; // Optional sync start date in YYYY-MM-DD format
43
44
  }
44
45
 
45
46
  export interface Config {
package/src/ui.ts CHANGED
@@ -149,12 +149,39 @@ export class TerminalUI {
149
149
  if (answer.abAccountId !== 'skip') {
150
150
  const abAccount = abAccounts.find(a => a.id === answer.abAccountId);
151
151
  if (abAccount) {
152
- mappings.push({
152
+ // Ask for optional sync start date
153
+ const dateAnswer = await inquirer.prompt([
154
+ {
155
+ type: 'input',
156
+ name: 'syncStartDate',
157
+ message: `Sync start date for "${lfAccount.name}" (YYYY-MM-DD, optional - press Enter to skip):`,
158
+ validate: (input: string) => {
159
+ if (!input.trim()) return true; // Empty is allowed
160
+ const dateRegex = /^\d{4}-\d{2}-\d{2}$/;
161
+ if (!dateRegex.test(input)) {
162
+ return 'Please enter date in YYYY-MM-DD format or leave empty';
163
+ }
164
+ const date = new Date(input);
165
+ if (isNaN(date.getTime())) {
166
+ return 'Please enter a valid date';
167
+ }
168
+ return true;
169
+ },
170
+ },
171
+ ]);
172
+
173
+ const mapping: AccountMapping = {
153
174
  lunchFlowAccountId: lfAccount.id,
154
175
  lunchFlowAccountName: lfAccount.name,
155
176
  actualBudgetAccountId: abAccount.id,
156
177
  actualBudgetAccountName: abAccount.name,
157
- });
178
+ };
179
+
180
+ if (dateAnswer.syncStartDate.trim()) {
181
+ mapping.syncStartDate = dateAnswer.syncStartDate.trim();
182
+ }
183
+
184
+ mappings.push(mapping);
158
185
  }
159
186
  }
160
187
  }
@@ -171,8 +198,8 @@ export class TerminalUI {
171
198
  }
172
199
 
173
200
  const table = new Table({
174
- head: ['Lunch Flow Account', '→', 'Actual Budget Account'],
175
- colWidths: [25, 3, 25],
201
+ head: ['Lunch Flow Account', '→', 'Actual Budget Account', 'Sync Start Date'],
202
+ colWidths: [25, 3, 25, 15],
176
203
  style: {
177
204
  head: ['cyan'],
178
205
  border: ['gray'],
@@ -183,7 +210,8 @@ export class TerminalUI {
183
210
  table.push([
184
211
  mapping.lunchFlowAccountName,
185
212
  '→',
186
- mapping.actualBudgetAccountName
213
+ mapping.actualBudgetAccountName,
214
+ mapping.syncStartDate || chalk.gray('None')
187
215
  ]);
188
216
  });
189
217
 
@@ -208,6 +236,7 @@ export class TerminalUI {
208
236
 
209
237
  async showMainMenu(): Promise<string> {
210
238
  console.log(chalk.blue('\n🎯 Main Menu\n'));
239
+ console.log(chalk.gray('💡 Tip: Use "actual-flow import" to run import directly\n'));
211
240
 
212
241
  const answer = await inquirer.prompt([
213
242
  {
File without changes