@firela/api-types 0.0.0-canary.ce7c9749 → 0.0.0-canary.d868bd83

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.js CHANGED
@@ -556,7 +556,7 @@ var BeanAccountsService = class {
556
556
  }
557
557
  /**
558
558
  * Delete account
559
- * Deletes an account (only if no transactions)
559
+ * Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
560
560
  * @param data The data for the request.
561
561
  * @param data.id Account UUID
562
562
  * @param data.region Region code for tenant context
@@ -573,7 +573,7 @@ var BeanAccountsService = class {
573
573
  },
574
574
  errors: {
575
575
  404: "Account not found",
576
- 409: "Account has transactions and cannot be deleted"
576
+ 409: "Account has active transactions and cannot be deleted"
577
577
  }
578
578
  });
579
579
  }
package/dist/index.mjs CHANGED
@@ -524,7 +524,7 @@ var BeanAccountsService = class {
524
524
  }
525
525
  /**
526
526
  * Delete account
527
- * Deletes an account (only if no transactions)
527
+ * Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
528
528
  * @param data The data for the request.
529
529
  * @param data.id Account UUID
530
530
  * @param data.region Region code for tenant context
@@ -541,7 +541,7 @@ var BeanAccountsService = class {
541
541
  },
542
542
  errors: {
543
543
  404: "Account not found",
544
- 409: "Account has transactions and cannot be deleted"
544
+ 409: "Account has active transactions and cannot be deleted"
545
545
  }
546
546
  });
547
547
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firela/api-types",
3
- "version": "0.0.0-canary.ce7c9749",
3
+ "version": "0.0.0-canary.d868bd83",
4
4
  "description": "TypeScript types generated from IGN OpenAPI specification",
5
5
  "license": "MIT",
6
6
  "author": "FireLa Team",
@@ -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 = {
@@ -5707,12 +5747,14 @@ export const $ProviderSyncConfigDto = {
5707
5747
  },
5708
5748
  defaultExpenseAccount: {
5709
5749
  type: 'string',
5710
- description: 'Default expense account for the second posting',
5750
+ description:
5751
+ 'Default expense account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).',
5711
5752
  example: 'Expenses:Unknown'
5712
5753
  },
5713
5754
  defaultIncomeAccount: {
5714
5755
  type: 'string',
5715
- description: 'Default income account for the second posting',
5756
+ description:
5757
+ 'Default income account for the second posting. Omit when no real default exists; the pipeline routes to Review via the Uncategorized sentinel (#618).',
5716
5758
  example: 'Income:Unknown'
5717
5759
  },
5718
5760
  filterPending: {
@@ -5727,12 +5769,7 @@ export const $ProviderSyncConfigDto = {
5727
5769
  example: 'acc_gocardless_001'
5728
5770
  }
5729
5771
  },
5730
- required: [
5731
- 'sourceAccount',
5732
- 'defaultCurrency',
5733
- 'defaultExpenseAccount',
5734
- 'defaultIncomeAccount'
5735
- ]
5772
+ required: ['sourceAccount', 'defaultCurrency']
5736
5773
  } as const;
5737
5774
 
5738
5775
  export const $ProviderSyncDto = {
@@ -5966,6 +6003,18 @@ export const $ProcessNlpDto = {
5966
6003
  currency: 'CNY',
5967
6004
  payee: 'Starbucks'
5968
6005
  }
6006
+ },
6007
+ selectedRuleId: {
6008
+ type: 'string',
6009
+ description:
6010
+ '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.',
6011
+ example: 'rule_abc123'
6012
+ },
6013
+ selectedAccount: {
6014
+ type: 'string',
6015
+ description:
6016
+ '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.',
6017
+ example: 'Expenses:Food:Coffee'
5969
6018
  }
5970
6019
  },
5971
6020
  required: ['message']
@@ -6290,7 +6339,8 @@ export const $NlpAccountConfirmationDataDto = {
6290
6339
  },
6291
6340
  suggestedAccount: {
6292
6341
  type: 'string',
6293
- description: 'Suggested replacement account',
6342
+ description:
6343
+ 'Suggested replacement account (omitted when no clear candidate)',
6294
6344
  example: 'Expenses:Food:Drinks'
6295
6345
  },
6296
6346
  similarAccounts: {
@@ -6312,7 +6362,6 @@ export const $NlpAccountConfirmationDataDto = {
6312
6362
  },
6313
6363
  required: [
6314
6364
  'invalidAccount',
6315
- 'suggestedAccount',
6316
6365
  'similarAccounts',
6317
6366
  'errorMessage',
6318
6367
  'transactionContext'
@@ -6485,7 +6534,8 @@ export const $NlpSuggestedAccountDto = {
6485
6534
  },
6486
6535
  confidence: {
6487
6536
  type: 'number',
6488
- description: 'Confidence score for this suggestion (0-1)',
6537
+ description:
6538
+ 'Confidence score for this suggestion (0-1). Present = predicted (confirm/confirm_rule/confirm_account); omitted = actual persisted account (created). (#586)',
6489
6539
  example: 0.9
6490
6540
  }
6491
6541
  },
@@ -6521,23 +6571,31 @@ export const $NlpDefaultAccountsDto = {
6521
6571
  properties: {
6522
6572
  asset: {
6523
6573
  type: 'string',
6524
- description: 'Default asset account',
6525
- example: 'Assets:Checking'
6574
+ description:
6575
+ 'Default OPEN asset account (MRU when multiple), or null when none/ambiguous',
6576
+ example: 'Assets:Checking',
6577
+ nullable: true
6526
6578
  },
6527
6579
  expense: {
6528
6580
  type: 'string',
6529
- description: 'Default expense account',
6530
- example: 'Expenses:Uncategorized'
6581
+ description:
6582
+ 'Default OPEN expense account (MRU when multiple), or null when none/ambiguous',
6583
+ example: 'Expenses:Food:Coffee',
6584
+ nullable: true
6531
6585
  },
6532
6586
  income: {
6533
6587
  type: 'string',
6534
- description: 'Default income account',
6535
- example: 'Income:Uncategorized'
6588
+ description:
6589
+ 'Default OPEN income account (MRU when multiple), or null when none/ambiguous',
6590
+ example: 'Income:Salary',
6591
+ nullable: true
6536
6592
  },
6537
6593
  liability: {
6538
6594
  type: 'string',
6539
- description: 'Default liability account',
6540
- example: 'Liabilities:CreditCard'
6595
+ description:
6596
+ 'Default OPEN liability account (MRU when multiple), or null when none/ambiguous',
6597
+ example: 'Liabilities:CreditCard',
6598
+ nullable: true
6541
6599
  }
6542
6600
  },
6543
6601
  required: ['asset', 'expense', 'income', 'liability']
@@ -6725,7 +6783,7 @@ export const $NlpResponseDto = {
6725
6783
  },
6726
6784
  suggestedAccounts: {
6727
6785
  description:
6728
- 'Suggested accounts for this transaction. Contains recommended source and destination accounts based on the detected intent and rules.',
6786
+ '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
6787
  allOf: [
6730
6788
  {
6731
6789
  $ref: '#/components/schemas/NlpSuggestedAccountsDto'
@@ -6734,7 +6792,7 @@ export const $NlpResponseDto = {
6734
6792
  },
6735
6793
  defaultAccounts: {
6736
6794
  description:
6737
- 'Default accounts for the user/region. These are fallback accounts used when no specific suggestion is available.',
6795
+ 'Default fallback accounts for the user/region (#586). v1 returns universal constants; per-user personalization is planned.',
6738
6796
  allOf: [
6739
6797
  {
6740
6798
  $ref: '#/components/schemas/NlpDefaultAccountsDto'
@@ -6787,6 +6845,19 @@ export const $PlatformListItemDto = {
6787
6845
  description: 'Logo URL',
6788
6846
  nullable: true
6789
6847
  },
6848
+ countryCode: {
6849
+ type: 'string',
6850
+ description: 'ISO 3166-1 alpha-2 (UPPERCASE); null = global platform',
6851
+ example: 'CN',
6852
+ nullable: true
6853
+ },
6854
+ category: {
6855
+ type: 'string',
6856
+ description:
6857
+ 'Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.',
6858
+ nullable: true,
6859
+ example: 'DigitalWallet'
6860
+ },
6790
6861
  isBound: {
6791
6862
  type: 'boolean',
6792
6863
  description: 'Whether user has accounts using this platform'
@@ -6800,6 +6871,8 @@ export const $PlatformListItemDto = {
6800
6871
  'canonical',
6801
6872
  'suggestedSegment',
6802
6873
  'logoUrl',
6874
+ 'countryCode',
6875
+ 'category',
6803
6876
  'isBound'
6804
6877
  ]
6805
6878
  } as const;
@@ -6842,6 +6915,19 @@ export const $PlatformMatchResultDto = {
6842
6915
  description: 'Logo URL',
6843
6916
  nullable: true
6844
6917
  },
6918
+ countryCode: {
6919
+ type: 'string',
6920
+ description: 'ISO 3166-1 alpha-2 (UPPERCASE); null = global platform',
6921
+ example: 'CN',
6922
+ nullable: true
6923
+ },
6924
+ category: {
6925
+ type: 'string',
6926
+ description:
6927
+ 'Region-aware category (institution vocab, e.g. DigitalWallet/Bank). null = no region-aware suggestion; fall back to type.',
6928
+ nullable: true,
6929
+ example: 'DigitalWallet'
6930
+ },
6845
6931
  matchType: {
6846
6932
  type: 'string',
6847
6933
  description: "How this row matched: 'exact' > 'prefix' > 'substring'",
@@ -6855,6 +6941,8 @@ export const $PlatformMatchResultDto = {
6855
6941
  'type',
6856
6942
  'suggestedSegment',
6857
6943
  'logoUrl',
6944
+ 'countryCode',
6945
+ 'category',
6858
6946
  'matchType'
6859
6947
  ]
6860
6948
  } as const;
@@ -8103,3 +8191,146 @@ export const $AnonymousLoginResponseDto = {
8103
8191
  },
8104
8192
  required: ['authToken']
8105
8193
  } as const;
8194
+
8195
+ export const $SymbolSearchResultDto = {
8196
+ type: 'object',
8197
+ properties: {
8198
+ symbol: {
8199
+ type: 'string',
8200
+ example: 'AAPL'
8201
+ },
8202
+ name: {
8203
+ type: 'object',
8204
+ example: 'Apple Inc.',
8205
+ nullable: true
8206
+ },
8207
+ exchange: {
8208
+ type: 'object',
8209
+ example: 'US',
8210
+ nullable: true
8211
+ },
8212
+ assetType: {
8213
+ type: 'object',
8214
+ description: 'OpenBB asset_type (e.g. stock, etf)',
8215
+ example: 'stock',
8216
+ nullable: true
8217
+ },
8218
+ assetClass: {
8219
+ type: 'object',
8220
+ description: 'IGN asset class (region.types.ts ASSET_CLASSES)',
8221
+ example: 'EQUITY',
8222
+ nullable: true
8223
+ },
8224
+ assetSubClass: {
8225
+ type: 'object',
8226
+ description: 'IGN asset sub-class (region.types.ts ASSET_SUB_CLASSES)',
8227
+ example: 'STOCK',
8228
+ nullable: true
8229
+ },
8230
+ currency: {
8231
+ type: 'object',
8232
+ description: 'Trading currency (extra_data or inferred from exchange)',
8233
+ example: 'USD',
8234
+ nullable: true
8235
+ }
8236
+ },
8237
+ required: ['symbol']
8238
+ } as const;
8239
+
8240
+ export const $SymbolQuoteDto = {
8241
+ type: 'object',
8242
+ properties: {
8243
+ symbol: {
8244
+ type: 'string',
8245
+ example: 'AAPL'
8246
+ },
8247
+ name: {
8248
+ type: 'object',
8249
+ example: 'Apple Inc.',
8250
+ nullable: true
8251
+ },
8252
+ exchange: {
8253
+ type: 'object',
8254
+ example: 'US',
8255
+ nullable: true
8256
+ },
8257
+ assetType: {
8258
+ type: 'object',
8259
+ description: 'OpenBB asset_type',
8260
+ example: 'stock',
8261
+ nullable: true
8262
+ },
8263
+ assetClass: {
8264
+ type: 'object',
8265
+ description: 'IGN asset class',
8266
+ example: 'EQUITY',
8267
+ nullable: true
8268
+ },
8269
+ assetSubClass: {
8270
+ type: 'object',
8271
+ description: 'IGN asset sub-class',
8272
+ example: 'STOCK',
8273
+ nullable: true
8274
+ },
8275
+ currency: {
8276
+ type: 'object',
8277
+ description: 'Trading currency (extra_data or inferred from exchange)',
8278
+ example: 'USD',
8279
+ nullable: true
8280
+ },
8281
+ price: {
8282
+ type: 'object',
8283
+ description: 'Latest price (Decimal string)',
8284
+ example: '189.84',
8285
+ nullable: true
8286
+ },
8287
+ priceDate: {
8288
+ type: 'object',
8289
+ description: 'Date the price was observed (ISO yyyy-MM-dd)',
8290
+ example: '2026-08-05',
8291
+ nullable: true
8292
+ },
8293
+ changePercent: {
8294
+ type: 'object',
8295
+ description:
8296
+ '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.',
8297
+ example: 1.7,
8298
+ nullable: true
8299
+ },
8300
+ prevClose: {
8301
+ type: 'object',
8302
+ description: 'Previous close (Decimal string)',
8303
+ nullable: true
8304
+ },
8305
+ open: {
8306
+ type: 'object',
8307
+ description: 'Day open (Decimal string)',
8308
+ nullable: true
8309
+ },
8310
+ high: {
8311
+ type: 'object',
8312
+ description: 'Day high (Decimal string)',
8313
+ nullable: true
8314
+ },
8315
+ low: {
8316
+ type: 'object',
8317
+ description: 'Day low (Decimal string)',
8318
+ nullable: true
8319
+ },
8320
+ volume: {
8321
+ type: 'object',
8322
+ description: 'Day volume (Decimal string)',
8323
+ nullable: true
8324
+ },
8325
+ yearHigh: {
8326
+ type: 'object',
8327
+ description: '52-week high (Decimal string)',
8328
+ nullable: true
8329
+ },
8330
+ yearLow: {
8331
+ type: 'object',
8332
+ description: '52-week low (Decimal string)',
8333
+ nullable: true
8334
+ }
8335
+ }
8336
+ } as const;
@@ -257,6 +257,7 @@ import type {
257
257
  PlatformControllerFindAllResponse,
258
258
  PlatformControllerCreateData,
259
259
  PlatformControllerCreateResponse,
260
+ PlatformControllerGetPlatformListData,
260
261
  PlatformControllerGetPlatformListResponse,
261
262
  PlatformControllerMatchPlatformsData,
262
263
  PlatformControllerMatchPlatformsResponse,
@@ -288,7 +289,11 @@ import type {
288
289
  HealthControllerResetCircuitBreakerData,
289
290
  HealthControllerResetCircuitBreakerResponse,
290
291
  HealthControllerGetMetricsResponse,
291
- InfoControllerGetInfoResponse
292
+ InfoControllerGetInfoResponse,
293
+ SymbolControllerSearchData,
294
+ SymbolControllerSearchResponse,
295
+ SymbolControllerGetQuoteData,
296
+ SymbolControllerGetQuoteResponse
292
297
  } from './types.gen';
293
298
 
294
299
  export class BeanAccountsService {
@@ -407,7 +412,7 @@ export class BeanAccountsService {
407
412
 
408
413
  /**
409
414
  * Delete account
410
- * Deletes an account (only if no transactions)
415
+ * Deletes an account (only if no active transactions; voided/superseded residual postings are cleaned up)
411
416
  * @param data The data for the request.
412
417
  * @param data.id Account UUID
413
418
  * @param data.region Region code for tenant context
@@ -426,7 +431,7 @@ export class BeanAccountsService {
426
431
  },
427
432
  errors: {
428
433
  404: 'Account not found',
429
- 409: 'Account has transactions and cannot be deleted'
434
+ 409: 'Account has active transactions and cannot be deleted'
430
435
  }
431
436
  });
432
437
  }
@@ -3726,13 +3731,20 @@ export class BeanPlatformsService {
3726
3731
 
3727
3732
  /**
3728
3733
  * Get platform list for current user
3734
+ * @param data The data for the request.
3735
+ * @param data.region Region code (ISO 3166-1 alpha-2) that biases within-type-bucket ordering (local-region platforms first). Case-insensitive — stored/compared UPPERCASE ("cn" == "CN").
3729
3736
  * @returns PlatformListItemDto List of platforms with user binding status
3730
3737
  * @throws ApiError
3731
3738
  */
3732
- public static platformControllerGetPlatformList(): CancelablePromise<PlatformControllerGetPlatformListResponse> {
3739
+ public static platformControllerGetPlatformList(
3740
+ data: PlatformControllerGetPlatformListData = {}
3741
+ ): CancelablePromise<PlatformControllerGetPlatformListResponse> {
3733
3742
  return __request(OpenAPI, {
3734
3743
  method: 'GET',
3735
- url: '/api/v1/bean/platforms/list'
3744
+ url: '/api/v1/bean/platforms/list',
3745
+ query: {
3746
+ region: data.region
3747
+ }
3736
3748
  });
3737
3749
  }
3738
3750
 
@@ -3740,7 +3752,7 @@ export class BeanPlatformsService {
3740
3752
  * Match platforms by name or alias
3741
3753
  * @param data The data for the request.
3742
3754
  * @param data.q Search query — Chinese name, English name, or abbreviation
3743
- * @param data.region Region code for category override lookup
3755
+ * @param data.region 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").
3744
3756
  * @returns PlatformMatchResponseDto Matching platforms with overall match type and truncation flag
3745
3757
  * @throws ApiError
3746
3758
  */
@@ -4169,3 +4181,53 @@ export class InfoService {
4169
4181
  });
4170
4182
  }
4171
4183
  }
4184
+
4185
+ export class MarketDataService {
4186
+ /**
4187
+ * Search market symbols by name or code
4188
+ * Ranked search over the openbb catalog. Empty `q` returns [].
4189
+ * @param data The data for the request.
4190
+ * @param data.q Search term — matched against symbol and instrument name. Empty string returns [].
4191
+ * @param data.limit Maximum number of results (clamped 1..50)
4192
+ * @param data.exchange Filter by exchange code (e.g. US, HK, SS, SZ)
4193
+ * @param data.assetType Filter by OpenBB asset_type (e.g. stock, etf)
4194
+ * @returns SymbolSearchResultDto Ranked search results
4195
+ * @throws ApiError
4196
+ */
4197
+ public static symbolControllerSearch(
4198
+ data: SymbolControllerSearchData
4199
+ ): CancelablePromise<SymbolControllerSearchResponse> {
4200
+ return __request(OpenAPI, {
4201
+ method: 'GET',
4202
+ url: '/api/v1/market/symbols/search',
4203
+ query: {
4204
+ q: data.q,
4205
+ limit: data.limit,
4206
+ exchange: data.exchange,
4207
+ assetType: data.assetType
4208
+ }
4209
+ });
4210
+ }
4211
+
4212
+ /**
4213
+ * Get a market symbol quote
4214
+ * @param data The data for the request.
4215
+ * @param data.symbol
4216
+ * @returns SymbolQuoteDto Symbol quote
4217
+ * @throws ApiError
4218
+ */
4219
+ public static symbolControllerGetQuote(
4220
+ data: SymbolControllerGetQuoteData
4221
+ ): CancelablePromise<SymbolControllerGetQuoteResponse> {
4222
+ return __request(OpenAPI, {
4223
+ method: 'GET',
4224
+ url: '/api/v1/market/symbols/{symbol}/quote',
4225
+ path: {
4226
+ symbol: data.symbol
4227
+ },
4228
+ errors: {
4229
+ 404: 'Symbol not found in the openbb catalog'
4230
+ }
4231
+ });
4232
+ }
4233
+ }