@firela/api-types 0.0.0-canary.9d18b250 → 0.0.0-canary.a026f79e

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.
@@ -51,6 +51,14 @@ export const $CreateAccountDto = {
51
51
  description: 'Icon identifier (overrides template)',
52
52
  example: 'bank-custom'
53
53
  },
54
+ displayName: {
55
+ type: 'string',
56
+ description:
57
+ 'User-set display name override (omit/null = keep the derived name)',
58
+ nullable: true,
59
+ maxLength: 50,
60
+ example: 'Salary card'
61
+ },
54
62
  openDirectiveMeta: {
55
63
  type: 'object',
56
64
  description:
@@ -181,7 +189,8 @@ export const $AccountResponseDto = {
181
189
  },
182
190
  displayName: {
183
191
  type: 'string',
184
- description: 'Localized display name (ADR-0114, read-time projection)',
192
+ description:
193
+ 'Display name with precedence: user-set name (#762) > ADR-0114 localized name > path leaf (read-time projection)',
185
194
  example: 'Checking'
186
195
  },
187
196
  icon: {
@@ -197,7 +206,7 @@ export const $AccountResponseDto = {
197
206
  }
198
207
  },
199
208
  platformId: {
200
- type: 'object',
209
+ type: 'string',
201
210
  description: 'Platform ID (null if unbound)',
202
211
  example: 'c98e5d4a-2f71-4a5a-bb3c-92c9f231d5e2'
203
212
  },
@@ -277,6 +286,14 @@ export const $UpdateAccountDto = {
277
286
  description: 'Icon identifier',
278
287
  example: 'bank-custom'
279
288
  },
289
+ displayName: {
290
+ type: 'string',
291
+ description:
292
+ 'User-set display name override (null = clear the override and fall back to the derived name, omit = unchanged)',
293
+ nullable: true,
294
+ maxLength: 50,
295
+ example: 'Salary card'
296
+ },
280
297
  openDirectiveMeta: {
281
298
  type: 'object',
282
299
  description:
@@ -525,7 +542,10 @@ export const $RegionConfigDto = {
525
542
  },
526
543
  locale: {
527
544
  type: 'string',
528
- example: 'de-DE'
545
+ example: 'de-DE',
546
+ pattern: '^[a-z]{2,8}-[A-Z]{2}$',
547
+ description:
548
+ "Region-qualified BCP-47 tag whose region subtag equals the region's own ISO 3166-1 code (e.g., ja-JP, zh-CN, zh-HK)"
529
549
  }
530
550
  },
531
551
  required: ['currency', 'dateFormat', 'locale']
@@ -538,6 +558,12 @@ export const $RegionInfoDto = {
538
558
  type: 'string',
539
559
  example: 'de'
540
560
  },
561
+ open: {
562
+ type: 'boolean',
563
+ example: true,
564
+ description:
565
+ 'Whether the region is open (has a ready regional account template). Not-yet-open regions still return identity metadata and degrade to the universal-only catalog.'
566
+ },
541
567
  displayName: {
542
568
  type: 'string',
543
569
  example: 'Germany'
@@ -556,7 +582,7 @@ export const $RegionInfoDto = {
556
582
  $ref: '#/components/schemas/RegionConfigDto'
557
583
  }
558
584
  },
559
- required: ['code', 'displayName', 'chain', 'config']
585
+ required: ['code', 'open', 'displayName', 'chain', 'config']
560
586
  } as const;
561
587
 
562
588
  export const $RegionsMetadataResponseDto = {
@@ -2537,10 +2563,10 @@ export const $UpdatePayeeDto = {
2537
2563
  meta: {
2538
2564
  type: 'object',
2539
2565
  description:
2540
- 'Metadata for extended information (location, notes, contact info, etc.). Will merge with existing metadata.',
2566
+ 'Metadata for extended information (location, notes, contact info, etc.)',
2541
2567
  example: {
2542
2568
  location: 'Zhongguancun',
2543
- note: 'Updated note',
2569
+ note: 'Near subway station',
2544
2570
  favorite: true
2545
2571
  }
2546
2572
  },
@@ -3132,7 +3158,7 @@ export const $TimeSeriesPointDto = {
3132
3158
  example: '500000.00'
3133
3159
  },
3134
3160
  change: {
3135
- type: 'object',
3161
+ type: 'string',
3136
3162
  description: 'Change from previous point',
3137
3163
  example: '5000.00'
3138
3164
  },
@@ -3553,7 +3579,7 @@ export const $UserSettingsResponseDto = {
3553
3579
  type: 'object',
3554
3580
  properties: {
3555
3581
  baseCurrency: {
3556
- type: 'object',
3582
+ type: 'string',
3557
3583
  description:
3558
3584
  'Stored base currency choice (ISO 4217) for net-worth/report aggregation. null = user never chose; aggregates fall back to the region default at display time (#713).',
3559
3585
  example: 'USD',
@@ -3862,7 +3888,7 @@ export const $RecurringRuleResponseDto = {
3862
3888
  description: 'Rule name'
3863
3889
  },
3864
3890
  icon: {
3865
- type: 'object',
3891
+ type: 'string',
3866
3892
  description: 'Icon emoji'
3867
3893
  },
3868
3894
  frequency: {
@@ -3874,11 +3900,11 @@ export const $RecurringRuleResponseDto = {
3874
3900
  description: 'Expected amount'
3875
3901
  },
3876
3902
  expectedDay: {
3877
- type: 'object',
3903
+ type: 'number',
3878
3904
  description: 'Expected day of month'
3879
3905
  },
3880
3906
  customIntervalDays: {
3881
- type: 'object',
3907
+ type: 'number',
3882
3908
  description: 'Custom interval in days'
3883
3909
  },
3884
3910
  currency: {
@@ -3886,7 +3912,7 @@ export const $RecurringRuleResponseDto = {
3886
3912
  description: 'Currency code'
3887
3913
  },
3888
3914
  matchPayeePattern: {
3889
- type: 'object',
3915
+ type: 'string',
3890
3916
  description: 'Payee matching pattern'
3891
3917
  },
3892
3918
  matchAmountTolerance: {
@@ -3894,15 +3920,15 @@ export const $RecurringRuleResponseDto = {
3894
3920
  description: 'Amount tolerance percentage'
3895
3921
  },
3896
3922
  defaultExpenseAccount: {
3897
- type: 'object',
3923
+ type: 'string',
3898
3924
  description: 'Default expense account'
3899
3925
  },
3900
3926
  defaultPaymentAccount: {
3901
- type: 'object',
3927
+ type: 'string',
3902
3928
  description: 'Default payment account'
3903
3929
  },
3904
3930
  defaultPayee: {
3905
- type: 'object',
3931
+ type: 'string',
3906
3932
  description: 'Default payee'
3907
3933
  },
3908
3934
  isActive: {
@@ -3914,7 +3940,7 @@ export const $RecurringRuleResponseDto = {
3914
3940
  description: 'Rule start date (YYYY-MM-DD)'
3915
3941
  },
3916
3942
  endDate: {
3917
- type: 'object',
3943
+ type: 'string',
3918
3944
  description: 'Rule end date (YYYY-MM-DD)'
3919
3945
  },
3920
3946
  autoCreate: {
@@ -3922,7 +3948,7 @@ export const $RecurringRuleResponseDto = {
3922
3948
  description: 'Auto-create transaction on expected date'
3923
3949
  },
3924
3950
  lastOccurrence: {
3925
- type: 'object',
3951
+ type: 'string',
3926
3952
  description: 'Last matched occurrence date (YYYY-MM-DD)'
3927
3953
  },
3928
3954
  totalCount: {
@@ -4004,7 +4030,7 @@ export const $RecurringRuleWithStatsResponseDto = {
4004
4030
  description: 'Rule name'
4005
4031
  },
4006
4032
  icon: {
4007
- type: 'object',
4033
+ type: 'string',
4008
4034
  description: 'Icon emoji'
4009
4035
  },
4010
4036
  frequency: {
@@ -4016,11 +4042,11 @@ export const $RecurringRuleWithStatsResponseDto = {
4016
4042
  description: 'Expected amount'
4017
4043
  },
4018
4044
  expectedDay: {
4019
- type: 'object',
4045
+ type: 'number',
4020
4046
  description: 'Expected day of month'
4021
4047
  },
4022
4048
  customIntervalDays: {
4023
- type: 'object',
4049
+ type: 'number',
4024
4050
  description: 'Custom interval in days'
4025
4051
  },
4026
4052
  currency: {
@@ -4028,7 +4054,7 @@ export const $RecurringRuleWithStatsResponseDto = {
4028
4054
  description: 'Currency code'
4029
4055
  },
4030
4056
  matchPayeePattern: {
4031
- type: 'object',
4057
+ type: 'string',
4032
4058
  description: 'Payee matching pattern'
4033
4059
  },
4034
4060
  matchAmountTolerance: {
@@ -4036,15 +4062,15 @@ export const $RecurringRuleWithStatsResponseDto = {
4036
4062
  description: 'Amount tolerance percentage'
4037
4063
  },
4038
4064
  defaultExpenseAccount: {
4039
- type: 'object',
4065
+ type: 'string',
4040
4066
  description: 'Default expense account'
4041
4067
  },
4042
4068
  defaultPaymentAccount: {
4043
- type: 'object',
4069
+ type: 'string',
4044
4070
  description: 'Default payment account'
4045
4071
  },
4046
4072
  defaultPayee: {
4047
- type: 'object',
4073
+ type: 'string',
4048
4074
  description: 'Default payee'
4049
4075
  },
4050
4076
  isActive: {
@@ -4056,7 +4082,7 @@ export const $RecurringRuleWithStatsResponseDto = {
4056
4082
  description: 'Rule start date (YYYY-MM-DD)'
4057
4083
  },
4058
4084
  endDate: {
4059
- type: 'object',
4085
+ type: 'string',
4060
4086
  description: 'Rule end date (YYYY-MM-DD)'
4061
4087
  },
4062
4088
  autoCreate: {
@@ -4064,7 +4090,7 @@ export const $RecurringRuleWithStatsResponseDto = {
4064
4090
  description: 'Auto-create transaction on expected date'
4065
4091
  },
4066
4092
  lastOccurrence: {
4067
- type: 'object',
4093
+ type: 'string',
4068
4094
  description: 'Last matched occurrence date (YYYY-MM-DD)'
4069
4095
  },
4070
4096
  totalCount: {
@@ -4090,7 +4116,7 @@ export const $RecurringRuleWithStatsResponseDto = {
4090
4116
  description: 'Number of overdue expected transactions'
4091
4117
  },
4092
4118
  nextExpectedDate: {
4093
- type: 'object',
4119
+ type: 'string',
4094
4120
  description: 'Next expected date (YYYY-MM-DD)'
4095
4121
  },
4096
4122
  totalAmount: {
@@ -4106,11 +4132,11 @@ export const $RecurringRuleWithStatsResponseDto = {
4106
4132
  description: 'Number of matched transactions'
4107
4133
  },
4108
4134
  firstDate: {
4109
- type: 'object',
4135
+ type: 'string',
4110
4136
  description: 'First matched transaction date (YYYY-MM-DD)'
4111
4137
  },
4112
4138
  lastDate: {
4113
- type: 'object',
4139
+ type: 'string',
4114
4140
  description: 'Last matched transaction date (YYYY-MM-DD)'
4115
4141
  },
4116
4142
  variance: {
@@ -4151,7 +4177,7 @@ export const $UpdateRecurringRuleDto = {
4151
4177
  properties: {
4152
4178
  name: {
4153
4179
  type: 'string',
4154
- description: 'Rule name',
4180
+ description: 'Rule name (unique per user)',
4155
4181
  maxLength: 100
4156
4182
  },
4157
4183
  icon: {
@@ -4174,7 +4200,7 @@ export const $UpdateRecurringRuleDto = {
4174
4200
  },
4175
4201
  expectedAmount: {
4176
4202
  type: 'number',
4177
- description: 'Expected amount',
4203
+ description: 'Expected amount (positive number)',
4178
4204
  minimum: 0
4179
4205
  },
4180
4206
  expectedDay: {
@@ -4183,11 +4209,6 @@ export const $UpdateRecurringRuleDto = {
4183
4209
  minimum: 1,
4184
4210
  maximum: 31
4185
4211
  },
4186
- customIntervalDays: {
4187
- type: 'number',
4188
- description: 'Custom interval in days',
4189
- minimum: 1
4190
- },
4191
4212
  currency: {
4192
4213
  type: 'string',
4193
4214
  description: 'Currency code',
@@ -4195,41 +4216,48 @@ export const $UpdateRecurringRuleDto = {
4195
4216
  },
4196
4217
  matchPayeePattern: {
4197
4218
  type: 'string',
4198
- description: 'Payee matching pattern',
4219
+ description: 'Payee matching pattern (supports wildcards)',
4199
4220
  maxLength: 200
4200
4221
  },
4201
4222
  matchAmountTolerance: {
4202
4223
  type: 'number',
4203
4224
  description: 'Amount tolerance percentage (0-1)',
4225
+ default: 0.075,
4204
4226
  minimum: 0,
4205
4227
  maximum: 1
4206
4228
  },
4207
4229
  defaultExpenseAccount: {
4208
4230
  type: 'string',
4209
- description: 'Default expense account',
4231
+ description: 'Default expense account for auto-create',
4210
4232
  maxLength: 200
4211
4233
  },
4212
4234
  defaultPaymentAccount: {
4213
4235
  type: 'string',
4214
- description: 'Default payment account',
4236
+ description: 'Default payment account for auto-create',
4215
4237
  maxLength: 200
4216
4238
  },
4217
4239
  defaultPayee: {
4218
4240
  type: 'string',
4219
- description: 'Default payee',
4241
+ description: 'Default payee for auto-create',
4220
4242
  maxLength: 200
4221
4243
  },
4222
4244
  autoCreate: {
4223
4245
  type: 'boolean',
4224
- description: 'Auto-create transaction'
4225
- },
4226
- isActive: {
4227
- type: 'boolean',
4228
- description: 'Rule active status'
4246
+ description: 'Auto-create transaction when expected date arrives',
4247
+ default: false
4229
4248
  },
4230
4249
  endDate: {
4231
4250
  type: 'string',
4232
4251
  description: 'Rule end date (ISO format)'
4252
+ },
4253
+ customIntervalDays: {
4254
+ type: 'number',
4255
+ description: 'Custom interval in days',
4256
+ minimum: 1
4257
+ },
4258
+ isActive: {
4259
+ type: 'boolean',
4260
+ description: 'Rule active status'
4233
4261
  }
4234
4262
  }
4235
4263
  } as const;
@@ -4242,7 +4270,7 @@ export const $ExpectedTransactionRuleDto = {
4242
4270
  description: 'Rule name'
4243
4271
  },
4244
4272
  icon: {
4245
- type: 'object',
4273
+ type: 'string',
4246
4274
  description: 'Rule icon'
4247
4275
  },
4248
4276
  frequency: {
@@ -4285,15 +4313,15 @@ export const $ExpectedTransactionResponseDto = {
4285
4313
  description: 'Status (PENDING, COMPLETED, SKIPPED)'
4286
4314
  },
4287
4315
  matchedTransactionId: {
4288
- type: 'object',
4316
+ type: 'string',
4289
4317
  description: 'Matched transaction ID'
4290
4318
  },
4291
4319
  matchedAt: {
4292
- type: 'object',
4320
+ type: 'string',
4293
4321
  description: 'Match timestamp (ISO 8601)'
4294
4322
  },
4295
4323
  matchConfidence: {
4296
- type: 'object',
4324
+ type: 'number',
4297
4325
  description: 'Match confidence score (0-1)'
4298
4326
  },
4299
4327
  isOverdue: {
@@ -5077,7 +5105,8 @@ export const $UpdateTransactionRuleDto = {
5077
5105
  },
5078
5106
  matchLogic: {
5079
5107
  type: 'string',
5080
- enum: ['OR', 'AND']
5108
+ enum: ['OR', 'AND'],
5109
+ default: 'OR'
5081
5110
  },
5082
5111
  amountMin: {
5083
5112
  type: 'number',
@@ -5091,13 +5120,10 @@ export const $UpdateTransactionRuleDto = {
5091
5120
  },
5092
5121
  priority: {
5093
5122
  type: 'number',
5123
+ default: 50,
5094
5124
  minimum: 0,
5095
5125
  maximum: 1000
5096
5126
  },
5097
- enabled: {
5098
- type: 'boolean',
5099
- description: 'Enable or disable the rule'
5100
- },
5101
5127
  additionalTags: {
5102
5128
  items: {
5103
5129
  type: 'array'
@@ -5107,6 +5133,10 @@ export const $UpdateTransactionRuleDto = {
5107
5133
  },
5108
5134
  additionalMetadata: {
5109
5135
  type: 'object'
5136
+ },
5137
+ enabled: {
5138
+ type: 'boolean',
5139
+ description: 'Enable or disable the rule'
5110
5140
  }
5111
5141
  }
5112
5142
  } as const;
@@ -5200,9 +5230,23 @@ export const $CategoryCatalogEntryDto = {
5200
5230
  items: {
5201
5231
  type: 'string'
5202
5232
  }
5233
+ },
5234
+ categoryAccounts: {
5235
+ description:
5236
+ "Beancount account paths (categoryAccount) of the region-enabled system rules whose categoryKeywords include this slug (#816). System rules only (public endpoint — user rules excluded); one-to-many by design (e.g. 'utilities' → Electricity/Water/Internet/Gas), sorted, [] when no rule maps the slug.",
5237
+ example: [
5238
+ 'Expenses:Utilities:Electricity',
5239
+ 'Expenses:Utilities:Gas',
5240
+ 'Expenses:Utilities:Internet',
5241
+ 'Expenses:Utilities:Water'
5242
+ ],
5243
+ type: 'array',
5244
+ items: {
5245
+ type: 'string'
5246
+ }
5203
5247
  }
5204
5248
  },
5205
- required: ['slug', 'scenario', 'icon', 'regions']
5249
+ required: ['slug', 'scenario', 'icon', 'regions', 'categoryAccounts']
5206
5250
  } as const;
5207
5251
 
5208
5252
  export const $CategoryCatalogListResponseDto = {
@@ -5393,6 +5437,14 @@ export const $OnboardingAccountDto = {
5393
5437
  description:
5394
5438
  'Platform ID to bind the account to (references Platform.id); omit for unbound',
5395
5439
  example: 'c98e5d4a-2f71-4a5a-bb3c-92c9f231d5e2'
5440
+ },
5441
+ displayName: {
5442
+ type: 'string',
5443
+ description:
5444
+ 'User-set display name override (omit/null = keep the derived name)',
5445
+ nullable: true,
5446
+ maxLength: 50,
5447
+ example: 'Salary card'
5396
5448
  }
5397
5449
  },
5398
5450
  required: ['path', 'currency']
@@ -6313,8 +6365,9 @@ export const $ClientParsedDataDto = {
6313
6365
  },
6314
6366
  category: {
6315
6367
  type: 'string',
6316
- description: 'Category slug',
6317
- example: 'food_restaurant'
6368
+ description:
6369
+ 'Category in canonical form (catalog slug or Stage-2 rule keyword token, ADR-0116) — echo back verbatim from parsedData.category. Foreign forms (locale display names, account paths) are rejected with nlp.category.invalid.',
6370
+ example: 'food'
6318
6371
  },
6319
6372
  incomeType: {
6320
6373
  type: 'string',
@@ -6500,7 +6553,9 @@ export const $NlpParsedDataDto = {
6500
6553
  },
6501
6554
  category: {
6502
6555
  type: 'string',
6503
- description: 'Category'
6556
+ description:
6557
+ 'Category in canonical form: a CATEGORY_CATALOG slug (GET /{region}/bean/categories) or a Stage-2 rule categoryKeywords token (ADR-0116 D2). Never a locale display name or a beancount account path. Echo back verbatim on confirm.',
6558
+ example: 'food'
6504
6559
  },
6505
6560
  incomeType: {
6506
6561
  type: 'string',
@@ -7585,7 +7640,8 @@ export const $UpdatePlatformDto = {
7585
7640
  },
7586
7641
  isActive: {
7587
7642
  type: 'boolean',
7588
- description: 'Whether the platform is active'
7643
+ description: 'Whether the platform is active',
7644
+ default: true
7589
7645
  }
7590
7646
  }
7591
7647
  } as const;
@@ -7748,7 +7804,8 @@ export const $AccountItemDto = {
7748
7804
  },
7749
7805
  displayName: {
7750
7806
  type: 'string',
7751
- description: 'Display name (last part of account path)',
7807
+ description:
7808
+ 'Display name: user-set name if provided (#762), else the ADR-0114 chain — request-locale catalog name, en pivot, then the last part of the account path (#771)',
7752
7809
  example: 'Savings'
7753
7810
  },
7754
7811
  balance: {
@@ -7920,7 +7977,8 @@ export const $AccountItemWithAssetClassDto = {
7920
7977
  },
7921
7978
  displayName: {
7922
7979
  type: 'string',
7923
- description: 'Display name (last part of account path)',
7980
+ description:
7981
+ 'Display name: user-set name if provided (#762), else the ADR-0114 chain — request-locale catalog name, en pivot, then the last part of the account path (#771)',
7924
7982
  example: 'Savings'
7925
7983
  },
7926
7984
  balance: {
@@ -8406,7 +8464,7 @@ export const $MonetaryDto = {
8406
8464
  example: 'USD'
8407
8465
  },
8408
8466
  baseCcyEquivalent: {
8409
- type: 'object',
8467
+ type: 'string',
8410
8468
  description: 'Converted to user base currency (Decimal string)',
8411
8469
  example: '21600',
8412
8470
  nullable: true
@@ -8482,13 +8540,13 @@ export const $HoldingPnlRowDto = {
8482
8540
  example: 'Assets:US:Broker:AAPL'
8483
8541
  },
8484
8542
  accountCcy: {
8485
- type: 'object',
8543
+ type: 'string',
8486
8544
  description: 'Account settlement currency (ISO 4217), from cost currency',
8487
8545
  nullable: true,
8488
8546
  example: 'USD'
8489
8547
  },
8490
8548
  brokerType: {
8491
- type: 'object',
8549
+ type: 'string',
8492
8550
  description: 'Broker type derived from Platform.type',
8493
8551
  nullable: true,
8494
8552
  example: 'broker'
@@ -8509,7 +8567,7 @@ export const $HoldingPnlRowDto = {
8509
8567
  example: 'EQUITY'
8510
8568
  },
8511
8569
  assetSubClass: {
8512
- type: 'object',
8570
+ type: 'string',
8513
8571
  nullable: true,
8514
8572
  example: 'STOCK'
8515
8573
  },
@@ -8556,14 +8614,14 @@ export const $HoldingPnlRowDto = {
8556
8614
  ]
8557
8615
  },
8558
8616
  unrealizedPnlBase: {
8559
- type: 'object',
8617
+ type: 'string',
8560
8618
  description:
8561
8619
  'Unrealized P&L in base currency (Decimal string); null when any FX/price missing',
8562
8620
  nullable: true,
8563
8621
  example: '6000'
8564
8622
  },
8565
8623
  unrealizedPnlPct: {
8566
- type: 'object',
8624
+ type: 'string',
8567
8625
  description: 'Unrealized P&L % (Decimal string)',
8568
8626
  nullable: true,
8569
8627
  example: '25'
@@ -8587,7 +8645,7 @@ export const $HoldingPnlRowDto = {
8587
8645
  ]
8588
8646
  },
8589
8647
  pctOfInvestedAssets: {
8590
- type: 'object',
8648
+ type: 'string',
8591
8649
  description:
8592
8650
  'Share of invested assets % (Decimal string); only for invested chartTokens',
8593
8651
  nullable: true,
@@ -8632,15 +8690,15 @@ export const $HoldingPnlWarningDto = {
8632
8690
  ]
8633
8691
  },
8634
8692
  symbol: {
8635
- type: 'object',
8693
+ type: 'string',
8636
8694
  nullable: true
8637
8695
  },
8638
8696
  accountId: {
8639
- type: 'object',
8697
+ type: 'string',
8640
8698
  nullable: true
8641
8699
  },
8642
8700
  currency: {
8643
- type: 'object',
8701
+ type: 'string',
8644
8702
  nullable: true
8645
8703
  }
8646
8704
  },
@@ -8922,35 +8980,35 @@ export const $SymbolSearchResultDto = {
8922
8980
  example: 'AAPL'
8923
8981
  },
8924
8982
  name: {
8925
- type: 'object',
8983
+ type: 'string',
8926
8984
  example: 'Apple Inc.',
8927
8985
  nullable: true
8928
8986
  },
8929
8987
  exchange: {
8930
- type: 'object',
8988
+ type: 'string',
8931
8989
  example: 'US',
8932
8990
  nullable: true
8933
8991
  },
8934
8992
  assetType: {
8935
- type: 'object',
8993
+ type: 'string',
8936
8994
  description: 'OpenBB asset_type (e.g. stock, etf)',
8937
8995
  example: 'stock',
8938
8996
  nullable: true
8939
8997
  },
8940
8998
  assetClass: {
8941
- type: 'object',
8999
+ type: 'string',
8942
9000
  description: 'IGN asset class (region.types.ts ASSET_CLASSES)',
8943
9001
  example: 'EQUITY',
8944
9002
  nullable: true
8945
9003
  },
8946
9004
  assetSubClass: {
8947
- type: 'object',
9005
+ type: 'string',
8948
9006
  description: 'IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)',
8949
9007
  example: 'STOCK',
8950
9008
  nullable: true
8951
9009
  },
8952
9010
  currency: {
8953
- type: 'object',
9011
+ type: 'string',
8954
9012
  description: 'Trading currency (extra_data or inferred from exchange)',
8955
9013
  example: 'USD',
8956
9014
  nullable: true
@@ -8967,90 +9025,90 @@ export const $SymbolQuoteDto = {
8967
9025
  example: 'AAPL'
8968
9026
  },
8969
9027
  name: {
8970
- type: 'object',
9028
+ type: 'string',
8971
9029
  example: 'Apple Inc.',
8972
9030
  nullable: true
8973
9031
  },
8974
9032
  exchange: {
8975
- type: 'object',
9033
+ type: 'string',
8976
9034
  example: 'US',
8977
9035
  nullable: true
8978
9036
  },
8979
9037
  assetType: {
8980
- type: 'object',
9038
+ type: 'string',
8981
9039
  description: 'OpenBB asset_type',
8982
9040
  example: 'stock',
8983
9041
  nullable: true
8984
9042
  },
8985
9043
  assetClass: {
8986
- type: 'object',
9044
+ type: 'string',
8987
9045
  description: 'IGN asset class',
8988
9046
  example: 'EQUITY',
8989
9047
  nullable: true
8990
9048
  },
8991
9049
  assetSubClass: {
8992
- type: 'object',
9050
+ type: 'string',
8993
9051
  description: 'IGN asset sub-class',
8994
9052
  example: 'STOCK',
8995
9053
  nullable: true
8996
9054
  },
8997
9055
  currency: {
8998
- type: 'object',
9056
+ type: 'string',
8999
9057
  description: 'Trading currency (extra_data or inferred from exchange)',
9000
9058
  example: 'USD',
9001
9059
  nullable: true
9002
9060
  },
9003
9061
  price: {
9004
- type: 'object',
9062
+ type: 'string',
9005
9063
  description: 'Latest price (Decimal string)',
9006
9064
  example: '189.84',
9007
9065
  nullable: true
9008
9066
  },
9009
9067
  priceDate: {
9010
- type: 'object',
9068
+ type: 'string',
9011
9069
  description: 'Date the price was observed (ISO yyyy-MM-dd)',
9012
9070
  example: '2026-08-05',
9013
9071
  nullable: true
9014
9072
  },
9015
9073
  changePercent: {
9016
- type: 'object',
9074
+ type: 'number',
9017
9075
  description:
9018
9076
  '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.',
9019
9077
  example: 1.7,
9020
9078
  nullable: true
9021
9079
  },
9022
9080
  prevClose: {
9023
- type: 'object',
9081
+ type: 'string',
9024
9082
  description: 'Previous close (Decimal string)',
9025
9083
  nullable: true
9026
9084
  },
9027
9085
  open: {
9028
- type: 'object',
9086
+ type: 'string',
9029
9087
  description: 'Day open (Decimal string)',
9030
9088
  nullable: true
9031
9089
  },
9032
9090
  high: {
9033
- type: 'object',
9091
+ type: 'string',
9034
9092
  description: 'Day high (Decimal string)',
9035
9093
  nullable: true
9036
9094
  },
9037
9095
  low: {
9038
- type: 'object',
9096
+ type: 'string',
9039
9097
  description: 'Day low (Decimal string)',
9040
9098
  nullable: true
9041
9099
  },
9042
9100
  volume: {
9043
- type: 'object',
9101
+ type: 'string',
9044
9102
  description: 'Day volume (Decimal string)',
9045
9103
  nullable: true
9046
9104
  },
9047
9105
  yearHigh: {
9048
- type: 'object',
9106
+ type: 'string',
9049
9107
  description: '52-week high (Decimal string)',
9050
9108
  nullable: true
9051
9109
  },
9052
9110
  yearLow: {
9053
- type: 'object',
9111
+ type: 'string',
9054
9112
  description: '52-week low (Decimal string)',
9055
9113
  nullable: true
9056
9114
  }