@opencx/mcp 1.11.61 → 1.11.74
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/schema.d.ts +433 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/tools/insights.d.ts.map +1 -1
- package/dist/tools/insights.js +128 -9
- package/dist/tools/insights.js.map +1 -1
- package/package.json +1 -1
package/dist/schema.d.ts
CHANGED
|
@@ -2580,6 +2580,30 @@ export interface paths {
|
|
|
2580
2580
|
*/
|
|
2581
2581
|
get: operations["getCategories"];
|
|
2582
2582
|
put?: never;
|
|
2583
|
+
/**
|
|
2584
|
+
* Create a category
|
|
2585
|
+
* @description Create a new user-defined category.
|
|
2586
|
+
*/
|
|
2587
|
+
post: operations["createCategory"];
|
|
2588
|
+
delete?: never;
|
|
2589
|
+
options?: never;
|
|
2590
|
+
head?: never;
|
|
2591
|
+
patch?: never;
|
|
2592
|
+
trace?: never;
|
|
2593
|
+
};
|
|
2594
|
+
"/insights/categories/usage": {
|
|
2595
|
+
parameters: {
|
|
2596
|
+
query?: never;
|
|
2597
|
+
header?: never;
|
|
2598
|
+
path?: never;
|
|
2599
|
+
cookie?: never;
|
|
2600
|
+
};
|
|
2601
|
+
/**
|
|
2602
|
+
* Get category usage
|
|
2603
|
+
* @description Active category counts by type, the total, and the cap.
|
|
2604
|
+
*/
|
|
2605
|
+
get: operations["getCategoryUsage"];
|
|
2606
|
+
put?: never;
|
|
2583
2607
|
post?: never;
|
|
2584
2608
|
delete?: never;
|
|
2585
2609
|
options?: never;
|
|
@@ -2587,6 +2611,66 @@ export interface paths {
|
|
|
2587
2611
|
patch?: never;
|
|
2588
2612
|
trace?: never;
|
|
2589
2613
|
};
|
|
2614
|
+
"/insights/categories/{categoryId}": {
|
|
2615
|
+
parameters: {
|
|
2616
|
+
query?: never;
|
|
2617
|
+
header?: never;
|
|
2618
|
+
path?: never;
|
|
2619
|
+
cookie?: never;
|
|
2620
|
+
};
|
|
2621
|
+
get?: never;
|
|
2622
|
+
/**
|
|
2623
|
+
* Update a category
|
|
2624
|
+
* @description Rename or re-describe a category. Suggested categories must be approved first.
|
|
2625
|
+
*/
|
|
2626
|
+
put: operations["updateCategory"];
|
|
2627
|
+
post?: never;
|
|
2628
|
+
delete?: never;
|
|
2629
|
+
options?: never;
|
|
2630
|
+
head?: never;
|
|
2631
|
+
patch?: never;
|
|
2632
|
+
trace?: never;
|
|
2633
|
+
};
|
|
2634
|
+
"/insights/categories/approve": {
|
|
2635
|
+
parameters: {
|
|
2636
|
+
query?: never;
|
|
2637
|
+
header?: never;
|
|
2638
|
+
path?: never;
|
|
2639
|
+
cookie?: never;
|
|
2640
|
+
};
|
|
2641
|
+
get?: never;
|
|
2642
|
+
put?: never;
|
|
2643
|
+
/**
|
|
2644
|
+
* Approve a suggested category
|
|
2645
|
+
* @description Promote an AI-suggested category to a user-defined (permanent) one.
|
|
2646
|
+
*/
|
|
2647
|
+
post: operations["approveCategory"];
|
|
2648
|
+
delete?: never;
|
|
2649
|
+
options?: never;
|
|
2650
|
+
head?: never;
|
|
2651
|
+
patch?: never;
|
|
2652
|
+
trace?: never;
|
|
2653
|
+
};
|
|
2654
|
+
"/insights/categories/reject": {
|
|
2655
|
+
parameters: {
|
|
2656
|
+
query?: never;
|
|
2657
|
+
header?: never;
|
|
2658
|
+
path?: never;
|
|
2659
|
+
cookie?: never;
|
|
2660
|
+
};
|
|
2661
|
+
get?: never;
|
|
2662
|
+
put?: never;
|
|
2663
|
+
/**
|
|
2664
|
+
* Reject a suggested category
|
|
2665
|
+
* @description Reject an AI-suggested category and reassign its insights to a fallback category.
|
|
2666
|
+
*/
|
|
2667
|
+
post: operations["rejectCategory"];
|
|
2668
|
+
delete?: never;
|
|
2669
|
+
options?: never;
|
|
2670
|
+
head?: never;
|
|
2671
|
+
patch?: never;
|
|
2672
|
+
trace?: never;
|
|
2673
|
+
};
|
|
2590
2674
|
"/insights/{id}": {
|
|
2591
2675
|
parameters: {
|
|
2592
2676
|
query?: never;
|
|
@@ -2607,6 +2691,46 @@ export interface paths {
|
|
|
2607
2691
|
patch?: never;
|
|
2608
2692
|
trace?: never;
|
|
2609
2693
|
};
|
|
2694
|
+
"/insights/{id}/archive": {
|
|
2695
|
+
parameters: {
|
|
2696
|
+
query?: never;
|
|
2697
|
+
header?: never;
|
|
2698
|
+
path?: never;
|
|
2699
|
+
cookie?: never;
|
|
2700
|
+
};
|
|
2701
|
+
get?: never;
|
|
2702
|
+
put?: never;
|
|
2703
|
+
/**
|
|
2704
|
+
* Archive a customer insight
|
|
2705
|
+
* @description Archives an insight with a resurface policy (until_escalating, until_count, or forever). Forever requires a reason.
|
|
2706
|
+
*/
|
|
2707
|
+
post: operations["archiveInsight"];
|
|
2708
|
+
delete?: never;
|
|
2709
|
+
options?: never;
|
|
2710
|
+
head?: never;
|
|
2711
|
+
patch?: never;
|
|
2712
|
+
trace?: never;
|
|
2713
|
+
};
|
|
2714
|
+
"/insights/{id}/unarchive": {
|
|
2715
|
+
parameters: {
|
|
2716
|
+
query?: never;
|
|
2717
|
+
header?: never;
|
|
2718
|
+
path?: never;
|
|
2719
|
+
cookie?: never;
|
|
2720
|
+
};
|
|
2721
|
+
get?: never;
|
|
2722
|
+
put?: never;
|
|
2723
|
+
/**
|
|
2724
|
+
* Unarchive a customer insight
|
|
2725
|
+
* @description Removes archive state so the insight appears in active views again.
|
|
2726
|
+
*/
|
|
2727
|
+
post: operations["unarchiveInsight"];
|
|
2728
|
+
delete?: never;
|
|
2729
|
+
options?: never;
|
|
2730
|
+
head?: never;
|
|
2731
|
+
patch?: never;
|
|
2732
|
+
trace?: never;
|
|
2733
|
+
};
|
|
2610
2734
|
"/insights/{id}/resolve": {
|
|
2611
2735
|
parameters: {
|
|
2612
2736
|
query?: never;
|
|
@@ -3664,6 +3788,28 @@ export interface components {
|
|
|
3664
3788
|
}[];
|
|
3665
3789
|
}[];
|
|
3666
3790
|
};
|
|
3791
|
+
CreateVocCategoryDto: {
|
|
3792
|
+
name: string;
|
|
3793
|
+
description?: string | null;
|
|
3794
|
+
};
|
|
3795
|
+
UpdateCategoryDto: {
|
|
3796
|
+
name?: string;
|
|
3797
|
+
description?: string | null;
|
|
3798
|
+
};
|
|
3799
|
+
ApproveSuggestionDto: {
|
|
3800
|
+
/** Format: uuid */
|
|
3801
|
+
categoryId: string;
|
|
3802
|
+
};
|
|
3803
|
+
RejectSuggestionDto: {
|
|
3804
|
+
reason?: string | null;
|
|
3805
|
+
/** Format: uuid */
|
|
3806
|
+
categoryId: string;
|
|
3807
|
+
/**
|
|
3808
|
+
* Format: uuid
|
|
3809
|
+
* @description to assign the insights to another category
|
|
3810
|
+
*/
|
|
3811
|
+
fallbackCategoryId: string;
|
|
3812
|
+
};
|
|
3667
3813
|
GetVocQueryDto: {
|
|
3668
3814
|
/** @description Filter by category name */
|
|
3669
3815
|
category?: string | null;
|
|
@@ -3699,6 +3845,16 @@ export interface components {
|
|
|
3699
3845
|
/** @default 1 */
|
|
3700
3846
|
page: number;
|
|
3701
3847
|
};
|
|
3848
|
+
ArchiveInsightDto: {
|
|
3849
|
+
/**
|
|
3850
|
+
* @description When the insight should resurface after archiving
|
|
3851
|
+
* @default until_escalating
|
|
3852
|
+
* @enum {string}
|
|
3853
|
+
*/
|
|
3854
|
+
policy: "forever" | "until_count" | "until_escalating";
|
|
3855
|
+
/** @description Reason for archiving */
|
|
3856
|
+
reason?: string;
|
|
3857
|
+
};
|
|
3702
3858
|
FileUploadDto: {
|
|
3703
3859
|
/**
|
|
3704
3860
|
* Format: binary
|
|
@@ -4939,6 +5095,20 @@ export interface components {
|
|
|
4939
5095
|
is_available_in_group: boolean;
|
|
4940
5096
|
}[];
|
|
4941
5097
|
} | null;
|
|
5098
|
+
destination_id?: string;
|
|
5099
|
+
destination_name?: string;
|
|
5100
|
+
/** @enum {string} */
|
|
5101
|
+
destination_type?: "phone" | "sip" | "hangup";
|
|
5102
|
+
transfer_reason?: string | null;
|
|
5103
|
+
is_failover?: boolean;
|
|
5104
|
+
/** @enum {string} */
|
|
5105
|
+
failover_source?: "stt" | "llm" | "tts";
|
|
5106
|
+
/** @enum {string} */
|
|
5107
|
+
hangup_initiator?: "user" | "agent" | "system";
|
|
5108
|
+
hangup_reason?: string;
|
|
5109
|
+
duration_seconds?: number;
|
|
5110
|
+
/** @enum {string} */
|
|
5111
|
+
call_direction?: "inbound" | "outbound";
|
|
4942
5112
|
}) | null;
|
|
4943
5113
|
knowledgebase_called?: boolean | null;
|
|
4944
5114
|
/** @enum {string} */
|
|
@@ -5036,6 +5206,7 @@ export interface components {
|
|
|
5036
5206
|
background_noise_preset: ("office" | "bar" | "city-street") | null;
|
|
5037
5207
|
recording_enabled: boolean;
|
|
5038
5208
|
stt_keyterms: string[];
|
|
5209
|
+
failover_transfer_destination_id: string | null;
|
|
5039
5210
|
};
|
|
5040
5211
|
PhoneAgentVoiceDto: {
|
|
5041
5212
|
voice_id: string;
|
|
@@ -6008,6 +6179,20 @@ export interface components {
|
|
|
6008
6179
|
is_available_in_group: boolean;
|
|
6009
6180
|
}[];
|
|
6010
6181
|
} | null;
|
|
6182
|
+
destination_id?: string;
|
|
6183
|
+
destination_name?: string;
|
|
6184
|
+
/** @enum {string} */
|
|
6185
|
+
destination_type?: "phone" | "sip" | "hangup";
|
|
6186
|
+
transfer_reason?: string | null;
|
|
6187
|
+
is_failover?: boolean;
|
|
6188
|
+
/** @enum {string} */
|
|
6189
|
+
failover_source?: "stt" | "llm" | "tts";
|
|
6190
|
+
/** @enum {string} */
|
|
6191
|
+
hangup_initiator?: "user" | "agent" | "system";
|
|
6192
|
+
hangup_reason?: string;
|
|
6193
|
+
duration_seconds?: number;
|
|
6194
|
+
/** @enum {string} */
|
|
6195
|
+
call_direction?: "inbound" | "outbound";
|
|
6011
6196
|
};
|
|
6012
6197
|
mode?: {
|
|
6013
6198
|
id: string;
|
|
@@ -6667,6 +6852,11 @@ export interface components {
|
|
|
6667
6852
|
reason: string | null;
|
|
6668
6853
|
} | null;
|
|
6669
6854
|
archived_at: string | null;
|
|
6855
|
+
archive_policy: ("forever" | "until_count" | "until_escalating") | null;
|
|
6856
|
+
resurface_progress: {
|
|
6857
|
+
current: number;
|
|
6858
|
+
target: number;
|
|
6859
|
+
} | null;
|
|
6670
6860
|
deep_research: string | null;
|
|
6671
6861
|
deep_research_completed_at: string | null;
|
|
6672
6862
|
/** Format: date-time */
|
|
@@ -6684,6 +6874,18 @@ export interface components {
|
|
|
6684
6874
|
total: number;
|
|
6685
6875
|
totalPages: number;
|
|
6686
6876
|
};
|
|
6877
|
+
PublicCategoryUsageDto: {
|
|
6878
|
+
/** @description Active system (base) categories. */
|
|
6879
|
+
base: number;
|
|
6880
|
+
/** @description Active user-defined (custom) categories. */
|
|
6881
|
+
custom: number;
|
|
6882
|
+
/** @description Active AI-suggested categories. */
|
|
6883
|
+
suggested: number;
|
|
6884
|
+
/** @description Total active categories (base + custom + suggested). */
|
|
6885
|
+
total: number;
|
|
6886
|
+
/** @description Maximum total categories before the AI stops suggesting new ones. */
|
|
6887
|
+
limit: number;
|
|
6888
|
+
};
|
|
6687
6889
|
SendTemplateOutputDto: {
|
|
6688
6890
|
whatsapp_message_id: string;
|
|
6689
6891
|
opencx_message_id: string;
|
|
@@ -12573,6 +12775,8 @@ export interface operations {
|
|
|
12573
12775
|
parameters: {
|
|
12574
12776
|
query?: {
|
|
12575
12777
|
type?: "base" | "suggested" | "user_defined";
|
|
12778
|
+
/** @description Case-insensitive keyword match on category name or description. */
|
|
12779
|
+
search?: string;
|
|
12576
12780
|
};
|
|
12577
12781
|
header?: never;
|
|
12578
12782
|
path?: never;
|
|
@@ -12600,6 +12804,169 @@ export interface operations {
|
|
|
12600
12804
|
};
|
|
12601
12805
|
};
|
|
12602
12806
|
};
|
|
12807
|
+
createCategory: {
|
|
12808
|
+
parameters: {
|
|
12809
|
+
query?: never;
|
|
12810
|
+
header?: never;
|
|
12811
|
+
path?: never;
|
|
12812
|
+
cookie?: never;
|
|
12813
|
+
};
|
|
12814
|
+
requestBody: {
|
|
12815
|
+
content: {
|
|
12816
|
+
"application/json": components["schemas"]["CreateVocCategoryDto"];
|
|
12817
|
+
};
|
|
12818
|
+
};
|
|
12819
|
+
responses: {
|
|
12820
|
+
/** @description Default Response */
|
|
12821
|
+
201: {
|
|
12822
|
+
headers: {
|
|
12823
|
+
[name: string]: unknown;
|
|
12824
|
+
};
|
|
12825
|
+
content: {
|
|
12826
|
+
"application/json": components["schemas"]["PublicCategoryDto"];
|
|
12827
|
+
};
|
|
12828
|
+
};
|
|
12829
|
+
/** @description Internal Server Error */
|
|
12830
|
+
500: {
|
|
12831
|
+
headers: {
|
|
12832
|
+
[name: string]: unknown;
|
|
12833
|
+
};
|
|
12834
|
+
content: {
|
|
12835
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
12836
|
+
};
|
|
12837
|
+
};
|
|
12838
|
+
};
|
|
12839
|
+
};
|
|
12840
|
+
getCategoryUsage: {
|
|
12841
|
+
parameters: {
|
|
12842
|
+
query?: never;
|
|
12843
|
+
header?: never;
|
|
12844
|
+
path?: never;
|
|
12845
|
+
cookie?: never;
|
|
12846
|
+
};
|
|
12847
|
+
requestBody?: never;
|
|
12848
|
+
responses: {
|
|
12849
|
+
/** @description Default Response */
|
|
12850
|
+
200: {
|
|
12851
|
+
headers: {
|
|
12852
|
+
[name: string]: unknown;
|
|
12853
|
+
};
|
|
12854
|
+
content: {
|
|
12855
|
+
"application/json": components["schemas"]["PublicCategoryUsageDto"];
|
|
12856
|
+
};
|
|
12857
|
+
};
|
|
12858
|
+
/** @description Internal Server Error */
|
|
12859
|
+
500: {
|
|
12860
|
+
headers: {
|
|
12861
|
+
[name: string]: unknown;
|
|
12862
|
+
};
|
|
12863
|
+
content: {
|
|
12864
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
12865
|
+
};
|
|
12866
|
+
};
|
|
12867
|
+
};
|
|
12868
|
+
};
|
|
12869
|
+
updateCategory: {
|
|
12870
|
+
parameters: {
|
|
12871
|
+
query?: never;
|
|
12872
|
+
header?: never;
|
|
12873
|
+
path: {
|
|
12874
|
+
categoryId: string;
|
|
12875
|
+
};
|
|
12876
|
+
cookie?: never;
|
|
12877
|
+
};
|
|
12878
|
+
requestBody: {
|
|
12879
|
+
content: {
|
|
12880
|
+
"application/json": components["schemas"]["UpdateCategoryDto"];
|
|
12881
|
+
};
|
|
12882
|
+
};
|
|
12883
|
+
responses: {
|
|
12884
|
+
/** @description Default Response */
|
|
12885
|
+
200: {
|
|
12886
|
+
headers: {
|
|
12887
|
+
[name: string]: unknown;
|
|
12888
|
+
};
|
|
12889
|
+
content: {
|
|
12890
|
+
"application/json": components["schemas"]["PublicCategoryDto"];
|
|
12891
|
+
};
|
|
12892
|
+
};
|
|
12893
|
+
/** @description Internal Server Error */
|
|
12894
|
+
500: {
|
|
12895
|
+
headers: {
|
|
12896
|
+
[name: string]: unknown;
|
|
12897
|
+
};
|
|
12898
|
+
content: {
|
|
12899
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
12900
|
+
};
|
|
12901
|
+
};
|
|
12902
|
+
};
|
|
12903
|
+
};
|
|
12904
|
+
approveCategory: {
|
|
12905
|
+
parameters: {
|
|
12906
|
+
query?: never;
|
|
12907
|
+
header?: never;
|
|
12908
|
+
path?: never;
|
|
12909
|
+
cookie?: never;
|
|
12910
|
+
};
|
|
12911
|
+
requestBody: {
|
|
12912
|
+
content: {
|
|
12913
|
+
"application/json": components["schemas"]["ApproveSuggestionDto"];
|
|
12914
|
+
};
|
|
12915
|
+
};
|
|
12916
|
+
responses: {
|
|
12917
|
+
/** @description Default Response */
|
|
12918
|
+
201: {
|
|
12919
|
+
headers: {
|
|
12920
|
+
[name: string]: unknown;
|
|
12921
|
+
};
|
|
12922
|
+
content: {
|
|
12923
|
+
"application/json": components["schemas"]["PublicCategoryDto"];
|
|
12924
|
+
};
|
|
12925
|
+
};
|
|
12926
|
+
/** @description Internal Server Error */
|
|
12927
|
+
500: {
|
|
12928
|
+
headers: {
|
|
12929
|
+
[name: string]: unknown;
|
|
12930
|
+
};
|
|
12931
|
+
content: {
|
|
12932
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
12933
|
+
};
|
|
12934
|
+
};
|
|
12935
|
+
};
|
|
12936
|
+
};
|
|
12937
|
+
rejectCategory: {
|
|
12938
|
+
parameters: {
|
|
12939
|
+
query?: never;
|
|
12940
|
+
header?: never;
|
|
12941
|
+
path?: never;
|
|
12942
|
+
cookie?: never;
|
|
12943
|
+
};
|
|
12944
|
+
requestBody: {
|
|
12945
|
+
content: {
|
|
12946
|
+
"application/json": components["schemas"]["RejectSuggestionDto"];
|
|
12947
|
+
};
|
|
12948
|
+
};
|
|
12949
|
+
responses: {
|
|
12950
|
+
/** @description Default Response */
|
|
12951
|
+
201: {
|
|
12952
|
+
headers: {
|
|
12953
|
+
[name: string]: unknown;
|
|
12954
|
+
};
|
|
12955
|
+
content: {
|
|
12956
|
+
"application/json": components["schemas"]["PublicCategoryDto"];
|
|
12957
|
+
};
|
|
12958
|
+
};
|
|
12959
|
+
/** @description Internal Server Error */
|
|
12960
|
+
500: {
|
|
12961
|
+
headers: {
|
|
12962
|
+
[name: string]: unknown;
|
|
12963
|
+
};
|
|
12964
|
+
content: {
|
|
12965
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
12966
|
+
};
|
|
12967
|
+
};
|
|
12968
|
+
};
|
|
12969
|
+
};
|
|
12603
12970
|
getVocInsight: {
|
|
12604
12971
|
parameters: {
|
|
12605
12972
|
query?: never;
|
|
@@ -12631,6 +12998,72 @@ export interface operations {
|
|
|
12631
12998
|
};
|
|
12632
12999
|
};
|
|
12633
13000
|
};
|
|
13001
|
+
archiveInsight: {
|
|
13002
|
+
parameters: {
|
|
13003
|
+
query?: never;
|
|
13004
|
+
header?: never;
|
|
13005
|
+
path: {
|
|
13006
|
+
id: string;
|
|
13007
|
+
};
|
|
13008
|
+
cookie?: never;
|
|
13009
|
+
};
|
|
13010
|
+
requestBody: {
|
|
13011
|
+
content: {
|
|
13012
|
+
"application/json": components["schemas"]["ArchiveInsightDto"];
|
|
13013
|
+
};
|
|
13014
|
+
};
|
|
13015
|
+
responses: {
|
|
13016
|
+
/** @description Default Response */
|
|
13017
|
+
200: {
|
|
13018
|
+
headers: {
|
|
13019
|
+
[name: string]: unknown;
|
|
13020
|
+
};
|
|
13021
|
+
content: {
|
|
13022
|
+
"application/json": components["schemas"]["PublicInsight"];
|
|
13023
|
+
};
|
|
13024
|
+
};
|
|
13025
|
+
/** @description Internal Server Error */
|
|
13026
|
+
500: {
|
|
13027
|
+
headers: {
|
|
13028
|
+
[name: string]: unknown;
|
|
13029
|
+
};
|
|
13030
|
+
content: {
|
|
13031
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
13032
|
+
};
|
|
13033
|
+
};
|
|
13034
|
+
};
|
|
13035
|
+
};
|
|
13036
|
+
unarchiveInsight: {
|
|
13037
|
+
parameters: {
|
|
13038
|
+
query?: never;
|
|
13039
|
+
header?: never;
|
|
13040
|
+
path: {
|
|
13041
|
+
id: string;
|
|
13042
|
+
};
|
|
13043
|
+
cookie?: never;
|
|
13044
|
+
};
|
|
13045
|
+
requestBody?: never;
|
|
13046
|
+
responses: {
|
|
13047
|
+
/** @description Default Response */
|
|
13048
|
+
200: {
|
|
13049
|
+
headers: {
|
|
13050
|
+
[name: string]: unknown;
|
|
13051
|
+
};
|
|
13052
|
+
content: {
|
|
13053
|
+
"application/json": components["schemas"]["PublicInsight"];
|
|
13054
|
+
};
|
|
13055
|
+
};
|
|
13056
|
+
/** @description Internal Server Error */
|
|
13057
|
+
500: {
|
|
13058
|
+
headers: {
|
|
13059
|
+
[name: string]: unknown;
|
|
13060
|
+
};
|
|
13061
|
+
content: {
|
|
13062
|
+
"application/json": components["schemas"]["ErrorDto"];
|
|
13063
|
+
};
|
|
13064
|
+
};
|
|
13065
|
+
};
|
|
13066
|
+
};
|
|
12634
13067
|
resolveInsight: {
|
|
12635
13068
|
parameters: {
|
|
12636
13069
|
query?: never;
|