@firela/api-types 0.0.0-canary.feeae929 → 0.0.0-canary.ffdf0021
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/dist/index.d.mts +432 -30
- package/dist/index.d.ts +432 -30
- package/dist/index.js +4 -2
- package/dist/index.mjs +4 -2
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +629 -16
- package/src/generated/services.gen.ts +80 -6
- package/src/generated/types.gen.ts +574 -30
|
@@ -595,7 +595,7 @@ export type PostingResponseDto = {
|
|
|
595
595
|
*/
|
|
596
596
|
account: string;
|
|
597
597
|
/**
|
|
598
|
-
* Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
|
|
598
|
+
* Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned. Carries the raw Beancount sign (credit-normal accounts such as Income post negative — the accounting truth, ADR-0126); renderers must not infer economic semantics from this sign.
|
|
599
599
|
*/
|
|
600
600
|
units?: string;
|
|
601
601
|
/**
|
|
@@ -830,7 +830,7 @@ export type PostingDetailDto = {
|
|
|
830
830
|
*/
|
|
831
831
|
account: string;
|
|
832
832
|
/**
|
|
833
|
-
* Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned.
|
|
833
|
+
* Amount as decimal string. Typed optional but always present in responses: interpolation fills any MISSING posting before it is persisted or returned. Carries the raw Beancount sign (credit-normal accounts such as Income post negative — the accounting truth, ADR-0126); renderers must not infer economic semantics from this sign.
|
|
834
834
|
*/
|
|
835
835
|
units?: string;
|
|
836
836
|
/**
|
|
@@ -976,6 +976,101 @@ export type flag2 =
|
|
|
976
976
|
*/
|
|
977
977
|
export type status2 = 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
|
|
978
978
|
|
|
979
|
+
export type TransactionListItemDto = {
|
|
980
|
+
/**
|
|
981
|
+
* Transaction ID
|
|
982
|
+
*/
|
|
983
|
+
id: string;
|
|
984
|
+
/**
|
|
985
|
+
* Transaction date
|
|
986
|
+
*/
|
|
987
|
+
date: string;
|
|
988
|
+
/**
|
|
989
|
+
* Transaction flag
|
|
990
|
+
*/
|
|
991
|
+
flag?:
|
|
992
|
+
| 'CLEARED'
|
|
993
|
+
| 'PENDING'
|
|
994
|
+
| 'PADDING'
|
|
995
|
+
| 'SUMMARIZE'
|
|
996
|
+
| 'TRANSFER'
|
|
997
|
+
| 'CONVERSIONS';
|
|
998
|
+
/**
|
|
999
|
+
* Custom flag (if not using standard flags)
|
|
1000
|
+
*/
|
|
1001
|
+
customFlag?: string;
|
|
1002
|
+
/**
|
|
1003
|
+
* Payee name
|
|
1004
|
+
*/
|
|
1005
|
+
payee?: string;
|
|
1006
|
+
/**
|
|
1007
|
+
* Transaction narration
|
|
1008
|
+
*/
|
|
1009
|
+
narration: string;
|
|
1010
|
+
/**
|
|
1011
|
+
* Transaction tags
|
|
1012
|
+
*/
|
|
1013
|
+
tags: Array<string>;
|
|
1014
|
+
/**
|
|
1015
|
+
* Transaction links
|
|
1016
|
+
*/
|
|
1017
|
+
links: Array<string>;
|
|
1018
|
+
/**
|
|
1019
|
+
* Transaction metadata
|
|
1020
|
+
*/
|
|
1021
|
+
meta?: {
|
|
1022
|
+
[key: string]: unknown;
|
|
1023
|
+
};
|
|
1024
|
+
/**
|
|
1025
|
+
* Transaction status
|
|
1026
|
+
*/
|
|
1027
|
+
status: 'ACTIVE' | 'VOIDED' | 'SUPERSEDED';
|
|
1028
|
+
/**
|
|
1029
|
+
* Source type (free-form string from transaction metadata, e.g. import, api)
|
|
1030
|
+
*/
|
|
1031
|
+
sourceType?: string;
|
|
1032
|
+
/**
|
|
1033
|
+
* Source platform (e.g., alipay, wechat)
|
|
1034
|
+
*/
|
|
1035
|
+
sourcePlatform?: string;
|
|
1036
|
+
/**
|
|
1037
|
+
* Transaction postings
|
|
1038
|
+
*/
|
|
1039
|
+
postings: Array<PostingDetailDto>;
|
|
1040
|
+
/**
|
|
1041
|
+
* Created at timestamp
|
|
1042
|
+
*/
|
|
1043
|
+
createdAt: string;
|
|
1044
|
+
/**
|
|
1045
|
+
* Voided at timestamp (if voided)
|
|
1046
|
+
*/
|
|
1047
|
+
voidedAt?: string;
|
|
1048
|
+
/**
|
|
1049
|
+
* User ID who voided this transaction
|
|
1050
|
+
*/
|
|
1051
|
+
voidedBy?: string;
|
|
1052
|
+
/**
|
|
1053
|
+
* Correction reason (if voided or superseded)
|
|
1054
|
+
*/
|
|
1055
|
+
correctionReason?: string;
|
|
1056
|
+
/**
|
|
1057
|
+
* ID of the transaction that supersedes this one (set when status=SUPERSEDED)
|
|
1058
|
+
*/
|
|
1059
|
+
supersededBy?: string;
|
|
1060
|
+
/**
|
|
1061
|
+
* ID of the transaction this one corrected/replaced (back-link on the replacement)
|
|
1062
|
+
*/
|
|
1063
|
+
originalTxn?: string;
|
|
1064
|
+
/**
|
|
1065
|
+
* Per-leg sign-normalized row amount for the category viewpoint (ADR-0126): each posting on the category account set contributes its unitsNumber with Income-root legs negated and Expenses-root legs identity. Positive under normal booking but NOT clamped (explicit negative expense legs and net-flip refund months stay negative). Omitted outside the category viewpoint.
|
|
1066
|
+
*/
|
|
1067
|
+
viewpointAmount?: string;
|
|
1068
|
+
/**
|
|
1069
|
+
* Currency of viewpointAmount. A row spanning multiple currencies takes the largest-magnitude currency group (known simplification, ADR-0126). Omitted outside the category viewpoint.
|
|
1070
|
+
*/
|
|
1071
|
+
viewpointCurrency?: string;
|
|
1072
|
+
};
|
|
1073
|
+
|
|
979
1074
|
export type BalanceByCurrencyDto = {
|
|
980
1075
|
/**
|
|
981
1076
|
* ISO 4217 currency code
|
|
@@ -1004,7 +1099,7 @@ export type ExchangeRateWarningDto = {
|
|
|
1004
1099
|
|
|
1005
1100
|
export type TransactionListSummaryDto = {
|
|
1006
1101
|
/**
|
|
1007
|
-
* Partial converted total in base currency (rated currencies only
|
|
1102
|
+
* Partial converted total in base currency (rated currencies only). Sign by viewpoint (ADR-0126): account viewpoint keeps the raw Beancount sign (income negative); category viewpoint is per-leg sign-normalized (Income legs negated, Expenses legs identity — positive under normal booking, not clamped). When warnings is non-empty this excludes currencies missing an FX rate; may be "0.00" if ALL non-base currencies lack a rate. Converted at the dateTo (or current) available rate.
|
|
1008
1103
|
*/
|
|
1009
1104
|
totalAmount: string;
|
|
1010
1105
|
/**
|
|
@@ -1021,11 +1116,32 @@ export type TransactionListSummaryDto = {
|
|
|
1021
1116
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
1022
1117
|
};
|
|
1023
1118
|
|
|
1119
|
+
export type TransactionListViewpointDto = {
|
|
1120
|
+
/**
|
|
1121
|
+
* Viewpoint type (only category drill-down carries a viewpoint today)
|
|
1122
|
+
*/
|
|
1123
|
+
type: 'category';
|
|
1124
|
+
/**
|
|
1125
|
+
* Flow root the category account set is restricted to
|
|
1126
|
+
*/
|
|
1127
|
+
flow: 'income' | 'expense';
|
|
1128
|
+
};
|
|
1129
|
+
|
|
1130
|
+
/**
|
|
1131
|
+
* Viewpoint type (only category drill-down carries a viewpoint today)
|
|
1132
|
+
*/
|
|
1133
|
+
export type type2 = 'category';
|
|
1134
|
+
|
|
1135
|
+
/**
|
|
1136
|
+
* Flow root the category account set is restricted to
|
|
1137
|
+
*/
|
|
1138
|
+
export type flow = 'income' | 'expense';
|
|
1139
|
+
|
|
1024
1140
|
export type TransactionListResponseDto = {
|
|
1025
1141
|
/**
|
|
1026
1142
|
* List of transactions
|
|
1027
1143
|
*/
|
|
1028
|
-
data: Array<
|
|
1144
|
+
data: Array<TransactionListItemDto>;
|
|
1029
1145
|
/**
|
|
1030
1146
|
* Total count of matching transactions
|
|
1031
1147
|
*/
|
|
@@ -1042,6 +1158,10 @@ export type TransactionListResponseDto = {
|
|
|
1042
1158
|
* Amount summary for the full filtered set (#514). Present only when the request has a single account OR category viewpoint; omitted for search-only / plain-list / dual-perspective requests.
|
|
1043
1159
|
*/
|
|
1044
1160
|
summary?: TransactionListSummaryDto;
|
|
1161
|
+
/**
|
|
1162
|
+
* Viewpoint metadata (ADR-0126). Present only for a single category filter (category + flow, no accountId); dual-perspective requests are viewpoint-less (raw signs, no viewpointAmount).
|
|
1163
|
+
*/
|
|
1164
|
+
viewpoint?: TransactionListViewpointDto;
|
|
1045
1165
|
};
|
|
1046
1166
|
|
|
1047
1167
|
export type TagSuggestionDto = {
|
|
@@ -1253,7 +1373,7 @@ export type ReviewSummaryDto = {
|
|
|
1253
1373
|
/**
|
|
1254
1374
|
* Review type
|
|
1255
1375
|
*/
|
|
1256
|
-
export type
|
|
1376
|
+
export type type3 =
|
|
1257
1377
|
| 'DUPLICATE'
|
|
1258
1378
|
| 'RULE_MATCH'
|
|
1259
1379
|
| 'PAYEE_MATCH'
|
|
@@ -3016,6 +3136,32 @@ export type DeleteOwnUserDto = {
|
|
|
3016
3136
|
accessToken: string;
|
|
3017
3137
|
};
|
|
3018
3138
|
|
|
3139
|
+
export type UserSettingsResponseDto = {
|
|
3140
|
+
/**
|
|
3141
|
+
* Base currency (ISO 4217) for net-worth/report aggregation. Independent of region (ADR-0006).
|
|
3142
|
+
*/
|
|
3143
|
+
baseCurrency: string | null;
|
|
3144
|
+
};
|
|
3145
|
+
|
|
3146
|
+
export type UserResponseDto = {
|
|
3147
|
+
/**
|
|
3148
|
+
* User ID
|
|
3149
|
+
*/
|
|
3150
|
+
id: string;
|
|
3151
|
+
/**
|
|
3152
|
+
* Assigned user role
|
|
3153
|
+
*/
|
|
3154
|
+
role: string;
|
|
3155
|
+
/**
|
|
3156
|
+
* Permission strings
|
|
3157
|
+
*/
|
|
3158
|
+
permissions: Array<string>;
|
|
3159
|
+
/**
|
|
3160
|
+
* User settings
|
|
3161
|
+
*/
|
|
3162
|
+
settings: UserSettingsResponseDto;
|
|
3163
|
+
};
|
|
3164
|
+
|
|
3019
3165
|
export type SignupDto = {
|
|
3020
3166
|
/**
|
|
3021
3167
|
* Cloudflare Turnstile verification token (optional when Turnstile disabled)
|
|
@@ -3502,6 +3648,57 @@ export type TestRuleResponseDto = {
|
|
|
3502
3648
|
};
|
|
3503
3649
|
};
|
|
3504
3650
|
|
|
3651
|
+
export type CategoryCatalogEntryDto = {
|
|
3652
|
+
/**
|
|
3653
|
+
* Category slug (single source-of-truth)
|
|
3654
|
+
*/
|
|
3655
|
+
slug: string;
|
|
3656
|
+
/**
|
|
3657
|
+
* Display scenario group (maps to frontend picker _scenario)
|
|
3658
|
+
*/
|
|
3659
|
+
scenario:
|
|
3660
|
+
| 'expense'
|
|
3661
|
+
| 'income'
|
|
3662
|
+
| 'investment'
|
|
3663
|
+
| 'banking'
|
|
3664
|
+
| 'transfer'
|
|
3665
|
+
| 'payment';
|
|
3666
|
+
/**
|
|
3667
|
+
* Lucide icon name
|
|
3668
|
+
*/
|
|
3669
|
+
icon: string;
|
|
3670
|
+
/**
|
|
3671
|
+
* Applicable regions ('*' = all, 'cn' = CN-only)
|
|
3672
|
+
*/
|
|
3673
|
+
regions: Array<string>;
|
|
3674
|
+
};
|
|
3675
|
+
|
|
3676
|
+
/**
|
|
3677
|
+
* Display scenario group (maps to frontend picker _scenario)
|
|
3678
|
+
*/
|
|
3679
|
+
export type scenario =
|
|
3680
|
+
| 'expense'
|
|
3681
|
+
| 'income'
|
|
3682
|
+
| 'investment'
|
|
3683
|
+
| 'banking'
|
|
3684
|
+
| 'transfer'
|
|
3685
|
+
| 'payment';
|
|
3686
|
+
|
|
3687
|
+
export type CategoryCatalogListResponseDto = {
|
|
3688
|
+
/**
|
|
3689
|
+
* Category entries (region-scoped, query-filtered)
|
|
3690
|
+
*/
|
|
3691
|
+
items: Array<CategoryCatalogEntryDto>;
|
|
3692
|
+
/**
|
|
3693
|
+
* Total category entries for the region (before query filtering)
|
|
3694
|
+
*/
|
|
3695
|
+
total: number;
|
|
3696
|
+
/**
|
|
3697
|
+
* Region code
|
|
3698
|
+
*/
|
|
3699
|
+
region: string;
|
|
3700
|
+
};
|
|
3701
|
+
|
|
3505
3702
|
export type CreateBeanEventDto = {
|
|
3506
3703
|
/**
|
|
3507
3704
|
* Life event date (ISO 8601)
|
|
@@ -4183,11 +4380,88 @@ export type ParserTelemetryReportDto = unknown;
|
|
|
4183
4380
|
|
|
4184
4381
|
export type UncoveredFormatMissDto = unknown;
|
|
4185
4382
|
|
|
4383
|
+
export type ClientParsedDataDto = {
|
|
4384
|
+
/**
|
|
4385
|
+
* Transaction amount
|
|
4386
|
+
*/
|
|
4387
|
+
amount?: number;
|
|
4388
|
+
/**
|
|
4389
|
+
* Currency code
|
|
4390
|
+
*/
|
|
4391
|
+
currency?: string;
|
|
4392
|
+
/**
|
|
4393
|
+
* Transaction date (ISO 8601)
|
|
4394
|
+
*/
|
|
4395
|
+
date?: string;
|
|
4396
|
+
/**
|
|
4397
|
+
* Payee/merchant name
|
|
4398
|
+
*/
|
|
4399
|
+
payee?: string;
|
|
4400
|
+
/**
|
|
4401
|
+
* Transaction narration
|
|
4402
|
+
*/
|
|
4403
|
+
narration?: string;
|
|
4404
|
+
/**
|
|
4405
|
+
* Category slug
|
|
4406
|
+
*/
|
|
4407
|
+
category?: string;
|
|
4408
|
+
/**
|
|
4409
|
+
* Income type
|
|
4410
|
+
*/
|
|
4411
|
+
incomeType?: string;
|
|
4412
|
+
/**
|
|
4413
|
+
* Income source
|
|
4414
|
+
*/
|
|
4415
|
+
incomeSource?: string;
|
|
4416
|
+
/**
|
|
4417
|
+
* Security symbol code (e.g., 600519, AAPL)
|
|
4418
|
+
*/
|
|
4419
|
+
symbol?: string;
|
|
4420
|
+
/**
|
|
4421
|
+
* Quantity of shares/units
|
|
4422
|
+
*/
|
|
4423
|
+
quantity?: number;
|
|
4424
|
+
/**
|
|
4425
|
+
* Unit price per share/unit
|
|
4426
|
+
*/
|
|
4427
|
+
price?: number;
|
|
4428
|
+
/**
|
|
4429
|
+
* Investment action
|
|
4430
|
+
*/
|
|
4431
|
+
investmentAction?: 'buy' | 'sell';
|
|
4432
|
+
/**
|
|
4433
|
+
* Payment source: asset (default) or liability (credit card)
|
|
4434
|
+
*/
|
|
4435
|
+
paymentSource?: 'asset' | 'liability';
|
|
4436
|
+
/**
|
|
4437
|
+
* Liability account hint (CreditCard/Huabei/Baitiao)
|
|
4438
|
+
*/
|
|
4439
|
+
liabilityHint?: string;
|
|
4440
|
+
/**
|
|
4441
|
+
* Display-only warning from the prior response; accepted but ignored.
|
|
4442
|
+
*/
|
|
4443
|
+
warning?: string;
|
|
4444
|
+
};
|
|
4445
|
+
|
|
4446
|
+
/**
|
|
4447
|
+
* Investment action
|
|
4448
|
+
*/
|
|
4449
|
+
export type investmentAction = 'buy' | 'sell';
|
|
4450
|
+
|
|
4451
|
+
/**
|
|
4452
|
+
* Payment source: asset (default) or liability (credit card)
|
|
4453
|
+
*/
|
|
4454
|
+
export type paymentSource = 'asset' | 'liability';
|
|
4455
|
+
|
|
4186
4456
|
export type ProcessNlpDto = {
|
|
4187
4457
|
/**
|
|
4188
|
-
* Natural language text describing a transaction (
|
|
4458
|
+
* Natural language text describing a transaction. Optional when `confirm` is true (structured confirm); otherwise required.
|
|
4459
|
+
*/
|
|
4460
|
+
message?: string;
|
|
4461
|
+
/**
|
|
4462
|
+
* Structured confirm signal — bypasses NL confirm-word matching when true. Send parsedData field edits alongside. The NL word-list path is the fallback.
|
|
4189
4463
|
*/
|
|
4190
|
-
|
|
4464
|
+
confirm?: boolean;
|
|
4191
4465
|
/**
|
|
4192
4466
|
* Session ID for multi-turn conversation (auto-generated if not provided)
|
|
4193
4467
|
*/
|
|
@@ -4195,9 +4469,7 @@ export type ProcessNlpDto = {
|
|
|
4195
4469
|
/**
|
|
4196
4470
|
* Parsed data from previous NLP response for session recovery. Send back the parsedData received in confirm_payee/confirm responses.
|
|
4197
4471
|
*/
|
|
4198
|
-
parsedData?:
|
|
4199
|
-
[key: string]: unknown;
|
|
4200
|
-
};
|
|
4472
|
+
parsedData?: ClientParsedDataDto;
|
|
4201
4473
|
/**
|
|
4202
4474
|
* confirm_rule echo-back: rule id selected from the prior confirm_rule response (matchedRule.id or alternatives[i].ruleId). Applied directly when the session is confirming_rule — no NL re-parse.
|
|
4203
4475
|
*/
|
|
@@ -4302,16 +4574,6 @@ export type NlpParsedDataDto = {
|
|
|
4302
4574
|
warning?: string;
|
|
4303
4575
|
};
|
|
4304
4576
|
|
|
4305
|
-
/**
|
|
4306
|
-
* Investment action
|
|
4307
|
-
*/
|
|
4308
|
-
export type investmentAction = 'buy' | 'sell';
|
|
4309
|
-
|
|
4310
|
-
/**
|
|
4311
|
-
* Payment source: asset (default) or liability (credit card)
|
|
4312
|
-
*/
|
|
4313
|
-
export type paymentSource = 'asset' | 'liability';
|
|
4314
|
-
|
|
4315
4577
|
export type NlpSourceTransactionDto = {
|
|
4316
4578
|
/**
|
|
4317
4579
|
* Transaction date (ISO format)
|
|
@@ -4639,7 +4901,12 @@ export type NlpResponseDto = {
|
|
|
4639
4901
|
/**
|
|
4640
4902
|
* Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
|
|
4641
4903
|
*/
|
|
4642
|
-
assetSubType?:
|
|
4904
|
+
assetSubType?:
|
|
4905
|
+
| 'transfer'
|
|
4906
|
+
| 'banking'
|
|
4907
|
+
| 'investment'
|
|
4908
|
+
| 'lend'
|
|
4909
|
+
| 'lend_collect';
|
|
4643
4910
|
/**
|
|
4644
4911
|
* Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
|
|
4645
4912
|
*/
|
|
@@ -4756,7 +5023,12 @@ export type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
|
|
|
4756
5023
|
/**
|
|
4757
5024
|
* Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
|
|
4758
5025
|
*/
|
|
4759
|
-
export type assetSubType =
|
|
5026
|
+
export type assetSubType =
|
|
5027
|
+
| 'transfer'
|
|
5028
|
+
| 'banking'
|
|
5029
|
+
| 'investment'
|
|
5030
|
+
| 'lend'
|
|
5031
|
+
| 'lend_collect';
|
|
4760
5032
|
|
|
4761
5033
|
/**
|
|
4762
5034
|
* Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
|
|
@@ -4797,13 +5069,21 @@ export type PlatformListItemDto = {
|
|
|
4797
5069
|
*/
|
|
4798
5070
|
canonical: string;
|
|
4799
5071
|
/**
|
|
4800
|
-
* Suggested path segment — canonical
|
|
5072
|
+
* Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")
|
|
4801
5073
|
*/
|
|
4802
5074
|
suggestedSegment: string;
|
|
4803
5075
|
/**
|
|
4804
5076
|
* Logo URL
|
|
4805
5077
|
*/
|
|
4806
5078
|
logoUrl: string | null;
|
|
5079
|
+
/**
|
|
5080
|
+
* ISO 3166-1 alpha-2 (UPPERCASE); null = global platform
|
|
5081
|
+
*/
|
|
5082
|
+
countryCode: string | null;
|
|
5083
|
+
/**
|
|
5084
|
+
* Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.
|
|
5085
|
+
*/
|
|
5086
|
+
category: string | null;
|
|
4807
5087
|
/**
|
|
4808
5088
|
* Whether user has accounts using this platform
|
|
4809
5089
|
*/
|
|
@@ -4813,7 +5093,7 @@ export type PlatformListItemDto = {
|
|
|
4813
5093
|
/**
|
|
4814
5094
|
* Platform type
|
|
4815
5095
|
*/
|
|
4816
|
-
export type
|
|
5096
|
+
export type type4 =
|
|
4817
5097
|
| 'BANK'
|
|
4818
5098
|
| 'BROKERAGE'
|
|
4819
5099
|
| 'CRYPTO_EXCHANGE'
|
|
@@ -4847,13 +5127,21 @@ export type PlatformMatchResultDto = {
|
|
|
4847
5127
|
| 'INSURANCE'
|
|
4848
5128
|
| 'OTHER';
|
|
4849
5129
|
/**
|
|
4850
|
-
* Suggested path segment — canonical,
|
|
5130
|
+
* Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")
|
|
4851
5131
|
*/
|
|
4852
5132
|
suggestedSegment: string;
|
|
4853
5133
|
/**
|
|
4854
5134
|
* Logo URL
|
|
4855
5135
|
*/
|
|
4856
5136
|
logoUrl: string | null;
|
|
5137
|
+
/**
|
|
5138
|
+
* ISO 3166-1 alpha-2 (UPPERCASE); null = global platform
|
|
5139
|
+
*/
|
|
5140
|
+
countryCode: string | null;
|
|
5141
|
+
/**
|
|
5142
|
+
* Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.
|
|
5143
|
+
*/
|
|
5144
|
+
category: string | null;
|
|
4857
5145
|
/**
|
|
4858
5146
|
* How this row matched: 'exact' > 'prefix' > 'substring'
|
|
4859
5147
|
*/
|
|
@@ -5637,7 +5925,7 @@ export type HoldingPnlWarningDto = {
|
|
|
5637
5925
|
/**
|
|
5638
5926
|
* Warning type
|
|
5639
5927
|
*/
|
|
5640
|
-
export type
|
|
5928
|
+
export type type5 =
|
|
5641
5929
|
| 'MISSING_COST_FX_RATE'
|
|
5642
5930
|
| 'MISSING_MARKET_FX_RATE'
|
|
5643
5931
|
| 'MISSING_SALE_PRICE'
|
|
@@ -5676,6 +5964,123 @@ export type AnonymousLoginResponseDto = {
|
|
|
5676
5964
|
authToken: string;
|
|
5677
5965
|
};
|
|
5678
5966
|
|
|
5967
|
+
export type ParserContributionMetaDto = {
|
|
5968
|
+
/**
|
|
5969
|
+
* Institution slug (lowercase kebab-case)
|
|
5970
|
+
*/
|
|
5971
|
+
institution: string;
|
|
5972
|
+
region:
|
|
5973
|
+
| 'cn'
|
|
5974
|
+
| 'us'
|
|
5975
|
+
| 'de'
|
|
5976
|
+
| 'fr'
|
|
5977
|
+
| 'gb'
|
|
5978
|
+
| 'hk'
|
|
5979
|
+
| 'jp'
|
|
5980
|
+
| 'sg'
|
|
5981
|
+
| 'au'
|
|
5982
|
+
| 'ca'
|
|
5983
|
+
| 'other';
|
|
5984
|
+
accountType: 'checking' | 'savings' | 'credit' | 'debit' | 'investment';
|
|
5985
|
+
format: 'csv' | 'xlsx' | 'pdf' | 'ofx' | 'qif';
|
|
5986
|
+
institutionDisplayName?: string;
|
|
5987
|
+
encoding?: string;
|
|
5988
|
+
/**
|
|
5989
|
+
* CSV delimiter character: ",", ";", "\t" or "|"
|
|
5990
|
+
*/
|
|
5991
|
+
delimiter?: string;
|
|
5992
|
+
/**
|
|
5993
|
+
* Header row count; the client omits the field when it is 1
|
|
5994
|
+
*/
|
|
5995
|
+
headerRows?: number;
|
|
5996
|
+
notes?: string;
|
|
5997
|
+
};
|
|
5998
|
+
|
|
5999
|
+
export type region =
|
|
6000
|
+
| 'cn'
|
|
6001
|
+
| 'us'
|
|
6002
|
+
| 'de'
|
|
6003
|
+
| 'fr'
|
|
6004
|
+
| 'gb'
|
|
6005
|
+
| 'hk'
|
|
6006
|
+
| 'jp'
|
|
6007
|
+
| 'sg'
|
|
6008
|
+
| 'au'
|
|
6009
|
+
| 'ca'
|
|
6010
|
+
| 'other';
|
|
6011
|
+
|
|
6012
|
+
export type accountType =
|
|
6013
|
+
| 'checking'
|
|
6014
|
+
| 'savings'
|
|
6015
|
+
| 'credit'
|
|
6016
|
+
| 'debit'
|
|
6017
|
+
| 'investment';
|
|
6018
|
+
|
|
6019
|
+
export type format = 'csv' | 'xlsx' | 'pdf' | 'ofx' | 'qif';
|
|
6020
|
+
|
|
6021
|
+
export type ParserContributionSamplesDto = {
|
|
6022
|
+
/**
|
|
6023
|
+
* Client-sanitized sample rows (key = column name, value = cell)
|
|
6024
|
+
*/
|
|
6025
|
+
rows: Array<{
|
|
6026
|
+
[key: string]: unknown;
|
|
6027
|
+
}>;
|
|
6028
|
+
rawHeaders?: Array<string>;
|
|
6029
|
+
};
|
|
6030
|
+
|
|
6031
|
+
export type FieldHintDto = {
|
|
6032
|
+
columnName: string;
|
|
6033
|
+
/**
|
|
6034
|
+
* Date format, e.g. yyyy-MM-dd HH:mm
|
|
6035
|
+
*/
|
|
6036
|
+
format?: string;
|
|
6037
|
+
signConvention?: 'negative-expense' | 'positive-expense' | 'separate-columns';
|
|
6038
|
+
creditColumn?: string;
|
|
6039
|
+
debitColumn?: string;
|
|
6040
|
+
};
|
|
6041
|
+
|
|
6042
|
+
export type signConvention =
|
|
6043
|
+
| 'negative-expense'
|
|
6044
|
+
| 'positive-expense'
|
|
6045
|
+
| 'separate-columns';
|
|
6046
|
+
|
|
6047
|
+
export type ParserContributionFieldHintsDto = {
|
|
6048
|
+
date: FieldHintDto;
|
|
6049
|
+
amount: FieldHintDto;
|
|
6050
|
+
description?: FieldHintDto;
|
|
6051
|
+
balance?: FieldHintDto;
|
|
6052
|
+
payee?: FieldHintDto;
|
|
6053
|
+
reference?: FieldHintDto;
|
|
6054
|
+
category?: FieldHintDto;
|
|
6055
|
+
};
|
|
6056
|
+
|
|
6057
|
+
export type ExpectedTransactionDto = {
|
|
6058
|
+
date: string;
|
|
6059
|
+
amount: number;
|
|
6060
|
+
description: string;
|
|
6061
|
+
payee?: string;
|
|
6062
|
+
category?: string;
|
|
6063
|
+
};
|
|
6064
|
+
|
|
6065
|
+
export type ParserContributionExamplesDto = {
|
|
6066
|
+
expectedTransactions: Array<ExpectedTransactionDto>;
|
|
6067
|
+
};
|
|
6068
|
+
|
|
6069
|
+
export type ParserContributionRequestDto = {
|
|
6070
|
+
meta: ParserContributionMetaDto;
|
|
6071
|
+
samples: ParserContributionSamplesDto;
|
|
6072
|
+
fieldHints: ParserContributionFieldHintsDto;
|
|
6073
|
+
/**
|
|
6074
|
+
* Omitted entirely by the client when empty
|
|
6075
|
+
*/
|
|
6076
|
+
examples?: ParserContributionExamplesDto;
|
|
6077
|
+
};
|
|
6078
|
+
|
|
6079
|
+
export type ParserContributionRelayResponseDto = {
|
|
6080
|
+
issueUrl: string;
|
|
6081
|
+
issueNumber: number;
|
|
6082
|
+
};
|
|
6083
|
+
|
|
5679
6084
|
export type SymbolSearchResultDto = {
|
|
5680
6085
|
symbol: string;
|
|
5681
6086
|
name?: {
|
|
@@ -6291,7 +6696,7 @@ export type TransactionControllerListData = {
|
|
|
6291
6696
|
*/
|
|
6292
6697
|
accountId?: string;
|
|
6293
6698
|
/**
|
|
6294
|
-
* Filter by ADR-0075 functional category (Group segment); matches any posting to an
|
|
6699
|
+
* Filter by ADR-0075 functional category (Group segment); matches any posting to an account whose derived Group segment equals this value. Must be accompanied by flow (ADR-0126).
|
|
6295
6700
|
*/
|
|
6296
6701
|
category?: string;
|
|
6297
6702
|
/**
|
|
@@ -6302,6 +6707,10 @@ export type TransactionControllerListData = {
|
|
|
6302
6707
|
* Filter by end date (inclusive), format: YYYY-MM-DD
|
|
6303
6708
|
*/
|
|
6304
6709
|
dateTo?: string;
|
|
6710
|
+
/**
|
|
6711
|
+
* Required when category is present (400 otherwise) and vice versa (ADR-0126). Restricts the category account set to the flow root (income → Income:, expense → Expenses:) and drives the per-leg sign normalization of row viewpointAmount and the summary. OpenAPI cannot express conditional requiredness — the pairing is enforced at runtime.
|
|
6712
|
+
*/
|
|
6713
|
+
flow?: 'income' | 'expense';
|
|
6305
6714
|
/**
|
|
6306
6715
|
* Number of items per page (1-100, default: 20)
|
|
6307
6716
|
*/
|
|
@@ -8421,7 +8830,7 @@ export type UserControllerGetUserData = {
|
|
|
8421
8830
|
acceptLanguage: string;
|
|
8422
8831
|
};
|
|
8423
8832
|
|
|
8424
|
-
export type UserControllerGetUserResponse =
|
|
8833
|
+
export type UserControllerGetUserResponse = UserResponseDto;
|
|
8425
8834
|
|
|
8426
8835
|
export type UserControllerSignupUserData = {
|
|
8427
8836
|
requestBody: SignupDto;
|
|
@@ -8893,6 +9302,55 @@ export type TransactionRuleControllerTestData = {
|
|
|
8893
9302
|
|
|
8894
9303
|
export type TransactionRuleControllerTestResponse = TestRuleResponseDto;
|
|
8895
9304
|
|
|
9305
|
+
export type CategoryCatalogControllerListData = {
|
|
9306
|
+
/**
|
|
9307
|
+
* Region code for tenant context
|
|
9308
|
+
*/
|
|
9309
|
+
region:
|
|
9310
|
+
| 'ad'
|
|
9311
|
+
| 'ae'
|
|
9312
|
+
| 'af'
|
|
9313
|
+
| 'ag'
|
|
9314
|
+
| 'al'
|
|
9315
|
+
| 'am'
|
|
9316
|
+
| 'ao'
|
|
9317
|
+
| 'au'
|
|
9318
|
+
| 'br'
|
|
9319
|
+
| 'ca'
|
|
9320
|
+
| 'cn'
|
|
9321
|
+
| 'de'
|
|
9322
|
+
| 'dz'
|
|
9323
|
+
| 'es'
|
|
9324
|
+
| 'fr'
|
|
9325
|
+
| 'gb'
|
|
9326
|
+
| 'hk'
|
|
9327
|
+
| 'in'
|
|
9328
|
+
| 'it'
|
|
9329
|
+
| 'jp'
|
|
9330
|
+
| 'kr'
|
|
9331
|
+
| 'nl'
|
|
9332
|
+
| 'sg'
|
|
9333
|
+
| 'tw'
|
|
9334
|
+
| 'us';
|
|
9335
|
+
/**
|
|
9336
|
+
* Filter by routeBearing (entity-router route() consumes it)
|
|
9337
|
+
*/
|
|
9338
|
+
routeBearing?: boolean;
|
|
9339
|
+
/**
|
|
9340
|
+
* Filter by scenario
|
|
9341
|
+
*/
|
|
9342
|
+
scenario?:
|
|
9343
|
+
| 'expense'
|
|
9344
|
+
| 'income'
|
|
9345
|
+
| 'investment'
|
|
9346
|
+
| 'banking'
|
|
9347
|
+
| 'transfer'
|
|
9348
|
+
| 'payment';
|
|
9349
|
+
};
|
|
9350
|
+
|
|
9351
|
+
export type CategoryCatalogControllerListResponse =
|
|
9352
|
+
CategoryCatalogListResponseDto;
|
|
9353
|
+
|
|
8896
9354
|
export type EventControllerCreateData = {
|
|
8897
9355
|
/**
|
|
8898
9356
|
* Region code for tenant context (decorative for life events)
|
|
@@ -10056,6 +10514,13 @@ export type PlatformControllerCreateData = {
|
|
|
10056
10514
|
|
|
10057
10515
|
export type PlatformControllerCreateResponse = unknown;
|
|
10058
10516
|
|
|
10517
|
+
export type PlatformControllerGetPlatformListData = {
|
|
10518
|
+
/**
|
|
10519
|
+
* Region code (ISO 3166-1 alpha-2) that biases within-type-bucket ordering (local-region platforms first). Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
|
|
10520
|
+
*/
|
|
10521
|
+
region?: string;
|
|
10522
|
+
};
|
|
10523
|
+
|
|
10059
10524
|
export type PlatformControllerGetPlatformListResponse =
|
|
10060
10525
|
Array<PlatformListItemDto>;
|
|
10061
10526
|
|
|
@@ -10065,7 +10530,7 @@ export type PlatformControllerMatchPlatformsData = {
|
|
|
10065
10530
|
*/
|
|
10066
10531
|
q: string;
|
|
10067
10532
|
/**
|
|
10068
|
-
* Region code
|
|
10533
|
+
* Region code (ISO 3166-1 alpha-2) that biases within-tier ordering (local-region platforms first); also the intended categoryOverrides key. Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
|
|
10069
10534
|
*/
|
|
10070
10535
|
region?: string;
|
|
10071
10536
|
};
|
|
@@ -10321,6 +10786,42 @@ export type AuthControllerAccessTokenLoginData = {
|
|
|
10321
10786
|
|
|
10322
10787
|
export type AuthControllerAccessTokenLoginResponse = AnonymousLoginResponseDto;
|
|
10323
10788
|
|
|
10789
|
+
export type ParserContributionControllerCreateData = {
|
|
10790
|
+
/**
|
|
10791
|
+
* Region code for tenant context (routing only; the institution region rides in the payload meta)
|
|
10792
|
+
*/
|
|
10793
|
+
region:
|
|
10794
|
+
| 'ad'
|
|
10795
|
+
| 'ae'
|
|
10796
|
+
| 'af'
|
|
10797
|
+
| 'ag'
|
|
10798
|
+
| 'al'
|
|
10799
|
+
| 'am'
|
|
10800
|
+
| 'ao'
|
|
10801
|
+
| 'au'
|
|
10802
|
+
| 'br'
|
|
10803
|
+
| 'ca'
|
|
10804
|
+
| 'cn'
|
|
10805
|
+
| 'de'
|
|
10806
|
+
| 'dz'
|
|
10807
|
+
| 'es'
|
|
10808
|
+
| 'fr'
|
|
10809
|
+
| 'gb'
|
|
10810
|
+
| 'hk'
|
|
10811
|
+
| 'in'
|
|
10812
|
+
| 'it'
|
|
10813
|
+
| 'jp'
|
|
10814
|
+
| 'kr'
|
|
10815
|
+
| 'nl'
|
|
10816
|
+
| 'sg'
|
|
10817
|
+
| 'tw'
|
|
10818
|
+
| 'us';
|
|
10819
|
+
requestBody: ParserContributionRequestDto;
|
|
10820
|
+
};
|
|
10821
|
+
|
|
10822
|
+
export type ParserContributionControllerCreateResponse =
|
|
10823
|
+
ParserContributionRelayResponseDto;
|
|
10824
|
+
|
|
10324
10825
|
export type CacheControllerFlushCacheResponse = unknown;
|
|
10325
10826
|
|
|
10326
10827
|
export type ExchangeRateControllerGetExchangeRateData = {
|
|
@@ -11547,7 +12048,7 @@ export type $OpenApiTs = {
|
|
|
11547
12048
|
/**
|
|
11548
12049
|
* User retrieved successfully
|
|
11549
12050
|
*/
|
|
11550
|
-
200:
|
|
12051
|
+
200: UserResponseDto;
|
|
11551
12052
|
};
|
|
11552
12053
|
};
|
|
11553
12054
|
post: {
|
|
@@ -11921,6 +12422,17 @@ export type $OpenApiTs = {
|
|
|
11921
12422
|
};
|
|
11922
12423
|
};
|
|
11923
12424
|
};
|
|
12425
|
+
'/api/v1/{region}/bean/categories': {
|
|
12426
|
+
get: {
|
|
12427
|
+
req: CategoryCatalogControllerListData;
|
|
12428
|
+
res: {
|
|
12429
|
+
/**
|
|
12430
|
+
* Category catalog retrieved successfully
|
|
12431
|
+
*/
|
|
12432
|
+
200: CategoryCatalogListResponseDto;
|
|
12433
|
+
};
|
|
12434
|
+
};
|
|
12435
|
+
};
|
|
11924
12436
|
'/api/v1/{region}/bean/events': {
|
|
11925
12437
|
post: {
|
|
11926
12438
|
req: EventControllerCreateData;
|
|
@@ -12460,6 +12972,7 @@ export type $OpenApiTs = {
|
|
|
12460
12972
|
};
|
|
12461
12973
|
'/api/v1/bean/platforms/list': {
|
|
12462
12974
|
get: {
|
|
12975
|
+
req: PlatformControllerGetPlatformListData;
|
|
12463
12976
|
res: {
|
|
12464
12977
|
/**
|
|
12465
12978
|
* List of platforms with user binding status
|
|
@@ -12626,6 +13139,37 @@ export type $OpenApiTs = {
|
|
|
12626
13139
|
};
|
|
12627
13140
|
};
|
|
12628
13141
|
};
|
|
13142
|
+
'/api/v1/{region}/community/parser-contributions': {
|
|
13143
|
+
post: {
|
|
13144
|
+
req: ParserContributionControllerCreateData;
|
|
13145
|
+
res: {
|
|
13146
|
+
/**
|
|
13147
|
+
* Issue created by the bot
|
|
13148
|
+
*/
|
|
13149
|
+
201: ParserContributionRelayResponseDto;
|
|
13150
|
+
/**
|
|
13151
|
+
* Unauthorized
|
|
13152
|
+
*/
|
|
13153
|
+
401: ApiProblemResponseDto;
|
|
13154
|
+
/**
|
|
13155
|
+
* Validation failed (institution slug, empty samples, row/cell size limits)
|
|
13156
|
+
*/
|
|
13157
|
+
422: ApiProblemResponseDto;
|
|
13158
|
+
/**
|
|
13159
|
+
* Rate limited (5 submissions per user per hour)
|
|
13160
|
+
*/
|
|
13161
|
+
429: ApiProblemResponseDto;
|
|
13162
|
+
/**
|
|
13163
|
+
* Relay not configured on this deployment — clients fall back to the clipboard flow
|
|
13164
|
+
*/
|
|
13165
|
+
501: ApiProblemResponseDto;
|
|
13166
|
+
/**
|
|
13167
|
+
* GitHub bot failure (upstream), safe to retry
|
|
13168
|
+
*/
|
|
13169
|
+
502: ApiProblemResponseDto;
|
|
13170
|
+
};
|
|
13171
|
+
};
|
|
13172
|
+
};
|
|
12629
13173
|
'/api/v1/cache/flush': {
|
|
12630
13174
|
post: {
|
|
12631
13175
|
res: {
|