@firela/api-types 0.0.0-canary.b3b7767b → 0.0.0-canary.b3e2bcf7

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.mjs CHANGED
@@ -452,7 +452,7 @@ var BeanAccountsService = class {
452
452
  * @param data.type Filter by account type
453
453
  * @param data.status Filter by status
454
454
  * @param data.isCustom Filter by custom (user-created) accounts only
455
- * @param data.search Search term for path or i18nKey
455
+ * @param data.search Search term for account path
456
456
  * @param data.limit Maximum number of results
457
457
  * @param data.offset Number of results to skip
458
458
  * @returns AccountListResponseDto Accounts retrieved successfully
@@ -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
  }
@@ -597,6 +597,32 @@ var BeanAccountsService = class {
597
597
  }
598
598
  });
599
599
  }
600
+ /**
601
+ * Post an opening-balance transaction
602
+ * Posts a double-entry opening-balance transaction against Equity:Opening-Balances for an existing Assets/Liabilities account. At most one active opening balance per account.
603
+ * @param data The data for the request.
604
+ * @param data.id Account UUID
605
+ * @param data.region Region code for tenant context
606
+ * @param data.requestBody
607
+ * @returns OpeningBalanceResultDto Opening-balance transaction created
608
+ * @throws ApiError
609
+ */
610
+ static accountControllerAddOpeningBalance(data) {
611
+ return request(OpenAPI, {
612
+ method: "POST",
613
+ url: "/api/v1/{region}/bean/accounts/{id}/opening-balance",
614
+ path: {
615
+ id: data.id,
616
+ region: data.region
617
+ },
618
+ body: data.requestBody,
619
+ mediaType: "application/json",
620
+ errors: {
621
+ 404: "Account not found",
622
+ 409: "An opening balance already exists for this account"
623
+ }
624
+ });
625
+ }
600
626
  };
601
627
  var BeanTransactionsService = class {
602
628
  /**
@@ -638,6 +664,7 @@ var BeanTransactionsService = class {
638
664
  * @param data.status Filter by transaction status
639
665
  * @param data.search Search in narration and payee fields (max 200 chars)
640
666
  * @param data.accountId Filter by account ID (transactions with postings to this account)
667
+ * @param data.category Filter by ADR-0075 functional category (Group segment); matches any posting to an Expenses/Income account whose derived Group segment equals this value
641
668
  * @returns TransactionListResponseDto Transaction list
642
669
  * @throws ApiError
643
670
  */
@@ -655,25 +682,93 @@ var BeanTransactionsService = class {
655
682
  dateTo: data.dateTo,
656
683
  status: data.status,
657
684
  search: data.search,
658
- accountId: data.accountId
685
+ accountId: data.accountId,
686
+ category: data.category
659
687
  },
660
688
  errors: {
689
+ 400: "Validation failed",
661
690
  401: "Authentication required"
662
691
  }
663
692
  });
664
693
  }
665
694
  /**
695
+ * @deprecated
696
+ * Batch create transactions (DEPRECATED)
697
+ * DEPRECATED: Use POST /:region/bean/import/provider/:name/sync instead. This endpoint skips dedup, rule matching, and review branching.
666
698
  * @param data The data for the request.
667
699
  * @param data.region Region code for tenant context
668
- * @returns unknown
700
+ * @param data.requestBody
701
+ * @returns BatchTransactionResponseDto Transactions processed
669
702
  * @throws ApiError
670
703
  */
671
- static transactionController(data) {
704
+ static transactionControllerCreateBatch(data) {
672
705
  return request(OpenAPI, {
673
706
  method: "POST",
674
707
  url: "/api/v1/{region}/bean/transactions/batch",
675
708
  path: {
676
709
  region: data.region
710
+ },
711
+ body: data.requestBody,
712
+ mediaType: "application/json",
713
+ errors: {
714
+ 400: "Invalid input",
715
+ 401: "Authentication required"
716
+ }
717
+ });
718
+ }
719
+ /**
720
+ * Correct (supersede) a transaction
721
+ * Atomically voids the original (SUPERSEDED) and creates a replacement through the full validation pipeline.
722
+ * @param data The data for the request.
723
+ * @param data.id Original transaction ID to correct
724
+ * @param data.region Region code for tenant context
725
+ * @param data.requestBody
726
+ * @returns TransactionDetailDto Corrected transaction created
727
+ * @throws ApiError
728
+ */
729
+ static transactionControllerCorrect(data) {
730
+ return request(OpenAPI, {
731
+ method: "POST",
732
+ url: "/api/v1/{region}/bean/transactions/{id}/correct",
733
+ path: {
734
+ id: data.id,
735
+ region: data.region
736
+ },
737
+ body: data.requestBody,
738
+ mediaType: "application/json",
739
+ errors: {
740
+ 404: "Original transaction not found",
741
+ 409: "Original no longer ACTIVE (concurrent modification)",
742
+ 422: "Pipeline validation failed (does not balance, invalid accounts)"
743
+ }
744
+ });
745
+ }
746
+ /**
747
+ * Suggest transaction tags
748
+ * Returns distinct tags from the user ACTIVE transactions, sorted by usage, for autocomplete. Optional q performs a case-insensitive prefix match.
749
+ * @param data The data for the request.
750
+ * @param data.region Region code for tenant context
751
+ * @param data.q Prefix match, case-insensitive (max 50 chars)
752
+ * @param data.sort usage (default) or name
753
+ * @param data.limit Max suggestions (1-100, default 10)
754
+ * @returns TagSuggestionsResponseDto Tag suggestions
755
+ * @throws ApiError
756
+ */
757
+ static transactionControllerSuggestTags(data) {
758
+ return request(OpenAPI, {
759
+ method: "GET",
760
+ url: "/api/v1/{region}/bean/transactions/tags",
761
+ path: {
762
+ region: data.region
763
+ },
764
+ query: {
765
+ q: data.q,
766
+ sort: data.sort,
767
+ limit: data.limit
768
+ },
769
+ errors: {
770
+ 400: "Validation failed",
771
+ 401: "Authentication required"
677
772
  }
678
773
  });
679
774
  }
@@ -728,17 +823,26 @@ var BeanTransactionsService = class {
728
823
  });
729
824
  }
730
825
  /**
826
+ * Void transaction
827
+ * Soft-deletes a transaction by marking it as VOIDED
731
828
  * @param data The data for the request.
829
+ * @param data.id Transaction ID
732
830
  * @param data.region Region code for tenant context
733
- * @returns void
831
+ * @returns void Transaction voided successfully
734
832
  * @throws ApiError
735
833
  */
736
- static transactionController1(data) {
834
+ static transactionControllerDelete(data) {
737
835
  return request(OpenAPI, {
738
836
  method: "DELETE",
739
837
  url: "/api/v1/{region}/bean/transactions/{id}",
740
838
  path: {
839
+ id: data.id,
741
840
  region: data.region
841
+ },
842
+ errors: {
843
+ 400: "Transaction already voided",
844
+ 401: "Authentication required",
845
+ 404: "Transaction not found"
742
846
  }
743
847
  });
744
848
  }
@@ -748,8 +852,8 @@ var BeanBalancesService = class {
748
852
  * Query account balance
749
853
  * Calculate account balance at a specific date for a single currency
750
854
  * @param data The data for the request.
751
- * @param data.account Account name (e.g., "Assets:Bank:Checking")
752
- * @param data.region Region code (cn, us, de)
855
+ * @param data.account Account name (e.g., "Assets:Checking")
856
+ * @param data.region Region code for tenant context
753
857
  * @param data.date Date to calculate balance at (ISO 8601 format)
754
858
  * @param data.currency Currency to query (e.g., "USD", "CNY")
755
859
  * @returns BalanceResponseDto Balance calculated successfully
@@ -777,7 +881,7 @@ var BeanBalancesService = class {
777
881
  * Query multi-currency account balance
778
882
  * Calculate account balances for all currencies at a specific date
779
883
  * @param data The data for the request.
780
- * @param data.region Region code (cn, us, de)
884
+ * @param data.region Region code for tenant context
781
885
  * @returns MultiCurrencyBalanceResponseDto Balances calculated successfully
782
886
  * @throws ApiError
783
887
  */
@@ -797,17 +901,26 @@ var BeanBalancesService = class {
797
901
  };
798
902
  var BeanCommoditiesService = class {
799
903
  /**
904
+ * Create a new commodity
905
+ * Creates a new commodity definition for the authenticated user
800
906
  * @param data The data for the request.
801
- * @param data.region Region code (cn, us, de)
802
- * @returns unknown
907
+ * @param data.region Region code for tenant context
908
+ * @param data.requestBody
909
+ * @returns CommodityResponseDto Commodity created successfully
803
910
  * @throws ApiError
804
911
  */
805
- static commodityController(data) {
912
+ static commodityControllerCreate(data) {
806
913
  return request(OpenAPI, {
807
914
  method: "POST",
808
915
  url: "/api/v1/{region}/bean/commodities",
809
916
  path: {
810
917
  region: data.region
918
+ },
919
+ body: data.requestBody,
920
+ mediaType: "application/json",
921
+ errors: {
922
+ 400: "Invalid input data",
923
+ 409: "Commodity already exists"
811
924
  }
812
925
  });
813
926
  }
@@ -815,7 +928,7 @@ var BeanCommoditiesService = class {
815
928
  * List user commodities
816
929
  * Returns all commodity definitions for the authenticated user with optional filtering
817
930
  * @param data The data for the request.
818
- * @param data.region Region code (cn, us, de)
931
+ * @param data.region Region code for tenant context
819
932
  * @param data.search Search term for symbol or metadata fields (partial match). Searches symbol and metadata.name.
820
933
  * @param data.symbol Filter by exact symbol match
821
934
  * @returns CommodityListResponseDto Commodities retrieved successfully
@@ -839,7 +952,7 @@ var BeanCommoditiesService = class {
839
952
  * Returns a specific commodity definition by its symbol
840
953
  * @param data The data for the request.
841
954
  * @param data.symbol Commodity symbol
842
- * @param data.region Region code (cn, us, de)
955
+ * @param data.region Region code for tenant context
843
956
  * @returns CommodityResponseDto Commodity retrieved successfully
844
957
  * @throws ApiError
845
958
  */
@@ -857,57 +970,81 @@ var BeanCommoditiesService = class {
857
970
  });
858
971
  }
859
972
  /**
973
+ * Update commodity
974
+ * Updates an existing commodity definition. Symbol cannot be changed.
860
975
  * @param data The data for the request.
861
- * @param data.region Region code (cn, us, de)
862
- * @returns unknown
976
+ * @param data.symbol Commodity symbol
977
+ * @param data.region Region code for tenant context
978
+ * @param data.requestBody
979
+ * @returns CommodityResponseDto Commodity updated successfully
863
980
  * @throws ApiError
864
981
  */
865
- static commodityController1(data) {
982
+ static commodityControllerUpdate(data) {
866
983
  return request(OpenAPI, {
867
984
  method: "PUT",
868
985
  url: "/api/v1/{region}/bean/commodities/{symbol}",
869
986
  path: {
987
+ symbol: data.symbol,
870
988
  region: data.region
989
+ },
990
+ body: data.requestBody,
991
+ mediaType: "application/json",
992
+ errors: {
993
+ 400: "Invalid input data",
994
+ 404: "Commodity not found"
871
995
  }
872
996
  });
873
997
  }
874
998
  /**
999
+ * Delete commodity
1000
+ * Deletes a commodity definition
875
1001
  * @param data The data for the request.
876
- * @param data.region Region code (cn, us, de)
877
- * @returns void
1002
+ * @param data.symbol Commodity symbol
1003
+ * @param data.region Region code for tenant context
1004
+ * @returns void Commodity deleted successfully
878
1005
  * @throws ApiError
879
1006
  */
880
- static commodityController2(data) {
1007
+ static commodityControllerDelete(data) {
881
1008
  return request(OpenAPI, {
882
1009
  method: "DELETE",
883
1010
  url: "/api/v1/{region}/bean/commodities/{symbol}",
884
1011
  path: {
1012
+ symbol: data.symbol,
885
1013
  region: data.region
1014
+ },
1015
+ errors: {
1016
+ 404: "Commodity not found"
886
1017
  }
887
1018
  });
888
1019
  }
889
1020
  /**
1021
+ * Ensure commodity exists
1022
+ * Gets existing commodity or creates it with automatic initialization from OpenBB
890
1023
  * @param data The data for the request.
891
- * @param data.region Region code (cn, us, de)
892
- * @returns unknown
1024
+ * @param data.symbol Commodity symbol
1025
+ * @param data.region Region code for tenant context
1026
+ * @returns CommodityResponseDto Commodity retrieved or created
893
1027
  * @throws ApiError
894
1028
  */
895
- static commodityController3(data) {
1029
+ static commodityControllerGetOrCreate(data) {
896
1030
  return request(OpenAPI, {
897
1031
  method: "POST",
898
1032
  url: "/api/v1/{region}/bean/commodities/{symbol}/ensure",
899
1033
  path: {
1034
+ symbol: data.symbol,
900
1035
  region: data.region
901
1036
  }
902
1037
  });
903
1038
  }
904
1039
  /**
1040
+ * Bulk create commodities
1041
+ * Creates multiple commodities from a list of symbols, useful for initialization
905
1042
  * @param data The data for the request.
906
- * @param data.region Region code (cn, us, de)
907
- * @returns unknown
1043
+ * @param data.region Region code for tenant context
1044
+ * @returns CommodityResponseDto Commodities created successfully
908
1045
  * @throws ApiError
909
1046
  */
910
- static commodityController4(data) {
1047
+ static commodityControllerBulkCreate(data) {
911
1048
  return request(OpenAPI, {
912
1049
  method: "POST",
913
1050
  url: "/api/v1/{region}/bean/commodities/bulk",
@@ -943,7 +1080,7 @@ var ProviderSyncService = class {
943
1080
  *
944
1081
  * @param data The data for the request.
945
1082
  * @param data.providerName Provider name
946
- * @param data.region Region code
1083
+ * @param data.region Region code for tenant context
947
1084
  * @param data.requestBody
948
1085
  * @returns ProviderSyncResponseDto Sync completed successfully
949
1086
  * @throws ApiError
@@ -969,7 +1106,7 @@ var ProviderSyncService = class {
969
1106
  * Get supported providers
970
1107
  * Returns a list of all providers supported by the sync endpoint.
971
1108
  * @param data The data for the request.
972
- * @param data.region Region code (cn, us, de)
1109
+ * @param data.region Region code for tenant context
973
1110
  * @returns SupportedProvidersResponseDto List of supported providers
974
1111
  * @throws ApiError
975
1112
  */
@@ -990,7 +1127,7 @@ var ProviderSyncService = class {
990
1127
  * Returns whether a specific provider is supported.
991
1128
  * @param data The data for the request.
992
1129
  * @param data.providerName Provider name to check
993
- * @param data.region Region code (cn, us, de)
1130
+ * @param data.region Region code for tenant context
994
1131
  * @returns unknown Provider support status
995
1132
  * @throws ApiError
996
1133
  */
@@ -1011,18 +1148,13 @@ var ProviderSyncService = class {
1011
1148
  var HealthService = class {
1012
1149
  /**
1013
1150
  * Basic health check for K8s/load balancer probes
1014
- * @param data The data for the request.
1015
- * @param data.region Region code (cn, us, de)
1016
1151
  * @returns unknown Service is healthy
1017
1152
  * @throws ApiError
1018
1153
  */
1019
- static healthControllerGetHealth(data) {
1154
+ static healthControllerGetHealth() {
1020
1155
  return request(OpenAPI, {
1021
1156
  method: "GET",
1022
1157
  url: "/api/v1/health",
1023
- path: {
1024
- region: data.region
1025
- },
1026
1158
  errors: {
1027
1159
  503: "Service unavailable"
1028
1160
  }
@@ -1030,37 +1162,41 @@ var HealthService = class {
1030
1162
  }
1031
1163
  /**
1032
1164
  * Check database connection health
1033
- * @param data The data for the request.
1034
- * @param data.region Region code (cn, us, de)
1035
1165
  * @returns unknown Database is healthy
1036
1166
  * @throws ApiError
1037
1167
  */
1038
- static healthControllerCheckDatabase(data) {
1168
+ static healthControllerCheckDatabase() {
1039
1169
  return request(OpenAPI, {
1040
1170
  method: "GET",
1041
1171
  url: "/api/v1/health/database",
1042
- path: {
1043
- region: data.region
1044
- },
1045
1172
  errors: {
1046
1173
  503: "Database unavailable"
1047
1174
  }
1048
1175
  });
1049
1176
  }
1177
+ /**
1178
+ * Check OpenBB schema status
1179
+ * @returns unknown OpenBB status
1180
+ * @throws ApiError
1181
+ */
1182
+ static healthControllerCheckOpenBb() {
1183
+ return request(OpenAPI, {
1184
+ method: "GET",
1185
+ url: "/api/v1/health/openbb",
1186
+ errors: {
1187
+ 503: "OpenBB unavailable"
1188
+ }
1189
+ });
1190
+ }
1050
1191
  /**
1051
1192
  * Check Redis connection health
1052
- * @param data The data for the request.
1053
- * @param data.region Region code (cn, us, de)
1054
1193
  * @returns unknown Redis is healthy
1055
1194
  * @throws ApiError
1056
1195
  */
1057
- static healthControllerCheckRedis(data) {
1196
+ static healthControllerCheckRedis() {
1058
1197
  return request(OpenAPI, {
1059
1198
  method: "GET",
1060
1199
  url: "/api/v1/health/redis",
1061
- path: {
1062
- region: data.region
1063
- },
1064
1200
  errors: {
1065
1201
  503: "Redis unavailable"
1066
1202
  }
@@ -1068,18 +1204,13 @@ var HealthService = class {
1068
1204
  }
1069
1205
  /**
1070
1206
  * Get status of all circuit breakers
1071
- * @param data The data for the request.
1072
- * @param data.region Region code (cn, us, de)
1073
1207
  * @returns unknown Circuit breaker status
1074
1208
  * @throws ApiError
1075
1209
  */
1076
- static healthControllerGetCircuitBreakersHealth(data) {
1210
+ static healthControllerGetCircuitBreakersHealth() {
1077
1211
  return request(OpenAPI, {
1078
1212
  method: "GET",
1079
1213
  url: "/api/v1/health/circuit-breakers",
1080
- path: {
1081
- region: data.region
1082
- },
1083
1214
  errors: {
1084
1215
  401: "Unauthorized",
1085
1216
  500: "Internal error"
@@ -1090,7 +1221,6 @@ var HealthService = class {
1090
1221
  * Reset a circuit breaker to CLOSED state
1091
1222
  * @param data The data for the request.
1092
1223
  * @param data.name Circuit breaker name to reset
1093
- * @param data.region Region code (cn, us, de)
1094
1224
  * @returns unknown Circuit breaker reset successfully
1095
1225
  * @throws ApiError
1096
1226
  */
@@ -1099,8 +1229,7 @@ var HealthService = class {
1099
1229
  method: "POST",
1100
1230
  url: "/api/v1/health/circuit-breakers/{name}/reset",
1101
1231
  path: {
1102
- name: data.name,
1103
- region: data.region
1232
+ name: data.name
1104
1233
  },
1105
1234
  errors: {
1106
1235
  401: "Unauthorized",
@@ -1110,88 +1239,18 @@ var HealthService = class {
1110
1239
  }
1111
1240
  /**
1112
1241
  * Get health check metrics and statistics
1113
- * @param data The data for the request.
1114
- * @param data.region Region code (cn, us, de)
1115
1242
  * @returns unknown Health metrics
1116
1243
  * @throws ApiError
1117
1244
  */
1118
- static healthControllerGetMetrics(data) {
1245
+ static healthControllerGetMetrics() {
1119
1246
  return request(OpenAPI, {
1120
1247
  method: "GET",
1121
1248
  url: "/api/v1/health/metrics",
1122
- path: {
1123
- region: data.region
1124
- },
1125
1249
  errors: {
1126
1250
  401: "Unauthorized"
1127
1251
  }
1128
1252
  });
1129
1253
  }
1130
- /**
1131
- * Check health of a specific data enhancer
1132
- * @param data The data for the request.
1133
- * @param data.name Data enhancer name
1134
- * @param data.region Region code (cn, us, de)
1135
- * @returns unknown Data enhancer is healthy
1136
- * @throws ApiError
1137
- */
1138
- static healthControllerGetHealthOfDataEnhancer(data) {
1139
- return request(OpenAPI, {
1140
- method: "GET",
1141
- url: "/api/v1/health/data-enhancer/{name}",
1142
- path: {
1143
- name: data.name,
1144
- region: data.region
1145
- },
1146
- errors: {
1147
- 401: "Unauthorized",
1148
- 503: "Data enhancer unavailable"
1149
- }
1150
- });
1151
- }
1152
- /**
1153
- * Check health of all data providers
1154
- * @param data The data for the request.
1155
- * @param data.region Region code (cn, us, de)
1156
- * @returns unknown Data providers health status
1157
- * @throws ApiError
1158
- */
1159
- static healthControllerCheckDataProviders(data) {
1160
- return request(OpenAPI, {
1161
- method: "GET",
1162
- url: "/api/v1/health/data-providers",
1163
- path: {
1164
- region: data.region
1165
- },
1166
- errors: {
1167
- 401: "Unauthorized",
1168
- 503: "Data providers check failed"
1169
- }
1170
- });
1171
- }
1172
- /**
1173
- * Check health of a specific data provider
1174
- * @param data The data for the request.
1175
- * @param data.dataSource Data source identifier
1176
- * @param data.region Region code (cn, us, de)
1177
- * @returns unknown Data provider is healthy
1178
- * @throws ApiError
1179
- */
1180
- static healthControllerGetHealthOfDataProvider(data) {
1181
- return request(OpenAPI, {
1182
- method: "GET",
1183
- url: "/api/v1/health/data-provider/{dataSource}",
1184
- path: {
1185
- dataSource: data.dataSource,
1186
- region: data.region
1187
- },
1188
- errors: {
1189
- 400: "Invalid data source",
1190
- 401: "Unauthorized",
1191
- 503: "Data provider unavailable"
1192
- }
1193
- });
1194
- }
1195
1254
  };
1196
1255
  export {
1197
1256
  BeanAccountsService,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firela/api-types",
3
- "version": "0.0.0-canary.b3b7767b",
3
+ "version": "0.0.0-canary.b3e2bcf7",
4
4
  "description": "TypeScript types generated from IGN OpenAPI specification",
5
5
  "license": "MIT",
6
6
  "author": "FireLa Team",
@@ -24,8 +24,7 @@
24
24
  "src"
25
25
  ],
26
26
  "scripts": {
27
- "sync": "npx ts-node scripts/sync-spec.ts",
28
- "generate": "npm run sync && openapi-ts",
27
+ "generate": "openapi-ts",
29
28
  "build": "tsup src/index.ts --format cjs,esm --dts --clean",
30
29
  "lint": "spectral lint openapi.yaml",
31
30
  "prepublishOnly": "npm run generate && npm run build"