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

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
@@ -484,7 +484,7 @@ var BeanAccountsService = class {
484
484
  * @param data.type Filter by account type
485
485
  * @param data.status Filter by status
486
486
  * @param data.isCustom Filter by custom (user-created) accounts only
487
- * @param data.search Search term for path or i18nKey
487
+ * @param data.search Search term for account path
488
488
  * @param data.limit Maximum number of results
489
489
  * @param data.offset Number of results to skip
490
490
  * @returns AccountListResponseDto Accounts retrieved successfully
@@ -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
  }
@@ -629,6 +629,32 @@ var BeanAccountsService = class {
629
629
  }
630
630
  });
631
631
  }
632
+ /**
633
+ * Post an opening-balance transaction
634
+ * 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.
635
+ * @param data The data for the request.
636
+ * @param data.id Account UUID
637
+ * @param data.region Region code for tenant context
638
+ * @param data.requestBody
639
+ * @returns OpeningBalanceResultDto Opening-balance transaction created
640
+ * @throws ApiError
641
+ */
642
+ static accountControllerAddOpeningBalance(data) {
643
+ return request(OpenAPI, {
644
+ method: "POST",
645
+ url: "/api/v1/{region}/bean/accounts/{id}/opening-balance",
646
+ path: {
647
+ id: data.id,
648
+ region: data.region
649
+ },
650
+ body: data.requestBody,
651
+ mediaType: "application/json",
652
+ errors: {
653
+ 404: "Account not found",
654
+ 409: "An opening balance already exists for this account"
655
+ }
656
+ });
657
+ }
632
658
  };
633
659
  var BeanTransactionsService = class {
634
660
  /**
@@ -667,9 +693,11 @@ var BeanTransactionsService = class {
667
693
  * @param data.offset Number of items to skip (default: 0)
668
694
  * @param data.dateFrom Filter by start date (inclusive), format: YYYY-MM-DD
669
695
  * @param data.dateTo Filter by end date (inclusive), format: YYYY-MM-DD
670
- * @param data.status Filter by transaction status
696
+ * @param data.status Filter by transaction status: single value, comma-separated multi-value (e.g. VOIDED,SUPERSEDED), or ALL to include audit rows. Defaults to ACTIVE-only (ADR-0128; previously unfiltered — breaking change).
671
697
  * @param data.search Search in narration and payee fields (max 200 chars)
672
698
  * @param data.accountId Filter by account ID (transactions with postings to this account)
699
+ * @param data.category Filter by ADR-0075 functional category (Group segment); matches any posting to an account whose derived Group segment equals this value. Must be accompanied by flow (ADR-0126).
700
+ * @param data.flow Required when category is present (400 otherwise) and vice versa (ADR-0126). Restricts the category account set to the flow root (income → Income:, expense → Expenses:) and drives the per-leg sign normalization of row viewpointAmount and the summary. OpenAPI cannot express conditional requiredness — the pairing is enforced at runtime.
673
701
  * @returns TransactionListResponseDto Transaction list
674
702
  * @throws ApiError
675
703
  */
@@ -687,25 +715,94 @@ var BeanTransactionsService = class {
687
715
  dateTo: data.dateTo,
688
716
  status: data.status,
689
717
  search: data.search,
690
- accountId: data.accountId
718
+ accountId: data.accountId,
719
+ category: data.category,
720
+ flow: data.flow
691
721
  },
692
722
  errors: {
723
+ 400: "Validation failed",
693
724
  401: "Authentication required"
694
725
  }
695
726
  });
696
727
  }
697
728
  /**
729
+ * @deprecated
730
+ * Batch create transactions (DEPRECATED)
731
+ * DEPRECATED: Use POST /:region/bean/import/provider/:name/sync instead. This endpoint skips dedup, rule matching, and review branching.
698
732
  * @param data The data for the request.
699
733
  * @param data.region Region code for tenant context
700
- * @returns unknown
734
+ * @param data.requestBody
735
+ * @returns BatchTransactionResponseDto Transactions processed
701
736
  * @throws ApiError
702
737
  */
703
- static transactionController(data) {
738
+ static transactionControllerCreateBatch(data) {
704
739
  return request(OpenAPI, {
705
740
  method: "POST",
706
741
  url: "/api/v1/{region}/bean/transactions/batch",
707
742
  path: {
708
743
  region: data.region
744
+ },
745
+ body: data.requestBody,
746
+ mediaType: "application/json",
747
+ errors: {
748
+ 400: "Invalid input",
749
+ 401: "Authentication required"
750
+ }
751
+ });
752
+ }
753
+ /**
754
+ * Correct (supersede) a transaction
755
+ * Atomically voids the original (SUPERSEDED) and creates a replacement through the full validation pipeline.
756
+ * @param data The data for the request.
757
+ * @param data.id Original transaction ID to correct
758
+ * @param data.region Region code for tenant context
759
+ * @param data.requestBody
760
+ * @returns TransactionDetailDto Corrected transaction created
761
+ * @throws ApiError
762
+ */
763
+ static transactionControllerCorrect(data) {
764
+ return request(OpenAPI, {
765
+ method: "POST",
766
+ url: "/api/v1/{region}/bean/transactions/{id}/correct",
767
+ path: {
768
+ id: data.id,
769
+ region: data.region
770
+ },
771
+ body: data.requestBody,
772
+ mediaType: "application/json",
773
+ errors: {
774
+ 404: "Original transaction not found",
775
+ 409: "Original no longer ACTIVE (concurrent modification)",
776
+ 422: "Pipeline validation failed (does not balance, invalid accounts)"
777
+ }
778
+ });
779
+ }
780
+ /**
781
+ * Suggest transaction tags
782
+ * Returns distinct tags from the user ACTIVE transactions, sorted by usage, for autocomplete. Optional q performs a case-insensitive prefix match.
783
+ * @param data The data for the request.
784
+ * @param data.region Region code for tenant context
785
+ * @param data.q Prefix match, case-insensitive (max 50 chars)
786
+ * @param data.sort usage (default) or name
787
+ * @param data.limit Max suggestions (1-100, default 10)
788
+ * @returns TagSuggestionsResponseDto Tag suggestions
789
+ * @throws ApiError
790
+ */
791
+ static transactionControllerSuggestTags(data) {
792
+ return request(OpenAPI, {
793
+ method: "GET",
794
+ url: "/api/v1/{region}/bean/transactions/tags",
795
+ path: {
796
+ region: data.region
797
+ },
798
+ query: {
799
+ q: data.q,
800
+ sort: data.sort,
801
+ limit: data.limit
802
+ },
803
+ errors: {
804
+ 400: "Validation failed",
805
+ 401: "Authentication required"
709
806
  }
710
807
  });
711
808
  }
@@ -760,17 +857,26 @@ var BeanTransactionsService = class {
760
857
  });
761
858
  }
762
859
  /**
860
+ * Void transaction
861
+ * Soft-deletes a transaction by marking it as VOIDED
763
862
  * @param data The data for the request.
863
+ * @param data.id Transaction ID
764
864
  * @param data.region Region code for tenant context
765
- * @returns void
865
+ * @returns void Transaction voided successfully
766
866
  * @throws ApiError
767
867
  */
768
- static transactionController1(data) {
868
+ static transactionControllerDelete(data) {
769
869
  return request(OpenAPI, {
770
870
  method: "DELETE",
771
871
  url: "/api/v1/{region}/bean/transactions/{id}",
772
872
  path: {
873
+ id: data.id,
773
874
  region: data.region
875
+ },
876
+ errors: {
877
+ 400: "Transaction already voided",
878
+ 401: "Authentication required",
879
+ 404: "Transaction not found"
774
880
  }
775
881
  });
776
882
  }
@@ -780,8 +886,8 @@ var BeanBalancesService = class {
780
886
  * Query account balance
781
887
  * Calculate account balance at a specific date for a single currency
782
888
  * @param data The data for the request.
783
- * @param data.account Account name (e.g., "Assets:Bank:Checking")
784
- * @param data.region Region code (cn, us, de)
889
+ * @param data.account Account name (e.g., "Assets:Checking")
890
+ * @param data.region Region code for tenant context
785
891
  * @param data.date Date to calculate balance at (ISO 8601 format)
786
892
  * @param data.currency Currency to query (e.g., "USD", "CNY")
787
893
  * @returns BalanceResponseDto Balance calculated successfully
@@ -809,7 +915,7 @@ var BeanBalancesService = class {
809
915
  * Query multi-currency account balance
810
916
  * Calculate account balances for all currencies at a specific date
811
917
  * @param data The data for the request.
812
- * @param data.region Region code (cn, us, de)
918
+ * @param data.region Region code for tenant context
813
919
  * @returns MultiCurrencyBalanceResponseDto Balances calculated successfully
814
920
  * @throws ApiError
815
921
  */
@@ -829,17 +935,26 @@ var BeanBalancesService = class {
829
935
  };
830
936
  var BeanCommoditiesService = class {
831
937
  /**
938
+ * Create a new commodity
939
+ * Creates a new commodity definition for the authenticated user
832
940
  * @param data The data for the request.
833
- * @param data.region Region code (cn, us, de)
834
- * @returns unknown
941
+ * @param data.region Region code for tenant context
942
+ * @param data.requestBody
943
+ * @returns CommodityResponseDto Commodity created successfully
835
944
  * @throws ApiError
836
945
  */
837
- static commodityController(data) {
946
+ static commodityControllerCreate(data) {
838
947
  return request(OpenAPI, {
839
948
  method: "POST",
840
949
  url: "/api/v1/{region}/bean/commodities",
841
950
  path: {
842
951
  region: data.region
952
+ },
953
+ body: data.requestBody,
954
+ mediaType: "application/json",
955
+ errors: {
956
+ 400: "Invalid input data",
957
+ 409: "Commodity already exists"
843
958
  }
844
959
  });
845
960
  }
@@ -847,7 +962,7 @@ var BeanCommoditiesService = class {
847
962
  * List user commodities
848
963
  * Returns all commodity definitions for the authenticated user with optional filtering
849
964
  * @param data The data for the request.
850
- * @param data.region Region code (cn, us, de)
965
+ * @param data.region Region code for tenant context
851
966
  * @param data.search Search term for symbol or metadata fields (partial match). Searches symbol and metadata.name.
852
967
  * @param data.symbol Filter by exact symbol match
853
968
  * @returns CommodityListResponseDto Commodities retrieved successfully
@@ -871,7 +986,7 @@ var BeanCommoditiesService = class {
871
986
  * Returns a specific commodity definition by its symbol
872
987
  * @param data The data for the request.
873
988
  * @param data.symbol Commodity symbol
874
- * @param data.region Region code (cn, us, de)
989
+ * @param data.region Region code for tenant context
875
990
  * @returns CommodityResponseDto Commodity retrieved successfully
876
991
  * @throws ApiError
877
992
  */
@@ -889,57 +1004,81 @@ var BeanCommoditiesService = class {
889
1004
  });
890
1005
  }
891
1006
  /**
1007
+ * Update commodity
1008
+ * Updates an existing commodity definition. Symbol cannot be changed.
892
1009
  * @param data The data for the request.
893
- * @param data.region Region code (cn, us, de)
894
- * @returns unknown
1010
+ * @param data.symbol Commodity symbol
1011
+ * @param data.region Region code for tenant context
1012
+ * @param data.requestBody
1013
+ * @returns CommodityResponseDto Commodity updated successfully
895
1014
  * @throws ApiError
896
1015
  */
897
- static commodityController1(data) {
1016
+ static commodityControllerUpdate(data) {
898
1017
  return request(OpenAPI, {
899
1018
  method: "PUT",
900
1019
  url: "/api/v1/{region}/bean/commodities/{symbol}",
901
1020
  path: {
1021
+ symbol: data.symbol,
902
1022
  region: data.region
1023
+ },
1024
+ body: data.requestBody,
1025
+ mediaType: "application/json",
1026
+ errors: {
1027
+ 400: "Invalid input data",
1028
+ 404: "Commodity not found"
903
1029
  }
904
1030
  });
905
1031
  }
906
1032
  /**
1033
+ * Delete commodity
1034
+ * Deletes a commodity definition
907
1035
  * @param data The data for the request.
908
- * @param data.region Region code (cn, us, de)
909
- * @returns void
1036
+ * @param data.symbol Commodity symbol
1037
+ * @param data.region Region code for tenant context
1038
+ * @returns void Commodity deleted successfully
910
1039
  * @throws ApiError
911
1040
  */
912
- static commodityController2(data) {
1041
+ static commodityControllerDelete(data) {
913
1042
  return request(OpenAPI, {
914
1043
  method: "DELETE",
915
1044
  url: "/api/v1/{region}/bean/commodities/{symbol}",
916
1045
  path: {
1046
+ symbol: data.symbol,
917
1047
  region: data.region
1048
+ },
1049
+ errors: {
1050
+ 404: "Commodity not found"
918
1051
  }
919
1052
  });
920
1053
  }
921
1054
  /**
1055
+ * Ensure commodity exists
1056
+ * Gets existing commodity or creates it with automatic initialization from OpenBB
922
1057
  * @param data The data for the request.
923
- * @param data.region Region code (cn, us, de)
924
- * @returns unknown
1058
+ * @param data.symbol Commodity symbol
1059
+ * @param data.region Region code for tenant context
1060
+ * @returns CommodityResponseDto Commodity retrieved or created
925
1061
  * @throws ApiError
926
1062
  */
927
- static commodityController3(data) {
1063
+ static commodityControllerGetOrCreate(data) {
928
1064
  return request(OpenAPI, {
929
1065
  method: "POST",
930
1066
  url: "/api/v1/{region}/bean/commodities/{symbol}/ensure",
931
1067
  path: {
1068
+ symbol: data.symbol,
932
1069
  region: data.region
933
1070
  }
934
1071
  });
935
1072
  }
936
1073
  /**
1074
+ * Bulk create commodities
1075
+ * Creates multiple commodities from a list of symbols, useful for initialization
937
1076
  * @param data The data for the request.
938
- * @param data.region Region code (cn, us, de)
939
- * @returns unknown
1077
+ * @param data.region Region code for tenant context
1078
+ * @returns CommodityResponseDto Commodities created successfully
940
1079
  * @throws ApiError
941
1080
  */
942
- static commodityController4(data) {
1081
+ static commodityControllerBulkCreate(data) {
943
1082
  return request(OpenAPI, {
944
1083
  method: "POST",
945
1084
  url: "/api/v1/{region}/bean/commodities/bulk",
@@ -975,7 +1114,7 @@ var ProviderSyncService = class {
975
1114
  *
976
1115
  * @param data The data for the request.
977
1116
  * @param data.providerName Provider name
978
- * @param data.region Region code
1117
+ * @param data.region Region code for tenant context
979
1118
  * @param data.requestBody
980
1119
  * @returns ProviderSyncResponseDto Sync completed successfully
981
1120
  * @throws ApiError
@@ -1001,7 +1140,7 @@ var ProviderSyncService = class {
1001
1140
  * Get supported providers
1002
1141
  * Returns a list of all providers supported by the sync endpoint.
1003
1142
  * @param data The data for the request.
1004
- * @param data.region Region code (cn, us, de)
1143
+ * @param data.region Region code for tenant context
1005
1144
  * @returns SupportedProvidersResponseDto List of supported providers
1006
1145
  * @throws ApiError
1007
1146
  */
@@ -1022,7 +1161,7 @@ var ProviderSyncService = class {
1022
1161
  * Returns whether a specific provider is supported.
1023
1162
  * @param data The data for the request.
1024
1163
  * @param data.providerName Provider name to check
1025
- * @param data.region Region code (cn, us, de)
1164
+ * @param data.region Region code for tenant context
1026
1165
  * @returns unknown Provider support status
1027
1166
  * @throws ApiError
1028
1167
  */
@@ -1043,18 +1182,13 @@ var ProviderSyncService = class {
1043
1182
  var HealthService = class {
1044
1183
  /**
1045
1184
  * Basic health check for K8s/load balancer probes
1046
- * @param data The data for the request.
1047
- * @param data.region Region code (cn, us, de)
1048
1185
  * @returns unknown Service is healthy
1049
1186
  * @throws ApiError
1050
1187
  */
1051
- static healthControllerGetHealth(data) {
1188
+ static healthControllerGetHealth() {
1052
1189
  return request(OpenAPI, {
1053
1190
  method: "GET",
1054
1191
  url: "/api/v1/health",
1055
- path: {
1056
- region: data.region
1057
- },
1058
1192
  errors: {
1059
1193
  503: "Service unavailable"
1060
1194
  }
@@ -1062,37 +1196,41 @@ var HealthService = class {
1062
1196
  }
1063
1197
  /**
1064
1198
  * Check database connection health
1065
- * @param data The data for the request.
1066
- * @param data.region Region code (cn, us, de)
1067
1199
  * @returns unknown Database is healthy
1068
1200
  * @throws ApiError
1069
1201
  */
1070
- static healthControllerCheckDatabase(data) {
1202
+ static healthControllerCheckDatabase() {
1071
1203
  return request(OpenAPI, {
1072
1204
  method: "GET",
1073
1205
  url: "/api/v1/health/database",
1074
- path: {
1075
- region: data.region
1076
- },
1077
1206
  errors: {
1078
1207
  503: "Database unavailable"
1079
1208
  }
1080
1209
  });
1081
1210
  }
1211
+ /**
1212
+ * Check OpenBB schema status
1213
+ * @returns unknown OpenBB status
1214
+ * @throws ApiError
1215
+ */
1216
+ static healthControllerCheckOpenBb() {
1217
+ return request(OpenAPI, {
1218
+ method: "GET",
1219
+ url: "/api/v1/health/openbb",
1220
+ errors: {
1221
+ 503: "OpenBB unavailable"
1222
+ }
1223
+ });
1224
+ }
1082
1225
  /**
1083
1226
  * Check Redis connection health
1084
- * @param data The data for the request.
1085
- * @param data.region Region code (cn, us, de)
1086
1227
  * @returns unknown Redis is healthy
1087
1228
  * @throws ApiError
1088
1229
  */
1089
- static healthControllerCheckRedis(data) {
1230
+ static healthControllerCheckRedis() {
1090
1231
  return request(OpenAPI, {
1091
1232
  method: "GET",
1092
1233
  url: "/api/v1/health/redis",
1093
- path: {
1094
- region: data.region
1095
- },
1096
1234
  errors: {
1097
1235
  503: "Redis unavailable"
1098
1236
  }
@@ -1100,18 +1238,13 @@ var HealthService = class {
1100
1238
  }
1101
1239
  /**
1102
1240
  * Get status of all circuit breakers
1103
- * @param data The data for the request.
1104
- * @param data.region Region code (cn, us, de)
1105
1241
  * @returns unknown Circuit breaker status
1106
1242
  * @throws ApiError
1107
1243
  */
1108
- static healthControllerGetCircuitBreakersHealth(data) {
1244
+ static healthControllerGetCircuitBreakersHealth() {
1109
1245
  return request(OpenAPI, {
1110
1246
  method: "GET",
1111
1247
  url: "/api/v1/health/circuit-breakers",
1112
- path: {
1113
- region: data.region
1114
- },
1115
1248
  errors: {
1116
1249
  401: "Unauthorized",
1117
1250
  500: "Internal error"
@@ -1122,7 +1255,6 @@ var HealthService = class {
1122
1255
  * Reset a circuit breaker to CLOSED state
1123
1256
  * @param data The data for the request.
1124
1257
  * @param data.name Circuit breaker name to reset
1125
- * @param data.region Region code (cn, us, de)
1126
1258
  * @returns unknown Circuit breaker reset successfully
1127
1259
  * @throws ApiError
1128
1260
  */
@@ -1131,8 +1263,7 @@ var HealthService = class {
1131
1263
  method: "POST",
1132
1264
  url: "/api/v1/health/circuit-breakers/{name}/reset",
1133
1265
  path: {
1134
- name: data.name,
1135
- region: data.region
1266
+ name: data.name
1136
1267
  },
1137
1268
  errors: {
1138
1269
  401: "Unauthorized",
@@ -1142,88 +1273,18 @@ var HealthService = class {
1142
1273
  }
1143
1274
  /**
1144
1275
  * Get health check metrics and statistics
1145
- * @param data The data for the request.
1146
- * @param data.region Region code (cn, us, de)
1147
1276
  * @returns unknown Health metrics
1148
1277
  * @throws ApiError
1149
1278
  */
1150
- static healthControllerGetMetrics(data) {
1279
+ static healthControllerGetMetrics() {
1151
1280
  return request(OpenAPI, {
1152
1281
  method: "GET",
1153
1282
  url: "/api/v1/health/metrics",
1154
- path: {
1155
- region: data.region
1156
- },
1157
1283
  errors: {
1158
1284
  401: "Unauthorized"
1159
1285
  }
1160
1286
  });
1161
1287
  }
1162
- /**
1163
- * Check health of a specific data enhancer
1164
- * @param data The data for the request.
1165
- * @param data.name Data enhancer name
1166
- * @param data.region Region code (cn, us, de)
1167
- * @returns unknown Data enhancer is healthy
1168
- * @throws ApiError
1169
- */
1170
- static healthControllerGetHealthOfDataEnhancer(data) {
1171
- return request(OpenAPI, {
1172
- method: "GET",
1173
- url: "/api/v1/health/data-enhancer/{name}",
1174
- path: {
1175
- name: data.name,
1176
- region: data.region
1177
- },
1178
- errors: {
1179
- 401: "Unauthorized",
1180
- 503: "Data enhancer unavailable"
1181
- }
1182
- });
1183
- }
1184
- /**
1185
- * Check health of all data providers
1186
- * @param data The data for the request.
1187
- * @param data.region Region code (cn, us, de)
1188
- * @returns unknown Data providers health status
1189
- * @throws ApiError
1190
- */
1191
- static healthControllerCheckDataProviders(data) {
1192
- return request(OpenAPI, {
1193
- method: "GET",
1194
- url: "/api/v1/health/data-providers",
1195
- path: {
1196
- region: data.region
1197
- },
1198
- errors: {
1199
- 401: "Unauthorized",
1200
- 503: "Data providers check failed"
1201
- }
1202
- });
1203
- }
1204
- /**
1205
- * Check health of a specific data provider
1206
- * @param data The data for the request.
1207
- * @param data.dataSource Data source identifier
1208
- * @param data.region Region code (cn, us, de)
1209
- * @returns unknown Data provider is healthy
1210
- * @throws ApiError
1211
- */
1212
- static healthControllerGetHealthOfDataProvider(data) {
1213
- return request(OpenAPI, {
1214
- method: "GET",
1215
- url: "/api/v1/health/data-provider/{dataSource}",
1216
- path: {
1217
- dataSource: data.dataSource,
1218
- region: data.region
1219
- },
1220
- errors: {
1221
- 400: "Invalid data source",
1222
- 401: "Unauthorized",
1223
- 503: "Data provider unavailable"
1224
- }
1225
- });
1226
- }
1227
1288
  };
1228
1289
  // Annotate the CommonJS export names for ESM import in node:
1229
1290
  0 && (module.exports = {