@firela/api-types 0.0.0-canary.97006feb → 0.0.0-canary.a0b42138
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 +529 -149
- package/dist/index.d.ts +529 -149
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +509 -34
- package/src/generated/services.gen.ts +99 -7
- package/src/generated/types.gen.ts +3329 -161
|
@@ -88,6 +88,49 @@ export const $AccountResponseDto = {
|
|
|
88
88
|
enum: ['Assets', 'Liabilities', 'Income', 'Expenses', 'Equity'],
|
|
89
89
|
example: 'Assets'
|
|
90
90
|
},
|
|
91
|
+
assetSubClass: {
|
|
92
|
+
type: 'string',
|
|
93
|
+
description:
|
|
94
|
+
'Account-level asset sub-class (product type, e.g. STOCK/DEPOSIT/CREDIT_CARD/PERSONAL_LOAN). Computed from the account path via the asset-classifier (ADR-0077). Null for non-asset accounts (Income/Expenses/Equity) or unmatched paths.',
|
|
95
|
+
enum: [
|
|
96
|
+
'DEPOSIT',
|
|
97
|
+
'CASH',
|
|
98
|
+
'MONEY_MARKET_FUND',
|
|
99
|
+
'STOCK',
|
|
100
|
+
'ETF',
|
|
101
|
+
'MUTUAL_FUND',
|
|
102
|
+
'EQUITY_COMPENSATION',
|
|
103
|
+
'GOVERNMENT_BOND',
|
|
104
|
+
'CORPORATE_BOND',
|
|
105
|
+
'BOND_FUND',
|
|
106
|
+
'PRIMARY_RESIDENCE',
|
|
107
|
+
'INVESTMENT_PROPERTY',
|
|
108
|
+
'REIT',
|
|
109
|
+
'GOLD',
|
|
110
|
+
'SILVER',
|
|
111
|
+
'PRECIOUS_METAL',
|
|
112
|
+
'PRECIOUS_METAL_FUND',
|
|
113
|
+
'COMMODITY',
|
|
114
|
+
'COMMODITY_FUND',
|
|
115
|
+
'CRYPTOCURRENCY',
|
|
116
|
+
'RETIREMENT_ACCOUNT',
|
|
117
|
+
'HEALTH_ACCOUNT',
|
|
118
|
+
'EDUCATION_ACCOUNT',
|
|
119
|
+
'INSURANCE',
|
|
120
|
+
'PRIVATE_EQUITY',
|
|
121
|
+
'HEDGE_FUND',
|
|
122
|
+
'COLLECTIBLES',
|
|
123
|
+
'MORTGAGE',
|
|
124
|
+
'STUDENT_LOAN',
|
|
125
|
+
'CREDIT_CARD',
|
|
126
|
+
'PERSONAL_LOAN',
|
|
127
|
+
'ACCOUNTS_PAYABLE',
|
|
128
|
+
'TAX_PAYABLE',
|
|
129
|
+
'OTHER'
|
|
130
|
+
],
|
|
131
|
+
nullable: true,
|
|
132
|
+
example: 'STOCK'
|
|
133
|
+
},
|
|
91
134
|
status: {
|
|
92
135
|
type: 'string',
|
|
93
136
|
description: 'Account status',
|
|
@@ -354,9 +397,47 @@ export const $AccountStandardResponseDto = {
|
|
|
354
397
|
type: 'string',
|
|
355
398
|
description: 'Icon identifier for UI display',
|
|
356
399
|
example: 'bank-icbc'
|
|
400
|
+
},
|
|
401
|
+
productCategory: {
|
|
402
|
+
type: 'string',
|
|
403
|
+
description:
|
|
404
|
+
'Onboarding product category (coarse grouping derived from assetSubClass)',
|
|
405
|
+
enum: [
|
|
406
|
+
'cash',
|
|
407
|
+
'investment',
|
|
408
|
+
'credit_card',
|
|
409
|
+
'loan',
|
|
410
|
+
'payable_tax',
|
|
411
|
+
'other'
|
|
412
|
+
],
|
|
413
|
+
example: 'investment'
|
|
414
|
+
},
|
|
415
|
+
assetClass: {
|
|
416
|
+
type: 'string',
|
|
417
|
+
description:
|
|
418
|
+
'Asset class (LIQUIDITY/EQUITY/.../LIABILITY), derived at read time from classification rules',
|
|
419
|
+
enum: [
|
|
420
|
+
'LIQUIDITY',
|
|
421
|
+
'EQUITY',
|
|
422
|
+
'FIXED_INCOME',
|
|
423
|
+
'PRECIOUS_METALS',
|
|
424
|
+
'COMMODITY',
|
|
425
|
+
'INSURANCE',
|
|
426
|
+
'ALTERNATIVE_INVESTMENT',
|
|
427
|
+
'PERSONAL_ASSETS',
|
|
428
|
+
'LIABILITY',
|
|
429
|
+
'REAL_ESTATE',
|
|
430
|
+
'INDEX'
|
|
431
|
+
]
|
|
432
|
+
},
|
|
433
|
+
assetSubClass: {
|
|
434
|
+
type: 'string',
|
|
435
|
+
description:
|
|
436
|
+
'Asset sub-class (product type, derived at read time from classification rules)',
|
|
437
|
+
example: 'STOCK'
|
|
357
438
|
}
|
|
358
439
|
},
|
|
359
|
-
required: ['path', 'type', 'description', 'tags', 'icon']
|
|
440
|
+
required: ['path', 'type', 'description', 'tags', 'icon', 'productCategory']
|
|
360
441
|
} as const;
|
|
361
442
|
|
|
362
443
|
export const $AccountStandardListResponseDto = {
|
|
@@ -4042,6 +4123,50 @@ export const $DeleteOwnUserDto = {
|
|
|
4042
4123
|
required: ['accessToken']
|
|
4043
4124
|
} as const;
|
|
4044
4125
|
|
|
4126
|
+
export const $UserSettingsResponseDto = {
|
|
4127
|
+
type: 'object',
|
|
4128
|
+
properties: {
|
|
4129
|
+
baseCurrency: {
|
|
4130
|
+
type: 'string',
|
|
4131
|
+
description:
|
|
4132
|
+
'Base currency (ISO 4217) for net-worth/report aggregation. Independent of region (ADR-0006).',
|
|
4133
|
+
example: 'USD',
|
|
4134
|
+
nullable: true
|
|
4135
|
+
}
|
|
4136
|
+
},
|
|
4137
|
+
required: ['baseCurrency']
|
|
4138
|
+
} as const;
|
|
4139
|
+
|
|
4140
|
+
export const $UserResponseDto = {
|
|
4141
|
+
type: 'object',
|
|
4142
|
+
properties: {
|
|
4143
|
+
id: {
|
|
4144
|
+
type: 'string',
|
|
4145
|
+
description: 'User ID'
|
|
4146
|
+
},
|
|
4147
|
+
role: {
|
|
4148
|
+
type: 'string',
|
|
4149
|
+
description: 'Assigned user role'
|
|
4150
|
+
},
|
|
4151
|
+
permissions: {
|
|
4152
|
+
description: 'Permission strings',
|
|
4153
|
+
type: 'array',
|
|
4154
|
+
items: {
|
|
4155
|
+
type: 'string'
|
|
4156
|
+
}
|
|
4157
|
+
},
|
|
4158
|
+
settings: {
|
|
4159
|
+
description: 'User settings',
|
|
4160
|
+
allOf: [
|
|
4161
|
+
{
|
|
4162
|
+
$ref: '#/components/schemas/UserSettingsResponseDto'
|
|
4163
|
+
}
|
|
4164
|
+
]
|
|
4165
|
+
}
|
|
4166
|
+
},
|
|
4167
|
+
required: ['id', 'role', 'permissions', 'settings']
|
|
4168
|
+
} as const;
|
|
4169
|
+
|
|
4045
4170
|
export const $SignupDto = {
|
|
4046
4171
|
type: 'object',
|
|
4047
4172
|
properties: {
|
|
@@ -4847,6 +4972,69 @@ export const $TestRuleResponseDto = {
|
|
|
4847
4972
|
required: ['ruleId', 'matches', 'confidence', 'matchDetails']
|
|
4848
4973
|
} as const;
|
|
4849
4974
|
|
|
4975
|
+
export const $CategoryCatalogEntryDto = {
|
|
4976
|
+
type: 'object',
|
|
4977
|
+
properties: {
|
|
4978
|
+
slug: {
|
|
4979
|
+
type: 'string',
|
|
4980
|
+
description: 'Category slug (single source-of-truth)',
|
|
4981
|
+
example: 'food'
|
|
4982
|
+
},
|
|
4983
|
+
scenario: {
|
|
4984
|
+
type: 'string',
|
|
4985
|
+
description: 'Display scenario group (maps to frontend picker _scenario)',
|
|
4986
|
+
enum: [
|
|
4987
|
+
'expense',
|
|
4988
|
+
'income',
|
|
4989
|
+
'investment',
|
|
4990
|
+
'banking',
|
|
4991
|
+
'transfer',
|
|
4992
|
+
'payment'
|
|
4993
|
+
],
|
|
4994
|
+
example: 'expense'
|
|
4995
|
+
},
|
|
4996
|
+
icon: {
|
|
4997
|
+
type: 'string',
|
|
4998
|
+
description: 'Lucide icon name',
|
|
4999
|
+
example: 'utensils'
|
|
5000
|
+
},
|
|
5001
|
+
regions: {
|
|
5002
|
+
description: "Applicable regions ('*' = all, 'cn' = CN-only)",
|
|
5003
|
+
example: ['*'],
|
|
5004
|
+
type: 'array',
|
|
5005
|
+
items: {
|
|
5006
|
+
type: 'string'
|
|
5007
|
+
}
|
|
5008
|
+
}
|
|
5009
|
+
},
|
|
5010
|
+
required: ['slug', 'scenario', 'icon', 'regions']
|
|
5011
|
+
} as const;
|
|
5012
|
+
|
|
5013
|
+
export const $CategoryCatalogListResponseDto = {
|
|
5014
|
+
type: 'object',
|
|
5015
|
+
properties: {
|
|
5016
|
+
items: {
|
|
5017
|
+
description: 'Category entries (region-scoped, query-filtered)',
|
|
5018
|
+
type: 'array',
|
|
5019
|
+
items: {
|
|
5020
|
+
$ref: '#/components/schemas/CategoryCatalogEntryDto'
|
|
5021
|
+
}
|
|
5022
|
+
},
|
|
5023
|
+
total: {
|
|
5024
|
+
type: 'number',
|
|
5025
|
+
description:
|
|
5026
|
+
'Total category entries for the region (before query filtering)',
|
|
5027
|
+
example: 30
|
|
5028
|
+
},
|
|
5029
|
+
region: {
|
|
5030
|
+
type: 'string',
|
|
5031
|
+
description: 'Region code',
|
|
5032
|
+
example: 'cn'
|
|
5033
|
+
}
|
|
5034
|
+
},
|
|
5035
|
+
required: ['items', 'total', 'region']
|
|
5036
|
+
} as const;
|
|
5037
|
+
|
|
4850
5038
|
export const $CreateBeanEventDto = {
|
|
4851
5039
|
type: 'object',
|
|
4852
5040
|
properties: {
|
|
@@ -5589,7 +5777,8 @@ export const $UpdateMapperDefaultsDto = {
|
|
|
5589
5777
|
type: 'string',
|
|
5590
5778
|
description: 'Source account for transactions (Beancount format)',
|
|
5591
5779
|
example: 'Assets:CN:Alipay:Balance',
|
|
5592
|
-
pattern:
|
|
5780
|
+
pattern:
|
|
5781
|
+
'^(Assets|Liabilities|Income|Expenses|Equity)(:[A-Za-z0-9][A-Za-z0-9-]*)+$'
|
|
5593
5782
|
},
|
|
5594
5783
|
currency: {
|
|
5595
5784
|
type: 'string',
|
|
@@ -5603,13 +5792,15 @@ export const $UpdateMapperDefaultsDto = {
|
|
|
5603
5792
|
type: 'string',
|
|
5604
5793
|
description: 'Default expense account (optional)',
|
|
5605
5794
|
example: 'Expenses:Unknown',
|
|
5606
|
-
pattern:
|
|
5795
|
+
pattern:
|
|
5796
|
+
'^(Assets|Liabilities|Income|Expenses|Equity)(:[A-Za-z0-9][A-Za-z0-9-]*)+$'
|
|
5607
5797
|
},
|
|
5608
5798
|
incomeAccount: {
|
|
5609
5799
|
type: 'string',
|
|
5610
5800
|
description: 'Default income account (optional)',
|
|
5611
5801
|
example: 'Income:Unknown',
|
|
5612
|
-
pattern:
|
|
5802
|
+
pattern:
|
|
5803
|
+
'^(Assets|Liabilities|Income|Expenses|Equity)(:[A-Za-z0-9][A-Za-z0-9-]*)+$'
|
|
5613
5804
|
},
|
|
5614
5805
|
methodAccountMapping: {
|
|
5615
5806
|
type: 'object',
|
|
@@ -5666,12 +5857,14 @@ export const $ProviderSyncConfigDto = {
|
|
|
5666
5857
|
},
|
|
5667
5858
|
defaultExpenseAccount: {
|
|
5668
5859
|
type: 'string',
|
|
5669
|
-
description:
|
|
5860
|
+
description:
|
|
5861
|
+
'Default expense account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).',
|
|
5670
5862
|
example: 'Expenses:Unknown'
|
|
5671
5863
|
},
|
|
5672
5864
|
defaultIncomeAccount: {
|
|
5673
5865
|
type: 'string',
|
|
5674
|
-
description:
|
|
5866
|
+
description:
|
|
5867
|
+
'Default income account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).',
|
|
5675
5868
|
example: 'Income:Unknown'
|
|
5676
5869
|
},
|
|
5677
5870
|
filterPending: {
|
|
@@ -5686,12 +5879,7 @@ export const $ProviderSyncConfigDto = {
|
|
|
5686
5879
|
example: 'acc_gocardless_001'
|
|
5687
5880
|
}
|
|
5688
5881
|
},
|
|
5689
|
-
required: [
|
|
5690
|
-
'sourceAccount',
|
|
5691
|
-
'defaultCurrency',
|
|
5692
|
-
'defaultExpenseAccount',
|
|
5693
|
-
'defaultIncomeAccount'
|
|
5694
|
-
]
|
|
5882
|
+
required: ['sourceAccount', 'defaultCurrency']
|
|
5695
5883
|
} as const;
|
|
5696
5884
|
|
|
5697
5885
|
export const $ProviderSyncDto = {
|
|
@@ -5901,15 +6089,105 @@ export const $UncoveredFormatMissDto = {
|
|
|
5901
6089
|
properties: {}
|
|
5902
6090
|
} as const;
|
|
5903
6091
|
|
|
6092
|
+
export const $ClientParsedDataDto = {
|
|
6093
|
+
type: 'object',
|
|
6094
|
+
properties: {
|
|
6095
|
+
amount: {
|
|
6096
|
+
type: 'number',
|
|
6097
|
+
description: 'Transaction amount',
|
|
6098
|
+
example: 35
|
|
6099
|
+
},
|
|
6100
|
+
currency: {
|
|
6101
|
+
type: 'string',
|
|
6102
|
+
description: 'Currency code',
|
|
6103
|
+
example: 'CNY'
|
|
6104
|
+
},
|
|
6105
|
+
date: {
|
|
6106
|
+
type: 'string',
|
|
6107
|
+
description: 'Transaction date (ISO 8601)',
|
|
6108
|
+
example: '2026-08-15'
|
|
6109
|
+
},
|
|
6110
|
+
payee: {
|
|
6111
|
+
type: 'string',
|
|
6112
|
+
description: 'Payee/merchant name',
|
|
6113
|
+
example: 'Starbucks'
|
|
6114
|
+
},
|
|
6115
|
+
narration: {
|
|
6116
|
+
type: 'string',
|
|
6117
|
+
description: 'Transaction narration'
|
|
6118
|
+
},
|
|
6119
|
+
category: {
|
|
6120
|
+
type: 'string',
|
|
6121
|
+
description: 'Category slug',
|
|
6122
|
+
example: 'food_restaurant'
|
|
6123
|
+
},
|
|
6124
|
+
incomeType: {
|
|
6125
|
+
type: 'string',
|
|
6126
|
+
description: 'Income type',
|
|
6127
|
+
example: 'Salary'
|
|
6128
|
+
},
|
|
6129
|
+
incomeSource: {
|
|
6130
|
+
type: 'string',
|
|
6131
|
+
description: 'Income source',
|
|
6132
|
+
example: 'Anthropic Inc.'
|
|
6133
|
+
},
|
|
6134
|
+
symbol: {
|
|
6135
|
+
type: 'string',
|
|
6136
|
+
description: 'Security symbol code (e.g., 600519, AAPL)',
|
|
6137
|
+
example: 'AAPL'
|
|
6138
|
+
},
|
|
6139
|
+
quantity: {
|
|
6140
|
+
type: 'number',
|
|
6141
|
+
description: 'Quantity of shares/units',
|
|
6142
|
+
example: 100
|
|
6143
|
+
},
|
|
6144
|
+
price: {
|
|
6145
|
+
type: 'number',
|
|
6146
|
+
description: 'Unit price per share/unit',
|
|
6147
|
+
example: 1900
|
|
6148
|
+
},
|
|
6149
|
+
investmentAction: {
|
|
6150
|
+
type: 'string',
|
|
6151
|
+
description: 'Investment action',
|
|
6152
|
+
enum: ['buy', 'sell'],
|
|
6153
|
+
example: 'buy'
|
|
6154
|
+
},
|
|
6155
|
+
paymentSource: {
|
|
6156
|
+
type: 'string',
|
|
6157
|
+
description: 'Payment source: asset (default) or liability (credit card)',
|
|
6158
|
+
enum: ['asset', 'liability'],
|
|
6159
|
+
example: 'asset'
|
|
6160
|
+
},
|
|
6161
|
+
liabilityHint: {
|
|
6162
|
+
type: 'string',
|
|
6163
|
+
description: 'Liability account hint (CreditCard/Huabei/Baitiao)',
|
|
6164
|
+
example: 'CreditCard'
|
|
6165
|
+
},
|
|
6166
|
+
warning: {
|
|
6167
|
+
type: 'string',
|
|
6168
|
+
description:
|
|
6169
|
+
'Display-only warning from the prior response; accepted but ignored.',
|
|
6170
|
+
example: 'Cross-currency settlement applies.'
|
|
6171
|
+
}
|
|
6172
|
+
}
|
|
6173
|
+
} as const;
|
|
6174
|
+
|
|
5904
6175
|
export const $ProcessNlpDto = {
|
|
5905
6176
|
type: 'object',
|
|
5906
6177
|
properties: {
|
|
5907
6178
|
message: {
|
|
5908
6179
|
type: 'string',
|
|
5909
|
-
description:
|
|
5910
|
-
|
|
6180
|
+
description:
|
|
6181
|
+
'Natural language text describing a transaction. Optional when `confirm` is true (structured confirm); otherwise required.',
|
|
6182
|
+
example: 'Starbucks 35',
|
|
5911
6183
|
maxLength: 500
|
|
5912
6184
|
},
|
|
6185
|
+
confirm: {
|
|
6186
|
+
type: 'boolean',
|
|
6187
|
+
description:
|
|
6188
|
+
'Structured confirm signal — bypasses NL confirm-word matching when true. Send parsedData field edits alongside. The NL word-list path is the fallback.',
|
|
6189
|
+
example: true
|
|
6190
|
+
},
|
|
5913
6191
|
sessionId: {
|
|
5914
6192
|
type: 'string',
|
|
5915
6193
|
description:
|
|
@@ -5917,17 +6195,32 @@ export const $ProcessNlpDto = {
|
|
|
5917
6195
|
example: 'session_abc123'
|
|
5918
6196
|
},
|
|
5919
6197
|
parsedData: {
|
|
5920
|
-
type: 'object',
|
|
5921
6198
|
description:
|
|
5922
6199
|
'Parsed data from previous NLP response for session recovery. Send back the parsedData received in confirm_payee/confirm responses.',
|
|
5923
6200
|
example: {
|
|
5924
6201
|
amount: 35,
|
|
5925
6202
|
currency: 'CNY',
|
|
5926
6203
|
payee: 'Starbucks'
|
|
5927
|
-
}
|
|
6204
|
+
},
|
|
6205
|
+
allOf: [
|
|
6206
|
+
{
|
|
6207
|
+
$ref: '#/components/schemas/ClientParsedDataDto'
|
|
6208
|
+
}
|
|
6209
|
+
]
|
|
6210
|
+
},
|
|
6211
|
+
selectedRuleId: {
|
|
6212
|
+
type: 'string',
|
|
6213
|
+
description:
|
|
6214
|
+
'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.',
|
|
6215
|
+
example: 'rule_abc123'
|
|
6216
|
+
},
|
|
6217
|
+
selectedAccount: {
|
|
6218
|
+
type: 'string',
|
|
6219
|
+
description:
|
|
6220
|
+
'confirm_account echo-back: account path selected from the prior confirm_account response (suggestedAccount, similarAccounts[i], or a typed path). Applied directly when the session is confirming_account — no NL re-parse.',
|
|
6221
|
+
example: 'Expenses:Food:Coffee'
|
|
5928
6222
|
}
|
|
5929
|
-
}
|
|
5930
|
-
required: ['message']
|
|
6223
|
+
}
|
|
5931
6224
|
} as const;
|
|
5932
6225
|
|
|
5933
6226
|
export const $NlpTransactionInfoDto = {
|
|
@@ -6249,7 +6542,8 @@ export const $NlpAccountConfirmationDataDto = {
|
|
|
6249
6542
|
},
|
|
6250
6543
|
suggestedAccount: {
|
|
6251
6544
|
type: 'string',
|
|
6252
|
-
description:
|
|
6545
|
+
description:
|
|
6546
|
+
'Suggested replacement account (omitted when no clear candidate)',
|
|
6253
6547
|
example: 'Expenses:Food:Drinks'
|
|
6254
6548
|
},
|
|
6255
6549
|
similarAccounts: {
|
|
@@ -6271,7 +6565,6 @@ export const $NlpAccountConfirmationDataDto = {
|
|
|
6271
6565
|
},
|
|
6272
6566
|
required: [
|
|
6273
6567
|
'invalidAccount',
|
|
6274
|
-
'suggestedAccount',
|
|
6275
6568
|
'similarAccounts',
|
|
6276
6569
|
'errorMessage',
|
|
6277
6570
|
'transactionContext'
|
|
@@ -6444,7 +6737,8 @@ export const $NlpSuggestedAccountDto = {
|
|
|
6444
6737
|
},
|
|
6445
6738
|
confidence: {
|
|
6446
6739
|
type: 'number',
|
|
6447
|
-
description:
|
|
6740
|
+
description:
|
|
6741
|
+
'Confidence score for this suggestion (0-1). Present = predicted (confirm/confirm_rule/confirm_account); omitted = actual persisted account (created). (#586)',
|
|
6448
6742
|
example: 0.9
|
|
6449
6743
|
}
|
|
6450
6744
|
},
|
|
@@ -6480,23 +6774,31 @@ export const $NlpDefaultAccountsDto = {
|
|
|
6480
6774
|
properties: {
|
|
6481
6775
|
asset: {
|
|
6482
6776
|
type: 'string',
|
|
6483
|
-
description:
|
|
6484
|
-
|
|
6777
|
+
description:
|
|
6778
|
+
'Default OPEN asset account (MRU when multiple), or null when none/ambiguous',
|
|
6779
|
+
example: 'Assets:Checking',
|
|
6780
|
+
nullable: true
|
|
6485
6781
|
},
|
|
6486
6782
|
expense: {
|
|
6487
6783
|
type: 'string',
|
|
6488
|
-
description:
|
|
6489
|
-
|
|
6784
|
+
description:
|
|
6785
|
+
'Default OPEN expense account (MRU when multiple), or null when none/ambiguous',
|
|
6786
|
+
example: 'Expenses:Food:Coffee',
|
|
6787
|
+
nullable: true
|
|
6490
6788
|
},
|
|
6491
6789
|
income: {
|
|
6492
6790
|
type: 'string',
|
|
6493
|
-
description:
|
|
6494
|
-
|
|
6791
|
+
description:
|
|
6792
|
+
'Default OPEN income account (MRU when multiple), or null when none/ambiguous',
|
|
6793
|
+
example: 'Income:Salary',
|
|
6794
|
+
nullable: true
|
|
6495
6795
|
},
|
|
6496
6796
|
liability: {
|
|
6497
6797
|
type: 'string',
|
|
6498
|
-
description:
|
|
6499
|
-
|
|
6798
|
+
description:
|
|
6799
|
+
'Default OPEN liability account (MRU when multiple), or null when none/ambiguous',
|
|
6800
|
+
example: 'Liabilities:CreditCard',
|
|
6801
|
+
nullable: true
|
|
6500
6802
|
}
|
|
6501
6803
|
},
|
|
6502
6804
|
required: ['asset', 'expense', 'income', 'liability']
|
|
@@ -6536,7 +6838,7 @@ export const $NlpResponseDto = {
|
|
|
6536
6838
|
type: 'string',
|
|
6537
6839
|
description:
|
|
6538
6840
|
'Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.',
|
|
6539
|
-
enum: ['transfer', 'banking', 'investment'],
|
|
6841
|
+
enum: ['transfer', 'banking', 'investment', 'lend', 'lend_collect'],
|
|
6540
6842
|
example: 'investment'
|
|
6541
6843
|
},
|
|
6542
6844
|
liabilitySubType: {
|
|
@@ -6684,7 +6986,7 @@ export const $NlpResponseDto = {
|
|
|
6684
6986
|
},
|
|
6685
6987
|
suggestedAccounts: {
|
|
6686
6988
|
description:
|
|
6687
|
-
'Suggested accounts for this transaction.
|
|
6989
|
+
'Suggested accounts for this transaction (#586). confirm/confirm_rule/confirm_account: predicted (source/destination carry confidence); created: actual persisted accounts (confidence omitted). confirm_account destination is the suggested replacement, never the invalid account.',
|
|
6688
6990
|
allOf: [
|
|
6689
6991
|
{
|
|
6690
6992
|
$ref: '#/components/schemas/NlpSuggestedAccountsDto'
|
|
@@ -6693,7 +6995,7 @@ export const $NlpResponseDto = {
|
|
|
6693
6995
|
},
|
|
6694
6996
|
defaultAccounts: {
|
|
6695
6997
|
description:
|
|
6696
|
-
'Default accounts for the user/region.
|
|
6998
|
+
'Default fallback accounts for the user/region (#586). v1 returns universal constants; per-user personalization is planned.',
|
|
6697
6999
|
allOf: [
|
|
6698
7000
|
{
|
|
6699
7001
|
$ref: '#/components/schemas/NlpDefaultAccountsDto'
|
|
@@ -6739,13 +7041,26 @@ export const $PlatformListItemDto = {
|
|
|
6739
7041
|
suggestedSegment: {
|
|
6740
7042
|
type: 'string',
|
|
6741
7043
|
description:
|
|
6742
|
-
'Suggested path segment — canonical
|
|
7044
|
+
'Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")'
|
|
6743
7045
|
},
|
|
6744
7046
|
logoUrl: {
|
|
6745
7047
|
type: 'string',
|
|
6746
7048
|
description: 'Logo URL',
|
|
6747
7049
|
nullable: true
|
|
6748
7050
|
},
|
|
7051
|
+
countryCode: {
|
|
7052
|
+
type: 'string',
|
|
7053
|
+
description: 'ISO 3166-1 alpha-2 (UPPERCASE); null = global platform',
|
|
7054
|
+
example: 'CN',
|
|
7055
|
+
nullable: true
|
|
7056
|
+
},
|
|
7057
|
+
category: {
|
|
7058
|
+
type: 'string',
|
|
7059
|
+
description:
|
|
7060
|
+
'Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.',
|
|
7061
|
+
nullable: true,
|
|
7062
|
+
example: 'DigitalWallet'
|
|
7063
|
+
},
|
|
6749
7064
|
isBound: {
|
|
6750
7065
|
type: 'boolean',
|
|
6751
7066
|
description: 'Whether user has accounts using this platform'
|
|
@@ -6759,6 +7074,8 @@ export const $PlatformListItemDto = {
|
|
|
6759
7074
|
'canonical',
|
|
6760
7075
|
'suggestedSegment',
|
|
6761
7076
|
'logoUrl',
|
|
7077
|
+
'countryCode',
|
|
7078
|
+
'category',
|
|
6762
7079
|
'isBound'
|
|
6763
7080
|
]
|
|
6764
7081
|
} as const;
|
|
@@ -6794,13 +7111,26 @@ export const $PlatformMatchResultDto = {
|
|
|
6794
7111
|
suggestedSegment: {
|
|
6795
7112
|
type: 'string',
|
|
6796
7113
|
description:
|
|
6797
|
-
'Suggested path segment — canonical,
|
|
7114
|
+
'Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")'
|
|
6798
7115
|
},
|
|
6799
7116
|
logoUrl: {
|
|
6800
7117
|
type: 'string',
|
|
6801
7118
|
description: 'Logo URL',
|
|
6802
7119
|
nullable: true
|
|
6803
7120
|
},
|
|
7121
|
+
countryCode: {
|
|
7122
|
+
type: 'string',
|
|
7123
|
+
description: 'ISO 3166-1 alpha-2 (UPPERCASE); null = global platform',
|
|
7124
|
+
example: 'CN',
|
|
7125
|
+
nullable: true
|
|
7126
|
+
},
|
|
7127
|
+
category: {
|
|
7128
|
+
type: 'string',
|
|
7129
|
+
description:
|
|
7130
|
+
'Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.',
|
|
7131
|
+
nullable: true,
|
|
7132
|
+
example: 'DigitalWallet'
|
|
7133
|
+
},
|
|
6804
7134
|
matchType: {
|
|
6805
7135
|
type: 'string',
|
|
6806
7136
|
description: "How this row matched: 'exact' > 'prefix' > 'substring'",
|
|
@@ -6814,6 +7144,8 @@ export const $PlatformMatchResultDto = {
|
|
|
6814
7144
|
'type',
|
|
6815
7145
|
'suggestedSegment',
|
|
6816
7146
|
'logoUrl',
|
|
7147
|
+
'countryCode',
|
|
7148
|
+
'category',
|
|
6817
7149
|
'matchType'
|
|
6818
7150
|
]
|
|
6819
7151
|
} as const;
|
|
@@ -8062,3 +8394,146 @@ export const $AnonymousLoginResponseDto = {
|
|
|
8062
8394
|
},
|
|
8063
8395
|
required: ['authToken']
|
|
8064
8396
|
} as const;
|
|
8397
|
+
|
|
8398
|
+
export const $SymbolSearchResultDto = {
|
|
8399
|
+
type: 'object',
|
|
8400
|
+
properties: {
|
|
8401
|
+
symbol: {
|
|
8402
|
+
type: 'string',
|
|
8403
|
+
example: 'AAPL'
|
|
8404
|
+
},
|
|
8405
|
+
name: {
|
|
8406
|
+
type: 'object',
|
|
8407
|
+
example: 'Apple Inc.',
|
|
8408
|
+
nullable: true
|
|
8409
|
+
},
|
|
8410
|
+
exchange: {
|
|
8411
|
+
type: 'object',
|
|
8412
|
+
example: 'US',
|
|
8413
|
+
nullable: true
|
|
8414
|
+
},
|
|
8415
|
+
assetType: {
|
|
8416
|
+
type: 'object',
|
|
8417
|
+
description: 'OpenBB asset_type (e.g. stock, etf)',
|
|
8418
|
+
example: 'stock',
|
|
8419
|
+
nullable: true
|
|
8420
|
+
},
|
|
8421
|
+
assetClass: {
|
|
8422
|
+
type: 'object',
|
|
8423
|
+
description: 'IGN asset class (region.types.ts ASSET_CLASSES)',
|
|
8424
|
+
example: 'EQUITY',
|
|
8425
|
+
nullable: true
|
|
8426
|
+
},
|
|
8427
|
+
assetSubClass: {
|
|
8428
|
+
type: 'object',
|
|
8429
|
+
description: 'IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)',
|
|
8430
|
+
example: 'STOCK',
|
|
8431
|
+
nullable: true
|
|
8432
|
+
},
|
|
8433
|
+
currency: {
|
|
8434
|
+
type: 'object',
|
|
8435
|
+
description: 'Trading currency (extra_data or inferred from exchange)',
|
|
8436
|
+
example: 'USD',
|
|
8437
|
+
nullable: true
|
|
8438
|
+
}
|
|
8439
|
+
},
|
|
8440
|
+
required: ['symbol']
|
|
8441
|
+
} as const;
|
|
8442
|
+
|
|
8443
|
+
export const $SymbolQuoteDto = {
|
|
8444
|
+
type: 'object',
|
|
8445
|
+
properties: {
|
|
8446
|
+
symbol: {
|
|
8447
|
+
type: 'string',
|
|
8448
|
+
example: 'AAPL'
|
|
8449
|
+
},
|
|
8450
|
+
name: {
|
|
8451
|
+
type: 'object',
|
|
8452
|
+
example: 'Apple Inc.',
|
|
8453
|
+
nullable: true
|
|
8454
|
+
},
|
|
8455
|
+
exchange: {
|
|
8456
|
+
type: 'object',
|
|
8457
|
+
example: 'US',
|
|
8458
|
+
nullable: true
|
|
8459
|
+
},
|
|
8460
|
+
assetType: {
|
|
8461
|
+
type: 'object',
|
|
8462
|
+
description: 'OpenBB asset_type',
|
|
8463
|
+
example: 'stock',
|
|
8464
|
+
nullable: true
|
|
8465
|
+
},
|
|
8466
|
+
assetClass: {
|
|
8467
|
+
type: 'object',
|
|
8468
|
+
description: 'IGN asset class',
|
|
8469
|
+
example: 'EQUITY',
|
|
8470
|
+
nullable: true
|
|
8471
|
+
},
|
|
8472
|
+
assetSubClass: {
|
|
8473
|
+
type: 'object',
|
|
8474
|
+
description: 'IGN asset sub-class',
|
|
8475
|
+
example: 'STOCK',
|
|
8476
|
+
nullable: true
|
|
8477
|
+
},
|
|
8478
|
+
currency: {
|
|
8479
|
+
type: 'object',
|
|
8480
|
+
description: 'Trading currency (extra_data or inferred from exchange)',
|
|
8481
|
+
example: 'USD',
|
|
8482
|
+
nullable: true
|
|
8483
|
+
},
|
|
8484
|
+
price: {
|
|
8485
|
+
type: 'object',
|
|
8486
|
+
description: 'Latest price (Decimal string)',
|
|
8487
|
+
example: '189.84',
|
|
8488
|
+
nullable: true
|
|
8489
|
+
},
|
|
8490
|
+
priceDate: {
|
|
8491
|
+
type: 'object',
|
|
8492
|
+
description: 'Date the price was observed (ISO yyyy-MM-dd)',
|
|
8493
|
+
example: '2026-08-05',
|
|
8494
|
+
nullable: true
|
|
8495
|
+
},
|
|
8496
|
+
changePercent: {
|
|
8497
|
+
type: 'object',
|
|
8498
|
+
description:
|
|
8499
|
+
'Change vs previous close, in percentage points (1.7 == 1.7%). openbb stores change_percent as a normalized decimal; this exposes percentage points for frontend convenience.',
|
|
8500
|
+
example: 1.7,
|
|
8501
|
+
nullable: true
|
|
8502
|
+
},
|
|
8503
|
+
prevClose: {
|
|
8504
|
+
type: 'object',
|
|
8505
|
+
description: 'Previous close (Decimal string)',
|
|
8506
|
+
nullable: true
|
|
8507
|
+
},
|
|
8508
|
+
open: {
|
|
8509
|
+
type: 'object',
|
|
8510
|
+
description: 'Day open (Decimal string)',
|
|
8511
|
+
nullable: true
|
|
8512
|
+
},
|
|
8513
|
+
high: {
|
|
8514
|
+
type: 'object',
|
|
8515
|
+
description: 'Day high (Decimal string)',
|
|
8516
|
+
nullable: true
|
|
8517
|
+
},
|
|
8518
|
+
low: {
|
|
8519
|
+
type: 'object',
|
|
8520
|
+
description: 'Day low (Decimal string)',
|
|
8521
|
+
nullable: true
|
|
8522
|
+
},
|
|
8523
|
+
volume: {
|
|
8524
|
+
type: 'object',
|
|
8525
|
+
description: 'Day volume (Decimal string)',
|
|
8526
|
+
nullable: true
|
|
8527
|
+
},
|
|
8528
|
+
yearHigh: {
|
|
8529
|
+
type: 'object',
|
|
8530
|
+
description: '52-week high (Decimal string)',
|
|
8531
|
+
nullable: true
|
|
8532
|
+
},
|
|
8533
|
+
yearLow: {
|
|
8534
|
+
type: 'object',
|
|
8535
|
+
description: '52-week low (Decimal string)',
|
|
8536
|
+
nullable: true
|
|
8537
|
+
}
|
|
8538
|
+
}
|
|
8539
|
+
} as const;
|