@firela/api-types 0.0.0-canary.8cbdced0 → 0.0.0-canary.9d0af796
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 +1091 -38
- package/dist/index.d.ts +1091 -38
- package/dist/index.js +71 -16
- package/dist/index.mjs +71 -16
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +1115 -56
- package/src/generated/services.gen.ts +314 -20
- package/src/generated/types.gen.ts +1112 -19
|
@@ -3029,6 +3029,96 @@ export type UpdatePropertyDto = {
|
|
|
3029
3029
|
value: string;
|
|
3030
3030
|
};
|
|
3031
3031
|
|
|
3032
|
+
export type CreateBeanEventDto = {
|
|
3033
|
+
/**
|
|
3034
|
+
* Life event date (ISO 8601)
|
|
3035
|
+
*/
|
|
3036
|
+
date: string;
|
|
3037
|
+
/**
|
|
3038
|
+
* Life event type (e.g., "employer", "location", "marital-status") — user-defined, no enum constraint at engine layer
|
|
3039
|
+
*/
|
|
3040
|
+
type: string;
|
|
3041
|
+
/**
|
|
3042
|
+
* Life event description. Empty string is a VALID value (distinct from absence).
|
|
3043
|
+
*/
|
|
3044
|
+
description: string;
|
|
3045
|
+
/**
|
|
3046
|
+
* Product-side metadata (lives in BeanEvent.meta JSON, never in engine Event fields)
|
|
3047
|
+
*/
|
|
3048
|
+
meta?: {
|
|
3049
|
+
[key: string]: unknown;
|
|
3050
|
+
};
|
|
3051
|
+
};
|
|
3052
|
+
|
|
3053
|
+
export type EventResponseDto = {
|
|
3054
|
+
/**
|
|
3055
|
+
* Unique identifier
|
|
3056
|
+
*/
|
|
3057
|
+
id: string;
|
|
3058
|
+
/**
|
|
3059
|
+
* User ID (owner of the life event)
|
|
3060
|
+
*/
|
|
3061
|
+
userId: string;
|
|
3062
|
+
/**
|
|
3063
|
+
* Life event date (ISO 8601 format)
|
|
3064
|
+
*/
|
|
3065
|
+
date: string;
|
|
3066
|
+
/**
|
|
3067
|
+
* Life event type (user-defined, e.g., "employer", "location")
|
|
3068
|
+
*/
|
|
3069
|
+
type: string;
|
|
3070
|
+
/**
|
|
3071
|
+
* Life event description. May be an empty string (a valid value distinct from absence).
|
|
3072
|
+
*/
|
|
3073
|
+
description: string;
|
|
3074
|
+
/**
|
|
3075
|
+
* Product-side metadata (free-form JSON)
|
|
3076
|
+
*/
|
|
3077
|
+
meta: {
|
|
3078
|
+
[key: string]: unknown;
|
|
3079
|
+
};
|
|
3080
|
+
/**
|
|
3081
|
+
* Creation timestamp
|
|
3082
|
+
*/
|
|
3083
|
+
createdAt: string;
|
|
3084
|
+
/**
|
|
3085
|
+
* Last update timestamp. Also emitted as the ETag response header for If-Match optimistic concurrency.
|
|
3086
|
+
*/
|
|
3087
|
+
updatedAt: string;
|
|
3088
|
+
};
|
|
3089
|
+
|
|
3090
|
+
export type EventListResponseDto = {
|
|
3091
|
+
/**
|
|
3092
|
+
* List of life events
|
|
3093
|
+
*/
|
|
3094
|
+
items: Array<EventResponseDto>;
|
|
3095
|
+
/**
|
|
3096
|
+
* Total number of life events matching the query
|
|
3097
|
+
*/
|
|
3098
|
+
total: number;
|
|
3099
|
+
};
|
|
3100
|
+
|
|
3101
|
+
export type UpdateBeanEventDto = {
|
|
3102
|
+
/**
|
|
3103
|
+
* Life event date (ISO 8601)
|
|
3104
|
+
*/
|
|
3105
|
+
date?: string;
|
|
3106
|
+
/**
|
|
3107
|
+
* Life event type (user-defined)
|
|
3108
|
+
*/
|
|
3109
|
+
type?: string;
|
|
3110
|
+
/**
|
|
3111
|
+
* Life event description. Empty string is a VALID value (distinct from absence).
|
|
3112
|
+
*/
|
|
3113
|
+
description?: string;
|
|
3114
|
+
/**
|
|
3115
|
+
* Product-side metadata (free-form JSON)
|
|
3116
|
+
*/
|
|
3117
|
+
meta?: {
|
|
3118
|
+
[key: string]: unknown;
|
|
3119
|
+
};
|
|
3120
|
+
};
|
|
3121
|
+
|
|
3032
3122
|
export type FileImportDto = {
|
|
3033
3123
|
/**
|
|
3034
3124
|
* Bill file to import (CSV, PDF, OFX, etc.)
|
|
@@ -3457,6 +3547,33 @@ export type ProviderSyncDto = {
|
|
|
3457
3547
|
transactions: unknown[];
|
|
3458
3548
|
};
|
|
3459
3549
|
|
|
3550
|
+
export type ProviderSyncResponseDto = {
|
|
3551
|
+
/**
|
|
3552
|
+
* Number of transactions successfully imported
|
|
3553
|
+
*/
|
|
3554
|
+
imported: number;
|
|
3555
|
+
/**
|
|
3556
|
+
* Number of transactions skipped (duplicates)
|
|
3557
|
+
*/
|
|
3558
|
+
skipped: number;
|
|
3559
|
+
/**
|
|
3560
|
+
* Number of transactions pending review
|
|
3561
|
+
*/
|
|
3562
|
+
pendingReview: number;
|
|
3563
|
+
/**
|
|
3564
|
+
* Number of transactions that failed to import
|
|
3565
|
+
*/
|
|
3566
|
+
failed: number;
|
|
3567
|
+
/**
|
|
3568
|
+
* IDs of successfully imported transactions
|
|
3569
|
+
*/
|
|
3570
|
+
importedTransactionIds?: Array<string>;
|
|
3571
|
+
/**
|
|
3572
|
+
* IDs of review items created for branched transactions
|
|
3573
|
+
*/
|
|
3574
|
+
reviewItemIds?: Array<string>;
|
|
3575
|
+
};
|
|
3576
|
+
|
|
3460
3577
|
export type SupportedProvidersResponseDto = {
|
|
3461
3578
|
/**
|
|
3462
3579
|
* List of supported provider names
|
|
@@ -3485,6 +3602,564 @@ export type ProcessNlpDto = {
|
|
|
3485
3602
|
};
|
|
3486
3603
|
};
|
|
3487
3604
|
|
|
3605
|
+
export type NlpTransactionInfoDto = {
|
|
3606
|
+
/**
|
|
3607
|
+
* Transaction ID
|
|
3608
|
+
*/
|
|
3609
|
+
id: string;
|
|
3610
|
+
/**
|
|
3611
|
+
* Transaction date (ISO format)
|
|
3612
|
+
*/
|
|
3613
|
+
date: string;
|
|
3614
|
+
/**
|
|
3615
|
+
* Transaction amount
|
|
3616
|
+
*/
|
|
3617
|
+
amount: number;
|
|
3618
|
+
/**
|
|
3619
|
+
* Currency code
|
|
3620
|
+
*/
|
|
3621
|
+
currency: string;
|
|
3622
|
+
/**
|
|
3623
|
+
* Payee name
|
|
3624
|
+
*/
|
|
3625
|
+
payee?: string;
|
|
3626
|
+
/**
|
|
3627
|
+
* Transaction narration
|
|
3628
|
+
*/
|
|
3629
|
+
narration?: string;
|
|
3630
|
+
/**
|
|
3631
|
+
* Warning message for special transaction scenarios (e.g., cross-currency settlement)
|
|
3632
|
+
*/
|
|
3633
|
+
warning?: string;
|
|
3634
|
+
};
|
|
3635
|
+
|
|
3636
|
+
export type NlpParsedDataDto = {
|
|
3637
|
+
/**
|
|
3638
|
+
* Extracted amount
|
|
3639
|
+
*/
|
|
3640
|
+
amount?: number;
|
|
3641
|
+
/**
|
|
3642
|
+
* Currency code
|
|
3643
|
+
*/
|
|
3644
|
+
currency?: string;
|
|
3645
|
+
/**
|
|
3646
|
+
* Transaction date (ISO format)
|
|
3647
|
+
*/
|
|
3648
|
+
date?: string;
|
|
3649
|
+
/**
|
|
3650
|
+
* Payee name
|
|
3651
|
+
*/
|
|
3652
|
+
payee?: string;
|
|
3653
|
+
/**
|
|
3654
|
+
* Transaction narration
|
|
3655
|
+
*/
|
|
3656
|
+
narration?: string;
|
|
3657
|
+
/**
|
|
3658
|
+
* Category
|
|
3659
|
+
*/
|
|
3660
|
+
category?: string;
|
|
3661
|
+
/**
|
|
3662
|
+
* Income type (e.g., Salary, Bonus, Dividend, Interest)
|
|
3663
|
+
*/
|
|
3664
|
+
incomeType?: string;
|
|
3665
|
+
/**
|
|
3666
|
+
* Income source (e.g., company name)
|
|
3667
|
+
*/
|
|
3668
|
+
incomeSource?: string;
|
|
3669
|
+
/**
|
|
3670
|
+
* Security symbol code (e.g., 600519, AAPL)
|
|
3671
|
+
*/
|
|
3672
|
+
symbol?: string;
|
|
3673
|
+
/**
|
|
3674
|
+
* Quantity of shares/units
|
|
3675
|
+
*/
|
|
3676
|
+
quantity?: number;
|
|
3677
|
+
/**
|
|
3678
|
+
* Unit price per share/unit
|
|
3679
|
+
*/
|
|
3680
|
+
price?: number;
|
|
3681
|
+
/**
|
|
3682
|
+
* Investment action
|
|
3683
|
+
*/
|
|
3684
|
+
investmentAction?: 'buy' | 'sell';
|
|
3685
|
+
/**
|
|
3686
|
+
* Payment source: asset (default) or liability (credit card)
|
|
3687
|
+
*/
|
|
3688
|
+
paymentSource?: 'asset' | 'liability';
|
|
3689
|
+
/**
|
|
3690
|
+
* Liability account hint (CreditCard/Huabei/Baitiao)
|
|
3691
|
+
*/
|
|
3692
|
+
liabilityHint?: string;
|
|
3693
|
+
/**
|
|
3694
|
+
* Warning message for special scenarios (e.g., cross-currency settlement)
|
|
3695
|
+
*/
|
|
3696
|
+
warning?: string;
|
|
3697
|
+
};
|
|
3698
|
+
|
|
3699
|
+
/**
|
|
3700
|
+
* Investment action
|
|
3701
|
+
*/
|
|
3702
|
+
export type investmentAction = 'buy' | 'sell';
|
|
3703
|
+
|
|
3704
|
+
/**
|
|
3705
|
+
* Payment source: asset (default) or liability (credit card)
|
|
3706
|
+
*/
|
|
3707
|
+
export type paymentSource = 'asset' | 'liability';
|
|
3708
|
+
|
|
3709
|
+
export type NlpSourceTransactionDto = {
|
|
3710
|
+
/**
|
|
3711
|
+
* Transaction date (ISO format)
|
|
3712
|
+
*/
|
|
3713
|
+
date: string;
|
|
3714
|
+
/**
|
|
3715
|
+
* Amount as string
|
|
3716
|
+
*/
|
|
3717
|
+
amount: string;
|
|
3718
|
+
/**
|
|
3719
|
+
* Currency code
|
|
3720
|
+
*/
|
|
3721
|
+
currency: string;
|
|
3722
|
+
/**
|
|
3723
|
+
* Payee name
|
|
3724
|
+
*/
|
|
3725
|
+
payee?: string;
|
|
3726
|
+
/**
|
|
3727
|
+
* Transaction narration
|
|
3728
|
+
*/
|
|
3729
|
+
narration: string;
|
|
3730
|
+
};
|
|
3731
|
+
|
|
3732
|
+
export type NlpTargetTransactionDto = {
|
|
3733
|
+
/**
|
|
3734
|
+
* Existing transaction ID
|
|
3735
|
+
*/
|
|
3736
|
+
id: string;
|
|
3737
|
+
/**
|
|
3738
|
+
* Transaction date (ISO format)
|
|
3739
|
+
*/
|
|
3740
|
+
date: string;
|
|
3741
|
+
/**
|
|
3742
|
+
* Amount as string
|
|
3743
|
+
*/
|
|
3744
|
+
amount: string;
|
|
3745
|
+
/**
|
|
3746
|
+
* Currency code
|
|
3747
|
+
*/
|
|
3748
|
+
currency: string;
|
|
3749
|
+
/**
|
|
3750
|
+
* Payee name
|
|
3751
|
+
*/
|
|
3752
|
+
payee?: string;
|
|
3753
|
+
/**
|
|
3754
|
+
* Transaction narration
|
|
3755
|
+
*/
|
|
3756
|
+
narration: string;
|
|
3757
|
+
};
|
|
3758
|
+
|
|
3759
|
+
export type NlpSimilarityDto = {
|
|
3760
|
+
/**
|
|
3761
|
+
* Whether dates match
|
|
3762
|
+
*/
|
|
3763
|
+
dateMatch: boolean;
|
|
3764
|
+
/**
|
|
3765
|
+
* Date difference in days
|
|
3766
|
+
*/
|
|
3767
|
+
dateDiff: number;
|
|
3768
|
+
/**
|
|
3769
|
+
* Whether amounts match
|
|
3770
|
+
*/
|
|
3771
|
+
amountMatch: boolean;
|
|
3772
|
+
/**
|
|
3773
|
+
* Amount difference as decimal string
|
|
3774
|
+
*/
|
|
3775
|
+
amountDiff: string;
|
|
3776
|
+
/**
|
|
3777
|
+
* Whether payees match
|
|
3778
|
+
*/
|
|
3779
|
+
payeeMatch: boolean;
|
|
3780
|
+
/**
|
|
3781
|
+
* Payee similarity score (0-1)
|
|
3782
|
+
*/
|
|
3783
|
+
payeeSimilarity: number;
|
|
3784
|
+
/**
|
|
3785
|
+
* Account overlap score (0-1)
|
|
3786
|
+
*/
|
|
3787
|
+
accountOverlap: number;
|
|
3788
|
+
};
|
|
3789
|
+
|
|
3790
|
+
export type NlpDuplicateConfirmationDataDto = {
|
|
3791
|
+
/**
|
|
3792
|
+
* Duplicate detection confidence score (0.5-0.89)
|
|
3793
|
+
*/
|
|
3794
|
+
confidence: number;
|
|
3795
|
+
/**
|
|
3796
|
+
* Source transaction summary (the new transaction being entered)
|
|
3797
|
+
*/
|
|
3798
|
+
sourceTransaction: NlpSourceTransactionDto;
|
|
3799
|
+
/**
|
|
3800
|
+
* Target transaction summary (existing potential duplicate)
|
|
3801
|
+
*/
|
|
3802
|
+
targetTransaction: NlpTargetTransactionDto;
|
|
3803
|
+
/**
|
|
3804
|
+
* Detailed similarity information
|
|
3805
|
+
*/
|
|
3806
|
+
similarity: NlpSimilarityDto;
|
|
3807
|
+
/**
|
|
3808
|
+
* Human-readable reasons for duplicate detection
|
|
3809
|
+
*/
|
|
3810
|
+
reasons: Array<string>;
|
|
3811
|
+
};
|
|
3812
|
+
|
|
3813
|
+
export type NlpRuleConfirmationDataDto = {
|
|
3814
|
+
/**
|
|
3815
|
+
* Rule match confidence score (0.5-0.74)
|
|
3816
|
+
*/
|
|
3817
|
+
confidence: number;
|
|
3818
|
+
/**
|
|
3819
|
+
* Matched rule information
|
|
3820
|
+
*/
|
|
3821
|
+
matchedRule: {
|
|
3822
|
+
[key: string]: unknown;
|
|
3823
|
+
};
|
|
3824
|
+
/**
|
|
3825
|
+
* Suggested accounts from the rule
|
|
3826
|
+
*/
|
|
3827
|
+
suggestedAccounts: {
|
|
3828
|
+
[key: string]: unknown;
|
|
3829
|
+
};
|
|
3830
|
+
/**
|
|
3831
|
+
* Alternative rules that also match
|
|
3832
|
+
*/
|
|
3833
|
+
alternatives: unknown[];
|
|
3834
|
+
/**
|
|
3835
|
+
* Human-readable reasons for the match
|
|
3836
|
+
*/
|
|
3837
|
+
reasons: Array<string>;
|
|
3838
|
+
};
|
|
3839
|
+
|
|
3840
|
+
export type NlpAccountConfirmationDataDto = {
|
|
3841
|
+
/**
|
|
3842
|
+
* The invalid account name
|
|
3843
|
+
*/
|
|
3844
|
+
invalidAccount: string;
|
|
3845
|
+
/**
|
|
3846
|
+
* Suggested replacement account
|
|
3847
|
+
*/
|
|
3848
|
+
suggestedAccount: string;
|
|
3849
|
+
/**
|
|
3850
|
+
* Similar accounts for user selection
|
|
3851
|
+
*/
|
|
3852
|
+
similarAccounts: Array<string>;
|
|
3853
|
+
/**
|
|
3854
|
+
* Error message explaining the issue
|
|
3855
|
+
*/
|
|
3856
|
+
errorMessage: string;
|
|
3857
|
+
/**
|
|
3858
|
+
* Transaction context for reference
|
|
3859
|
+
*/
|
|
3860
|
+
transactionContext: {
|
|
3861
|
+
[key: string]: unknown;
|
|
3862
|
+
};
|
|
3863
|
+
};
|
|
3864
|
+
|
|
3865
|
+
export type NlpSuggestedPayeeDto = {
|
|
3866
|
+
/**
|
|
3867
|
+
* Payee ID
|
|
3868
|
+
*/
|
|
3869
|
+
id: string;
|
|
3870
|
+
/**
|
|
3871
|
+
* Payee name
|
|
3872
|
+
*/
|
|
3873
|
+
name: string;
|
|
3874
|
+
/**
|
|
3875
|
+
* Payee category
|
|
3876
|
+
*/
|
|
3877
|
+
category?: string;
|
|
3878
|
+
/**
|
|
3879
|
+
* Source of the payee
|
|
3880
|
+
*/
|
|
3881
|
+
source?: 'user' | 'global';
|
|
3882
|
+
/**
|
|
3883
|
+
* PayeeProfile ID (if matched from global)
|
|
3884
|
+
*/
|
|
3885
|
+
payeeProfileId?: string;
|
|
3886
|
+
};
|
|
3887
|
+
|
|
3888
|
+
/**
|
|
3889
|
+
* Source of the payee
|
|
3890
|
+
*/
|
|
3891
|
+
export type source = 'user' | 'global';
|
|
3892
|
+
|
|
3893
|
+
export type NlpAlternativePayeeDto = {
|
|
3894
|
+
/**
|
|
3895
|
+
* Payee ID
|
|
3896
|
+
*/
|
|
3897
|
+
id: string;
|
|
3898
|
+
/**
|
|
3899
|
+
* Payee name
|
|
3900
|
+
*/
|
|
3901
|
+
name: string;
|
|
3902
|
+
/**
|
|
3903
|
+
* Similarity score (0-1)
|
|
3904
|
+
*/
|
|
3905
|
+
similarity: number;
|
|
3906
|
+
};
|
|
3907
|
+
|
|
3908
|
+
export type NlpPayeeConfirmationDataDto = {
|
|
3909
|
+
/**
|
|
3910
|
+
* Confidence score for the payee match (0-1)
|
|
3911
|
+
*/
|
|
3912
|
+
confidence: number;
|
|
3913
|
+
/**
|
|
3914
|
+
* Original payee string from user input
|
|
3915
|
+
*/
|
|
3916
|
+
originalPayee: string;
|
|
3917
|
+
/**
|
|
3918
|
+
* Suggested payee to use (null when no similar payees found)
|
|
3919
|
+
*/
|
|
3920
|
+
suggestedPayee?: NlpSuggestedPayeeDto | null;
|
|
3921
|
+
/**
|
|
3922
|
+
* Similarity score between original and suggested (0-1)
|
|
3923
|
+
*/
|
|
3924
|
+
similarity: number;
|
|
3925
|
+
/**
|
|
3926
|
+
* Alternative payee options
|
|
3927
|
+
*/
|
|
3928
|
+
alternatives: Array<NlpAlternativePayeeDto>;
|
|
3929
|
+
/**
|
|
3930
|
+
* Human-readable reasons for the match
|
|
3931
|
+
*/
|
|
3932
|
+
reasons: Array<string>;
|
|
3933
|
+
};
|
|
3934
|
+
|
|
3935
|
+
export type RecurringMatchInfoDto = {
|
|
3936
|
+
/**
|
|
3937
|
+
* Expected transaction ID
|
|
3938
|
+
*/
|
|
3939
|
+
expectedId: string;
|
|
3940
|
+
/**
|
|
3941
|
+
* Recurring rule ID
|
|
3942
|
+
*/
|
|
3943
|
+
ruleId: string;
|
|
3944
|
+
/**
|
|
3945
|
+
* Rule name for display
|
|
3946
|
+
*/
|
|
3947
|
+
ruleName: string;
|
|
3948
|
+
/**
|
|
3949
|
+
* Rule icon
|
|
3950
|
+
*/
|
|
3951
|
+
ruleIcon?: string;
|
|
3952
|
+
/**
|
|
3953
|
+
* Expected date (YYYY-MM-DD)
|
|
3954
|
+
*/
|
|
3955
|
+
expectedDate: string;
|
|
3956
|
+
/**
|
|
3957
|
+
* Expected amount
|
|
3958
|
+
*/
|
|
3959
|
+
expectedAmount: number;
|
|
3960
|
+
/**
|
|
3961
|
+
* Match confidence score (0-1)
|
|
3962
|
+
*/
|
|
3963
|
+
confidence: number;
|
|
3964
|
+
/**
|
|
3965
|
+
* Whether auto-matched (confidence >= 0.82)
|
|
3966
|
+
*/
|
|
3967
|
+
isAutoMatched: boolean;
|
|
3968
|
+
};
|
|
3969
|
+
|
|
3970
|
+
export type NlpSuggestedAccountDto = {
|
|
3971
|
+
/**
|
|
3972
|
+
* Suggested account path
|
|
3973
|
+
*/
|
|
3974
|
+
account: string;
|
|
3975
|
+
/**
|
|
3976
|
+
* Confidence score for this suggestion (0-1)
|
|
3977
|
+
*/
|
|
3978
|
+
confidence?: number;
|
|
3979
|
+
};
|
|
3980
|
+
|
|
3981
|
+
export type NlpSuggestedAccountsDto = {
|
|
3982
|
+
/**
|
|
3983
|
+
* Source account suggestion (where money comes from). For expense: asset/liability account. For income: income account.
|
|
3984
|
+
*/
|
|
3985
|
+
source?: NlpSuggestedAccountDto;
|
|
3986
|
+
/**
|
|
3987
|
+
* Destination account suggestion (where money goes to). For expense: expense account. For income: asset/liability account.
|
|
3988
|
+
*/
|
|
3989
|
+
destination?: NlpSuggestedAccountDto;
|
|
3990
|
+
};
|
|
3991
|
+
|
|
3992
|
+
export type NlpDefaultAccountsDto = {
|
|
3993
|
+
/**
|
|
3994
|
+
* Default asset account
|
|
3995
|
+
*/
|
|
3996
|
+
asset: string;
|
|
3997
|
+
/**
|
|
3998
|
+
* Default expense account
|
|
3999
|
+
*/
|
|
4000
|
+
expense: string;
|
|
4001
|
+
/**
|
|
4002
|
+
* Default income account
|
|
4003
|
+
*/
|
|
4004
|
+
income: string;
|
|
4005
|
+
/**
|
|
4006
|
+
* Default liability account
|
|
4007
|
+
*/
|
|
4008
|
+
liability: string;
|
|
4009
|
+
};
|
|
4010
|
+
|
|
4011
|
+
export type NlpResponseDto = {
|
|
4012
|
+
/**
|
|
4013
|
+
* Response status
|
|
4014
|
+
*/
|
|
4015
|
+
status: 'success' | 'pending' | 'error';
|
|
4016
|
+
/**
|
|
4017
|
+
* Action taken or requested
|
|
4018
|
+
*/
|
|
4019
|
+
action:
|
|
4020
|
+
| 'created'
|
|
4021
|
+
| 'ask'
|
|
4022
|
+
| 'confirm'
|
|
4023
|
+
| 'confirm_duplicate'
|
|
4024
|
+
| 'confirm_rule'
|
|
4025
|
+
| 'confirm_account'
|
|
4026
|
+
| 'confirm_payee'
|
|
4027
|
+
| 'cancel';
|
|
4028
|
+
/**
|
|
4029
|
+
* Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
|
|
4030
|
+
*/
|
|
4031
|
+
intent?: 'expense' | 'asset' | 'income' | 'liability' | 'equity';
|
|
4032
|
+
/**
|
|
4033
|
+
* Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
|
|
4034
|
+
*/
|
|
4035
|
+
assetSubType?: 'transfer' | 'banking' | 'investment';
|
|
4036
|
+
/**
|
|
4037
|
+
* Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
|
|
4038
|
+
*/
|
|
4039
|
+
liabilitySubType?: 'borrow' | 'repay';
|
|
4040
|
+
/**
|
|
4041
|
+
* Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
|
|
4042
|
+
*/
|
|
4043
|
+
equitySubType?: 'opening' | 'adjustment';
|
|
4044
|
+
/**
|
|
4045
|
+
* Payment source for expense transactions (v6.1). Indicates whether payment comes from asset or liability account. Only present when intent is "expense".
|
|
4046
|
+
*/
|
|
4047
|
+
paymentSource?: 'asset' | 'liability';
|
|
4048
|
+
/**
|
|
4049
|
+
* Liability account type hint for credit card/BNPL spending (v6.1). Only present when paymentSource is "liability". Values: CreditCard, Huabei, Baitiao
|
|
4050
|
+
*/
|
|
4051
|
+
liabilityHint?: string;
|
|
4052
|
+
/**
|
|
4053
|
+
* Human-readable message (for ask or error actions). Deprecated: Use messageKey for i18n support.
|
|
4054
|
+
* @deprecated
|
|
4055
|
+
*/
|
|
4056
|
+
message?: string;
|
|
4057
|
+
/**
|
|
4058
|
+
* i18n message key for frontend translation. Use this instead of message for internationalization support.
|
|
4059
|
+
*/
|
|
4060
|
+
messageKey?: string;
|
|
4061
|
+
/**
|
|
4062
|
+
* Parameters for message interpolation. Used with messageKey for dynamic values in translated messages.
|
|
4063
|
+
*/
|
|
4064
|
+
messageParams?: {
|
|
4065
|
+
[key: string]: unknown;
|
|
4066
|
+
};
|
|
4067
|
+
/**
|
|
4068
|
+
* Session ID for multi-turn dialogue. Must be included in subsequent requests to continue the conversation.
|
|
4069
|
+
*/
|
|
4070
|
+
sessionId?: string;
|
|
4071
|
+
/**
|
|
4072
|
+
* Which slot is waiting for user input
|
|
4073
|
+
*/
|
|
4074
|
+
waitingFor?: string;
|
|
4075
|
+
/**
|
|
4076
|
+
* Created transaction info (for created action)
|
|
4077
|
+
*/
|
|
4078
|
+
transaction?: NlpTransactionInfoDto;
|
|
4079
|
+
/**
|
|
4080
|
+
* Parsed data for confirmation (when action is "confirm"). Contains extracted fields that user should verify before transaction creation.
|
|
4081
|
+
*/
|
|
4082
|
+
parsedData?: NlpParsedDataDto;
|
|
4083
|
+
/**
|
|
4084
|
+
* Duplicate detection data (when action is "confirm_duplicate"). Contains information about potential duplicate transaction for user confirmation.
|
|
4085
|
+
*/
|
|
4086
|
+
duplicateData?: NlpDuplicateConfirmationDataDto;
|
|
4087
|
+
/**
|
|
4088
|
+
* Rule match data (when action is "confirm_rule"). Contains information about medium-confidence rule match for user confirmation.
|
|
4089
|
+
*/
|
|
4090
|
+
ruleData?: NlpRuleConfirmationDataDto;
|
|
4091
|
+
/**
|
|
4092
|
+
* Account validation data (when action is "confirm_account"). Contains information about invalid account for user correction.
|
|
4093
|
+
*/
|
|
4094
|
+
accountData?: NlpAccountConfirmationDataDto;
|
|
4095
|
+
/**
|
|
4096
|
+
* Payee confirmation data (when action is "confirm_payee"). Contains information about medium/low confidence payee match for user confirmation.
|
|
4097
|
+
*/
|
|
4098
|
+
payeeData?: NlpPayeeConfirmationDataDto;
|
|
4099
|
+
/**
|
|
4100
|
+
* Overall confidence score (0-1)
|
|
4101
|
+
*/
|
|
4102
|
+
confidence?: number;
|
|
4103
|
+
/**
|
|
4104
|
+
* Confidence threshold for automatic creation (default: 0.75). When confidence < threshold, action will be "confirm" requiring user verification.
|
|
4105
|
+
*/
|
|
4106
|
+
confidenceThreshold?: number;
|
|
4107
|
+
/**
|
|
4108
|
+
* Recurring transaction match info (when action is "created"). Contains match details when transaction matches a pending expected transaction.
|
|
4109
|
+
*/
|
|
4110
|
+
recurringMatch?: RecurringMatchInfoDto;
|
|
4111
|
+
/**
|
|
4112
|
+
* Recurring rule creation suggestion (when action is "created"). Contains suggestion to create a recurring rule based on detected patterns. Only present when no existing rule matched and similar historical transactions were found.
|
|
4113
|
+
*/
|
|
4114
|
+
recurringSuggestion?: RecurringSuggestionDto;
|
|
4115
|
+
/**
|
|
4116
|
+
* Suggested accounts for this transaction. Contains recommended source and destination accounts based on the detected intent and rules.
|
|
4117
|
+
*/
|
|
4118
|
+
suggestedAccounts?: NlpSuggestedAccountsDto;
|
|
4119
|
+
/**
|
|
4120
|
+
* Default accounts for the user/region. These are fallback accounts used when no specific suggestion is available.
|
|
4121
|
+
*/
|
|
4122
|
+
defaultAccounts?: NlpDefaultAccountsDto;
|
|
4123
|
+
};
|
|
4124
|
+
|
|
4125
|
+
/**
|
|
4126
|
+
* Response status
|
|
4127
|
+
*/
|
|
4128
|
+
export type status4 = 'success' | 'pending' | 'error';
|
|
4129
|
+
|
|
4130
|
+
/**
|
|
4131
|
+
* Action taken or requested
|
|
4132
|
+
*/
|
|
4133
|
+
export type action2 =
|
|
4134
|
+
| 'created'
|
|
4135
|
+
| 'ask'
|
|
4136
|
+
| 'confirm'
|
|
4137
|
+
| 'confirm_duplicate'
|
|
4138
|
+
| 'confirm_rule'
|
|
4139
|
+
| 'confirm_account'
|
|
4140
|
+
| 'confirm_payee'
|
|
4141
|
+
| 'cancel';
|
|
4142
|
+
|
|
4143
|
+
/**
|
|
4144
|
+
* Transaction intent detected by EntityRouter (v6.0: 5 core intents). Frontend uses this to render scenario-specific form fields.
|
|
4145
|
+
*/
|
|
4146
|
+
export type intent = 'expense' | 'asset' | 'income' | 'liability' | 'equity';
|
|
4147
|
+
|
|
4148
|
+
/**
|
|
4149
|
+
* Asset sub-type (only present when intent is "asset"). Determines which asset-related form to render.
|
|
4150
|
+
*/
|
|
4151
|
+
export type assetSubType = 'transfer' | 'banking' | 'investment';
|
|
4152
|
+
|
|
4153
|
+
/**
|
|
4154
|
+
* Liability sub-type (only present when intent is "liability"). borrow: borrowing money (Liabilities → Assets), repay: repaying debt (Assets → Liabilities).
|
|
4155
|
+
*/
|
|
4156
|
+
export type liabilitySubType = 'borrow' | 'repay';
|
|
4157
|
+
|
|
4158
|
+
/**
|
|
4159
|
+
* Equity sub-type (only present when intent is "equity"). opening: account opening balance (Equity → Assets), adjustment: balance correction.
|
|
4160
|
+
*/
|
|
4161
|
+
export type equitySubType = 'opening' | 'adjustment';
|
|
4162
|
+
|
|
3488
4163
|
export type BalanceByCurrencyDto = {
|
|
3489
4164
|
/**
|
|
3490
4165
|
* ISO 4217 currency code
|
|
@@ -3704,7 +4379,7 @@ export type AccountItemWithAssetClassDto = {
|
|
|
3704
4379
|
/**
|
|
3705
4380
|
* ADR-0105 classification provenance (holding level always; account level only on FALLBACK)
|
|
3706
4381
|
*/
|
|
3707
|
-
export type
|
|
4382
|
+
export type source2 =
|
|
3708
4383
|
| 'USER_META'
|
|
3709
4384
|
| 'FIAT_CURRENCY'
|
|
3710
4385
|
| 'OPENBB_MAPPING'
|
|
@@ -3983,7 +4658,7 @@ export type CurrentPriceDto = {
|
|
|
3983
4658
|
/**
|
|
3984
4659
|
* Price source
|
|
3985
4660
|
*/
|
|
3986
|
-
export type
|
|
4661
|
+
export type source3 = 'USER_OVERRIDE' | 'OPENBB_EQUITY' | 'OPENBB_CURRENCY';
|
|
3987
4662
|
|
|
3988
4663
|
export type FxRateDto = {
|
|
3989
4664
|
from: string;
|
|
@@ -4334,6 +5009,71 @@ export type PortfolioTrendsResponseDto = {
|
|
|
4334
5009
|
warnings?: Array<ExchangeRateWarningDto>;
|
|
4335
5010
|
};
|
|
4336
5011
|
|
|
5012
|
+
export type CashFlowPointDto = {
|
|
5013
|
+
/**
|
|
5014
|
+
* Month key (YYYY-MM)
|
|
5015
|
+
*/
|
|
5016
|
+
month: string;
|
|
5017
|
+
/**
|
|
5018
|
+
* Income in base currency (absolute, converted)
|
|
5019
|
+
*/
|
|
5020
|
+
income: string;
|
|
5021
|
+
/**
|
|
5022
|
+
* Expense in base currency (absolute, converted)
|
|
5023
|
+
*/
|
|
5024
|
+
expense: string;
|
|
5025
|
+
/**
|
|
5026
|
+
* netSavings = income − expense (savings positive)
|
|
5027
|
+
*/
|
|
5028
|
+
netSavings: string;
|
|
5029
|
+
};
|
|
5030
|
+
|
|
5031
|
+
export type CashFlowTrendSummaryDto = {
|
|
5032
|
+
/**
|
|
5033
|
+
* Total income across the period
|
|
5034
|
+
*/
|
|
5035
|
+
totalIncome: string;
|
|
5036
|
+
/**
|
|
5037
|
+
* Total expense across the period
|
|
5038
|
+
*/
|
|
5039
|
+
totalExpense: string;
|
|
5040
|
+
/**
|
|
5041
|
+
* income − expense across the period
|
|
5042
|
+
*/
|
|
5043
|
+
totalNetSavings: string;
|
|
5044
|
+
/**
|
|
5045
|
+
* totalNetSavings divided by the window length (N months, incl. zero-filled)
|
|
5046
|
+
*/
|
|
5047
|
+
averageMonthlyNetSavings: string;
|
|
5048
|
+
};
|
|
5049
|
+
|
|
5050
|
+
export type CashFlowTrendsResponseDto = {
|
|
5051
|
+
/**
|
|
5052
|
+
* Monthly cash-flow series (fixed N-month window, zero-filled)
|
|
5053
|
+
*/
|
|
5054
|
+
series: Array<CashFlowPointDto>;
|
|
5055
|
+
/**
|
|
5056
|
+
* Period totals
|
|
5057
|
+
*/
|
|
5058
|
+
summary: CashFlowTrendSummaryDto;
|
|
5059
|
+
/**
|
|
5060
|
+
* Period requested
|
|
5061
|
+
*/
|
|
5062
|
+
period: string;
|
|
5063
|
+
/**
|
|
5064
|
+
* Data granularity (v1 returns month buckets)
|
|
5065
|
+
*/
|
|
5066
|
+
granularity: string;
|
|
5067
|
+
/**
|
|
5068
|
+
* Base currency for converted values
|
|
5069
|
+
*/
|
|
5070
|
+
currency: string;
|
|
5071
|
+
/**
|
|
5072
|
+
* Exchange rate warnings (e.g. missing rate for a currency)
|
|
5073
|
+
*/
|
|
5074
|
+
warnings?: Array<ExchangeRateWarningDto>;
|
|
5075
|
+
};
|
|
5076
|
+
|
|
4337
5077
|
export type GenerateSnapshotBody = unknown;
|
|
4338
5078
|
|
|
4339
5079
|
export type GenerateSnapshotResponse = unknown;
|
|
@@ -4357,7 +5097,7 @@ export type AccountControllerCreateData = {
|
|
|
4357
5097
|
requestBody: CreateAccountDto;
|
|
4358
5098
|
};
|
|
4359
5099
|
|
|
4360
|
-
export type AccountControllerCreateResponse =
|
|
5100
|
+
export type AccountControllerCreateResponse = AccountResponseDto;
|
|
4361
5101
|
|
|
4362
5102
|
export type AccountControllerFindAllData = {
|
|
4363
5103
|
/**
|
|
@@ -4406,6 +5146,9 @@ export type AccountControllerFindOneData = {
|
|
|
4406
5146
|
export type AccountControllerFindOneResponse = AccountResponseDto;
|
|
4407
5147
|
|
|
4408
5148
|
export type AccountControllerUpdateData = {
|
|
5149
|
+
/**
|
|
5150
|
+
* Account UUID
|
|
5151
|
+
*/
|
|
4409
5152
|
id: string;
|
|
4410
5153
|
/**
|
|
4411
5154
|
* Region code for tenant context
|
|
@@ -4414,9 +5157,12 @@ export type AccountControllerUpdateData = {
|
|
|
4414
5157
|
requestBody: UpdateAccountDto;
|
|
4415
5158
|
};
|
|
4416
5159
|
|
|
4417
|
-
export type AccountControllerUpdateResponse =
|
|
5160
|
+
export type AccountControllerUpdateResponse = AccountResponseDto;
|
|
4418
5161
|
|
|
4419
5162
|
export type AccountControllerDeleteData = {
|
|
5163
|
+
/**
|
|
5164
|
+
* Account UUID
|
|
5165
|
+
*/
|
|
4420
5166
|
id: string;
|
|
4421
5167
|
/**
|
|
4422
5168
|
* Region code for tenant context
|
|
@@ -4424,9 +5170,12 @@ export type AccountControllerDeleteData = {
|
|
|
4424
5170
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
4425
5171
|
};
|
|
4426
5172
|
|
|
4427
|
-
export type AccountControllerDeleteResponse =
|
|
5173
|
+
export type AccountControllerDeleteResponse = void;
|
|
4428
5174
|
|
|
4429
5175
|
export type AccountControllerCloseData = {
|
|
5176
|
+
/**
|
|
5177
|
+
* Account UUID
|
|
5178
|
+
*/
|
|
4430
5179
|
id: string;
|
|
4431
5180
|
/**
|
|
4432
5181
|
* Region code for tenant context
|
|
@@ -4435,9 +5184,12 @@ export type AccountControllerCloseData = {
|
|
|
4435
5184
|
requestBody: CloseAccountDto;
|
|
4436
5185
|
};
|
|
4437
5186
|
|
|
4438
|
-
export type AccountControllerCloseResponse =
|
|
5187
|
+
export type AccountControllerCloseResponse = AccountResponseDto;
|
|
4439
5188
|
|
|
4440
5189
|
export type AccountControllerReopenData = {
|
|
5190
|
+
/**
|
|
5191
|
+
* Account UUID
|
|
5192
|
+
*/
|
|
4441
5193
|
id: string;
|
|
4442
5194
|
/**
|
|
4443
5195
|
* Region code for tenant context
|
|
@@ -4446,7 +5198,7 @@ export type AccountControllerReopenData = {
|
|
|
4446
5198
|
requestBody: ReopenAccountDto;
|
|
4447
5199
|
};
|
|
4448
5200
|
|
|
4449
|
-
export type AccountControllerReopenResponse =
|
|
5201
|
+
export type AccountControllerReopenResponse = AccountResponseDto;
|
|
4450
5202
|
|
|
4451
5203
|
export type AccountStandardsControllerGetTemplatesData = {
|
|
4452
5204
|
/**
|
|
@@ -5499,6 +6251,104 @@ export type PropertyControllerDeleteData = {
|
|
|
5499
6251
|
|
|
5500
6252
|
export type PropertyControllerDeleteResponse = void;
|
|
5501
6253
|
|
|
6254
|
+
export type EventControllerCreateData = {
|
|
6255
|
+
/**
|
|
6256
|
+
* Region code for tenant context (decorative for life events)
|
|
6257
|
+
*/
|
|
6258
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6259
|
+
requestBody: CreateBeanEventDto;
|
|
6260
|
+
};
|
|
6261
|
+
|
|
6262
|
+
export type EventControllerCreateResponse = EventResponseDto;
|
|
6263
|
+
|
|
6264
|
+
export type EventControllerFindAllData = {
|
|
6265
|
+
/**
|
|
6266
|
+
* Filter life events from this date (ISO 8601 format)
|
|
6267
|
+
*/
|
|
6268
|
+
from?: string;
|
|
6269
|
+
/**
|
|
6270
|
+
* Number of items per page (default: 20, max: 100)
|
|
6271
|
+
*/
|
|
6272
|
+
limit?: number;
|
|
6273
|
+
/**
|
|
6274
|
+
* Page number for pagination (default: 1)
|
|
6275
|
+
*/
|
|
6276
|
+
page?: number;
|
|
6277
|
+
/**
|
|
6278
|
+
* Search term for description (case-insensitive partial match)
|
|
6279
|
+
*/
|
|
6280
|
+
q?: string;
|
|
6281
|
+
/**
|
|
6282
|
+
* Region code for tenant context (decorative for life events)
|
|
6283
|
+
*/
|
|
6284
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6285
|
+
/**
|
|
6286
|
+
* Filter life events to this date (ISO 8601 format)
|
|
6287
|
+
*/
|
|
6288
|
+
to?: string;
|
|
6289
|
+
/**
|
|
6290
|
+
* Filter by life event type (exact match)
|
|
6291
|
+
*/
|
|
6292
|
+
type?: string;
|
|
6293
|
+
};
|
|
6294
|
+
|
|
6295
|
+
export type EventControllerFindAllResponse = EventListResponseDto;
|
|
6296
|
+
|
|
6297
|
+
export type EventControllerFindOneData = {
|
|
6298
|
+
/**
|
|
6299
|
+
* Life event ID
|
|
6300
|
+
*/
|
|
6301
|
+
id: string;
|
|
6302
|
+
/**
|
|
6303
|
+
* Region code for tenant context (decorative for life events)
|
|
6304
|
+
*/
|
|
6305
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6306
|
+
};
|
|
6307
|
+
|
|
6308
|
+
export type EventControllerFindOneResponse = EventResponseDto;
|
|
6309
|
+
|
|
6310
|
+
export type EventControllerUpdateData = {
|
|
6311
|
+
/**
|
|
6312
|
+
* Life event ID
|
|
6313
|
+
*/
|
|
6314
|
+
id: string;
|
|
6315
|
+
/**
|
|
6316
|
+
* Region code for tenant context (decorative for life events)
|
|
6317
|
+
*/
|
|
6318
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6319
|
+
requestBody: UpdateBeanEventDto;
|
|
6320
|
+
};
|
|
6321
|
+
|
|
6322
|
+
export type EventControllerUpdateResponse = EventResponseDto;
|
|
6323
|
+
|
|
6324
|
+
export type EventControllerDeleteData = {
|
|
6325
|
+
/**
|
|
6326
|
+
* Life event ID
|
|
6327
|
+
*/
|
|
6328
|
+
id: string;
|
|
6329
|
+
/**
|
|
6330
|
+
* Region code for tenant context (decorative for life events)
|
|
6331
|
+
*/
|
|
6332
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6333
|
+
};
|
|
6334
|
+
|
|
6335
|
+
export type EventControllerDeleteResponse = void;
|
|
6336
|
+
|
|
6337
|
+
export type EventControllerGetSliceData = {
|
|
6338
|
+
accountPattern: string;
|
|
6339
|
+
granularity: string;
|
|
6340
|
+
/**
|
|
6341
|
+
* Life event ID
|
|
6342
|
+
*/
|
|
6343
|
+
id: string;
|
|
6344
|
+
/**
|
|
6345
|
+
* Region code for tenant context (decorative for life events)
|
|
6346
|
+
*/
|
|
6347
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6348
|
+
};
|
|
6349
|
+
|
|
6350
|
+
export type EventControllerGetSliceResponse = unknown;
|
|
6351
|
+
|
|
5502
6352
|
export type ExportControllerExportBeancountResponse = unknown;
|
|
5503
6353
|
|
|
5504
6354
|
export type FileImportControllerImportFileData = {
|
|
@@ -5528,13 +6378,25 @@ export type FileImportControllerIdentifyFileData = {
|
|
|
5528
6378
|
export type FileImportControllerIdentifyFileResponse = IdentifyResultDto;
|
|
5529
6379
|
|
|
5530
6380
|
export type FileImportControllerImportBeancountData = {
|
|
6381
|
+
/**
|
|
6382
|
+
* Beancount file to import
|
|
6383
|
+
*/
|
|
6384
|
+
formData: FileImportDto;
|
|
5531
6385
|
/**
|
|
5532
6386
|
* Region code for tenant context
|
|
5533
6387
|
*/
|
|
5534
6388
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
5535
6389
|
};
|
|
5536
6390
|
|
|
5537
|
-
export type FileImportControllerImportBeancountResponse =
|
|
6391
|
+
export type FileImportControllerImportBeancountResponse = {
|
|
6392
|
+
imported?: number;
|
|
6393
|
+
skipped?: number;
|
|
6394
|
+
failed?: number;
|
|
6395
|
+
accountsCreated?: number;
|
|
6396
|
+
errors?: Array<{
|
|
6397
|
+
[key: string]: unknown;
|
|
6398
|
+
}>;
|
|
6399
|
+
};
|
|
5538
6400
|
|
|
5539
6401
|
export type ImporterConfigControllerGetConfigData = {
|
|
5540
6402
|
/**
|
|
@@ -5622,7 +6484,18 @@ export type PlatformControllerDeleteData = {
|
|
|
5622
6484
|
export type PlatformControllerDeleteResponse = void;
|
|
5623
6485
|
|
|
5624
6486
|
export type ProviderSyncControllerSyncData = {
|
|
5625
|
-
|
|
6487
|
+
/**
|
|
6488
|
+
* Provider name
|
|
6489
|
+
*/
|
|
6490
|
+
providerName:
|
|
6491
|
+
| 'plaid'
|
|
6492
|
+
| 'teller'
|
|
6493
|
+
| 'truelayer'
|
|
6494
|
+
| 'gocardless'
|
|
6495
|
+
| 'simplefin'
|
|
6496
|
+
| 'yodlee'
|
|
6497
|
+
| 'beancount-direct'
|
|
6498
|
+
| 'parsed-bill';
|
|
5626
6499
|
/**
|
|
5627
6500
|
* Region code for tenant context
|
|
5628
6501
|
*/
|
|
@@ -5630,7 +6503,7 @@ export type ProviderSyncControllerSyncData = {
|
|
|
5630
6503
|
requestBody: ProviderSyncDto;
|
|
5631
6504
|
};
|
|
5632
6505
|
|
|
5633
|
-
export type ProviderSyncControllerSyncResponse =
|
|
6506
|
+
export type ProviderSyncControllerSyncResponse = ProviderSyncResponseDto;
|
|
5634
6507
|
|
|
5635
6508
|
export type ProviderSyncControllerGetSupportedProvidersData = {
|
|
5636
6509
|
/**
|
|
@@ -5693,10 +6566,13 @@ export type NlpControllerProcessNaturalLanguageData = {
|
|
|
5693
6566
|
* Region code for tenant context
|
|
5694
6567
|
*/
|
|
5695
6568
|
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6569
|
+
/**
|
|
6570
|
+
* Natural language transaction input with optional session ID
|
|
6571
|
+
*/
|
|
5696
6572
|
requestBody: ProcessNlpDto;
|
|
5697
6573
|
};
|
|
5698
6574
|
|
|
5699
|
-
export type NlpControllerProcessNaturalLanguageResponse =
|
|
6575
|
+
export type NlpControllerProcessNaturalLanguageResponse = NlpResponseDto;
|
|
5700
6576
|
|
|
5701
6577
|
export type NlpControllerClearSessionData = {
|
|
5702
6578
|
/**
|
|
@@ -5914,6 +6790,24 @@ export type ReportingControllerGetPortfolioTrendsData = {
|
|
|
5914
6790
|
export type ReportingControllerGetPortfolioTrendsResponse =
|
|
5915
6791
|
PortfolioTrendsResponseDto;
|
|
5916
6792
|
|
|
6793
|
+
export type ReportingControllerGetCashFlowTrendsData = {
|
|
6794
|
+
/**
|
|
6795
|
+
* Data granularity (accepted for API symmetry; v1 returns month buckets)
|
|
6796
|
+
*/
|
|
6797
|
+
granularity?: 'day' | 'week' | 'month';
|
|
6798
|
+
/**
|
|
6799
|
+
* Time period
|
|
6800
|
+
*/
|
|
6801
|
+
period?: '1m' | '3m' | '6m' | '1y';
|
|
6802
|
+
/**
|
|
6803
|
+
* Region code for tenant context
|
|
6804
|
+
*/
|
|
6805
|
+
region: 'cn' | 'us' | 'de' | 'gb';
|
|
6806
|
+
};
|
|
6807
|
+
|
|
6808
|
+
export type ReportingControllerGetCashFlowTrendsResponse =
|
|
6809
|
+
CashFlowTrendsResponseDto;
|
|
6810
|
+
|
|
5917
6811
|
export type ReportingControllerGenerateSnapshotData = {
|
|
5918
6812
|
/**
|
|
5919
6813
|
* Region code for tenant context
|
|
@@ -5990,7 +6884,14 @@ export type $OpenApiTs = {
|
|
|
5990
6884
|
post: {
|
|
5991
6885
|
req: AccountControllerCreateData;
|
|
5992
6886
|
res: {
|
|
5993
|
-
|
|
6887
|
+
/**
|
|
6888
|
+
* Account created successfully
|
|
6889
|
+
*/
|
|
6890
|
+
201: AccountResponseDto;
|
|
6891
|
+
/**
|
|
6892
|
+
* Account already exists
|
|
6893
|
+
*/
|
|
6894
|
+
409: unknown;
|
|
5994
6895
|
};
|
|
5995
6896
|
};
|
|
5996
6897
|
get: {
|
|
@@ -6020,13 +6921,31 @@ export type $OpenApiTs = {
|
|
|
6020
6921
|
put: {
|
|
6021
6922
|
req: AccountControllerUpdateData;
|
|
6022
6923
|
res: {
|
|
6023
|
-
|
|
6924
|
+
/**
|
|
6925
|
+
* Account updated successfully
|
|
6926
|
+
*/
|
|
6927
|
+
200: AccountResponseDto;
|
|
6928
|
+
/**
|
|
6929
|
+
* Account not found
|
|
6930
|
+
*/
|
|
6931
|
+
404: unknown;
|
|
6024
6932
|
};
|
|
6025
6933
|
};
|
|
6026
6934
|
delete: {
|
|
6027
6935
|
req: AccountControllerDeleteData;
|
|
6028
6936
|
res: {
|
|
6029
|
-
|
|
6937
|
+
/**
|
|
6938
|
+
* Account deleted successfully
|
|
6939
|
+
*/
|
|
6940
|
+
204: void;
|
|
6941
|
+
/**
|
|
6942
|
+
* Account not found
|
|
6943
|
+
*/
|
|
6944
|
+
404: unknown;
|
|
6945
|
+
/**
|
|
6946
|
+
* Account has transactions and cannot be deleted
|
|
6947
|
+
*/
|
|
6948
|
+
409: unknown;
|
|
6030
6949
|
};
|
|
6031
6950
|
};
|
|
6032
6951
|
};
|
|
@@ -6034,7 +6953,18 @@ export type $OpenApiTs = {
|
|
|
6034
6953
|
post: {
|
|
6035
6954
|
req: AccountControllerCloseData;
|
|
6036
6955
|
res: {
|
|
6037
|
-
|
|
6956
|
+
/**
|
|
6957
|
+
* Account closed successfully
|
|
6958
|
+
*/
|
|
6959
|
+
200: AccountResponseDto;
|
|
6960
|
+
/**
|
|
6961
|
+
* Account is already closed
|
|
6962
|
+
*/
|
|
6963
|
+
400: unknown;
|
|
6964
|
+
/**
|
|
6965
|
+
* Account not found
|
|
6966
|
+
*/
|
|
6967
|
+
404: unknown;
|
|
6038
6968
|
};
|
|
6039
6969
|
};
|
|
6040
6970
|
};
|
|
@@ -6042,7 +6972,18 @@ export type $OpenApiTs = {
|
|
|
6042
6972
|
post: {
|
|
6043
6973
|
req: AccountControllerReopenData;
|
|
6044
6974
|
res: {
|
|
6045
|
-
|
|
6975
|
+
/**
|
|
6976
|
+
* Account reopened successfully
|
|
6977
|
+
*/
|
|
6978
|
+
200: AccountResponseDto;
|
|
6979
|
+
/**
|
|
6980
|
+
* Account is not closed
|
|
6981
|
+
*/
|
|
6982
|
+
400: unknown;
|
|
6983
|
+
/**
|
|
6984
|
+
* Account not found
|
|
6985
|
+
*/
|
|
6986
|
+
404: unknown;
|
|
6046
6987
|
};
|
|
6047
6988
|
};
|
|
6048
6989
|
};
|
|
@@ -7298,6 +8239,102 @@ export type $OpenApiTs = {
|
|
|
7298
8239
|
};
|
|
7299
8240
|
};
|
|
7300
8241
|
};
|
|
8242
|
+
'/api/v1/{region}/bean/events': {
|
|
8243
|
+
post: {
|
|
8244
|
+
req: EventControllerCreateData;
|
|
8245
|
+
res: {
|
|
8246
|
+
/**
|
|
8247
|
+
* Life event created successfully
|
|
8248
|
+
*/
|
|
8249
|
+
201: EventResponseDto;
|
|
8250
|
+
/**
|
|
8251
|
+
* Life event already exists for this (userId, type, date) combination
|
|
8252
|
+
*/
|
|
8253
|
+
409: unknown;
|
|
8254
|
+
};
|
|
8255
|
+
};
|
|
8256
|
+
get: {
|
|
8257
|
+
req: EventControllerFindAllData;
|
|
8258
|
+
res: {
|
|
8259
|
+
/**
|
|
8260
|
+
* Life events retrieved successfully
|
|
8261
|
+
*/
|
|
8262
|
+
200: EventListResponseDto;
|
|
8263
|
+
};
|
|
8264
|
+
};
|
|
8265
|
+
};
|
|
8266
|
+
'/api/v1/{region}/bean/events/{id}': {
|
|
8267
|
+
get: {
|
|
8268
|
+
req: EventControllerFindOneData;
|
|
8269
|
+
res: {
|
|
8270
|
+
/**
|
|
8271
|
+
* Life event retrieved successfully
|
|
8272
|
+
*/
|
|
8273
|
+
200: EventResponseDto;
|
|
8274
|
+
/**
|
|
8275
|
+
* Life event not found
|
|
8276
|
+
*/
|
|
8277
|
+
404: unknown;
|
|
8278
|
+
};
|
|
8279
|
+
};
|
|
8280
|
+
put: {
|
|
8281
|
+
req: EventControllerUpdateData;
|
|
8282
|
+
res: {
|
|
8283
|
+
/**
|
|
8284
|
+
* Life event updated successfully
|
|
8285
|
+
*/
|
|
8286
|
+
200: EventResponseDto;
|
|
8287
|
+
/**
|
|
8288
|
+
* If-Match header is not a valid ISO 8601 date
|
|
8289
|
+
*/
|
|
8290
|
+
400: unknown;
|
|
8291
|
+
/**
|
|
8292
|
+
* Life event not found
|
|
8293
|
+
*/
|
|
8294
|
+
404: unknown;
|
|
8295
|
+
/**
|
|
8296
|
+
* Updated event conflicts with an existing (userId, type, date) combination
|
|
8297
|
+
*/
|
|
8298
|
+
409: unknown;
|
|
8299
|
+
/**
|
|
8300
|
+
* If-Match precondition failed (updatedAt mismatch)
|
|
8301
|
+
*/
|
|
8302
|
+
412: unknown;
|
|
8303
|
+
};
|
|
8304
|
+
};
|
|
8305
|
+
delete: {
|
|
8306
|
+
req: EventControllerDeleteData;
|
|
8307
|
+
res: {
|
|
8308
|
+
/**
|
|
8309
|
+
* Life event deleted successfully
|
|
8310
|
+
*/
|
|
8311
|
+
204: void;
|
|
8312
|
+
/**
|
|
8313
|
+
* Life event not found
|
|
8314
|
+
*/
|
|
8315
|
+
404: unknown;
|
|
8316
|
+
};
|
|
8317
|
+
};
|
|
8318
|
+
};
|
|
8319
|
+
'/api/v1/{region}/bean/events/{id}/slice': {
|
|
8320
|
+
get: {
|
|
8321
|
+
req: EventControllerGetSliceData;
|
|
8322
|
+
res: {
|
|
8323
|
+
/**
|
|
8324
|
+
* Time-series sliced by the life event range
|
|
8325
|
+
*/
|
|
8326
|
+
200: unknown;
|
|
8327
|
+
/**
|
|
8328
|
+
* accountPattern query param is empty
|
|
8329
|
+
*/
|
|
8330
|
+
400: unknown;
|
|
8331
|
+
/**
|
|
8332
|
+
* Life event not found
|
|
8333
|
+
*/
|
|
8334
|
+
404: unknown;
|
|
8335
|
+
};
|
|
8336
|
+
};
|
|
8337
|
+
};
|
|
7301
8338
|
'/api/v1/{region}/bean/export/beancount': {
|
|
7302
8339
|
get: {
|
|
7303
8340
|
res: {
|
|
@@ -7378,7 +8415,22 @@ export type $OpenApiTs = {
|
|
|
7378
8415
|
post: {
|
|
7379
8416
|
req: FileImportControllerImportBeancountData;
|
|
7380
8417
|
res: {
|
|
7381
|
-
|
|
8418
|
+
/**
|
|
8419
|
+
* Beancount file imported successfully
|
|
8420
|
+
*/
|
|
8421
|
+
200: {
|
|
8422
|
+
imported?: number;
|
|
8423
|
+
skipped?: number;
|
|
8424
|
+
failed?: number;
|
|
8425
|
+
accountsCreated?: number;
|
|
8426
|
+
errors?: Array<{
|
|
8427
|
+
[key: string]: unknown;
|
|
8428
|
+
}>;
|
|
8429
|
+
};
|
|
8430
|
+
/**
|
|
8431
|
+
* Bad request - invalid file or no file uploaded
|
|
8432
|
+
*/
|
|
8433
|
+
400: ApiProblemResponseDto;
|
|
7382
8434
|
};
|
|
7383
8435
|
};
|
|
7384
8436
|
};
|
|
@@ -7509,7 +8561,22 @@ export type $OpenApiTs = {
|
|
|
7509
8561
|
post: {
|
|
7510
8562
|
req: ProviderSyncControllerSyncData;
|
|
7511
8563
|
res: {
|
|
7512
|
-
|
|
8564
|
+
/**
|
|
8565
|
+
* Sync completed successfully
|
|
8566
|
+
*/
|
|
8567
|
+
200: ProviderSyncResponseDto;
|
|
8568
|
+
/**
|
|
8569
|
+
* Invalid request data
|
|
8570
|
+
*/
|
|
8571
|
+
400: unknown;
|
|
8572
|
+
/**
|
|
8573
|
+
* Missing or invalid authentication
|
|
8574
|
+
*/
|
|
8575
|
+
401: unknown;
|
|
8576
|
+
/**
|
|
8577
|
+
* Provider not supported
|
|
8578
|
+
*/
|
|
8579
|
+
404: unknown;
|
|
7513
8580
|
};
|
|
7514
8581
|
};
|
|
7515
8582
|
};
|
|
@@ -7588,7 +8655,18 @@ export type $OpenApiTs = {
|
|
|
7588
8655
|
post: {
|
|
7589
8656
|
req: NlpControllerProcessNaturalLanguageData;
|
|
7590
8657
|
res: {
|
|
7591
|
-
|
|
8658
|
+
/**
|
|
8659
|
+
* NLP processing result - either created transaction or asking for more info
|
|
8660
|
+
*/
|
|
8661
|
+
200: NlpResponseDto;
|
|
8662
|
+
/**
|
|
8663
|
+
* Invalid input
|
|
8664
|
+
*/
|
|
8665
|
+
400: unknown;
|
|
8666
|
+
/**
|
|
8667
|
+
* Unauthorized
|
|
8668
|
+
*/
|
|
8669
|
+
401: unknown;
|
|
7592
8670
|
};
|
|
7593
8671
|
};
|
|
7594
8672
|
};
|
|
@@ -7790,6 +8868,21 @@ export type $OpenApiTs = {
|
|
|
7790
8868
|
};
|
|
7791
8869
|
};
|
|
7792
8870
|
};
|
|
8871
|
+
'/api/v1/{region}/reporting/cash-flow/trends': {
|
|
8872
|
+
get: {
|
|
8873
|
+
req: ReportingControllerGetCashFlowTrendsData;
|
|
8874
|
+
res: {
|
|
8875
|
+
/**
|
|
8876
|
+
* Cash-flow trends retrieved successfully
|
|
8877
|
+
*/
|
|
8878
|
+
200: CashFlowTrendsResponseDto;
|
|
8879
|
+
/**
|
|
8880
|
+
* User not authenticated
|
|
8881
|
+
*/
|
|
8882
|
+
401: unknown;
|
|
8883
|
+
};
|
|
8884
|
+
};
|
|
8885
|
+
};
|
|
7793
8886
|
'/api/v1/{region}/reporting/snapshots/generate': {
|
|
7794
8887
|
post: {
|
|
7795
8888
|
req: ReportingControllerGenerateSnapshotData;
|