@actual-app/api 24.10.1 → 24.12.0

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.
Files changed (44) hide show
  1. package/@types/loot-core/client/state-types/modals.d.ts +11 -0
  2. package/@types/loot-core/client/state-types/queries.d.ts +9 -10
  3. package/@types/loot-core/platform/server/log/index.d.ts +0 -3
  4. package/@types/loot-core/server/accounts/rules.d.ts +23 -27
  5. package/@types/loot-core/server/accounts/sync.d.ts +5 -0
  6. package/@types/loot-core/server/accounts/transaction-rules.d.ts +8 -3
  7. package/@types/loot-core/server/budget/actions.d.ts +1 -0
  8. package/@types/loot-core/server/budget/app.d.ts +1 -1
  9. package/@types/loot-core/server/budget/categoryTemplate.d.ts +46 -0
  10. package/@types/loot-core/server/budget/goaltemplates.d.ts +4 -0
  11. package/@types/loot-core/server/budget/types/handlers.d.ts +5 -0
  12. package/@types/loot-core/server/budget/types/templates.d.ts +7 -1
  13. package/@types/loot-core/server/main-app.d.ts +1 -1
  14. package/@types/loot-core/server/prefs.d.ts +2 -0
  15. package/@types/loot-core/server/server-config.d.ts +1 -0
  16. package/@types/loot-core/shared/months.d.ts +1 -1
  17. package/@types/loot-core/shared/query.d.ts +30 -16
  18. package/@types/loot-core/shared/rules.d.ts +3 -3
  19. package/@types/loot-core/shared/schedules.d.ts +5 -2
  20. package/@types/loot-core/shared/util.d.ts +1 -3
  21. package/@types/loot-core/types/models/bank-sync.d.ts +21 -0
  22. package/@types/loot-core/types/models/dashboard.d.ts +29 -1
  23. package/@types/loot-core/types/models/gocardless.d.ts +61 -0
  24. package/@types/loot-core/types/models/index.d.ts +1 -0
  25. package/@types/loot-core/types/models/payee.d.ts +1 -1
  26. package/@types/loot-core/types/models/rule.d.ts +7 -2
  27. package/@types/loot-core/types/models/schedule.d.ts +1 -1
  28. package/@types/loot-core/types/models/simplefin.d.ts +7 -0
  29. package/@types/loot-core/types/prefs.d.ts +6 -3
  30. package/@types/loot-core/types/server-events.d.ts +2 -1
  31. package/@types/loot-core/types/server-handlers.d.ts +14 -1
  32. package/dist/app/bundle.api.js +12855 -5433
  33. package/dist/migrations/1722804019000_create_dashboard_table.js +2 -1
  34. package/dist/migrations/1730744182000_fix_dashboard_table.sql +7 -0
  35. package/dist/package.json +1 -1
  36. package/package.json +1 -1
  37. package/@types/loot-core/server/budget/goals/goalsAverage.d.ts +0 -4
  38. package/@types/loot-core/server/budget/goals/goalsBy.d.ts +0 -5
  39. package/@types/loot-core/server/budget/goals/goalsPercentage.d.ts +0 -4
  40. package/@types/loot-core/server/budget/goals/goalsRemainder.d.ts +0 -8
  41. package/@types/loot-core/server/budget/goals/goalsSimple.d.ts +0 -7
  42. package/@types/loot-core/server/budget/goals/goalsSpend.d.ts +0 -4
  43. package/@types/loot-core/server/budget/goals/goalsWeek.d.ts +0 -7
  44. /package/@types/loot-core/server/budget/{goals/goalsSchedule.d.ts → goalsSchedule.d.ts} +0 -0
@@ -4,6 +4,6 @@ export interface PayeeEntity {
4
4
  id: string;
5
5
  name: string;
6
6
  transfer_acct?: AccountEntity['id'];
7
- favorite?: boolean;
7
+ favorite?: 1 | 0;
8
8
  tombstone?: boolean;
9
9
  }
@@ -1,8 +1,8 @@
1
1
  import { type ScheduleEntity } from './schedule';
2
2
 
3
3
  export interface NewRuleEntity {
4
- stage: string;
5
- conditionsOp: 'any' | 'and';
4
+ stage: 'pre' | null | 'post';
5
+ conditionsOp: 'or' | 'and';
6
6
  conditions: RuleConditionEntity[];
7
7
  actions: RuleActionEntity[];
8
8
  tombstone?: boolean;
@@ -26,6 +26,7 @@ export type RuleConditionOp =
26
26
  | 'contains'
27
27
  | 'doesNotContain'
28
28
  | 'hasTags'
29
+ | 'and'
29
30
  | 'matches';
30
31
 
31
32
  type FieldValueTypes = {
@@ -35,8 +36,11 @@ type FieldValueTypes = {
35
36
  date: string;
36
37
  notes: string;
37
38
  payee: string;
39
+ payee_name: string;
38
40
  imported_payee: string;
39
41
  saved: string;
42
+ transfer: boolean;
43
+ parent: boolean;
40
44
  cleared: boolean;
41
45
  reconciled: boolean;
42
46
  };
@@ -138,6 +142,7 @@ export interface SetRuleActionEntity {
138
142
  op: 'set';
139
143
  value: unknown;
140
144
  options?: {
145
+ template?: string;
141
146
  splitIndex?: number;
142
147
  };
143
148
  type?: string;
@@ -32,7 +32,7 @@ export interface ScheduleEntity {
32
32
  // underlying rule
33
33
  _payee: PayeeEntity['id'];
34
34
  _account: AccountEntity['id'];
35
- _amount: unknown;
35
+ _amount: number | { num1: number; num2: number };
36
36
  _amountOp: string;
37
37
  _date: RecurConfig;
38
38
  _conditions: unknown;
@@ -1,3 +1,6 @@
1
+ import { AccountEntity } from './account';
2
+ import { BankSyncResponse } from './bank-sync';
3
+
1
4
  export type SimpleFinOrganization = {
2
5
  name: string;
3
6
  domain: string;
@@ -8,3 +11,7 @@ export type SimpleFinAccount = {
8
11
  name: string;
9
12
  org: SimpleFinOrganization;
10
13
  };
14
+
15
+ export interface SimpleFinBatchSyncResponse {
16
+ [accountId: AccountEntity['account_id']]: BankSyncResponse;
17
+ }
@@ -1,8 +1,8 @@
1
1
  export type FeatureFlag =
2
- | 'dashboards'
3
- | 'reportBudget'
4
2
  | 'goalTemplatesEnabled'
5
- | 'spendingReport';
3
+ | 'actionTemplating'
4
+ | 'upcomingLengthAdjustment'
5
+ | 'contextMenus';
6
6
 
7
7
  /**
8
8
  * Cross-device preferences. These sync across devices when they are changed.
@@ -10,6 +10,7 @@ export type FeatureFlag =
10
10
  export type SyncedPrefs = Partial<
11
11
  Record<
12
12
  | 'budgetType'
13
+ | 'upcomingScheduledTransactionLength'
13
14
  | 'firstDayOfWeekIdx'
14
15
  | 'dateFormat'
15
16
  | 'numberFormat'
@@ -24,6 +25,8 @@ export type SyncedPrefs = Partial<
24
25
  | `csv-mappings-${string}`
25
26
  | `csv-delimiter-${string}`
26
27
  | `csv-skip-lines-${string}`
28
+ | `csv-in-out-mode-${string}`
29
+ | `csv-out-value-${string}`
27
30
  | `csv-has-header-${string}`
28
31
  | `ofx-fallback-missing-payee-${string}`
29
32
  | `flip-amount-${string}-${'csv' | 'qif'}`
@@ -1,7 +1,8 @@
1
+ import { type Backup } from '../server/backups';
1
2
  import { type UndoState } from '../server/undo';
2
3
 
3
4
  export interface ServerEvents {
4
- 'backups-updated': unknown;
5
+ 'backups-updated': Backup[];
5
6
  'cells-changed': Array<{ name }>;
6
7
  'fallback-write-error': unknown;
7
8
  'finish-import': unknown;
@@ -116,6 +116,7 @@ export interface ServerHandlers {
116
116
  }) => Promise<unknown>;
117
117
 
118
118
  'payees-check-orphaned': (arg: { ids }) => Promise<unknown>;
119
+ 'payees-get-orphaned': () => Promise<PayeeEntity[]>;
119
120
 
120
121
  'payees-get-rules': (arg: { id: string }) => Promise<RuleEntity[]>;
121
122
 
@@ -193,6 +194,18 @@ export interface ServerHandlers {
193
194
 
194
195
  'simplefin-accounts': () => Promise<{ accounts: SimpleFinAccount[] }>;
195
196
 
197
+ 'simplefin-batch-sync': ({ ids }: { ids: string[] }) => Promise<
198
+ {
199
+ accountId: string;
200
+ res: {
201
+ errors;
202
+ newTransactions;
203
+ matchedTransactions;
204
+ updatedAccounts;
205
+ };
206
+ }[]
207
+ >;
208
+
196
209
  'gocardless-get-banks': (country: string) => Promise<{
197
210
  data: GoCardlessInstitution[];
198
211
  error?: { reason: string };
@@ -213,7 +226,7 @@ export interface ServerHandlers {
213
226
  | { error: 'failed' }
214
227
  >;
215
228
 
216
- 'accounts-bank-sync': (arg: { id?: string }) => Promise<{
229
+ 'accounts-bank-sync': (arg: { ids?: AccountEntity['id'][] }) => Promise<{
217
230
  errors;
218
231
  newTransactions;
219
232
  matchedTransactions;