@firela/api-types 0.0.0-canary.ce7c9749 → 0.0.0-canary.d190ee29
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 +523 -151
- package/dist/index.d.ts +523 -151
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +468 -34
- package/src/generated/services.gen.ts +99 -7
- package/src/generated/types.gen.ts +3255 -161
|
@@ -124,6 +124,8 @@ export const $AccountResponseDto = {
|
|
|
124
124
|
'STUDENT_LOAN',
|
|
125
125
|
'CREDIT_CARD',
|
|
126
126
|
'PERSONAL_LOAN',
|
|
127
|
+
'ACCOUNTS_PAYABLE',
|
|
128
|
+
'TAX_PAYABLE',
|
|
127
129
|
'OTHER'
|
|
128
130
|
],
|
|
129
131
|
nullable: true,
|
|
@@ -395,9 +397,47 @@ export const $AccountStandardResponseDto = {
|
|
|
395
397
|
type: 'string',
|
|
396
398
|
description: 'Icon identifier for UI display',
|
|
397
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'
|
|
398
438
|
}
|
|
399
439
|
},
|
|
400
|
-
required: ['path', 'type', 'description', 'tags', 'icon']
|
|
440
|
+
required: ['path', 'type', 'description', 'tags', 'icon', 'productCategory']
|
|
401
441
|
} as const;
|
|
402
442
|
|
|
403
443
|
export const $AccountStandardListResponseDto = {
|
|
@@ -4083,6 +4123,50 @@ export const $DeleteOwnUserDto = {
|
|
|
4083
4123
|
required: ['accessToken']
|
|
4084
4124
|
} as const;
|
|
4085
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
|
+
|
|
4086
4170
|
export const $SignupDto = {
|
|
4087
4171
|
type: 'object',
|
|
4088
4172
|
properties: {
|
|
@@ -4888,6 +4972,69 @@ export const $TestRuleResponseDto = {
|
|
|
4888
4972
|
required: ['ruleId', 'matches', 'confidence', 'matchDetails']
|
|
4889
4973
|
} as const;
|
|
4890
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
|
+
|
|
4891
5038
|
export const $CreateBeanEventDto = {
|
|
4892
5039
|
type: 'object',
|
|
4893
5040
|
properties: {
|
|
@@ -5630,7 +5777,8 @@ export const $UpdateMapperDefaultsDto = {
|
|
|
5630
5777
|
type: 'string',
|
|
5631
5778
|
description: 'Source account for transactions (Beancount format)',
|
|
5632
5779
|
example: 'Assets:CN:Alipay:Balance',
|
|
5633
|
-
pattern:
|
|
5780
|
+
pattern:
|
|
5781
|
+
'^(Assets|Liabilities|Income|Expenses|Equity)(:[A-Za-z0-9][A-Za-z0-9-]*)+$'
|
|
5634
5782
|
},
|
|
5635
5783
|
currency: {
|
|
5636
5784
|
type: 'string',
|
|
@@ -5644,13 +5792,15 @@ export const $UpdateMapperDefaultsDto = {
|
|
|
5644
5792
|
type: 'string',
|
|
5645
5793
|
description: 'Default expense account (optional)',
|
|
5646
5794
|
example: 'Expenses:Unknown',
|
|
5647
|
-
pattern:
|
|
5795
|
+
pattern:
|
|
5796
|
+
'^(Assets|Liabilities|Income|Expenses|Equity)(:[A-Za-z0-9][A-Za-z0-9-]*)+$'
|
|
5648
5797
|
},
|
|
5649
5798
|
incomeAccount: {
|
|
5650
5799
|
type: 'string',
|
|
5651
5800
|
description: 'Default income account (optional)',
|
|
5652
5801
|
example: 'Income:Unknown',
|
|
5653
|
-
pattern:
|
|
5802
|
+
pattern:
|
|
5803
|
+
'^(Assets|Liabilities|Income|Expenses|Equity)(:[A-Za-z0-9][A-Za-z0-9-]*)+$'
|
|
5654
5804
|
},
|
|
5655
5805
|
methodAccountMapping: {
|
|
5656
5806
|
type: 'object',
|
|
@@ -5707,12 +5857,14 @@ export const $ProviderSyncConfigDto = {
|
|
|
5707
5857
|
},
|
|
5708
5858
|
defaultExpenseAccount: {
|
|
5709
5859
|
type: 'string',
|
|
5710
|
-
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).',
|
|
5711
5862
|
example: 'Expenses:Unknown'
|
|
5712
5863
|
},
|
|
5713
5864
|
defaultIncomeAccount: {
|
|
5714
5865
|
type: 'string',
|
|
5715
|
-
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).',
|
|
5716
5868
|
example: 'Income:Unknown'
|
|
5717
5869
|
},
|
|
5718
5870
|
filterPending: {
|
|
@@ -5727,12 +5879,7 @@ export const $ProviderSyncConfigDto = {
|
|
|
5727
5879
|
example: 'acc_gocardless_001'
|
|
5728
5880
|
}
|
|
5729
5881
|
},
|
|
5730
|
-
required: [
|
|
5731
|
-
'sourceAccount',
|
|
5732
|
-
'defaultCurrency',
|
|
5733
|
-
'defaultExpenseAccount',
|
|
5734
|
-
'defaultIncomeAccount'
|
|
5735
|
-
]
|
|
5882
|
+
required: ['sourceAccount', 'defaultCurrency']
|
|
5736
5883
|
} as const;
|
|
5737
5884
|
|
|
5738
5885
|
export const $ProviderSyncDto = {
|
|
@@ -5942,15 +6089,105 @@ export const $UncoveredFormatMissDto = {
|
|
|
5942
6089
|
properties: {}
|
|
5943
6090
|
} as const;
|
|
5944
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
|
+
|
|
5945
6175
|
export const $ProcessNlpDto = {
|
|
5946
6176
|
type: 'object',
|
|
5947
6177
|
properties: {
|
|
5948
6178
|
message: {
|
|
5949
6179
|
type: 'string',
|
|
5950
|
-
description:
|
|
5951
|
-
|
|
6180
|
+
description:
|
|
6181
|
+
'Natural language text describing a transaction. Optional when `confirm` is true (structured confirm); otherwise required.',
|
|
6182
|
+
example: 'Starbucks 35',
|
|
5952
6183
|
maxLength: 500
|
|
5953
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
|
+
},
|
|
5954
6191
|
sessionId: {
|
|
5955
6192
|
type: 'string',
|
|
5956
6193
|
description:
|
|
@@ -5958,17 +6195,32 @@ export const $ProcessNlpDto = {
|
|
|
5958
6195
|
example: 'session_abc123'
|
|
5959
6196
|
},
|
|
5960
6197
|
parsedData: {
|
|
5961
|
-
type: 'object',
|
|
5962
6198
|
description:
|
|
5963
6199
|
'Parsed data from previous NLP response for session recovery. Send back the parsedData received in confirm_payee/confirm responses.',
|
|
5964
6200
|
example: {
|
|
5965
6201
|
amount: 35,
|
|
5966
6202
|
currency: 'CNY',
|
|
5967
6203
|
payee: 'Starbucks'
|
|
5968
|
-
}
|
|
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'
|
|
5969
6222
|
}
|
|
5970
|
-
}
|
|
5971
|
-
required: ['message']
|
|
6223
|
+
}
|
|
5972
6224
|
} as const;
|
|
5973
6225
|
|
|
5974
6226
|
export const $NlpTransactionInfoDto = {
|
|
@@ -6290,7 +6542,8 @@ export const $NlpAccountConfirmationDataDto = {
|
|
|
6290
6542
|
},
|
|
6291
6543
|
suggestedAccount: {
|
|
6292
6544
|
type: 'string',
|
|
6293
|
-
description:
|
|
6545
|
+
description:
|
|
6546
|
+
'Suggested replacement account (omitted when no clear candidate)',
|
|
6294
6547
|
example: 'Expenses:Food:Drinks'
|
|
6295
6548
|
},
|
|
6296
6549
|
similarAccounts: {
|
|
@@ -6312,7 +6565,6 @@ export const $NlpAccountConfirmationDataDto = {
|
|
|
6312
6565
|
},
|
|
6313
6566
|
required: [
|
|
6314
6567
|
'invalidAccount',
|
|
6315
|
-
'suggestedAccount',
|
|
6316
6568
|
'similarAccounts',
|
|
6317
6569
|
'errorMessage',
|
|
6318
6570
|
'transactionContext'
|
|
@@ -6485,7 +6737,8 @@ export const $NlpSuggestedAccountDto = {
|
|
|
6485
6737
|
},
|
|
6486
6738
|
confidence: {
|
|
6487
6739
|
type: 'number',
|
|
6488
|
-
description:
|
|
6740
|
+
description:
|
|
6741
|
+
'Confidence score for this suggestion (0-1). Present = predicted (confirm/confirm_rule/confirm_account); omitted = actual persisted account (created). (#586)',
|
|
6489
6742
|
example: 0.9
|
|
6490
6743
|
}
|
|
6491
6744
|
},
|
|
@@ -6521,23 +6774,31 @@ export const $NlpDefaultAccountsDto = {
|
|
|
6521
6774
|
properties: {
|
|
6522
6775
|
asset: {
|
|
6523
6776
|
type: 'string',
|
|
6524
|
-
description:
|
|
6525
|
-
|
|
6777
|
+
description:
|
|
6778
|
+
'Default OPEN asset account (MRU when multiple), or null when none/ambiguous',
|
|
6779
|
+
example: 'Assets:Checking',
|
|
6780
|
+
nullable: true
|
|
6526
6781
|
},
|
|
6527
6782
|
expense: {
|
|
6528
6783
|
type: 'string',
|
|
6529
|
-
description:
|
|
6530
|
-
|
|
6784
|
+
description:
|
|
6785
|
+
'Default OPEN expense account (MRU when multiple), or null when none/ambiguous',
|
|
6786
|
+
example: 'Expenses:Food:Coffee',
|
|
6787
|
+
nullable: true
|
|
6531
6788
|
},
|
|
6532
6789
|
income: {
|
|
6533
6790
|
type: 'string',
|
|
6534
|
-
description:
|
|
6535
|
-
|
|
6791
|
+
description:
|
|
6792
|
+
'Default OPEN income account (MRU when multiple), or null when none/ambiguous',
|
|
6793
|
+
example: 'Income:Salary',
|
|
6794
|
+
nullable: true
|
|
6536
6795
|
},
|
|
6537
6796
|
liability: {
|
|
6538
6797
|
type: 'string',
|
|
6539
|
-
description:
|
|
6540
|
-
|
|
6798
|
+
description:
|
|
6799
|
+
'Default OPEN liability account (MRU when multiple), or null when none/ambiguous',
|
|
6800
|
+
example: 'Liabilities:CreditCard',
|
|
6801
|
+
nullable: true
|
|
6541
6802
|
}
|
|
6542
6803
|
},
|
|
6543
6804
|
required: ['asset', 'expense', 'income', 'liability']
|
|
@@ -6577,7 +6838,7 @@ export const $NlpResponseDto = {
|
|
|
6577
6838
|
type: 'string',
|
|
6578
6839
|
description:
|
|
6579
6840
|
'Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.',
|
|
6580
|
-
enum: ['transfer', 'banking', 'investment'],
|
|
6841
|
+
enum: ['transfer', 'banking', 'investment', 'lend', 'lend_collect'],
|
|
6581
6842
|
example: 'investment'
|
|
6582
6843
|
},
|
|
6583
6844
|
liabilitySubType: {
|
|
@@ -6725,7 +6986,7 @@ export const $NlpResponseDto = {
|
|
|
6725
6986
|
},
|
|
6726
6987
|
suggestedAccounts: {
|
|
6727
6988
|
description:
|
|
6728
|
-
'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.',
|
|
6729
6990
|
allOf: [
|
|
6730
6991
|
{
|
|
6731
6992
|
$ref: '#/components/schemas/NlpSuggestedAccountsDto'
|
|
@@ -6734,7 +6995,7 @@ export const $NlpResponseDto = {
|
|
|
6734
6995
|
},
|
|
6735
6996
|
defaultAccounts: {
|
|
6736
6997
|
description:
|
|
6737
|
-
'Default accounts for the user/region.
|
|
6998
|
+
'Default fallback accounts for the user/region (#586). v1 returns universal constants; per-user personalization is planned.',
|
|
6738
6999
|
allOf: [
|
|
6739
7000
|
{
|
|
6740
7001
|
$ref: '#/components/schemas/NlpDefaultAccountsDto'
|
|
@@ -6780,13 +7041,26 @@ export const $PlatformListItemDto = {
|
|
|
6780
7041
|
suggestedSegment: {
|
|
6781
7042
|
type: 'string',
|
|
6782
7043
|
description:
|
|
6783
|
-
'Suggested path segment — canonical
|
|
7044
|
+
'Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")'
|
|
6784
7045
|
},
|
|
6785
7046
|
logoUrl: {
|
|
6786
7047
|
type: 'string',
|
|
6787
7048
|
description: 'Logo URL',
|
|
6788
7049
|
nullable: true
|
|
6789
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
|
+
},
|
|
6790
7064
|
isBound: {
|
|
6791
7065
|
type: 'boolean',
|
|
6792
7066
|
description: 'Whether user has accounts using this platform'
|
|
@@ -6800,6 +7074,8 @@ export const $PlatformListItemDto = {
|
|
|
6800
7074
|
'canonical',
|
|
6801
7075
|
'suggestedSegment',
|
|
6802
7076
|
'logoUrl',
|
|
7077
|
+
'countryCode',
|
|
7078
|
+
'category',
|
|
6803
7079
|
'isBound'
|
|
6804
7080
|
]
|
|
6805
7081
|
} as const;
|
|
@@ -6835,13 +7111,26 @@ export const $PlatformMatchResultDto = {
|
|
|
6835
7111
|
suggestedSegment: {
|
|
6836
7112
|
type: 'string',
|
|
6837
7113
|
description:
|
|
6838
|
-
'Suggested path segment — canonical,
|
|
7114
|
+
'Suggested path segment — canonical PascalCased per hyphen-part, hyphens preserved (e.g. "Apple-Pay")'
|
|
6839
7115
|
},
|
|
6840
7116
|
logoUrl: {
|
|
6841
7117
|
type: 'string',
|
|
6842
7118
|
description: 'Logo URL',
|
|
6843
7119
|
nullable: true
|
|
6844
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
|
+
},
|
|
6845
7134
|
matchType: {
|
|
6846
7135
|
type: 'string',
|
|
6847
7136
|
description: "How this row matched: 'exact' > 'prefix' > 'substring'",
|
|
@@ -6855,6 +7144,8 @@ export const $PlatformMatchResultDto = {
|
|
|
6855
7144
|
'type',
|
|
6856
7145
|
'suggestedSegment',
|
|
6857
7146
|
'logoUrl',
|
|
7147
|
+
'countryCode',
|
|
7148
|
+
'category',
|
|
6858
7149
|
'matchType'
|
|
6859
7150
|
]
|
|
6860
7151
|
} as const;
|
|
@@ -8103,3 +8394,146 @@ export const $AnonymousLoginResponseDto = {
|
|
|
8103
8394
|
},
|
|
8104
8395
|
required: ['authToken']
|
|
8105
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;
|